dsh-auto-update
by frostming
DeepSeek Harness 官方 CLI 没有 self-update ,社区里已有的插件(如 dsh-update-checker )只能 检查 更新、然后让用户点按钮手动安装。这个插件补上"无人值守"这一环:每次启动时对比本机 dsh --version 与 npm registry 的 dist-tag,发现新版本时按配置 只提醒…
Startup auto-updater for DeepSeek Harness (dsh): checks the npm registry once on boot and optionally installs newer versions.
安装
dsh plugin --profile web add github:frostming/dsh-auto-updateGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
一个运行在宿主端的 DeepSeek Harness 启动自动更新插件。
DeepSeek Harness 官方 CLI 没有 self-update,社区里已有的插件(如 dsh-update-checker)只能检查更新、然后让用户点按钮手动安装。这个插件补上"无人值守"这一环:每次启动时对比本机 dsh --version 与 npm registry 的 dist-tag,发现新版本时按配置只提醒(默认,安全)或自动安装(需显式开启)。
特性
- 启动时检查一次:启动后延迟几秒自动检查一次,之后不再重复检查
- 正确的 semver 比较:正确处理
0.1.0-rc.5→0.1.0-rc.6这类预发布版本 - 两种模式:
notify(默认):只在控制台打印醒目的"发现新版本"横幅,不安装install:自动执行安装命令(默认npm install -g @deepseek-ai/dsh@<version>)
- 状态持久化:检查结果写入
~/.dsh/dsh-auto-update-state.json,保留最近 10 次历史 - profile 无关:不依赖
webServer,web/headless/tui/ 任意自定义 profile 都能用 - 优雅卸载:启动检查的
setTimeout通过ctx.effect注册,HMR 替换或插件卸载时自动清理 - 零运行时依赖:只用 Node 内置模块 + 全局
fetch
安装
dsh plugin --profile web add github:frostming/dsh-auto-update
# 或从本地 checkout 安装
dsh plugin --profile web add /path/to/dsh-auto-update
重启 dsh web 生效。默认只提醒不安装,控制台会打印:
════════════════════════════════════════════════════════
dsh-auto-update: update available
installed: 0.1.0-rc.5
available: 0.1.0-rc.6 (latest)
action: notify only — run npm install -g @deepseek-ai/dsh@0.1.0-rc.6
════════════════════════════════════════════════════════
开启自动安装
编辑 profile 的 cordis.patch.yml($DSH_HOME/profiles/<name>/cordis.patch.yml),覆盖 mode:
- insert:
- id: dsh-auto-update
name: 'dsh-auto-update'
config:
mode: install
# 可选:自定义安装命令,{version} / {package} 会被替换
installCommand: 'npm install -g {package}@{version}'
⚠️ DeepSeek Harness 目前处于 developer preview,官方明确声明会有破坏性兼容变更。自动安装等于接受这种风险,请谨慎开启。
配置项
| 键 | 默认值 | 说明 |
|---|---|---|
channels |
["latest", "next"] |
按优先级咨询的 dist-tag |
startupDelayMs |
5000 |
启动后检查的延迟,毫秒 |
mode |
"notify" |
"notify" 或 "install" |
installCommand |
npm install -g {package}@{version} |
安装命令模板 |
stateFile |
~/.dsh/dsh-auto-update-state.json |
状态文件路径 |
verbose |
true |
是否打印检查日志 |
目录结构
dsh-auto-update/
├── package.json # dsh bundle 声明(dsh.bundle.patch)
├── cordis.patch.yml # 插入插件行到 profile 层级栈
├── lib/
│ ├── index.js # 宿主端:启动时一次性检查 + 决策 + 安装执行
│ ├── semver.js # 无依赖的 semver 比较
│ ├── version.js # 本地版本解析 + npm registry 查询
│ └── state.js # 状态持久化
└── test/ # node --test 单元测试
测试
npm test
License
MIT
原始 README: https://github.com/frostming/dsh-auto-update/blob/master/README.md ↗
同类插件
查看全部 →
k8e
k8e.sh — 开源 Agentic AI 沙箱矩阵

hol-guard
开源AI代理防病毒:运行时拦截风险工具、秘密访问、提示注入、恶意软件包、MCP服务器、插件和技能。

anolisa
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture):具备运行时、安全性、可观测性和 Tokenless 响应压缩能力的 Agentic OS,可降低 Token 使用量与成本。

mobius
首个自我演进的开源 Agent OS:连接你的团队、AI agent、设备与算力

deepseek-harness-desktop
DeepSeek Harness Tauri 桌面版 | Only 5mb installer, zero environment setup. Windows / macOS / Linux.

open-managed-agents
开源Claude管理代理API实现和自托管Claude标签式代理运行时。即插即用;在Cloudflare Workers/Durable Objects或Node.js上运行。Apache 2.0。