跳到主内容

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

踩坑提醒

安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。

— 来源:通用规则