前言¶
DeepSeek Harness(DSH)的标准模式面向通用对话:能聊天、能查资料,也能改一点代码。但在真实仓库里改功能、修 bug、补测试时,对话习惯和写代码习惯往往对不上——没看清结构就改、靠终端反复 grep、长构建堵住会话、说完「已修复」却没有验证输出。聊天模式不该塞进一整套工程化约定;你需要的是单独一种「写代码」的工作模式。下面介绍社区插件 @panando/dsh-codex-harness:它在 DSH 里注册名为「Codex 模式」的预设,把先读后改、检索优先、后台跑命令、交付附证据等行为约定和官方工具清单组装在一起,只在选中该模式的会话里生效。
这是什么¶
@panando/dsh-codex-harness(仓库 panando/dsh-codex-harness)由维护者 panando 发布,在 SkillHub 插件目录 中归类为「工作流」。当前 npm 版本为 0.1.3,许可证 MIT。它不重复实现工具,而是依赖 DSH 官方插件包,通过 cordis.patch.yml 注册预设、挂载工具,并在 lib/prompts.js 提供默认行为约定正文。装上后,模式选择器多出一项「Codex 模式」;未安装时 DSH 其它模式照常工作。
核心功能¶
README 用表格对照了四类常见问题与 Codex 模式的应对方式,可概括为下面几项能力。
工程化行为约定¶
会话先只读勘察、列出计划、确认后再改文件;优先使用会话内置检索工具(提示词中对应 grep、glob),而不是随意堆终端命令;耗时构建、测试、安装可放进后台任务,对话可继续;交付时需说明改了哪些文件,并附上真实验证输出。正文位于 lib/prompts.js 的 DEFAULT_CODEX_SYSTEM_PROMPT,可按需修改。
工具与运行时能力¶
| 能力 | 具体表现 |
|---|---|
| 终端 | macOS / Linux 用 bash,Windows 用 PowerShell,按平台自动二选一 |
| 文件与检索 | 读写文件;按文件名或内容检索,遵守会话文件权限策略 |
| 计划模式 | 只读状态下摸清结构,产出可执行计划后再改 |
| 后台任务 | 长命令后台运行 |
| 上下文压缩 | 对话变长时压缩;过长工具输出会被裁剪 |
| 联网 | 网页搜索与抓取 |
| 技能系统 | 从文件系统加载技能并按名称调用 |
| 协作 | 目标跟踪、待办、向用户提问、结果展示 |
工具包包括 dsh-tool-bash / dsh-tool-pwsh、dsh-tool-fs、dsh-tool-fs-search、dsh-tool-jobs、dsh-plan-mode、dsh-compaction-basic 等(完整列表见仓库 README「包含的工具」一节)。
设置页说明卡片¶
Web 界面路径为「设置 → 插件 → @panando/dsh-codex-harness」,卡片会说明提示词位置与修改方式。
环境要求¶
| 组件 | 版本 | 说明 |
|---|---|---|
| DSH | 0.2.1-rc.2 或其它 0.2.x 正式版 | peer 依赖按 0.2.1-rc.2 锁定 |
| Node.js | 18 或更高 | 建议 22 以上 |
若 DSH 版本与 peer 依赖不一致,安装过程可能提示不兼容;可按 README 说明,将 package.json 里 peerDependencies 调整为实际使用的 DSH 版本。
安装与启用¶
推荐从 npm 安装。先进入你正在使用的 DSH profile 目录(常见名为 desktop、web,以本机为准):
cd ~/.dsh/profiles/<你的 profile 名>
pnpm add @panando/dsh-codex-harness
编辑该 profile 的 package.json,把包名加入 dsh.profile.bundles 数组:
{
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"@panando/dsh-codex-harness"
]
}
}
}
bundle 在 DSH 启动阶段装配,改文件后需重启 DSH,不会热生效。本地开发可从源码用 pnpm add /绝对路径/dsh-codex-harness 链接进 profile,步骤见仓库 README「从源码安装」。
安装前建议阅读仓库源码与 LICENSE,确认行为与权限符合预期;插件随当前 DSH 进程运行,具备该进程在沙箱策略下允许的终端与文件访问能力。
典型用法¶
- 启动 DSH,打开 Web 界面。
- 新建会话,在模式选择器中选择「Codex 模式」。
- 在该会话中描述仓库内的改动目标(修 bug、加功能、写测试等),按预设约定先勘察、再计划、再修改与验证。
注意:已在进行的会话不会切换预设;要换模式请新开对话。本预设不绑定特定模型,使用 profile 的全局默认模型;换模型请在 profile 设置中调整。
可选配置¶
本包无必填配置项。常见自定义路径如下。
修改行为约定:编辑 profile 下
node_modules/@panando/dsh-codex-harness/lib/prompts.js
改完后新开会话生效。正文中不要使用 {{变量名}} 模板写法,除非变量名为 provider 或 model,否则 DSH 解析会报错。
修改身份声明:在 cordis.patch.yml 的 codex-persona 项、字段 prefix,默认含 {{model}};同样仅允许 {{model}} 与 {{provider}}。
增删工具:在 cordis.patch.yml 的插件列表中调整;disabled 可按条件关闭工具(终端两行即靠此按平台二选一)。
lib/index.js 还声明了 persona、systemPrompt、terminalToolsEnabled、patchToolEnabled、planToolEnabled、webSearchEnabled、fast、fastModeControlEnabled 等字段;README 说明当前运行行为以 cordis.patch.yml 与 lib/prompts.js 为准,apply() 目前仅 systemPrompt 会真正影响提示词,其余为后续版本预留。
适用场景与注意¶
适合:在已有代码仓库中改功能、修 bug、写测试;需要先读懂结构再动手;需要反复跑构建与测试的长任务。
不太适合:纯聊天、写文案、查资料且不碰代码的会话,用标准模式更轻。
DSH 生态采用「一切皆插件」思路;SkillHub 等为社区目录站点,与 DeepSeek / 幻方无官方从属关系,本文介绍的是社区维护的预设包,而非官方应用商店条目。仓库当前 GitHub 星标为 1,版本与依赖以 GitHub 与 npm @panando/dsh-codex-harness 为准。
结尾¶
@panando/dsh-codex-harness 把 Codex 式写代码习惯封装成 DSH 里可单独选用的「Codex 模式」预设:不动其它模式,只在需要写代码的会话里启用一整套约定与工具。目录页:https://www.skillhub.cn/plugins/panando/dsh-codex-harness;源码与文档:https://github.com/panando/dsh-codex-harness。