dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DeepSeek Harness preset: Luna executes, tool-less Sol advises
English | 简体中文 | AI / LLM 上下文
DeepSeek Harness(DSH)的可组合多模型 Agent 角色 插件。它不再要求切换到专用 preset,可以与 Standard、Code 或用户自定义 preset 一起使用。
默认团队:
brain:无工具深度推理,默认 openai-codex/gpt-5.6-sol + max。coordinator:无工具任务拆解、分派与集成建议,默认 Sol + high。worker:拥有当前 preset 工具的真实 DSH 子代理,默认 gpt-5.6-luna + max,绝对深度上限为 2。agent_role_catalog:从当前用户已注册的 DSH provider 读取可用模型,以及每个模型真实支持的 reasoning effort。agent_role_run:按角色运行 advisory 或子代理。旧版 luna-sol-reasoning-router preset 与 sol_consult 状态机仍然保留,但默认不启用路由锁定。
先安装并认证所需模型 provider,例如 dsh-codex,然后安装本插件:
pnpm dsh plugin --profile web add dsh-codex
pnpm dsh plugin --profile web add link:/absolute/path/to/dsh-codex-reasoning-router
也可以从 GitHub 安装:
pnpm dsh plugin --profile web add github:chenmzh/dsh-codex-reasoning-router
重启 DSH 并新建会话。0.2 起无需复制或选择专用 preset;插件默认叠加到任何 preset。只有继续使用旧 Luna+Sol 路由模式时,才需要复制 preset/luna-sol-reasoning-router。
默认配置见 cordis.patch.yml:
teamEnabled: true
presetIds: [] # 空数组 = 所有 preset;也可只写 standard/code/自定义 id
roles:
- id: brain
kind: advisory # 无工具、一次性推理调用
description: Deep reasoning
provider: openai-codex
model: gpt-5.6-sol
reasoningEffort: max
maxTokens: 3000
- id: coordinator
kind: advisory
description: Coordinate work
provider: openai-codex
model: gpt-5.6-sol
reasoningEffort: high
- id: worker
kind: subagent # 真正的 DSH 子代理,继承当前 preset 的组合
description: Implement and verify
provider: openai-codex
model: gpt-5.6-luna
reasoningEffort: max
subagentProvider: spawn
maxDepth: 2 # 绝对深度:root=0,子代依次为 1、2……
toolDeny: [web_search] # 可选;也可用 toolAllow
角色数组可以任意增删,id 必须是小写字母开头的 kebab/snake 标识。字段说明:
| 字段 | 含义 |
|---|---|
kind | advisory 为无工具推理;subagent 为有工具的真实子代理 |
provider / model | 省略时继承调用者;填写时必须存在于用户的实时模型目录 |
reasoningEffort | 省略时使用模型默认;填写时必须是该模型目录公开的 effort |
systemPrompt | 可选角色 persona;省略时使用内置角色提示 |
subagentProvider | spawn、fork 或宿主已注册的其他 provider |
maxDepth | 子代理树的绝对深度上限,不是“还能递归几层” |
toolAllow / toolDeny | DSH 原生子代理工具可见性过滤,仅用于 subagent |
模型名和 effort 不靠插件硬编码猜测。运行时先通过 ctx.llm.listProviders()、listModels() 与 resolveModelInfo()读取当前用户目录;无效组合在发起模型请求或创建子代理前报错。会话中的 Agent 也可以调用 agent_role_catalog 查看同一目录。
WebUI 的“Agent 角色 → 触发规则”Tab 可以配置并持久化以下策略:
深度推理和协调角色的每轮调用上限、Worker 并发上限由运行时硬限制。每次 agent_role_run 必须选择 trigger_reason;重复深度咨询可要求提供 prior_advice_evaluation。角色映射使用已配置角色的下拉选择,只有 customInstructions 是自由文本。
默认 presetIds: [],所以只需选择原本想用的 preset:
Standard preset + agent 角色
Code preset + agent 角色
自定义 preset + agent 角色
子代理由 DSH 的 in-process provider 创建,自动继承父 Agent 的 preset composition、工作区、策略与可见工具,再应用角色自己的模型、effort、persona、工具过滤和深度上限。
若只想让插件出现在指定 preset:
presetIds: [standard, code, my-review-preset]
要恢复 0.1 行为,在配置中设置:
requiredPresetId: luna-sol-reasoning-router
lunaProvider: openai-codex
lunaModel: gpt-5.6-luna
solProvider: openai-codex
solModel: gpt-5.6-sol
initialSolReasoning: medium
escalatedSolReasoning: high
initialConsultEnabled: true
failOpen: true
然后复制并选择随包提供的 preset。旧模式继续保证:Sol 无工具、主 Luna 路由被校验、同一 blocker 最多两次咨询、状态写入 session event。requiredPresetId: ''(0.2 默认)表示完全关闭旧路由锁定,不影响 Agent 角色。
maxDepth 由 provider 在每次创建时强制检查。installModelSelection 在首次请求前安装,不依赖模型名猜测。pnpm install --offline
pnpm run check
pnpm pack --dry-run
当前测试覆盖旧路由不变量以及目录读取、effort 校验、advisory 无工具、worker 模型/effort、工具过滤与绝对深度传递。
Apache-2.0,见 LICENSE。