跳转至

实施计划

  1. 添加 src/application/environment/environmentSource.ts,用于验证两个 Evidence 文件,要求清单视图类型与捕获操作,拒绝父级不匹配,并借助 slice-1 请求行读取器将每条被引用记录缩减为其请求行、状态、内容类型和保留的响应文本,从而使服务器仅保留重放返回的内容。
  2. 添加 environmentTools.ts,将清单工具映射为 MCP 工具定义;每个工具对应一个手写的 JSON Schema,供 registerTool(通过 SDK 的 fromJsonSchema)与卡片共同使用,并按照 echo 示例的键顺序构建卡片。
  3. 添加 environmentReplay.ts,先按路径段匹配对被引用记录评分,再按查询匹配评分,并在平局时保留清单顺序;通过 JSON 式解析、UTF-8 安全截断和重放来源块来构建重放结果;导出 slice-1 的 JSON 式谓词,而不是重新声明它。
  4. 添加 src/server/environment/serveEnvironment.ts,构建 McpServer;其处理程序附加 REA 的目标内容 _meta、卡片和 /agentenv 路由(后者通过 SDK 的有界读取器读取请求体),并通过 slice-2 的 serveStreamableHttp 及其 routes 与 onerror 接缝提供这些服务;同时为 ENVIRONMENT_NAME 添加 src/config/environmentName.ts。
  5. 添加 src/cli/environmentCommands.ts,通过 withCommandCancellation 和 logCliCommand 注册 environment-serve,使用 slice-2 端点解析器解析主机和端口,通过 parseCliJsonInput 读取文件,以懒加载方式导入监听器,等待取消信号或监听器失败,并返回一个 stopped 文档或类型化错误;将名称注册到 CLI_COMMANDS,并将懒模块注册到启动导入探针。
  6. 通过 tests/fixtures/environmentServe.ts 共享夹具对,并通过通用化的 startListeningProcess 共享监听器启动逻辑;添加服务、适配器、MCP 边界、CLI 边界和进程边界测试。
  7. 在 docs/cli.md 中记录该命令,添加 docs/agent-environments.md 及其侧边栏和索引条目,并记录规范。

未引入任何新依赖。REA 的工具契约、目录摘要和 stdio 传输保持不变;CLI 清单新增一个命令。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 rea2/rea