DeepSeek Harness DeepSeek Harness 插件目录

← 目录

dsh-update-detector

dsh-update-detector@0.1.3
loader dsh-update-detector

发布时间 更新时间

检测上游 harness 更新,并驱动 update-status.json 状态机。

给 Agent: Markdown · JSON · tarball

在已有插件市场的机器上安装

curl -fsSL https://addon.dshdo.com/install-plugin-market.sh | sh
# then in /plugin-market/ install dsh-update-detector and enable it

打开本机 /plugin-market/ 云端市场,安装该 id,再启用。安装只登记,启用才运行。

版本

文件

sha256
85b53fe040df6616ce744445f1cfd7e794311650b1368275ca97978bff412434
57409 bytes · package dsh-update-detector

README

dsh-update-detector

English | 中文

检测 Harness 更新,并在既有 Web 服务上提供 /dsh-update/。0.1.2 仅负责检测,不安装更新,也不重启 Harness。

行为

配置有效时,启动两秒后进行首次检查,随后按 checkIntervalMinutes 定时检查。打开页面只读取状态;手动检查按钮请求一次可合并的检查。检查从 origin 获取提交,并比较祖先关系。Fetch 会更新 Git 元数据,但插件不会 pull、checkout、reset、stash、安装、构建或重启 Harness。

默认 stable 目标仅接受 vX.Y.Z 和 dsh-vX.Y.Z 标签,不接受版本分量前导零或预发布后缀。注释标签使用 peeled 提交。已经包含目标发布的本地提交不算落后;历史分叉或上游没有稳定标签时,会明确报告无法比较。跟踪分支必须显式配置 ref,例如 origin/master。

已跟踪文件的修改和普通未跟踪文件都计入本地改动。遗留执行器状态 busy、preparing、ready、restarting、running 保持只读,并阻止检查。归档执行器是退出码为 3 的拒绝桩;不可安装其 LaunchAgent 模板。

配置

每次应用插件时仅解析一份配置:内置默认值、Cordis Config、$DSH_HOME/update-config.json 依次覆盖。未知键被忽略。非法值、畸形文件或不可读配置会产生可见问题,并禁用检查。显式配置的仓库路径非法时,不会改选另一个仓库。修改配置后需要重新应用插件或重启服务。

键有效值默认值
checkIntervalMinutes1 到 35791 的数值360
maxOutputBytes1 到 16777216 的整数,每条命令单流的字节上限1048576
graceMs1 到 60000 的整数,终止宽限毫秒数1000
harnessPath存在的本地 Harness 仓库探测本地仓库
targetstable 或 branchstable
ref分支跟踪所需的显式 Git 引用,不能以 - 开头未设置
notify布尔值,保留字段;尚未实现通知true

插件依赖 webServer、connection 和 subprocess。命令通过注入的受管子进程服务执行,沿用该服务清理后的环境。Fetch 和远端标签查询的超时为 60 秒,本地探测为 5 秒。输出被截断时,命令直接失败,不会拿保留的尾部内容参与比较。执行器返回码 -1 表示执行失败,-2 表示取消或超时,-3 表示输出超限。

卸载时停止调度、注销页面及 RPC、中止在途命令,并等待进程树退出及异步注销完成。并发卸载调用等待同一次完成。已取消的检查不能在卸载完成后写入持久状态。

HTTP 与 RPC

页面在 /dsh-update、/dsh-update/、/dsh-update/index.html 支持 GET 和 HEAD。Connection 注册仅允许本机访问的 /dsh-update RPC 通道,并执行可信 Host 及跨源检查。

端点行为
status持久状态加只读 Git 改动探测;配置非法时跳过探测
readiness配置、问题及能力摘要,不执行 Git
check合并的 fetch 和比较;拒绝非法配置、缺失仓库和遗留忙碌状态
update、restart、apply、kill明确返回不支持错误

RPC 向 /dsh-update/<endpoint> POST JSON:{ "type": "client-request", "rpcId": "request-id", "method": "<endpoint>", "payload": {} }。响应为 { "type": "server-response", "rpcId": "request-id", "result": ... }。状态保存在 $DSH_HOME/update-status.json,保留既有字段及未知的遗留字段。

开发

运行 node --test 'tests/*.test.mjs'。测试使用临时主目录、模拟 Git 响应和显式注入的执行器,覆盖祖先关系、配置拒绝、持久状态、输出限制、独立控制的进程树退出、重复卸载及页面与 RPC 注册。不获取真实 Harness 仓库的更新,也不修改真实用户配置。

已知限制与后续工作

插件要求本地仓库及匹配的主机子进程服务,默认可执行文件为 /usr/bin/git。不提供更新执行器、桌面通知或 Harness 自身的回退。替换插件文件不代表运行中的 Node 进程已经加载新代码;启用新代码需要经过验证的重新加载或服务重启。

模型体验

插件不提供模型提示词、工具定义或模型可见消息。

KV 缓存影响

插件不改变模型请求或可复用的请求前缀。