为 DeepSeek Harness Web 提供可组合的工作状态、思考策略、质量审查和人工审核的自进化模式控件。
- 语言
- TypeScript
- License
- MIT
- 分支
- main
安装
$ dsh plugin --profile web add @graysilver/dsh-evolve-modes在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程
对话式安装
帮我安装 DeepSeek Harness 插件 GraySilver/dsh-task-modes:先查看仓库 https://github.com/GraySilver/dsh-task-modes.git 确认安全性,然后执行安装命令并验证插件加载成功。
把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。
一句话定位
dsh-evolve-modes 是 DeepSeek Harness 的 Web 端插件,它把"工作状态、思考策略、质量门禁、自进化"四个维度合并成输入区旁的一个紧凑控件,让用户能按任务而非按人格组合 Agent 的工作方式,并支持基于已完成会话、由人工把关的全局规则学习。
核心能力
- 在输入区旁展示并切换工作状态(执行 / 计划)、思考策略(标准 / 第一性原理)、质量门禁(关 / 对抗性审查 / 验收审查)、自进化(关 / 提议)四种独立维度
- 启用第一性原理时,向 system prompt 注入显式的目标-事实-假设-约束-推导-验证段,并在 Trajectory 中留下可检查的历史证据
- 在父 Agent 回复完成后启动独立 fork 子 Agent 进行对抗性或验收审查,并把 Markdown 报告渲染在对应回复下方
- 计划模式下通过工具白名单限制可执行的工具(读类 + 平台 shell + exit_plan_mode),其余工具直接拒绝
- 按默认每 3 次父回复一次的节奏从已完成会话中隔离学习,生成带证据的待审阅提议,需人工 Apply 才会成为已批准全局规则
- 提供 Self-evolution mode 设置页,用于查看待审提议、增删改已批准规则、从备份恢复、查看学习运行记录和失败原因
技术实现
- 语言: TypeScript + React(服务端入口 src/index.ts,客户端 UI 在 src/client/index.tsx)
- 关键依赖: @deepseek-ai/cordis(插件注入与 effect)、@deepseek-ai/dsh-storage-domain(持久化 storage domain)、@deepseek-ai/dsh-subagent(fork 子 Agent)、@deepseek-ai/dsh-typert-protocol(远程服务描述)
- 架构模式: 通过 cordis.patch.yml 声明插件 ID 与默认 shellTool;Host 端用 ctx.inject 一次性订阅 agentPresets/commands/llm/systemPrompt/subagents/storageDomain/tools,再分别注册 systemPrompt section、
tools/pre-execute钩子、evolve-mode/evolve-mode-review命令、agent/turn-stopping监听;Client 端通过 slots 注入 conversation.input.left 控件、conversation.input.plan 计划槽、conversation.chat.turnTail 审查报告,并通过 Typert Remote 暴露 5 个 settings 接口 - 入口文件: src/index.ts:apply(Host 端入口)、src/client/index.tsx:apply(Client 端入口)、src/typert.ts / src/remote.ts(Typert 描述)
适用场景
需要让 Agent 的工作方式随任务灵活组合的用户:日常任务用"正常 + 标准 + 关"保持速度,高风险决策前切换到"计划 + 第一性原理",交付实现后再开启"对抗性或验收审查"让独立子 Agent 检查结果;如果希望长期沉淀稳定偏好与身份信息,再开启自进化,由插件按固定批次隔离学习并生成待审规则。
前置依赖与兼容性
| 依赖 | 最低版本 | 说明 |
|---|---|---|
| DeepSeek Harness | 0.1.0-rc.6 | 需提供 Web plugin loader、client UI slots、storage domain、直接 llm 服务、forked subagent、官方 planMode service 和 tools/pre-execute pipeline |
| Node.js | ^22.19.0 或 >=24.0.0 | 来自 package.json engines 字段 |
| @deepseek-ai/cordis | ^4.0.1-rc.1 | peerDependencies |
| @deepseek-ai/dsh-* | rc.1 / rc.5 | 11 个 peer 依赖,必须由宿主 profile 提供 |
| React | ^18.2.0 | 客户端 UI 依赖 |
| 平台 | macOS / Windows / Linux | 默认 shellTool 在 Windows 上为 pwsh,其余平台为 bash,由 cordis.patch.yml 的 process.platform 决定 |
| 原生模块 | 无 | 运行时仅使用 node:crypto,未引入 node-pty / node:sqlite 等原生依赖 |
安装方式
dsh plugin --profile web add @graysilver/dsh-evolve-modes
配置项
| 配置 | 类型 | 说明 | 默认值 |
|---|---|---|---|
| shellTool | 'bash' | 'pwsh' | Plan 模式工具白名单中允许执行的平台 shell,由 cordis.patch.yml 在 Windows 上自动选 pwsh、其余平台选 bash;只有在目标 profile 已注册对应 shell 时才会生效 | 跨平台自动:Windows → pwsh,其他 → bash |
插件的运行期行为(学习批次、待审提议上限、各维度当前状态)由 Self-evolution mode 设置页与
/evolve-mode命令管理,无需也无法通过 host yaml 配置。
常见问题
Q: 安装后在哪里能看到这个插件的控件?
A: 重启 Web profile 后,自进化模式控件出现在输入区左侧(conversation.input.left 槽位),自进化设置入口在顶层 Settings 页的 Self-evolution mode 章节。
Q: 插件会修改 DeepSeek Harness 核心代码吗?
A: 不会。cordis.patch.yml 只插入插件自身的注入描述,插件状态保存在自己的 storage domain,不修改 AGENTS.md 或 CLAUDE.md。
Q: 对抗性审查 / 验收审查会增加多少次模型调用?
A: 每次父 Agent 回复完成时,质量门禁会额外触发一次 fork 子 Agent 调用并生成 Markdown 审查报告;自进化分析则每完成学习批次(默认 3 次父回复)触发一次隔离的 LLM 调用。
Q: 自进化模式的规则会自动生效吗?
A: 不会。学习结果只生成待审阅提议,必须在 Self-evolution mode 设置页人工点击 Apply 后才会成为已批准规则,并通过带标记的 <dsh-evolve-modes-learned-instructions> 段注入后续 system prompt。
Q: 学习请求会读到父会话的哪些上下文?
A: 学习请求是隔离的:使用独立的 persona 和 system prompt,不继承父会话历史、不继承父 Agent 工作上下文、不携带工具、不创建学习子 Agent,也不加载源工作目录的 AGENTS.md/CLAUDE.md。
Q: 数据存在哪里?如何卸载?
A: 会话级状态存在 graysilver_dsh_evolve_modes storage domain,跨会话的自进化规则/提议/备份/学习记录存在 graysilver_dsh_evolve_modes_evolution domain;通过 dsh plugin remove 卸载后数据仍保留在宿主存储中。
Q: 和 DSH 自带的 plan mode 是什么关系?
A: 插件直接复用官方 @deepseek-ai/dsh-plan-mode 服务和 exit_plan_mode 审批流程,并通过 tools/pre-execute 限制计划态下可用的工具白名单,不重复实现一套计划系统。
Q: 旧版本的会话记录会自动迁移吗?
A: 会。0.3.x 会从 graysilver_task_modes 和 graysilver_task_modes_evolution 旧 domain 拷贝数据,把旧单模式别名映射到新字段,且不会覆盖新 domain 已存在的数据。
上手难度
入门 — 控件直接挂在输入区,默认值即可使用;只需理解"四个维度独立组合"这一个心智模型,不必配置任何 host yaml。
已知问题与限制
- 平台 shell 在计划态下完全可用,仅靠 prompt 提示审查 Agent 不要修改文件,不是操作系统级沙箱;需要进程隔离时请配置受限 shell 或外部沙箱(README.md:191-201 / README.en.md:109-111)
- 每个完成的父回复在开启质量门禁时会增加一次模型调用和相应延迟,且审查不会自动跑项目的 test / lint / build(README.en.md:123)
- 自进化分析要求会话已解析 provider 和 model,否则会抛错并把失败记录到学习运行(src/evolution/learning.ts:49-51)
- 助手消息只作为上下文,不能单独成为规则证据,且超过 2000 字符时只保留首尾各 1000 字符(src/evolution/messages.ts:4-16、README.md:91)
- 已批准规则是全局生效且不绑定项目目录,0.3.x 起不再支持项目级作用域(src/types.ts:21-23、README.en.md:103)
- 自进化分析每次跑都固定用父会话的 provider/model,没有独立的模型路由配置
让 Agent 的工作方式可组合、可审查、可持续改进,最终实现 Agent Self Evoling。
dsh-evolve-modes 是 DeepSeek Harness 的独立 Web 插件。它在输入区提供一个紧凑的工作流控制项,让你组合 Agent 的工作状态、思考策略、质量门禁和自进化行为。
插件不 fork DeepSeek Harness,不复制 Agent loop,也不修改核心代码。安装后,当前任务使用的组合始终显示在输入区旁;全局“自进化模式”设置则负责管理跨会话的学习提议和已批准规则。

