onyx
Facts
- Openness
- Public code, licence not stated
- Language
- Python
- Pinned version
23be912(2026-10-01)- Topics checked
- 28 of 33
- Kind of agent
- General framework
What it does notably well
- Budgets
When deep research is used, onyx checks elapsed time at the start of each orchestrator cycle (30 min, DEEP_RESEARCH_FORCE_REPORT_SECONDS) and then writes the final report from…
onyx fits chat history to 95% of the model's max_input_tokens (GEN_AI_INPUT_TOKEN_SAFETY_MARGIN, default 0.05); it then sends max_tokens = min(model max output, context window…
- Compaction
onyx sizes the verbatim tail kept after compression as RECENT_MESSAGES_RATIO = 0.2 of the current history tokens (not of the context window), converts it to a token budget at run…
onyx documents its layered context design in-tree: chat/README.md has a "Reasons / Experiments" section giving empirical reasons for the placement of custom-agent instructions…
onyx keeps tool-call and result pairing at two sites: run_llm_loop appends one assistant message carrying all calls of a cycle followed by their tool-response messages in one…
- Concurrency
onyx uses one pool worker per selected model, one thread per tool call, and a per-call isolated litellm HTTPHandler for true OpenAI models and for the Anthropic, Bedrock and…
See how onyx does on each topic
The topic-by-topic verdicts, the code lines and a side-by-side comparison are in the app. Sign in with Google; new accounts are approved by hand.
Independent analysis, not affiliated with onyx.