* docs: README cleanup, green wordmark header, Trendshift badges Header: the startup wordmark (src/constants/brand.ts half-block art) rendered as a green two-shade SVG (docs/assets/openclaude-wordmark.svg, textLength-pinned so rows align in any monospace font), with the three Trendshift badges (daily/monthly/repository) centered beneath it. Cleanup (536 -> ~430 lines, nothing lost): - Agent routing, maxSteps limits, and GitHub Copilot sub-agent tuning moved to docs/agent-routing.md; headless gRPC server moved to docs/grpc-server.md; README keeps linked summaries. - Build/test/validation commands were repeated in three sections — consolidated into one Development section; Contributing links to it. - New "Meet Your Buddy" section documenting the companion heroes and their /buddy commands; added to What Works and Why OpenClaude. - Star History moved from the header flow down beside Community. - Setup Guides indexes the new docs pages; fixed a missing blank line before Repository Structure and a curly quote. All relative links, image paths, and internal anchors validated. Co-Authored-By: OpenClaude <openclaude@gitlawb.com> * docs: pure-rect wordmark for crisp rendering; drop broken Star History The wordmark SVG previously drew the half-block art as monospace <text>, which rendered raggedly (font-dependent glyph stretching and seams). Regenerated as pure SVG rects computed from the brand.ts wordmark grid — no font dependence, pixel-crisp at any size, same two-shade green split. Star History chart removed: the badge endpoint errors and displays a broken image. Co-Authored-By: OpenClaude <openclaude@gitlawb.com> * docs: render the wordmark at full README column width Co-Authored-By: OpenClaude <openclaude@gitlawb.com> --------- Co-authored-by: OpenClaude <openclaude@gitlawb.com>
4.2 KiB
Agent Routing and Step Limits
OpenClaude can route different agents to different models, and custom agents can cap how many tool-use steps they may execute. Both features live in settings and agent frontmatter — no code changes required.
Agent step limits
Custom agents can define maxSteps as a positive integer to cap how many
tool-use steps a sub-agent may execute. When the limit is reached, OpenClaude
stops additional tool calls and asks the sub-agent for a concise final summary
covering completed work, findings, remaining tasks, and whether another run is
needed. Omitting maxSteps, or setting it to an invalid value such as 0 or
malformed input, preserves the default unlimited behavior.
---
name: bounded-researcher
description: Use for focused research with bounded tool use
maxSteps: 8
---
You are a focused research agent.
Agent routing
OpenClaude can route different agents to different models through settings-based routing. This is useful for cost optimization or splitting work by model strength.
Add to ~/.openclaude.json:
{
"agentModels": {
"deepseek-v4-flash": {
"base_url": "https://api.deepseek.com/v1",
"api_key": "sk-your-key"
},
"zai-default": {
"model": "glm-5.2",
"base_url": "https://api.z.ai/api/coding/paas/v4",
"api_key": "sk-your-key"
},
"gpt-4o": {
"base_url": "https://api.openai.com/v1",
"api_key": "sk-your-key"
}
},
"agentRouting": {
"Explore": "deepseek-v4-flash",
"Plan": "gpt-4o",
"general-purpose": "gpt-4o",
"frontend-dev": "zai-default",
"default": "gpt-4o"
}
}
When no routing match is found, the global provider remains the fallback.
agentRouting values and explicit Agent tool model overrides match keys in
agentModels. By default, that key is also the model string sent to the
provider. Set agentModels.<key>.model when you want a local route key such
as zai-default to call a different provider model name such as glm-5.2.
Note:
/providerchanges the global/parent provider for your current session.agentModelsandagentRoutingare specifically for configuring per-agent provider overrides while keeping the parent session unchanged.
Note:
api_keyvalues insettings.jsonare stored in plaintext. Keep this file private and do not commit it to version control.
Model-only routes (same provider): Omit base_url and api_key to run an
agent on a different model using your current provider's endpoint and key —
no credential duplication:
{
"agentModels": {
"mini": { "model": "gpt-5-mini" }
},
"agentRouting": {
"verification": "mini"
}
}
Built-in agents are routable by their type name. Useful keys:
verification (the read-only auditor that runs before completion), Explore,
and Plan. For example, "agentRouting": { "verification": "mini" } runs the
verifier on gpt-5-mini while your main session stays on its model. Absent
any entry, the verifier inherits the main-loop model.
GitHub Copilot sub-agent optimization
When CLAUDE_CODE_USE_GITHUB=1, OpenClaude serializes sub-agent execution to
reduce GitHub Copilot Premium Request consumption. Default behavior is
GITHUB_COPILOT_MAX_SUBAGENTS=1 (synchronous, one sub-agent at a time).
Tuning vars (all optional):
| Var | Effect |
|---|---|
GITHUB_COPILOT_MAX_SUBAGENTS=0 |
Suppress sub-agents entirely (sub-agents throw an error). |
GITHUB_COPILOT_MAX_SUBAGENTS=1 |
Force synchronous execution. Default. |
GITHUB_COPILOT_MAX_SUBAGENTS=2..10 |
Parsed/clamped but not enforced differently from =1 (any positive cap = synchronous). |
GITHUB_COPILOT_ALLOW_SUBAGENTS=1 |
Re-enable parallel/background sub-agents, overriding the cap. |
GITHUB_COPILOT_FORCE_SYNC_SUBAGENTS=1 |
Force synchronous execution regardless of cap. |
GITHUB_COPILOT_OPTIMIZATION_DISABLED=1 |
Disable all of the above; sub-agents run as before this feature. |
The is_async field reported in the tengu_agent_tool_selected event and the
agent metadata reflects the final execution mode (i.e., false when
synchronous is forced). See .env.example for the full descriptions.
For best results, use models with strong tool/function calling support.