快速安装
推荐通过 npm 将固定版本安装到 DeepSeek Harness Web profile:
npx -y @deepseek-ai/dsh plugin --profile web add @graysilver/dsh-evolve-modes@0.3.1
如果已经全局安装 DSH CLI,可以使用简写:
dsh plugin --profile web add @graysilver/dsh-evolve-modes@0.3.1
也可以直接安装对应的 GitHub Release 包:
dsh plugin --profile web add https://github.com/GraySilver/dsh-evolve-modes/releases/download/v0.3.1/graysilver-dsh-evolve-modes-0.3.1.tgz
重启 Web profile 后,自进化模式控件会出现在输入区工具旁。打开顶层 自进化模式 设置即可管理全局学习规则。
需要审计源码或进行开发时,可以安装固定 Git revision:
dsh plugin --profile web add github:GraySilver/dsh-evolve-modes#<trusted-commit>
Git 安装包会执行安装期代码,请只安装可信 revision。
功能简述
输入区会显示当前组合,例如:
正常 · 标准 · 关 · 进化 开
点开控制项即可分别调整四个维度:
| 维度 | 选项 | 作用 |
|---|---|---|
| 工作状态 | 正常 · 计划 | 立即完成任务,或进入官方 DSH 计划工作流。 |
| 思考策略 | 标准 · 第一性原理 | 正常回答,或显式梳理目标、事实、假设、约束、推导和验证。 |
| 质量门禁 | 关 · 对抗性审查 · 验收审查 | 不增加审查,独立寻找风险,或对照任务和已批准计划验收结果。 |
| 自进化 | 关 · 开 | 自动分析会话,生成待人工审阅的规则提议,自动优化AGENTS.md(但不改动 AGENTS.md) |
这不是互斥的“人格模式”,而是每个任务都可以重新组合的一组工作决策。
自进化模式
自进化用于从多个已完成的 Agent 协作中识别稳定的用户身份、偏好和工作要求。它默认是 Propose(提议),只提出候选规则,不会自动改变后续行为。
默认设置
| 设置 | 默认值 | 说明 |
|---|---|---|
| 自进化 | Propose | 新会话和没有明确保存自进化选择的旧会话默认开启。 |
| 学习批次 | 3 | 每累计完成 3 次父 Agent 回复后启动一次学习。可在全局设置中调整为 1..100。 |
| 待审阅提议上限 | 100 | 超过上限时不会继续堆积提议,可在全局设置中调整为 1..1000。 |
| 学习范围 | 已开启自进化的源会话 | 不再配置项目范围;当前会话打开自进化,就会纳入学习范围。 |
| 规则作用域 | 全局 | 应用后的规则跨会话生效,不绑定项目目录。 |

