DeepSeek Harness 插件

bainianlaoyao/dsh-codex-harness

分类 工具与能力 收录于 2026-09-03

面向 DeepSeek Harness 的 Codex 风格编码工具与 agent 预设:exec_command、apply_patch、view_image、DSH 原生协作工具,以及 OpenAI Chat Completions 和 Responses API 路由。

安装

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:bainianlaoyao/dsh-codex-harness

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWEDERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yamlallowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

轻量的 DeepSeek Harness 编码预设。它借用 Codex 常用的工具名称和编辑工作流,但不复刻 Codex 的运行时上下文、审批策略或压缩器。

提供内容

  • exec_command / write_stdin:DSH shell 适配器,保留长命令轮询和输出截断体验。
  • apply_patch:自由格式补丁编辑器;这是首选文件编辑工具。
  • view_image:本地图片查看。
  • DSH 原生工具:计划 todo_write、提问 ask_user_question、子代理 subagent / subagent_fork(+ send_message / interrupt_agent / list_agents)、web_search
  • OpenAI Chat Completions 和 Responses API 路由。
  • codex 工具模式 预设:简短编码提示,AGENTS.md 指令加载,以及上述工具行。

DSH 自己继续处理工作目录、运行时上下文、沙箱、审批、压缩和宿主工具。预设只 替换工具面(codex 形状的终端与补丁工具),计划/提问/子代理等协作工具一律使用 DSH 原生实现;不会注入 Codex 格式的 <environment_context><current_time_reminder>

安装

powershell -ExecutionPolicy Bypass -File scripts/install.ps1

重启 DSH 后,新会话选择 codex 工具模式openai-responses 路由可将 apply_patch 作为自由格式 custom tool;Chat Completions 路由则将它作为普通函数调用。

已知缺口(2026-09-01)install.ps1 用目录 junction 挂载 $DSH_HOME\.agent-presets\codex → 本仓库,而 dsh 的预设发现 (@deepseek-ai/dsh-agent-presets)不跟随 junction——readdir 把 junction 当符号链接跳过,预设会从列表消失(选中旧副本 replay-codex 则挂载失败回退 默认)。对策:在 npx-cache 中给 dsh-agent-presets/lib/index.jsscanRoot 打追随补丁(!child.isDirectory() && !child.isSymbolicLink() 才 跳过),dsh 升级后需重打;同时把 $DSH_HOME\.agent-presets\replay-codex 的三个文件与 agent-presets/codex 同步。详细排查见 plugins/ACTIVATION.md §5。

验证

npm test

测试覆盖预设模块可加载性、保留工具的行为,以及两个 OpenAI 路由。历史上的完整 Codex 对齐研究保留在 docs/,不再是该插件的运行时契约。

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。