dsh-plugin 使用指南
通过 uvx 启动 Ouroboros Python 引擎,以 MCP 工具形式为 DSH 接入规范驱动的 AI 工作流(采访→Seed→执行→评估→进化循环),无需安装或编写额外代码。
本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。
本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。
快速上手
ouroboros
— 源: plugin_wiki.wiki_content
安装与验证
dsh plugin --profile web add github:Q00/ouroboros#path:integrations/dsh-plugin
复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。
— 源: plugins.install
关键要点
- 内核(
ouroboros)持有契约:不管最终由哪个 LLM 执行,每一个动作都会变成一个绑定 seed、记入 ledger、可回放的事件。 - 插件(
ouroboros-plugins)针对这份契约声明自己需要的能力范围,所以领域工作流(review 一个 PR、分诊一张 Linear 工单、跑一次发布)始终是可审计、受策略约束的,而不是一次性的 prompt。 - Ourocode 是终端 shell:它把 MCP 状态、访谈问题、wonderTool 决策都做成一等公民的 TUI 元素,让你不用离开键盘、也不用在多个 CLI 之间来回切换就能驱动这套 OS。
- PAL Router —— Frugal(1x)→ Standard(10x)→ Frontier(30x),失败自动升级,成功自动降级
- Drift —— Goal(50%)+ Constraint(30%)+ Ontology(20%)加权度量,阈值 ≤ 0.3
— 源: plugin_wiki.readme_zh (fallback readme_raw)
常见问题
安装后为什么 dsh 里看不到 Ouroboros 工具?
最常见原因是机器上没有 uv,或 OUROBOROS_AGENT_RUNTIME 没设导致启动失败。该 bundle 故意写成软失败,不影响其他插件,你可以运行 dsh --profile <your-profile> --dump-config 检查是否生成了 # == dsh-ouroboros 层。
我已经跑过 ouroboros setup,还需要再设环境变量吗?
不一定。如果你 setup 时已经选好了 agent runtime 和 LLM backend,OUROBOROS_AGENT_RUNTIME 和 OUROBOROS_LLM_BACKEND 都可以不设,让 dsh 子进程继承你的现有配置。只有在切换到 dsh LLM 后端时才需要 OUROBOROS_DSH_CONFIG_PATH 与 OUROBOROS_DSH_CLI_PATH。
工具调用为什么超过 30 分钟才超时?
bundle 把 toolCallTimeoutMs 显式调到了 1800000(30 分钟),因为 ouroboros_auto 会跑完一轮采访→Seed→执行→验收再同步返回,而不是把活扔给后台任务。
dsh 里能不能直接用 ooo 前缀聊聊天?
可以。模型会自动找到对应的 mcp__ouroboros__* 工具;每个工具都自带描述,你直接 ooo auto: 给这个项目加个暗黑模式 即可,不用额外拼提示词。
我的 API key 会泄露给 Ouroboros 子进程吗?
不会默认泄露。dsh 的子进程剥离层会先过滤掉 KEY|PASSWORD|SECRET|TOKEN 命名的变量和所有 DSH_* 变量,该 bundle 只显式转发 ANTHROPIC_API_KEY 与 DEEPSEEK_API_KEY 两个白名单;要转发 OpenAI / Google 等其它 key,需要在自家 profile 的 patch 里追加同名变量。
用 dsh 作为 LLM 后端有什么用?
让采访、Seed、QA 这些原本打到 Anthropic 的对话改走 DeepSeek Harness 自己。要启用必须从源码构建 dsh(pnpm install && pnpm run build),因为已发布的 @deepseek-ai/dsh-acp-demo 在 dsh-tool-bash 链路有 peer 依赖冲突。
怎么卸载?
用 dsh plugin --profile <your-profile> remove ouroboros 移除插件,然后在配置层删除 # == dsh-ouroboros 这段或自定义覆盖项即可,不影响已生成的采访/Seed 文件。
— 源: plugin_wiki.faq_json
兼容性
- DSH: 未声明
- Node: >=22 (仅在使用 dsh LLM 后端并从源码构建 dsh 时需要;运行时由 uvx 自动管理 Python 3.12+)
— 源: plugin_wiki.compatibility_json
踩坑提醒
安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。
— 来源:通用规则