Skip to content

Add OrcaReplay — record an agent run, replay it offline, fork it onto another model - #144

Open
xizhuomengcontin wants to merge 1 commit into
OpenRouterTeam:mainfrom
xizhuomengcontin:add-orcareplay
Open

xizhuomengcontin wants to merge 1 commit into
OpenRouterTeam:mainfrom
xizhuomengcontin:add-orcareplay

Conversation

@xizhuomengcontin

Copy link
Copy Markdown

Adds apps/orcareplay/ — app.yaml plus a 256×256 logo.png.

Disclosure: I maintain OrcaReplay. Apache-2.0, Node 20+, npm i -g orcareplay.

What it is

It records a coding agent's traffic to its model provider and replays the run later with no provider contacted. orca replay last --from 4 --model <other> replays the run to step 4 from the recording and then continues on a different model — everything before the fork is byte-identical, so the model is the only variable. That last part is the reason someone routing through OpenRouter would want it: comparing models over a fixed prefix is exactly what a multi-model gateway is for.

Against your requirements, including the one I want you to check

  • Uses OpenRouter for AI model access — this is the one to look at, so let me be exact rather than let it read better than it is. OrcaReplay is a recorder, not an app with its own chat surface: the model calls it captures are the ones your agent makes. Where OpenRouter comes in is the documented capture path — ORCA_BASE_URL_VARS='OPENROUTER_BASE_URL' orca record generic-openai -- <your agent> — which is what the docs link points at, and the models you fork a replay onto come from whatever provider that variable points to. If you read the requirement as "the app itself must call OpenRouter for its own features", close this and I will not re-file.
  • Bring your own OpenRouter API key — yes; nothing is proxied through us and there is no account. Replay needs no key at all, because no model is called.
  • Publicly accessible — public repo and npm package.
  • Logo — 256×256 PNG, transparent, square, fitted rather than cropped.
  • Traction / notability — 248★, published on npm as orcareplay, tagged releases, active.
  • Tag — coding, matching where aider, cline and browser-use sit.

Two things it does not do

  • A matching replay is not a determinism result. It proves the recorded exchange reproduces; it does not prove the agent or the model is deterministic.
  • Replay blocks model-provider egress only. It is not a sandbox — recorded tool calls still execute for real.

🤖 Generated with Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant