How to use ouroboros
Launch the Ouroboros Python engine via uvx to provide DSH with specification-driven AI workflows as MCP tools (Interview→Seed→Execute→Evaluate→Evolution loop), requiring no installation or additional code.
This article is auto-derived from indexed fields (wiki / faq / compatibility_json), not freshly AI-generated.
This article is derived from the plugin's already-indexed fields (wiki / faq / compatibility_json / readme), not freshly generated by AI. Source field is noted at the end of each section.
Quick start
ouroboros
— source: plugin_wiki.wiki_content
Install & verify
dsh plugin --profile web add github:Q00/ouroboros#path:integrations/dsh-plugin
Run the command above in your DSH Web Profile. Then enable the plugin in the plugin list.
— source: plugins.install
Key points
- The kernel (
ouroboros) owns the contract: every action becomes a - Plugins (
ouroboros-plugins) declare scoped capabilities against that - Ourocode is the terminal shell: it surfaces MCP state, interview
- PAL Router -- Frugal (1x) -> Standard (10x) -> Frontier (30x) with auto-escalation on failure, auto-downgrade on success
- Drift -- Goal (50%) + Constraint (30%) + Ontology (20%) weighted measurement, threshold <= 0.3
— source: plugin_wiki.readme_en (fallback readme_raw)
FAQ
Why can't I see the Ouroboros tools in dsh after installation?
The most common cause is that uv is not installed on the machine, or OUROBOROS_AGENT_RUNTIME is not set, causing startup failure. This bundle is intentionally designed to fail softly without affecting other plugins. You can run dsh --profile <your-profile> --dump-config to check if the # == dsh-ouroboros layer was generated.
I've already run ouroboros setup, do I need to set environment variables again?
Not necessarily. If you already selected the agent runtime and LLM backend during setup, both OUROBOROS_AGENT_RUNTIME and OUROBOROS_LLM_BACKEND can be left unset, allowing the dsh subprocess to inherit your existing configuration. You only need OUROBOROS_DSH_CONFIG_PATH and OUROBOROS_DSH_CLI_PATH when switching to the dsh LLM backend.
Why do tool calls only timeout after 30 minutes?
The bundle explicitly sets toolCallTimeoutMs to 1800000 (30 minutes) because ouroboros_auto completes a full cycle of interview → Seed → execution → acceptance before returning synchronously, rather than handing the work off to a background task.
Can I directly chat with the ooo prefix in dsh?
Yes. The model will automatically find the corresponding mcp__ouroboros__* tools; each tool comes with its own description, so you can directly use ooo auto: add a dark mode to this project without needing to craft additional prompts.
Will my API key leak to the Ouroboros subprocess?
It won't leak by default. The dsh subprocess stripping layer first filters out variables named KEY|PASSWORD|SECRET|TOKEN and all DSH_* variables. This bundle only explicitly forwards the two whitelist entries ANTHROPIC_API_KEY and DEEPSEEK_API_KEY; to forward other keys like OpenAI or Google, you need to append similarly named variables in your profile's patch.
What's the point of using dsh as the LLM backend?
It redirects the interview, Seed, and QA conversations that would normally go to Anthropic to go through DeepSeek Harness instead. To enable this, you must build dsh from source (pnpm install && pnpm run build) because the published @deepseek-ai/dsh-acp-demo has a peer dependency conflict in the dsh-tool-bash chain.
How to uninstall?
Remove the plugin with dsh plugin --profile <your-profile> remove ouroboros, then delete the # == dsh-ouroboros section or custom override items in the configuration layer. This won't affect the already generated interview/Seed files.
— source: plugin_wiki.faq_json
Compatibility
- DSH: 未声明
- Node: >=22 (仅在使用 dsh LLM 后端并从源码构建 dsh 时需要;运行时由 uvx 自动管理 Python 3.12+)
— source: plugin_wiki.compatibility_json
Pitfalls
Review the upstream repo before installing. This guide is auto-derived from indexed fields and may lag the latest release. If anything contradicts the official docs, treat the upstream source as authoritative.
— source: general rule