开发与工程 agent-debuggingtrace-formatreplayobservabilitymcp-servercodex-clioffline-replay

OrcaReplay

为 AI 编程智能体提供“时间旅行”式调试:录制、离线重放、从任意检查点分叉到不同模型,逐字节复现运行过程,定位失败根因。

FollowAgents 评估 · FARS-2.1
推荐
84/ 100 五分制 4.2 / 5
1 2 3 4 5 6
1信任安全21 / 29 · 3.6/5

环境捕获默认拒绝、密钥在写入前剥离、TLS 拦截默认关闭且 CA 临时、代理仅绑定 127.0.0.1、无遥测,最小权限证据充分;但 replay 会真实执行已录制的工具调用,且默认不对用户产生的外部副作用做确认,只以文档说明'不是沙箱',故 user_confirmation 与 external_effects 各扣一分。SECURITY.md 详述脱敏与 scrub 的能力边界并承认最佳努力,敏感数据处理给满分。依赖安全仅见开发依赖与 CI 安装列表,无锁文件/运行时依赖清单或审计证据,扣至 1。发布者未经验证,归一仅限仓库内链接,扣至 1。

2可靠稳定12 / 14 · 4.3/5

测试与 README 声明高度一致(如别名修复、openCode 覆盖、Windows 路径回归均有针对性测试并说明动机),自洽满分。依赖可用性中 CI 对集成框架缺失按跳过处理并有说明,部分集成标注'should work',扣至 2。错误信息测试明确要求错误提示包含可输入名与修复线索,满分。

3适用触发16 / 18 · 4.4/5

面向'调试 agent 运行'的场景定义清晰,含 quickstart 降低上手门槛;能力边界极其明确(非沙箱、HTTP/2 不支持、browser-use 仅 LLM 层、id_ecdsa 不在排除表等);adapter 检测顺序与检测逻辑有完整测试。环境适配上仅覆盖 Node 20/22,Windows/macOS 差异有测试但文档层面信息有限,扣至 2。

4规范维护16 / 18 · 4.4/5

文档结构清晰(多语言 README、capture/spec/docs 细分、安装说明明确),命名稳定有别名机制与合同测试保障,示例与对比表丰富,已知限制与不承诺之处坦率列出,Apache-2.0 许可证齐全。版本为 0.2.3 但未见 CHANGELOG 或版本历史文件,扣至 1;维护责任有 CI、安全政策、good first issues,但未见明确的维护者/贡献流程文件,扣至 2。

5有效结果13 / 13 · 5.0/5

输出可用性强(orca show/graph/export、单文件 HTML、SVG/PNG 卡片、CI 断言导出无外部引用);相对可观测性工具的边际价值论证充分且具体;成本收益以真实 token/价格表呈现并拒绝为未知模型编造价格,均给满分。

6证据核验6 / 8 · 3.8/5

README 中的 CI 声明由 ci.yml 实际执行并有 --require-all 防跳过机制,验证文档指向具体文件,可追溯性满分;recorded 与 inferred 边的区分是事实/推断分离的典范,满分。但本次为静态审查,'在 CI 中通过''byte-for-byte'等声明无法独立复现,外部佐证仅限仓库内文件(publisher 未验证),扣至 1。

证据充分度: 评估于 2026年9月10日 审查版本 45862a8b80c8
使用前请注意
  • replay 会真实执行已录制的工具调用(含 shell 命令与文件写入),文档明言它不是沙箱;在隔离环境中运行。
  • --tls-intercept 会解密子进程的 TLS 流量,虽默认关闭且 CA 临时,仍属高侵入操作,应逐一审查允许列表。
  • 脱敏为最佳努力而非保证:id_ecdsa 不在文件系统排除列表,trace 应视为敏感材料。
  • 发布者身份未经验证,且默认网关指向关联产品 OrcaRouter,企业采用前应独立评估其数据路径。
  • 本次为静态审查,'byte-for-byte 重放'与所有 'in CI' 声明未经执行验证。
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

