DeepSeek Harness 插件:dsh-harness-updater

在 DeepSeek Harness (DSH) 的插件化架构中,Agent 的运行依赖于本地安装的 Harness 工具链。当 Claude Code 或 Codex CLI 发布新版本时,开发者需要手动确认本地安装渠道,并执行相应的升级命令,这个过程容易因渠道识别错误而中断。dsh-harness-updater 插件旨在自动化这一流程。

插件简介

这是一个由 leonardoxr 维护的客户端插件,核心功能是自动检测本地安装的 Claude Code 和 Codex CLI 版本,并将其与最新发布的版本进行对比。插件在 DSH 的 Web UI 中提示更新信息,并在用户确认后,执行对应安装渠道的一键升级命令。

核心功能

  • 版本检测与对比:扫描 PATH 环境变量中的工具,探测其 --version 信息,并与 npm registry 进行比对。
  • 多渠道识别与升级:自动识别本地工具的安装渠道(原生安装、npm/pnpm/bun 全局安装、Homebrew 等),并执行对应的升级命令。
  • 交互式更新:在 DSH 设置的插件列表中显示更新卡片,展示当前版本与最新版本的差异,并提供 Update 按钮。
  • 安全机制:
    • 更新操作限制为 POST 请求,并受到同源策略(Same-Origin)和 Loopback(回环)保护。
    • 按安装渠道串行加锁,防止并发更新导致冲突。
    • 设置硬超时机制,超时后终止相关进程树。
    • 强制要求用户点击触发,无任何后台定时任务自动运行。

安装与启用

该插件通过 pnpm 引入到 DSH 的 profile 中。

  1. 在 DSH 的 profile 目录下执行安装命令:
    pnpm install
  1. 在 DSH 的 Web UI 中进入 Settings → Plugins → Harness updater 进行配置。

典型用法

安装完成后,插件会在 DSH 设置界面生成一个 Updates 卡片。该卡片会列出所有检测到的 Harness 工具,显示 当前版本 → 最新版本 的对比。点击 Update 按钮后,插件会根据识别出的安装渠道执行升级命令(例如 claude update 或 brew upgrade ...)。升级过程结束后,插件会重新探测以验证结果,并报告成功、未变更或失败的状态。

适用场景与注意

  • 环境要求:需要 Node.js 版本 >= 20,且 profile 需满足特定的 peer dependencies(如 @deepseek-ai/cordis、@deepseek-ai/dsh-client-runtime 等)。
  • 权限与安全:插件以当前 DSH 进程的权限运行。更新操作仅支持 POST 请求,且必须由用户明确点击触发,不会在后台静默执行。
  • 安装来源:插件基于 MIT 许可证开源,安装前建议检查源码与许可证。

结语

dsh-harness-updater 通过自动识别安装渠道和强制用户确认,解决了多渠道 CLI 工具链维护的繁琐问题。对于需要频繁更新 Claude Code 或 Codex CLI 的开发者,该插件能显著提升维护效率。

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

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

小夜