学习数据如何被整理
- 每个源会话最多取最近 100 条学习消息。
- 保留每轮完整的用户消息,以及该轮最后一个可见的助手消息。
- 助手消息只作为上下文;超过 2000 个字符时保留开头 1000 个字符和结尾 1000 个字符,中间以
...代替。 - 提议的证据必须逐字来自用户消息。助手的推断、一次性任务细节、实现结果、沉默或“没有再次提到”都不能单独成为规则证据。
学习请求是隔离的
每次学习都使用插件专用的单一 learning persona/system prompt,并把当前批次作为一条结构化 JSON 用户消息传入。学习请求:
- 不继承父会话历史;
- 不继承父 Agent 的工作型上下文;
- 不创建学习子 Agent;
- 不携带工具;
- 不加载源会话工作目录中的
AGENTS.md或CLAUDE.md; - 只分析可能长期有效的身份信息、偏好和工作要求。
学习失败会记录在设置页,未完成的批次会保留,方便之后重试;不会阻断父 Agent 的正常回复。
提议必须经过人工确认
完成 3 次父 Agent 回复
↓
隔离的学习请求
↓
待审阅提议
├─ 应用 → 写入全局 learned instructions
└─ 忽略 → 不改变后续行为
在顶层 自进化模式 设置页中可以:
- 调整学习批次大小和待审阅提议上限;
- 查看每条提议的类别、推断类型和原始用户证据;
- 应用或忽略提议;
- 手工新增、修改和删除全局规则;
- 查看学习运行记录和失败原因;
- 从每次变更前自动创建的备份中恢复。
已批准规则会写入带有 <dsh-evolve-modes-learned-instructions> 标记的 system prompt section,并在 Trajectory 中投影相同内容。插件只使用自己的持久化存储,不会写入 AGENTS.md、CLAUDE.md 或任何项目文件。
为任务选择组合
| 你需要…… | 推荐组合 | 适合原因 |
|---|---|---|
| 快速完成日常工作 | 正常 · 标准 · 关 | 保持执行节奏,不增加额外流程。 |
| 做高影响决策 | 计划 · 第一性原理 · 关 | 先研究并暴露假设,再进入 DSH 的计划审批流程。 |
| 有把握地交付实现 | 正常 · 标准 · 验收审查 | 完成实现后,由独立审查 Agent 对照任务目标检查结果。 |
| 挑战高风险答案 | 正常 · 第一性原理 · 对抗性审查 | 显式展开推理,再寻找遗漏、反例、回归和缺少依据的结论。 |
| 沉淀稳定的个人偏好 | 正常 · 标准 · 关 · 进化 开 | 按默认每 3 次回复一批识别长期规则,只生成提议,不自动启用。 |
质量门禁
对抗性审查
在父 Agent 回复完成后启动独立审查 Agent,检查未满足要求、缺少依据的结论、遗漏、回归、反例和安全风险。它只报告证据、缺口和后续行动,不会静默改写、重试或修复父回复。
验收审查
对照任务、候选答案以及存在时的已批准计划进行验收。报告固定区分:
Met
Gap
Unverified
Evidence
Concrete follow-up
审查报告会显示在对应的助手回复下方。质量审查每个完成的父回复增加一次模型调用和相应延迟,但不会自动执行项目的 test、lint 或 build 命令。
第一性原理与计划
- 第一性原理:将目标、事实、假设、约束、推导和验证写入
request/header.system;Trajectory 会保留同一段指令作为可检查证据。关闭后只影响后续请求,历史证据不会被删除。 - 计划模式:委托给官方
@deepseek-ai/dsh-plan-modeservice,复用 DSH 的计划持久化和exit_plan_mode审批流程,不重复实现另一套计划系统。 - 工具策略:计划和质量审查通过 DSH 的
tools/pre-executepipeline 控制工具;默认允许read、glob、grep、read_image、已配置的平台 shell 和exit_plan_mode。这是一层工作流策略,不是操作系统级 sandbox。
命令
可在 Web 输入区或命令 API 使用:
/evolve-mode
/evolve-mode working execute
/evolve-mode working plan
/evolve-mode reasoning standard
/evolve-mode reasoning first-principles
/evolve-mode quality off
/evolve-mode quality general-review
/evolve-mode quality acceptance-review
/evolve-mode evolution off
/evolve-mode evolution propose
/evolve-mode evolution batch-size <1..100>
/evolve-mode evolution max-pending-proposals <1..1000>
/evolve-mode review <turn>
/evolve-mode reviews
旧的单一模式别名仍可迁移:normal、first-principles 和 adversarial-review。它们会把工作状态转换为执行,并按旧模式映射推理方式和质量门禁;当前自进化设置会保留。
配置与兼容性
bundle 会自动选择平台 shell。只有目标 profile 已注册该工具时才覆盖:
- id: dsh-evolve-modes
config:
shellTool: bash
质量审查要求 DSH 的 fork/subagent capability;自进化分析要求 DSH 的直接 llm service;计划模式要求官方 planMode service 和工具注册表。插件需要支持 Web plugin loader、client UI slots、storage domain、Trajectory 和上述 DSH 服务的 DeepSeek Harness 版本。
插件状态保存在自己的 storage domain,可跨服务重启和会话重新加载继续使用。0.3.0 会自动迁移旧版本的会话设置、提议、已批准规则、备份和学习记录,不会覆盖已经存在的新名称数据。
反馈
Bug 和功能建议请提交到 GitHub Issues。欢迎在 DeepSeek Harness Discussions 分享集成和使用反馈。
许可证
MIT
收录徽章
[](https://deepseek-plugin.org/plugins/GraySilver/dsh-task-modes)把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。