deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:hjj345/dsh-sm-version-display
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
中文文档 · English documentation
GitHub:hjj345/dsh-sm-version-display
npm:@hjj345345/dsh-sm-version-display
最低支持 DSH 版本:
v0.2.0-rc.1(含)。当前插件版本:v1.2.24。
@hjj345345/dsh-sm-version-display 是一个面向 DeepSeek Harness(DSH)Web 界面的客户端 + host 双半区插件。它在侧边栏「设置」按钮上方显示当前已安装的 DSH 版本,并检测 npm registry 与官方 GitHub Release 的新版本。
从 v1.1.0 开始,插件同时在 DSH 设置中新增“DSH版本检测”一级页面(排序 22,位于参考插件下方)。页面复刻参考插件的卡片式设计,提供插件开关、通用设置、关于插件和安装命令;支持简体中文、English、繁體中文三种语言。检测结果会在 DSH 进程期间缓存,设置弹窗重新打开后仍可查看。检测到更新时,用户可以先查看风险并确认后由插件执行精确版本命令,也可以打开手动更新步骤逐条执行。
这里有三个名称需要区分:
@hjj345345/dsh-sm-version-displaydsh-sm-version-displayhjj345/dsh-sm-version-display插件版本 v1.2.24 表示本插件版本;卡片中显示的是运行时读取到的 DSH 版本,两者不是同一个版本号。
@deepseek-ai/dsh 版本,DSH 升级并重启后自动跟随。sm-context-piano(排序 21)下方,使用默认齿轮图标(排序 22)。dsh-sm-version-display 及当前版本。备份目录选择器浏览的是 DSH 服务所在电脑,不是远程浏览器所在设备。备份列表不扫描整台电脑;此前默认目录中的不完整备份也会列出,自定义目录可通过指定目录扫描补充。大小为备份普通文件的逻辑大小合计,不包含链接目标,也不等同于文件系统实际分配空间。删除备份不可撤销;删除当前任务对应的完整备份后,该任务将无法回滚。正在使用的备份不允许删除。
侧边栏版本卡片:
侧边栏窄栏悬停提示:
设置页总览:
双源版本检测结果:
更新确认弹窗:
更新执行记录、关于插件与安装命令:
示例状态:
vX.Y.Z(最新版)
vX.Y.Z(有更新:vA.B.C)
在安装了 DSH 的机器上执行:
dsh plugin --profile web add @hjj345345/dsh-sm-version-display
安装完成后重启 DSH Web 服务或重新打开 Web 界面:
dsh web
卸载:
dsh plugin --profile web remove @hjj345345/dsh-sm-version-display
本地开发时可以使用 link: 指向插件目录。下面的路径只是示例,请替换为实际路径,不要把个人电脑路径写入 README、源码或 npm 包:
dsh plugin --profile web add link:C:/path/to/dsh-sm-version-display
本地链接仅用于开发调试;正式使用应切换回 npm 包安装。
打开 DSH 设置并选择 DSH版本检测。点击“检测DSH版本”后,npm 与 GitHub 结果会在按钮下方展开显示,并在本次 DSH 进程期间保留。只有用户点击“收起检测结果”后才会折叠;重新启动 DSH 后状态重置。
更新命令始终区分 npm 和 npx;如果本机是 pnpm 全局安装,还会优先显示 pnpm 命令:
# npm 全局安装
npm install --global @deepseek-ai/dsh@<version>
# npx 临时执行指定版本
npx --yes @deepseek-ai/dsh@<version> web
# pnpm 全局安装
pnpm add --global @deepseek-ai/dsh@<version>
npx 没有需要替换的全局安装;GitHub Release 如果没有对应 npm 包,则需要按照弹窗中的 clone、checkout、pnpm install、build 和启动步骤手动执行。任何更新完成后都需要重启 DSH Web 服务。
自动更新会先显示来源、目标版本、版本类型和风险,用户确认后先备份并预检。如果检测到全局安装或 profile 中有旧版本固定依赖,页面会给出停机后的精确修复命令;命令完成后仍须重启 DSH,并在插件页面执行验证,才会标记更新成功。Alpha、Beta、RC 版本可能包含破坏性变更;切换版本前建议备份 .dsh 配置和 profile 数据。回退时请使用明确的旧版本号,例如 @deepseek-ai/dsh@0.1.1-rc.2。
DSH host process
lib/index.js
└─ 监听 webserver/index-inject
读取已安装 @deepseek-ai/dsh/package.json 的 version
注入 globalThis["__DSH_VERSION__"]、__DSH_INSTALL_INFO__ 和页面级更新 token
│
▼
DSH Web browser
client/client.js
├─ 注册 sidebar.footer.action 版本卡片和 settings.section 设置页
├─ 读取 window.__DSH_VERSION__ 并渲染版本卡片
├─ GET 本机检查路由(host 缓存 npm 与 GitHub Release)
└─ POST 本机更新路由(仅固定精确版本命令)
比较当前版本和两个来源的版本
发布包中的关键文件:
| 文件 | 作用 |
|---|---|
lib/index.js |
host 半区;注入当前 DSH 版本 |
client/client.js |
client 半区;卡片、更新检测、Toast 和样式 |
cordis.patch.yml |
将插件挂载到 DSH profile 层 |
LICENSE |
MIT 开源许可证 |
.env、.npmrc、令牌、密钥、证书、日志、依赖目录及本地 DSH 数据。| 项目 | 要求 |
|---|---|
| DSH | >= v0.2.0-rc.1 |
| Node.js | >= 20(host 运行环境) |
| 平台 | DSH Web |
| 插件版本 | v1.2.24 |
插件使用 DSH 官方扩展点:dsh.client、sidebar.footer.action、settings.section、webserver/index-inject 和 ctx.slots.inject/register。启用状态与语言保存在 DSH profile 配置中;升级时会把仍留在浏览器本地的旧设置迁移到 profile,已有 profile 设置优先保留。
插件市场从 npm 包的顶层 engines.dsh 读取最低宿主版本;本插件当前推荐使用 >=0.2.0-rc.1,与上表一致。
本插件使用与 DSH 客户端插件一致的手写 bundle 格式:window.__ModuleLoader__.load({ id, factory }),不需要额外编译器或运行时依赖。
在项目根目录执行:
npm run check
npm run build
npm run build 会执行 host/client 语法检查、版本比较自测、设置页/更新链路契约检查、包完整性检查和 README 检查。
v0.2.0-rc.1,同步顶部徽标、兼容性表格和发布契约校验。v1.2.24,发布日期为 2026-09-30。lib/update-runtime.mjs,将 PowerShell 控制台执行、输出采集和更新任务恢复拆分为可复用运行时。v1.2.23,发布日期为 2026-09-30。v1.2.22,发布日期为 2026-09-30。0.2.0-rc.1 开发依赖:补充 dsh-api-remotes、settings controller、客户端模块、UI sidebar/primitives/slots 等 0.2.0 RC 依赖,并更新 npm peerDependencies 与最低 DSH 引擎声明。@deepseek-ai/dsh-api-remotes 纳入客户端注入,使 Remote Settings 与 DSH 0.2 客户端依赖链保持一致。v1.2.21,发布日期为 2026-09-29。v1.2.20,发布日期为 2026-09-27。side:"top":气泡显示在锚点上方并按视口 12px 边距钳制、放不下自动翻转,修复胶囊位于侧栏底部时悬浮提示越出视口底沿的问题。v1.2.19,发布日期为 2026-09-26。!important 并改为 flex:1 1 0% + width/max-width:100% + min-width:0,卡片宽度严格跟随 DSH 侧栏伸缩,不再被新版运行时样式覆盖撑开而溢出。.dvd_sourceText display:block),文本在卡片内自动多行换行、不溢出。portal:true,气泡挂到 body 按视口定位,不再被侧栏裁剪或错位。v1.2.18,发布日期为 2026-09-26。dsh-client-ui-primitives 导出的 *Regular 组件;旧 *Outline16/*Outline14 图标已不再导出,引用 undefined 会触发 React #130,导致整个 sidebar.footer.action 插槽渲染崩溃。handleRefresh 返回检测 promise,便于测试等待刷新完成。v1.2.17,发布日期为 2026-09-26。>=0.1.7-rc.1,并同步双语文档的适配说明。remote.settings,并监听外部设置变更。>=0.1.7-rc.1,并在双语兼容性说明中解释该要求。v1.2.13,发布日期为 2026-09-25。v* 标签或从 master 手动触发发布;发布前校验标签/输入版本与 package.json 一致,并自动执行构建、测试和 npm 发布。v1.2.12,发布日期为 2026-09-24。v1.2.11,发布日期为 2026-09-24。.tmp 文件互相覆盖。EPERM、EACCES 或 EBUSY 时按有限次数重试,并在成功或失败后清理临时文件。SharedArrayBuffer 等待机制,并禁止旧共享临时文件名回归。v1.2.10,发布日期为 2026-09-15。v1.2.9,发布日期为 2026-09-15。lib/update-worker.mjs 纳入 npm 发布白名单,并补充 Worker 自测、虚拟存储目录解析、客户端更新动作和发布文件契约校验。v1.2.8,发布日期为 2026-09-14。--virtual-store-dir 参数。pnpm install --global --force 重建全局依赖树,再执行普通 DSH 更新命令。.modules.yaml 为单行 JSON 时无法读取 virtualStoreDir 的问题,确保一键更新会沿用现有全局虚拟存储目录。.modules.yaml,读取并校验 virtualStoreDir,在可用时将其传入更新命令,避免 PNPM 依赖树位置不一致导致更新失败。.modules.yaml 中的引号格式、Windows 绝对路径和最多 10 层父目录查找;对包含空格、& 或引号的参数进行安全转义,保证 Windows cmd.exe 执行文本正确。--virtual-store-dir 参数和现有客户端注入契约,防止 PNPM 更新兼容修复回退。v1.2.5,发布日期为 2026-09-07。dsh.client.inject 中的过时 @deepseek-ai/dsh-client-runtime 替换为 @deepseek-ai/dsh-client-modules,保留语言、设置页、插槽和 UI 原语模块注入。@deepseek-ai/dsh-client-modules 存在,并禁止已过时的 @deepseek-ai/dsh-client-runtime 残留,避免客户端加载入口回退。v1.2.4,发布日期为 2026-09-03。images/Screenshot/ 纳入 npm 发布白名单,确保发布包包含 README 所引用的 6 张截图资源。v1.2.3,发布日期为 2026-09-03。settingsNamespace 辅助函数的直接导入,改用设置命名空间字符串注册插件设置,兼容新增的 @deepseek-ai/dsh-settings 版本。@deepseek-ai/dsh-settings 的 0.1.2-alpha.2、0.1.2-alpha.4,以及 @deepseek-ai/schemastery 的 3.18.2,同时保留既有兼容版本。v1.2.2,发布日期为 2026-09-02。latest、更新来源、检测通道、Feed 状态、限流提示和 Release 直达文案;语言下拉项统一保持 语言/Language。v1.2.1,发布日期为 2026-09-02。latest 的清晰中文、英文和繁体中文文案。v1.2.0,发布日期为 2026-09-01,并补充对应的构建与多语言契约校验。v1.1.0。作者:Jack·Huang
邮箱:jack698698@gmail.com
本项目以 MIT License 发布。Copyright © 2026 Jack·Huang。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。