OrcaReplay 是 Continuum-AI-Corp 开源的智能体录制与回放工具(npm 包 orcareplay),由 OrcaRouter.ai 团队构建。它通过本地代理和五层捕获(base-URL 环境变量、PATH 垫片、MCP JSON-RPC 镜像、影子 git 快照、fetch 钩子)录制 Claude Code、Codex CLI、LangGraph、OpenHands 等编程智能体的完整运行,而无需修改智能体本身。轨迹以自描述文件形式存放在项目内的 .orca/runs/ 目录,包含事件时间线、文件系统快照和完整性摘要。重放时网络出口默认被阻断(egress=blocked),不调用模型、不消耗 token,逐字节复现运行;从任意检查点分叉可切换到不同模型并用自选命令(如 npm test)评分。它还提供因果图(orca graph)、可分享卡片、单文件 HTML 导出、JSON 输出和 MCP 服务器(orca mcp),使智能体能读取、解释和重放自己的运行。代码采用 Apache-2.0 许可证,轨迹规范采用 CC BY 4.0。

orca record <agent> 启动一个本地代理并为子进程设置两个环境变量(如 ANTHROPIC_BASE_URL、OPENAI_BASE_URL),在进程和套接字边界捕获每次模型请求、流式响应、工具调用及结果,同时通过 PATH 垫片记录 shell 退出码、耗时和 stdout/stderr 分流,通过影子 git 索引在每轮记录工作区快照。所有事件写入 .orca/runs/run_<id>/ 下的 manifest.、events.l、blobs/ 和 fs/。orca replay last 从磁盘回放整个运行(egress=blocked),orca replay last --from 4 --model X 在检查点 4 分叉到新模型,orca compare 在多个模型上做同样分叉并用 --verify 命令评分。orca show 显示事件时间线,orca graph 生成区分 recorded/inferred 边的因果图,orca export 产出 SVG/PNG/GIF 卡片或自包含 HTML。orca mcp 通过 stdio 提供六个工具,orca attach 可录制沙箱或远程机器上的智能体,--tls-intercept 可捕获不读取任何 base-URL 变量的智能体(如 ChatGPT 订阅登录的 Codex CLI)。

  1. 调试夜间失败的智能体运行:凌晨两点智能体删错了文件,早上用 orca replay 离线逐字节重放,通过 orca show 和 orca graph 找到是哪个工具调用、哪条 shell 命令(exit 1)导致问题
  2. 模型选型对比:从同一检查点用 orca compare --models claude-opus-5,claude-haiku-4-5 --verify "npm test" 分叉运行,在相同文件和对话前缀下以成本表评出性价比
  3. CI 和脚本化验证:所有命令支持 -- 输出,可通过 Orca 程序化 API 在代码中调用 replay() 和 show(),重放免费且离线
  4. 让智能体自查:通过 orca mcp 暴露 orca_replay、orca_graph 等工具,让智能体重放自己的上一次运行并报告分歧
  5. 捕获无法重定向的智能体:对硬编码 API 地址的机器人或 ChatGPT 订阅登录的 Codex CLI,用 orca record exec --tls-intercept 在套接字层捕获
  6. 录制沙箱或远程环境中的智能体:用 orca attach 在开发容器、VPS 或 CI 中附着录制

这个 Agent 有哪些优点和局限?

优点
  • 重放不修改智能体:通过两个环境变量加本地代理实现捕获,无需 SDK 包装或改动智能体代码
  • 离线确定性重放:egress=blocked 机制保证不调用模型、不花 token、无方差,逐字节复现运行
  • 五层捕获覆盖 SDK 包装够不到的场景:shell 退出码、文件写入、MCP 调用,甚至可通过 --tls-intercept 捕获无 API 端点可重定向的智能体
  • 分叉对比控制变量:相同文件、相同对话前缀、仅换模型,使比较结果有意义;orca compare 示例显示两者通过但成本相差 15 倍
  • 工程质量证据充分:1,393 个测试、CI 集成检查覆盖八个框架、轨迹规范独立发布(CC BY 4.0)且有 Python 读实现
  • 数据隐私设计:轨迹本地存储(0600)、写入路径脱敏、auth 头永不写入、orca scrub 支持事后清理并保留完整性摘要
局限
  • 项目处于早期(v0),格式与命令仍可能变化
  • 重放不是沙箱:被录制的工具调用会真实执行,自行开套接字的工具(如 curl、MCP 服务器)默认不在保证范围内,需要沙箱的用户须自行提供
  • 重放手动交互的会话是近似而非逐字节:配额探测、会话命名等智能体自发调用不会重复,交互式工具(如 AskUserQuestion)在无终端重放中缺席
  • orca scrub 无法重写文件系统快照(内容寻址的 git 对象),只能搜索并报告,或用 --drop-fs 整体删除(代价是失去分叉能力)
  • 部分适配器有已记录的局限:如 goose 的 shell 调用缺少真实退出码和 stdout/stderr 分流(需 --no-shell),browser-use 仅覆盖 LLM 层不驱动浏览器
  • 需要 Node 20+;Windows 上 shell 捕获依赖 Git for Windows 等 POSIX shell,否则需 --no-shell

