@panando/dsh-codex-harness:为 DSH 增加 Codex 式写代码预设

前言

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 进程运行,具备该进程在沙箱策略下允许的终端与文件访问能力。

典型用法

  1. 启动 DSH,打开 Web 界面。
  2. 新建会话,在模式选择器中选择「Codex 模式」。
  3. 在该会话中描述仓库内的改动目标(修 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。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