dsh-my-go 是构建在 DeepSeek Harness (DSH) 之上的智能体编排系统。 它以星型 + 单线嵌套拓扑把 DSH 主会话(Sisyphus)与 7 个专业子智能体组织起来:Sisyphus 负责调度、审查与驳回,子智能体负责执行与汇报。参考了 oh-my-openagent 的编排设计,针对 DSH 进行了优化调整。 开发手记:https://khbit.cn/posts/dsh-my-go/
在 DeepSeek Harness 终端运行:
dsh plugin --profile web add daizihan233/dsh-my-goMy tasks, where to GO?????
dsh-my-go 是构建在 DeepSeek Harness (DSH) 之上的智能体编排系统。
它以星型 + 单线嵌套拓扑把 DSH 主会话(Sisyphus)与 7 个专业子智能体组织起来:Sisyphus 负责调度、审查与驳回,子智能体负责执行与汇报。参考了 oh-my-openagent 的编排设计,针对 DSH 进行了优化调整。
上游作者开发手记(原项目背景,非 fork 文档):https://khbit.cn/posts/dsh-my-go/
go_work(派发)、continue(驳回/追问)、need_help(求助挂起)、forward(转发),加 orchestration_status(状态总览)和 list_subagents(列出已有 sub-agent 及其最后 prompt)。continue 复用。真正实现 “按量付费”
0.1.0-rc.6+(基于 agent/request waterfall 与 continuable subagent API)0.1.0-rc.8 + Windows 11 + Node.js 22(作者实际组合)# 一条命令安装到 web profile
dsh plugin --profile web add dsh-my-go@latest --config.minimumReleaseAge=0
# 重启 dsh web 生效
dsh web
安装后 broker 插件(编排工具 + 模型绑定 + 树状图面板 + 设置页)自动挂载;
会话预设「MyGO!!!!! 模式」提供 Sisyphus 的完整编排。
新开一个 DSH 会话,预设选择 MyGO!!!!! 模式
然后对 Sisyphus 说:
告诉我这个项目是干啥的。
dsh web # 启动 Web GUI,新会话选择 MyGO!!!!! 模式
用户 ──► Sisyphus(调度+质检)──► Hermes / Explore / Librarian / Looker
│ Hephaestus / Prometheus / Oracle
└── 单线阻塞队列 ◄── 所有子智能体结论回流
subagents.startContinuable),followup 续接。agentOptions + agent/request waterfall 覆盖reasoningEffort(跟随 DSH 模型目录:只设置该模型实际支持的思考档位;host 半(lib)注册 settings 命名空间 dsh-my-go,client 半提供设置页
(WebUI「MyGO 编排」),broker 半只读取:
| 配置项 | 默认值 | 说明 |
|---|---|---|
agents.<type>.provider |
不指定(继承) | 该工种的 provider 路由;缺省时继承父会话渠道 |
agents.<type>.model |
不指定(继承) | 该工种的模型;缺省时继承父会话模型 |
agents.<type>.reasoningEffort |
不指定 | 期望思考档位(如 high/max);只在模型实际支持时应用,否则走模型默认 |
agents.<type>.dsv4p0813 |
false | 是否对该工种启用 DSV4P0813 两阶段引导补丁 |
agents.<type>.peakRouting |
false | 是否启用错峰路由(按北京时间高峰/非高峰切换 provider/model) |
agents.<type>.peakProvider |
不指定(继承) | 高峰时段(梁文峰)渠道;缺省继承父会话渠道 |
agents.<type>.peakModel |
不指定(继承) | 高峰时段(梁文峰)模型;缺省继承父会话模型 |
agents.<type>.offpeakProvider |
不指定(继承) | 非高峰时段(梁文谷)渠道;缺省继承父会话渠道 |
agents.<type>.offpeakModel |
不指定(继承) | 非高峰时段(梁文谷)模型;缺省继承父会话模型 |
勾选「错峰路由」后,该工种在派发时按北京时间(UTC+8,无夏令时)判断当前时段:
peakProvider / peakModel);offpeakProvider / offpeakModel)。未勾选时行为与旧版完全一致(只用顶层 provider / model)。未配置的
peak/offpeak 字段保持「继承父会话(Sisyphus)」语义,与顶层字段相同。
思考档位与 DSV4P0813 补丁开关不受错峰路由影响,两个时段共用。
自 tisitan.7 起,插件不再内置任何模型名/渠道名——所有工种默认空绑定,
子代理完全继承环境默认路由(与 Sisyphus 同渠道同模型)。需要按工种分流
(快活走便宜模型、重活走强模型)时,在 DSH 设置页「MyGO 编排」逐工种填写,
或直接编辑 ~/.dsh/settings.yaml:
dsh-my-go:
hermes:
model: your-cheap-model # 高频体力活:便宜快模型
explore:
model: your-cheap-model
librarian:
model: your-cheap-model
looker:
model: your-multimodal-model # 看图需要多模态能力
hephaestus:
provider: your-gateway # provider 缺省 = 继承父会话渠道
model: your-mid-model
reasoningEffort: high # 仅当该模型实际支持此档位时应用
prometheus:
provider: your-gateway
model: your-strong-model
reasoningEffort: max
oracle:
provider: your-gateway
model: your-strong-model
reasoningEffort: max
字段缺省即不覆盖。model 在派发前会经 llm.listModels 校验真实存在
才应用(不存在则跳过并回落父会话模型,日志 warn);reasoningEffort
跟随 DSH 模型目录,模型不支持所配档位时留空走适配器默认。
建议分工:Sisyphus / Hephaestus 用中等能力模型,Hermes / Explore /
Librarian / Looker 用便宜轻量模型,Prometheus / Oracle 用最强模型。
以下为插件级 config(dsh plugin add 的 config / bundle 层),与上面的
settings 命名空间正交;默认值即旧硬编码口径(tisitan.8 起截断阈值可配):
| config 键 | 默认值 | 说明 |
|---|---|---|
disposeEndGraceMs |
500 | agent/disposed 后等待 subagent/end 的宽限期,超时兜底清槽推进队列 |
queueRetryBaseMs |
1000 | 队列派发失败回补后的线性退避基数(1×/2×/3×,上限 3 次后放弃) |
statusHistoryLimit |
12 | orchestration_status 展示的历史条数 |
statusConclusionMax |
400 | orchestration_status 单条结论截断长度(failed 记录不截断) |
helpContentMax |
240 | orchestration_status 单条求助内容截断长度 |
subagentPromptMax |
200 | list_subagents prompt 摘要及会话 label 的 prompt 摘要截断长度 |
编排台账(history,上限 200 条)持久化在<DSH_HOME>/dsh-my-go/orchestration-ledger.json(DSH_HOME 缺省~/.dsh),进程重启后读回——跨重启 continue 已完工子代理经 harness
coldResume 续聊可用。
每个工种的完整 persona / 职责 / 汇报格式见 prompts/:
| 文件 | 工种 |
|---|---|
| prompts/sisyphus.md | 总调度 + 质检官 |
| prompts/hermes.md | 快速执行 |
| prompts/explore.md | 快速检索 |
| prompts/librarian.md | 文档查询 |
| prompts/looker.md | 多模态识别 |
| prompts/hephaestus.md | 代码编写 |
| prompts/prometheus.md | 需求规划 |
| prompts/oracle.md | 架构调试(疑难兜底) |
dsh-my-go/
├── AGENTS.md # 本项目的编排规格(Sisyphus 系统)
├── README.md # 本文档
├── package.json # npm 包声明(dsh.bundle.patch → cordis.patch.yml)
├── cordis.patch.yml # bundle patch(dsh plugin add 后自动挂载 host 插件)
├── lib/index.js # npm 包 host 半(编排工具 + 状态机 + 模型绑定)
├── src/client.js # client 半源码(树状图面板 / 设置页 / 自动跳转)
├── scripts/build-client.mjs # esbuild 打包 client → dist/client.js
├── dist/ # 构建产物(发布时生成)
├── preset/ # agent preset「MyGO!!!!! 模式」(复制到 ~/.dsh/.agent-presets/)
│ ├── preset.yml
│ ├── agent.cordis.yml
│ └── tools/broker.mjs # 自包含 host 插件(工具 + 模型绑定 + 状态机)
├── broker/ # broker 插件 TS 源码(参考实现)
├── prompts/ # 8 个智能体 prompt
└── docs/ARCHITECTURE.md # 架构设计
git clone git@github.com:Tisitan/dsh-my-go.git
cd dsh-my-go
bun install
bun run build:client # 构建 client bundle
bunx tsc --noEmit # 类型检查
bun run test # 冒烟测试
感谢以下开发者对 dsh-my-go 生态的独立维护与贡献:
开源的意义在于接力,感谢每一位在暗处推动轮子前进的人。
agent/request waterfall(DSH 未原生支持动态子代理模型,subagent/end 事件;reportFrom 为子→父补充通道。MIT © dsh-my-go contributors
登录后即可为该插件评分和评价。
还没有人评价这个插件,来抢个沙发吧!