
Ouroboros
io.github.Q00由 GitHub 帳號 Q00 發布v0.51.5更新於 Oct 27, 2026
Pins an acceptance spec; the verify command and expected output never enter the success contract.
概覽
Ouroboros 是本地優先的「Agent OS」,把模糊的程式開發需求轉成訪談、不可變規格、執行與驗證關卡,供 AI 編碼代理使用。
- 可以做什麼
- 執行蘇格拉底式訪談,揭露隱藏假設並給出歧義評分
- 把回答結晶成含驗收標準的不可變 seed 規格
- 依階段拆解執行 seed,並交給編碼執行環境
- 以三階段關卡評估結果:機械檢查、語意評估、多模型共識
- 跨世代演化與反思直到本體收斂,並提供工作階段狀態、續接與取消
- 產生產品經理導向的訪談與 PRD,並把 seed 發佈為 GitHub 議題
- 適用情境
- 當你用 AI 編碼代理處理非小型專案,希望採用規格優先、可重播的工作流程而非臨時提示時適用,特別適合需求模糊、返工成本高的情況。
- 執行需求
- 以本機程序方式透過 uvx 執行 ouroboros-ai 這個 PyPI 套件,需要 Python 3.12 以上。安裝腳本會準備 Git 與 uv,setup 會把 MCP 伺服器註冊到偵測到的宿主(如 Claude Code、Codex CLI、Kiro、Copilot)。模型存取經由宿主或已設定的後端;清單未宣告任何憑證。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Ouroboros,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
◯ ─────────── ◯
[Ouroboros]
O U R O B O R O S
◯ ─────────── ◯
It gets smarter on its own. We just hold the line.
Skip the prompt engineering. The agent runs, fails, and gets smarter every generation. The grading command and expected result never make it into the success contract we hand it.
The Agent OS for replayable AI coding workflows
[GitHub stars] [PyPI] [Tests] [License] [GitHub Sponsors]
[Q00%2Fouroboros | Trendshift]
Quick Start · Why · Results · How It Works · Commands · Philosophy · Guide
One command installs it. Then run ooo setup once inside your coding agent — details in Quick Start.
Demo videos for each runtime.
Turn a vague idea into a verified, working codebase -- across Claude Code, Codex CLI, OpenCode, Hermes, Gemini, Kiro, Copilot, Pi, OMP, Zcode, Goose, GJC, Antigravity, and Grok.
Ouroboros is an Agent OS for AI coding: a local-first runtime layer that turns non-deterministic agent work into a replayable, observable, policy-bound execution contract. It replaces ad-hoc prompting with a structured specification-first workflow: interview, crystallize, execute, evaluate, evolve.
The Ouroboros Agent OS Stack
Like any OS, Ouroboros is split into a stable OS layer of primitives, an application layer of domain workflows, and a shell that humans actually sit in front of. Three repos, one stack:
How they connect:
- The kernel (
ouroboros) owns the contract: every action becomes a Seed-bound, ledger-recorded, replayable event — regardless of which LLM executes it. - Plugins (
ouroboros-plugins) declare scoped capabilities against that contract, so domain workflows (review a PR, triage a Linear ticket, run a release) stay auditable and policy-bound instead of being one-off prompts. - Ourocode is the terminal shell: it surfaces MCP state, interview questions, and wonderTool decisions as first-class TUI elements, so you can drive the OS without leaving the keyboard or switching between CLIs.
Use ouroboros alone with any supported CLI, layer plugins on for domain
workflows, or install ourocode when you want a unified terminal cockpit.
Disclaimer. The Ouroboros project and community are not affiliated with any cryptocurrency, token, memecoin, or trading community — including, but not limited to, any "ouroboros" tickers on pump.fun or other launchpads. This is an open-source developer tool. We do not issue, endorse, or hold any coins. Any token claiming association with this project is unauthorized.
Naming note. A separate, unaffiliated open-source project also uses the name "Ouroboros" — Anton Razzhigaev's self-modifying, autonomous-memory agent at
github.com/razzant/ouroboros. No shared code, no relationship. This project locks a specification before executing rather than rewriting its own architecture; if you're looking for the latter, that's the other one.
Why Ouroboros?
Most AI coding fails at the input, not the output. The bottleneck is not AI capability -- it is human clarity.
Quick Start
Install — one command, everything auto-detected:
The Windows installer installs Git and uv through winget when they are missing,
lets uv download its own Python, then installs ouroboros-ai and wires the
host it finds. Native Windows is experimental and Codex CLI needs WSL 2; see
platform support.
First command — open your AI coding agent and run these in order:
ooo setup is a one-time configuration step. ooo interview is the first
workflow command and starts the Socratic interview. After setup, Codex follows
its currently selected model and Claude Code starts with its recommended model
settings. Choose Directly configure models only when you want to pin a
stage to a specific model; it opens the local settings screen in your browser.
You can return to those settings any time with ooo config.
Or from a plain terminal, without an agent host:
That recording is this exact command. It is at the top of this page so you can see the tool before installing it.
ouroboros setup refresh on one machine. It installs into the hosts that machine actually has, each in the shape that host expects: rules and skills for Codex, skills for Hermes, a plugin and an AGENTS.md for OpenCode, bridges for Pi and GJC. Your machine will show whichever of the thirteen you have installed.
Works with Claude Code, Codex CLI, GitHub Copilot CLI, OpenCode, Hermes, Gemini, Kiro CLI, Pi CLI, OMP CLI, Zcode, Goose, GJC, Antigravity CLI, and Grok Build CLI. The installer detects available runtimes and registers the MCP server where the host supports it. For explicit selection, run
ouroboros setup --runtime <opencode|kiro|copilot|gemini|pi|omp|zcode|goose|gjc|antigravity|grok>after installation. Copilot live-discovers its subscription catalog via the GitHub Copilot models API; Kiro's settings picker queries the authenticated CLI withkiro-cli chat --listmodels -f json, so account and enterprise allow-list changes appear without a hardcoded model table.
DeepSeek support. Ouroboros speaks DeepSeek two ways. Point the interview/Seed/QA pipeline at DeepSeek's own models with
--llm-backend dsh(ouroboros mcp serve --runtime claude-cli --llm-backend dsh, orOUROBOROS_LLM_BACKEND=dsh) — this drives DeepSeek Harness's ACP server under the hood. Or go the other way: install thedsh-ouroborosplugin (dsh plugin --profile <your-profile> add "github:Q00/ouroboros#main&path:integrations/dsh-plugin") and typeooo interview/ooo autodirectly in the DeepSeek Harness chat — the sameouroboros_interview/ouroboros_autotools run natively inside it, Socratic questions and all. Both directions, including what thedshbackend needs beyond the one variable, are in the DeepSeek Harness guide.
Codex plugin quick start
Needs codex on your PATH and uvx on the host (the plugin's MCP descriptor
launches the server with it). Install uv with pipx install uv,
pip install --user uv, or brew install uv.
Start a new Codex session, then run these commands in order:
ooo setup is the one-time runtime preparation. Once ready, Ouroboros follows
Codex's current default model; choose Directly configure models only when
you want to pin a specific model for a pipeline stage.
Kiro CLI quick start
Then use ooo commands inside a Kiro CLI session.
GitHub Copilot CLI quick start
Restart your Copilot CLI session, then use ooo commands inside it. Model-ID mapping is catalog-gated: the prior direct and OpenRouter Opus 5 pins resolve to claude-opus-5 when that ID is present; current Anthropic API pins convert only their trailing numeric separator and only when the discovered catalog contains the exact candidate. Unknown IDs remain unchanged so Copilot reports an explicit unavailable-model error instead of silently selecting a different model. Leave role models unset so setup writes a discovered ID, or set a Copilot-valid ID explicitly. See the Copilot runtime guide.
See the GitHub Copilot CLI runtime guide for full details.
For experimental live task activity, keep runtime_backend: copilot and opt into
the ACP transport:
The default remains cli (copilot -p). ACP streams assistant text and tool
progress through the existing event store; authentication is still owned by
Copilot, and no TCP listener or display is required.
Other install methods
Claude Code plugin only (no Python package or global Python to install; the
host needs uv, which provides both uvx for the MCP server and the skills'
Python >= 3.12 fallback):
Then run ooo setup inside a Claude Code session.
pip / uv / pipx:
Core and non-LiteLLM installs support Python 3.12-3.14. LiteLLM-bearing installs ([litellm], [all], and source --extra all) support Python 3.12-3.13; use Python 3.13 for current examples. See Platform Support.
The recommended standalone installation is ouroboros-ai[mcp,tui] followed by
an explicit MCP v2-compatible runtime selection. The example uses
--runtime claude-cli; substitute another compatible runtime such as codex,
opencode, hermes, gemini, goose, kiro, copilot, pi, or gjc.
Use [claude] and [claude-sdk] only in isolated MCP 1.x environments.
pip install 'ouroboros-ai[mcp]' is valid for embedding the MCP client/server library in an already isolated Python environment, but host registration requires uvx --isolated --python '>=3.12' or pipx. Use pipx install 'ouroboros-ai[mcp]' or uv tool install 'ouroboros-ai[mcp]' before ouroboros setup --runtime <claude-cli|codex|opencode|hermes|gemini|goose|kiro|copilot|pi|gjc>; setup exits without changing runtime configuration when neither isolated launcher is available.
Legacy compatibility: ouroboros-ai[dashboard] is still accepted as a compatibility alias/no-op; it does not install dashboard runtime payload. ouroboros-ai[all] includes that no-op alias only for compatibility.
Homebrew (macOS/Linux):
Self-hosted tap, not yet in homebrew-core. Installs the same package published to PyPI.
See runtime guides: Claude Code · Codex CLI · Hermes · OpenCode · Kiro CLI · Gemini CLI · GitHub Copilot CLI · Zcode · Pi JSON mode · OMP (Oh My Pi) · Goose · GJC · Antigravity CLI · Grok Build CLI · Megacode harness
Uninstall
Removes all configuration, MCP registration, and data. See UNINSTALL.md for details.
Python >= 3.12 required. LiteLLM-bearing profiles support Python 3.12-3.13. See Platform Support and pyproject.toml.
Installing as an MCP server: use 0.51.1 or later. Earlier versions can fail at startup with
Failed to reconnect to plugin:ouroboros:ouroboros: -32000when an existing environment shadows the[mcp]profile (#2012). This matters if you install through a downstream package rather than PyPI, since those can lag.
Most people find out they were unclear about three files into the review.
If that feels familiar, star Q00/ouroboros on GitHub so the next person it could save can find it.
What You Get
After one loop of the Ouroboros cycle, a vague idea becomes a verified codebase:
What just happened?
Use
ooo <cmd>inside your AI coding agent session, orouroboros init start,ouroboros run seed.yaml, etc. from the terminal.
The serpent completed one loop. Each loop, it knows more than the last.
How It Compares
AI coding tools are powerful -- but they solve the wrong problem when the input is unclear.
The Loop
The ouroboros -- a serpent devouring its own tail -- is not decoration. It IS the architecture:
Each cycle does not repeat -- it evolves. The output of evaluation feeds back as input for the next generation, until the system truly knows what it is building.
"This is where the Ouroboros eats its tail: the output of evaluation becomes the input for the next generation's seed specification." --
reflect.py
Convergence is reached when ontology similarity >= 0.95 -- when the system has questioned itself into clarity.
Ralph: The Loop That Never Stops
ooo ralph runs the evolutionary loop persistently -- across session boundaries -- until convergence is reached. Each step is stateless: the EventStore reconstructs the full lineage, so even if your machine restarts, the serpent picks up where it left off.
Commands
Inside AI coding agent sessions, use ooo <cmd> skills. From the terminal, use the ouroboros CLI.
ooo idk adjusts interview wording in the active conversation without answering
the pending question or lowering requirements rigor. It works with the Claude
skill relay and intercepted interviews on Codex, Copilot, Gemini, OpenCode,
Hermes, Pi, OMP, GJC, and Kiro. Calibration is not saved: run ooo idk again
after reopening a saved session. See the calibration contract.
Not all skills have direct CLI equivalents. Some (
evaluate,evolve,unstuck,ralph,publish) are available through agent skills, runtime rules, or MCP tools rather than a directouroboros <subcommand>shell command./resumeis reserved for Claude Code's built-in session picker; useooo resume-sessionfor Ouroboros in-flight sessions. Claude Code also reserves/run,/status,/help, and/config. The safe direct skill forms are/ouroboros:ouroboros-run,/ouroboros:ouroboros-status,/ouroboros:ouroboros-help, and/ouroboros:ouroboros-config; the familiarooo run,ooo status,ooo help, andooo configphrases remain supported.
See the CLI reference for full details.
The Nine Minds
Nine highlighted agents below, with 12 more specialized agents available (21 total). All loaded on-demand, never preloaded:
Under the Hood
Architecture overview -- Python >= 3.12
Key internals:
- PAL Router -- Frugal (1x) -> Standard (10x) -> Frontier (30x) with escalation on retry (no automatic downgrade)
- Drift -- Goal (50%) + Constraint (30%) + Ontology (20%) weighted measurement, threshold <= 0.3
- Brownfield -- Auto-detects config files across multiple language ecosystems
- Evolution -- Up to 30 generations, convergence at ontology similarity >= 0.95
- Stagnation -- Detects spinning, oscillation, no-drift, and diminishing returns patterns
- Agent OS runtime -- Replayable execution contract across capability discovery, policy, directives, event journal, and agent processes
- Runtime backends -- Pluggable abstraction layer (
orchestrator.runtime_backendconfig) with first-class support for every canonical backend returned byruntime_backend_choices(), including GJC, Antigravity, Grok, and Zcode; same workflow spec, different execution engines
See Architecture for the full design document.
From Wonder to Ontology
The philosophical engine behind Ouroboros
Wonder -> "How should I live?" -> "What IS 'live'?" -> Ontology -- Socrates
Every great question leads to a deeper question -- and that deeper question is always ontological: not "how do I do this?" but "what IS this, really?"
This is not abstraction for its own sake. When you answer "What IS a task?" -- deletable or archivable? solo or team? -- you eliminate an entire class of rework. The ontological question is the most practical question.
Ouroboros embeds this into its architecture through the Double Diamond:
The first diamond is Socratic: diverge into questions, converge into ontological clarity. The second diamond is pragmatic: diverge into design options, converge into verified delivery. Each diamond requires the one before it -- you cannot design what you have not understood.
Ambiguity Score: The Gate Between Wonder and Code
The Interview does not end when you feel ready -- it ends when the math says you are ready. Ouroboros quantifies ambiguity as the inverse of weighted clarity:
Each dimension is scored 0.0-1.0 by the LLM (temperature 0.1 for reproducibility), then weighted:
Threshold: Ambiguity <= 0.2. A score above that blocks Seed generation. Passing force explicitly is what gets past it, and the CLI puts that choice on screen next to continue and cancel. The gate is a default worth arguing with, not a lock.
Why 0.2? Because at 80% weighted clarity, the remaining unknowns are small enough that code-level decisions can resolve them. Above that threshold, you are still guessing at architecture.
Ontology Convergence: When the Serpent Stops
The evolutionary loop does not run forever. It stops when consecutive generations produce ontologically identical schemas. Similarity is measured as a weighted comparison of schema fields:
Threshold: Similarity >= 0.95 -- the loop converges and stops evolving.
But raw similarity is not the only signal. The system also detects pathological patterns:
Two mathematical gates, one philosophy: do not build until you are clear (Ambiguity <= 0.2), do not stop evolving until you are stable (Similarity >= 0.95).
Contributing
Issues · Discussions · Contributing Guide
Sponsors
Ouroboros is MIT-licensed and built in the open. If it saves you rework — or you want the loop to keep evolving — consider sponsoring. Sponsorship directly funds maintenance, new runtime integrations, and sponsor-only deep-dive content.
Every sponsor keeps the serpent evolving. Thank you.
Activity
These numbers are generated from GitHub data and refreshed automatically; caching may delay updates.
[Contributors] [Commit activity] [Closed pull requests] [Last commit]
"The beginning is the end, and the end is the beginning."
The serpent does not repeat -- it evolves.
MIT License
來源:README.md,提交 722172e
工具
0版本歷史
1- v0.51.5最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分