dsh-codex-mode:为 DSH 增加 Codex 式执行与可见进度

前言

在 DeepSeek Harness(DSH)里跑长回合智能体时,常见情况是模型连续发出工具调用却几乎没有文字说明,界面上像「静默工具循环」,难以判断当前在做什么。仅靠系统提示词要求模型「每步先说明」并不稳定:模型有时只输出 reasoning 和 tool-call,没有可提交的 assistant 文本块。

dsh-codex-mode(维护者 airainal,GitHub airainal/dsh-codex-mode)是 DSH 社区目录中的客户端类插件 bundle。它在权限菜单顶部增加 Codex Mode 开关,在 Host 侧作为 Codex 式 step driver:在工具批次执行前写入可持久化的进度说明、在计划未完成时尝试续回合,并把模式状态记在用户 profile 里。DSH 仍负责回合构造、工具派发、审批与事件日志;本插件不另起一套工具运行时。

这是什么

一句话:面向 DSH 0.2.1-rc.x 的 Codex 风格执行模式——持久计划、工具运行前的可见进度、以及权限菜单顶部的全局开关。

与「只改 prompt」的区别(README 原文要点):若模型发出的 assistant 消息只有工具调用、没有文本,Host driver 会在工具运行之前向可持久化的 assistant 消息里提交一段短进度说明,长回合不会变成无声的工具循环。

核心功能

以下能力均来自仓库 README,安装前请以 GitHub README 为准。

权限菜单上的 Codex 开关

  • 开关位于权限菜单最上方、分隔线之上;不改变沙箱或审批级别。
  • 最后一次开关状态保存在 profile 的 codex_mode 存储域;对所有 live root 会话生效,新建或恢复的会话会自动继承。

工具批次前的可见进度

  • 保留模型自己的说明;若缺失,driver 会按用户语言插入进度文本。
  • 进度不是 UI 角标,而是写入 assistant 消息与 stream 的 text-chunks,与 reasoning、tool-call 索引对齐。

回合续写(turn continuation)

  • 当 todo 仍有未完成项且助手不是在向用户提问时,agent/turn-stopping 会提供一次 continuation steer。

会话身份与权限

  • 模式开启时,会话身份对应 codex-read-only、codex-workspace-write 或 codex-danger-full-access 之一,写入会话日志并在 resume 后保留。
  • Full access 与 Auto review 的安全门与内置权限控制一致;Codex 开启时 Auto review 不可用(无 codex-auto 身份),需先关闭 Codex 再开 Auto review。

架构要点(便于排查)

  • Bundle 含 Host 与 Web client:cordis.patch.yml 挂载三套 codex-* 权限预设与 Host 插件;client 替换当前会话的权限控件并增加 Codex 行。
  • 这是 step driver,不是完整 Codex 引擎:README 明确未实现自由 apply_patch、Codex 式单工具调度、shell 输出上限与 Codex compaction 阈值等。

环境与要求

  • DSH Desktop 或 Web,且具备 Plugin Manager。
  • package.json 声明 engines.dsh: ^0.2.1-rc.1;README 写明在 DSH 0.2.1-rc.3 上测试。
  • 首次从 GitHub 安装需要 Git 与网络访问。

插件以当前 DSH 进程权限运行;安装前应阅读源码与 MIT 许可证。若 profile 中有自定义 permission 预设,README 提醒安装前需合并进 bundle 的 cordis.patch.yml。

安装与启用

方式一:给 DSH 提供 GitHub 链接

在新会话中发送(README「中文快速安装」与 Install 节一致):

安装这个 DSH 插件 bundle:https://github.com/airainal/dsh-codex-mode

智能体可通过 plugin_manager 安装;也可在 Plugins → Install bundle 粘贴:

https://github.com/airainal/dsh-codex-mode

若运行时要求显式 git spec,可使用:

github:airainal/dsh-codex-mode

方式二:Release 压缩包

在 Plugins → Install bundle 粘贴 release 资源 URL 或本地 .tgz 路径,例如 README 给出的 v1.1.0 资源:

https://github.com/airainal/dsh-codex-mode/releases/download/v1.1.0/dsh-codex-mode-1.1.0.tgz

安装后启用

  1. 打开任意会话。
  2. 点击输入框(composer)下方的权限控件。
  3. 在菜单顶部打开 Codex Mode。
  4. 仍按需选择 Read Only、Workspace Write 或 Full access;模式与权限级别相互独立。

Desktop 上若启用 HMR,变更会立即生效;若 profile 关闭 HMR,安装后需重启 DSH。卸载:Plugins → Codex Mode → Remove,或让智能体移除 bundle。

典型用法

菜单有两个维度:Codex 开关控制执行协议;权限项控制沙箱与审批策略。例如在 Workspace Write 下打开 Codex,所有 live root 会话会切换到匹配的 codex-workspace-write 身份,但各会话沙箱仍为 workspace-write。

Host 命令(全局开关,会先写 codex_mode 再应用到 live root 会话):

/codex-mode on
/codex-mode off

Codex 开启时,触发器右侧会显示 Codex 标记(240 ms 宽度过渡)。内置 /permission 也会列出 codex-* 身份;README 建议用 composer 菜单或 /codex-mode 做全局开关,直接 /permission 仅为单会话覆盖。Settings 里默认权限下拉也会出现 codex-* 预设,运行中切换仍以 composer 菜单为准。

适用场景与限制

适合:希望在 DSH 里获得更接近 Codex 的「每步有说明、长任务可续写」体验,又不愿 fork 整套 DSH 运行时的人。

需注意:

  • 目标运行时 DSH 0.2.1-rc.x;依赖 live agent 的 step 与会话 append 边界,未来 DSH 版本可能变动。
  • 非完整 Codex 引擎,能力边界见 README「Scope and limitations」。
  • Bundle 会覆盖 permission 行以注入 codex-* 预设;自定义预设需自行合并 patch。

社区插件目录 skillhub.cn 上的 dsh-codex-mode 页 与 GitHub 仓库相互独立引用,并非 DeepSeek / 幻方官方应用商店;DSH 生态强调「一切皆插件」,安装来源以你信任的仓库与 release 为准。

结尾

dsh-codex-mode 在 DSH 现有基础设施上改的是用户可见部分:持久进度说明与未完成计划时的续回合,外加 profile 级记住的 Codex 开关。当前 release 版本为 1.1.0(见 package.json)。

  • 目录页:https://www.skillhub.cn/plugins/airainal/dsh-codex-mode
  • 源码与文档:https://github.com/airainal/dsh-codex-mode
羽毛球分组比赛记分
小程序二维码

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

小夜