Skip to content

docs: add OrcaReplay to Observability (#7365) - #7366

Open
xizhuomengcontin wants to merge 3 commits into
crewAIInc:mainfrom
xizhuomengcontin:docs/orcareplay-observability
Open

docs: add OrcaReplay to Observability (#7365)#7366
xizhuomengcontin wants to merge 3 commits into
crewAIInc:mainfrom
xizhuomengcontin:docs/orcareplay-observability

Conversation

@xizhuomengcontin

Copy link
Copy Markdown

Closes #7365.

⚠️ AI-generated contribution

This PR was authored by an AI agent (Claude Code), as CONTRIBUTING.md requires be declared. I cannot apply the llm-generated label myself — no permission on this repository — so I am stating it here and would be grateful if a maintainer adds it.

Replaces #7364, which I opened before reading the contributing guide properly and which the bot closed for having no linked issue. My mistake: I looked for a contributing guide in the repository root and missed that it lives under .github/.

What this adds

A page for OrcaReplay under Observability, in all four locales.

OrcaReplay is an open-source (Apache-2.0) record/replay debugger for agents. It records a run to a file, then replays that file with the model served from the recording — so a run reproduces exactly, offline, without spending tokens, and can be forked from any step onto a different model.

It differs from the tools currently in that section in one way worth stating plainly: there is nothing to add to your crew. No SDK, no callback handler, no import.

orca record generic-openai -- python your_crew.py
orca replay last

Files

docs/edge/{en,ar,ko,pt-BR}/observability/orcareplay.mdx the page, four locales
docs/edge/{en,ar,ko,pt-BR}/observability/overview.mdx one <Card> each
docs/docs.json four nav entries under edge/

edge only, so the docs freeze carries it to the next version through the Edge nav, per #6349. Translation parity because CONTRIBUTING asks for it and #7311 shows it is how docs actually land here.

Code blocks, URLs, heading structure and table shape are identical across the four; only prose and code comments are translated, matching what the existing ko and pt-BR pages do.

Everything on the page was measured, and one claim was corrected before submitting

Against crewai 1.15.20. The console blocks are copied from a real run rather than typed. Three CrewAI-specific notes are included because they are what a reader will actually hit:

  • 1.x moved LiteLLM to an optional extra, so a default install reaches OpenAI through crewai.llms.providers.openai.completion, which reads both OPENAI_API_BASE and OPENAI_BASE_URL — which is why the command needs no arguments.
  • A bare model name always reaches that provider; a prefixed one no native provider claims falls back to LiteLLM. So LLM(model="openai/my-gateway-model") resolves where LiteLLM is installed and raises ImportError where it is not. This matters when the model name is a gateway's rather than the vendor's.
  • Telemetry is a separate connection, and the page shows how to turn it off.

The second of those was wrong in an earlier draft — I had measured it on a machine whose LiteLLM install was broken, which crewai.llm._ensure_litellm() cannot distinguish from an absent one, and wrote the result down as CrewAI's behaviour. Our CI, where LiteLLM works, disagreed. It is now stated conditionally and pinned by a script that checks it against whichever way LiteLLM is on the machine running it.

Verified in CI, on our side

CrewAI has its own check in OrcaReplay's integration matrix — a real Agent, Task and Crew recorded against a stub origin, the origin stopped, and the recording replayed offline:

── crewai            1 exchanges, replayed exact with the origin down

It runs on every commit, so the claim this page makes fails a build rather than ageing quietly. The check is crewai_agent.py.

Happy to adjust tone, length, placement or the translations to whatever you would rather have.

OrcaReplay is an open-source record/replay debugger for agents. It
records a run to a file, then replays that file with the model served
from the recording — so a run reproduces exactly, offline, without
spending tokens, and can be forked from any step onto a different model.

Unlike the other tools in this section it needs no code change: no SDK,
no callback, no import. `orca record generic-openai -- python your_crew.py`
runs the crew you already have.

Everything on the page was measured against crewai 1.15.20 before
submitting, including the console output, which is copied from a real
run rather than typed. Two CrewAI-specific notes are included because
they are what a reader will hit:

  - the native provider (1.x moved LiteLLM to an optional extra) reads
    both OPENAI_API_BASE and OPENAI_BASE_URL
  - a bare model name always reaches that provider, while a prefixed one
    is checked against a known-model list first — which matters when the
    model name is a gateway's rather than the vendor's

CrewAI also has its own check in OrcaReplay's CI: a real Agent, Task and
Crew recorded against a stub origin, the origin stopped, the recording
replayed offline. So "CrewAI works with OrcaReplay" fails a build rather
than ageing quietly.

English only. The nav entry is under edge/en, so the docs freeze picks
it up for the next version per crewAIInc#6349.
The table said a prefixed name no native provider claims always raises.
It resolves wherever LiteLLM is installed — CrewAI falls back to it, and
1.x simply does not install it by default. The machine this was first
measured on had LiteLLM present but broken, which crewai.llm cannot tell
from absent.

Corrected before review rather than after. The recommendation is
unchanged: use the bare form for a gateway's own model names.
CONTRIBUTING.md asks for translation parity, and crewAIInc#7311 shows it is
enforced in practice rather than aspirational — it landed in all four
locales.

Code blocks, URLs, heading structure and table shape are identical
across the four; only prose and code comments are translated, which
matches what the existing ko and pt-BR pages do. Nav entries and the
overview Card are added per locale, each pointing at its own.
@coderabbitai

coderabbitai Bot commented Sep 10, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 192d2d76-f84e-41ee-a908-fb034b35811a

📥 Commits

Reviewing files that changed from the base of the PR and between a8d330d and 2fd4aa8.

📒 Files selected for processing (9)
  • docs/docs.json
  • docs/edge/ar/observability/orcareplay.mdx
  • docs/edge/ar/observability/overview.mdx
  • docs/edge/en/observability/orcareplay.mdx
  • docs/edge/en/observability/overview.mdx
  • docs/edge/ko/observability/orcareplay.mdx
  • docs/edge/ko/observability/overview.mdx
  • docs/edge/pt-BR/observability/orcareplay.mdx
  • docs/edge/pt-BR/observability/overview.mdx

Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review.


📝 Walkthrough

Walkthrough

Changes

OrcaReplay observability documentation

Layer / File(s) Summary
Record and replay guidance
docs/edge/*/observability/orcareplay.mdx
Added OrcaReplay installation, recording, captured-event, offline replay, and checkpoint branching documentation in English, Arabic, Korean, and Brazilian Portuguese.
CrewAI integration notes
docs/edge/*/observability/orcareplay.mdx
Documented provider routing, LiteLLM fallback behavior, telemetry settings, CI verification, and reference links in all four locales.
Observability navigation
docs/docs.json, docs/edge/*/observability/overview.mdx
Added localized documentation routes and OrcaReplay cards to the observability overviews.

Suggested reviewers: lucasgomide

Merge Risk: ⚪ Minimal · up to 2fd4a

This adds OrcaReplay observability guidance and navigation in English, Arabic, Korean, and Brazilian Portuguese. The documented pages and localized routes are aligned, with no remaining merge-blocking risk.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the primary change: adding OrcaReplay documentation to the Observability section.
Description check ✅ Passed The description identifies issue #7365, explains the documentation changes, lists affected files, documents the technical scope, and describes CI verification. It provides the required information eve…
Linked Issues check ✅ Passed The changes satisfy issue #7365 by adding OrcaReplay pages, overview cards, and navigation entries in English, Arabic, Korean, and Brazilian Portuguese. The documented workflow, captured data, forking…
Out of Scope Changes check ✅ Passed All changes are documentation pages, overview cards, and navigation entries directly related to adding OrcaReplay to Observability. No unrelated code or product changes are present.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

⚠️ This pull request has been flagged as potential spam (promotional) by CodeRabbit slop detection and should be reviewed carefully.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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.

Docs: add OrcaReplay to the Observability section

2 participants