
continuum-ai-corp /
orcareplay
协议:Apache-2.0 | 安装:npm i -g orcareplay(Node 20+,命令名是 orca) 一句话 把 AI 编程 Agent 的整次运行录下来,之后不调用模型、不需要 API key,就能把同一次运行原样再跑一遍。 解决什么问题 现在大家用 Claude Code / Codex / Cursor 干活,遇到两件事很难受: 1. 「它刚才为什么把我那个文件改了?」 —— 问它,它是凭对会话的印象复述,而那份印…
LanguageTypeScriptDTData & operationsDTSoftware developmentDTAgent extensionDTAgent evaluation & safetyDTCLIDTLibrary / SDKDTLinuxDTTerminalDTClaude CodeDTCodexDTCursorOriginalagent-debugging
About
协议:Apache-2.0 | 安装:npm i -g orcareplay(Node 20+,命令名是 orca) 一句话 把 AI 编程 Agent 的整次运行录下来,之后不调用模型、不需要 API key,就能把同一次运行原样再跑一遍。 解决什么问题 现在大家用 Claude Code / Codex / Cursor 干活,遇到两件事很难受: 1. 「它刚才为什么把我那个文件改了?」 —— 问它,它是凭对会话的印象复述,而那份印象里没有工具返回值、没有退出码、也没有那些没人提过但确实被改掉的文件。 2. 「昨天那次翻车还能复现吗?」 —— 重跑要花 token,而且模型未必再做同样的选择,跑出来的是另一次运行。 思路是在模型请求这一层、进程外把会话录下来,再把录像喂回去: console $ orca record codex -- codex exec "修掉这个失败的测试" info recorded run=run8f21c3 events=41 exit=0 $ orca replay last info replaying exchanges=6 egress=blocked info replay.done reused=6/6 exact=6 divergences=0 exit=0 第二条命令里一次模型都没调。Agent 自己的代码、控制流和工具调用照常真跑,只有模型回复来自录像。exact=6 是逐字节匹配,有漂移会报出来而不是悄悄放过。 于是那次出问题的会话变成一个可以交给别人的东西:同事或维护者不用你的 key、不花钱就能复现;同一份录像还能当 CI 回归用例——这是带 LLM 的链路平时最难做的一块。 Agent 那边不用装任何东西,只是给它启动的子进程改了模型服务地址,所以不挑框架:Claude Code、Codex、Cursor、goose、opencode、Qwen Code 都有适配,LangChain/LangGraph、CrewAI、Haystack、Google ADK 也都实测过。 两个不吹的地方 它不是沙箱。 egress=blocked 只挡模型侧出网,录下的工具调用会真的再执行一次——那次跑过 curl 的,重放还会再跑一次。 重放成功 ≠ 确定性。 模型并没有被重新提问,是把录下的回复喂回去。所以它能回答「录下的那次还能不能复现」,答不了「重新跑一次是不是还会失败」。 我是作者,自荐。不合适直接关掉即可,不会追问。
Discovery history
- HelloGitHub·用户投稿
Sep 7, 2026 · 1 observations
- 阮一峰周刊·用户投稿
Sep 7, 2026 – Sep 13, 2026 · 2 observations
- 中国独立开发者·程序员版
Sep 18, 2026 · 1 observations
Discuss this product