如何安装或部署这个 Agent?

npm i -g orcareplay
orca doctor

要求 Node 20 或更新版本,无原生依赖。从源码构建:git clone https://github.com/Continuum-AI-Corp/OrcaReplay && cd OrcaReplay && npm ci && npm run build && npm install -g ./packages/cli。试用无需任何智能体或密钥:orca quickstart 会自带一个含真实 bug 的小项目和一段录制,并离线重放。

如何使用这个 Agent?

基本三步:orca record claude(录制智能体运行);orca replay last(离线重放,无网络、无 token 消耗);orca replay last --from 4 --model claude-haiku-4-5 --ui(从检查点 4 分叉到新模型并打开时间线 UI)。模型对比:orca compare last --from 4 --models claude-sonnet-5,claude-haiku-4-5 --verify "npm test"。配置网关:orca setup(默认指向 OrcaRouter,可用 --gateway <url> 换成任何 OpenAI 兼容网关)。查看轨迹:orca list、orca show last、orca graph last、orca export last -o bug.html。供智能体使用:在 MCP 配置中加入 {"mcpServers":{"orca":{"command":"orca","args":["mcp"]}}}。运行产物保存在项目内的 .orca/runs/,轨迹本地存储、权限 0600,密钥不会写入轨迹。

这个 Agent 与同类方案有什么区别?

README 明确将 OrcaReplay 与传统可观测性工具对比:后者只能告诉你一次运行花了 $4.12 和 61k token,而 OrcaReplay 能指出哪个工具调用删除了文件、可逐字节重放运行、可从任意步骤换模型重跑,且只需两个环境变量而非 SDK 包装。内置的对比表覆盖了成本可见性、工具调用归因、离线重放、关闭终端后仍可用等维度。

常见问题

重放会消耗 token 或产生费用吗?
不会。默认重放(egress=blocked)从磁盘回放录制内容,不调用模型、不花 token。只有 --loose 模式下未匹配的请求才会转发给提供商;orca compare 和 fork 会真实调用模型并消耗 token,工具描述中已明确声明。
我必须修改我的智能体才能被录制吗?
不需要。OrcaReplay 通过本地代理和两个环境变量(如 ANTHROPIC_BASE_URL、OPENAI_BASE_URL)捕获流量,或通过 fetch 钩子、PATH 垫片等在更低层捕获。对于读取任何 base-URL 变量的智能体,还可用 --tls-intercept 在套接字层录制,同样不修改智能体。
我的轨迹数据安全吗?会不会被发送到第三方?
轨迹保存在项目内 .orca/runs/,权限 0600,录制器自身不发起网络连接;auth 头永不写入,已知密钥形状和高熵字符串在写入路径被替换为占位符。OrcaRouter 只是 orca setup 的可覆盖默认网关,未配置网关时录制流量直连智能体原本的提供商。但 README 提醒应将轨迹视为敏感数据(约等于 shell 历史加堆转储)。
支持哪些智能体?我的自定义智能体可以吗?
已验证支持 Claude Code、Codex CLI(API key 和 ChatGPT 订阅登录)、OpenAI Agents SDK、Vercel AI SDK、goose、LangGraph/LangChain、OpenHands、CrewAI、Aider、browser-use、grok-cli、OpenClaw、opencode 等。读取 OpenAI 兼容 base-URL 变量的自定义智能体可用 orca record generic-openai;完全不读变量的可用 orca record exec --tls-intercept;未知变量名可通过 ORCA_BASE_URL_VARS 指定。
它与其他 LLM 可观测性工具有什么本质区别?
可观测性工具记录和展示运行的成本与用量;OrcaReplay 把运行还给用户——轨迹是一个文件,可以逐字节重放(无模型调用、无方差)、从检查点分叉换模型对比、生成因果图并导出为可附在 issue 中的自包含 HTML。捕获发生在智能体之下的进程与套接字边界,因此能看到 shell 退出码和文件写入等模型 API 之上看不到的事实。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents