插件声明了 dsh.bundlebundle patch 位于…
36.5/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/4 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:npm 同名包「dsh-update-center」归属 ssh://git@github.com/britneycode/dsh-update-center,装到的可能不是本插件。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Britneycode/dsh-update-center该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · market
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 0 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意npm 同名包「dsh-update-center」归属 ssh://git@github.com/britneycode/dsh-update-center,装到的可能不是本插件
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-update-center @ 0.10.1
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/3 09:53:12
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 26 处,展示前 21 条)
- 读取本地文件lib/index.js:75
return JSON.parse(readFileSync(file, 'utf8')); - 写入本地文件lib/index.js:117
mkdirSync(dirname(file), { recursive: true }); - 写入本地文件lib/index.js:119
writeFileSync(temporary, text, 'utf8'); - 写入本地文件lib/index.js:120
renameSync(temporary, file); - 读取本地文件lib/index.js:171
const states = readdirSync(jobsDir) - 删除本地文件lib/index.js:178
unlinkSync(file); - 读取本地文件lib/index.js:201
if (!existsSync(workerSource)) { - 写入本地文件lib/index.js:205
mkdirSync(jobsDir, { recursive: true }); - 写入本地文件lib/index.js:206
copyFileSync(workerSource, workerTarget); - 执行外部命令来自配置/变量lib/index.js:240
const child = spawn(process.execPath, ['--', workerTarget, specPath], { - 读取本地文件lib/index.js:304
for (const dirent of readdirSync(presetDir, { withFileTypes: true })) { - 读取本地文件lib/index.js:387
if ((entry.kind === 'link' || entry.kind === 'preset') && dir && existsSync(join(dir, '.git'))) { - 发起网络请求lib/index.js:440
const response = await fetch(REGISTRY_URL, { signal: controller.signal, headers: { accept: 'application/json' } }); - 发起网络请求lib/index.js:503
const response = await fetch(url, { signal: controller.signal, headers: { accept: 'application/vnd.github+json' } }); - 发起网络请求lib/index.js:546
const response = await fetch(url, { signal: controller.signal, headers: { accept: 'application/json' } }); - 读取本地文件lib/index.js:747
const text = readFileSync(resolve(dir, patchRel), 'utf8'); - 写入本地文件lib/index.js:779
copyFileSync(profilePatchFile, `${profilePatchFile}.bak-update-center`); - 执行外部命令来自配置/变量lib/index.js:1127
const child = spawn(process.execPath, ['--', restartTarget, restartSpecPath], { - 发起网络请求lib/client.js:87
const response = await fetch(API + path, { - 执行外部命令固定命令lib/run-command.mjs:40
? spawn('cmd.exe', ['/d', '/s', '/c', candidate, ...args], { cwd, timeout: timeoutMs, env, windowsHide: true }) - 执行外部命令来自配置/变量lib/run-command.mjs:41
: spawn(candidate, args, { cwd, timeout: timeoutMs, env, windowsHide: true })
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-llm@deepseek-ai/dsh-tools给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 自托管插件注册表
- 一键安装更新卸载插件
- 更新dsh本体
README
由 DeepSeek 最新模型翻译生成dsh-update-center
DeepSeek Harness 的本地更新中心:内置插件市场(浏览/搜索/一键安装/卸载/禁用),统一管理 profile 中 npm/link 插件以及 agent preset 的更新。
安装
插件声明了 dsh.bundle(bundle patch 位于 cordis.patch.yml),构建产物随包分发,用官方 CLI 安装即可挂载为 profile 层。
推荐 npm 安装(秒级,无需构建):
dsh plugin --profile web add dsh-update-center
或从 GitHub 安装:
dsh plugin --profile web add github:Britneycode/dsh-update-center
本地开发时也可以 link 安装:
dsh plugin --profile web add link:<本插件目录>
安装后重启 dsh web,设置页会出现「更新中心」面板。不需要第三方注入器。
插件市场
- 注册表:本仓库根目录 plugins.json(raw 直链拉取,可独立于插件发版更新),初始内容为 GitHub topic:dsh-plugin 星标前 500 + 本插件,共 501 条。
展开完整文档(README 剩余 1 节)
dsh-update-center DeepSeek Harness 的本地更新中心:内置插件市场(浏览/搜索/一键安装/卸载/禁用),统一管理 profile 中 npm/link 插件以及 agent preset 的更新。 安装 插件声明了 dsh.bundle(bundle patch 位于 cordis.patch.yml),构建产物随包分发,用官方 CLI 安装即可挂载为 profile 层。 推荐 npm 安装(秒级,无需构建): dsh plugin --profile web add dsh-update-center 或从 GitHub 安装: dsh plugin --profile web add github:Britneycode/dsh-update-center 本地开发时也可以 link 安装: dsh plugin --profile web add link:<本插件目录> 安装后重启 dsh web,设置页会出现「更新中心」面板。不需要第三方注入器。 插件市场 - 注册表:本仓库根目录 plugins.json(raw 直链拉取,可独立于插件发版更新),初始内容为 GitHub topic:dsh-plugin 星标前 500 + 本插件,共 501 条。 - 增量扫描:后台每 12 小时扫描 GitHub topic:dsh-plugin(星标前 500,排除 fork),与注册表按 owner/name 去重合并——重复条目仅刷新星标,新条目追加;掉出扫描窗口的老条目在 plugins.json 中保留(累计语义,上限 2000 防膨胀)。 - npm 包名映射:同一轮扫描会查询 npm 关键词搜索(keywords:dsh-plugin,约 800+ 包),按 repository 地址与市场条目匹配——仓库一致才映射(天然防抢注);命中的条目显示 npm 标记并走 npm 秒级安装,未命中的走 github: 安装。 - 更新注册表:npm run refresh:snapshot 会以现有 plugins.json 为基底累计合并最新扫描结果并连同离线快照一起重写,提交推送后生效。 - 注册表自动刷新:仓库内置 GitHub Actions 定时任务(.github/workflows/registry-refresh.yml)每天自动跑刷新脚本并在有变化时提交推送,也可在 Actions 页面手动触发。 - 离线兜底:磁盘缓存 → 随包快照(data/registry-snapshot.json);常驻条目(data/extra-plugins.json)无条件并入,保证 0 星新插件始终可见。 - 清单自动刷新:缓存超过 24 小时会在打开面板时自动拉取最新;「刷新清单」按钮随时强制更新。 - 出网请求仅允许 https 且 host 白名单(raw.githubusercontent.com 额外限定为清单仓库路径,防 SSRF);安装目标只接受清单内条目,不接受任意包名。 - 安装优先走 npm 包(秒级),并做防抢注校验:npm 包的 repository 与清单 GitHub owner/repo 不一致时自动回退 github:owner/repo。 - 安装后校验包可解析且存在可运行入口(dsh 清单或 main 文件);校验失败自动回滚卸载,不会留下坏包。 - 非标准组合套装可作为“手动安装”条目收录:市场只展示项目安装说明,不会误走 pnpm add。dsh-routing-suite 即按此方式提供。 - pnpm ≥10 拒绝或跳过构建脚本时,错误信息会带 pnpm-workspace.yaml 放行指引。 - 卸载 = pnpm remove + 移出 dsh.profile.bundles,仅对 npm 安装的插件开放;link/preset 插件请直接编辑 profile。 - 禁用/启用 = 在 profile 的 cordis.patch.yml 写入/移除受管的 disabled: true 条目(按插件自身 insert id 定位,带标记区块与备份),不删文件、可随时恢复,重启后生效。 - 市场条目与已安装列表互通元数据:已安装插件显示市场描述与 GitHub 链接,市场里已装的插件显示「可更新」徽标。 - 市场支持排序:星标最多(默认)/ 默认策展顺序 / 最近添加,可叠加搜索与分类筛选。 - 市场列表默认展示前 500 个筛选结果;结果更多时可在列表底部继续加载,每次增加 500 个。 一键全部更新 - 检查更新后,工具栏出现「全部更新」:把所有可更新插件(npm 版本落后 + link/preset 落后且无未提交改动)排成一个后台批量任务串行执行。 - 单个子任务失败不中断其余;结束后汇总「N 成功 / M 失败」,全部失败才标记任务失败。 当前能力 - 手动检查远端状态,不在打开设置页时自动发起网络请求。 - 检查与状态查询全部异步执行(子进程不再阻塞 dsh web 的事件循环),插件检查并行、/status 带 5 秒快照缓存。 - 更新由 $DSH_HOME/update-center 下的独立 worker 执行,停止或重启 dsh 不会中断任务。 - npm 插件按包名精准更新,不会因为点击单个插件而更新整个 profile。 - npm 更新完成后核对 node_modules 中的实际版本;版本没有变化时返回失败。 - npm 更新失败自动回滚到更新前版本("失败 = 保持原样");检查与执行之间上游又发新版时,装上的版本若就是当前 npm latest 则按实际版本放行,不做无谓回滚。 - 「重启 dsh」助手在拉起新进程后保留 15 秒存活观察期:新进程若提前退出,把退出码与诊断结论写入 ~/.dsh/update-center/dsh-web.stderr.log,不再静默失败。 - 更新任务历史只保留最近 20 个(状态与 spec 文件一并清理),不再无限累积。 - npm 更新/安装/卸载后按官方 dsh plugin 的规则对账 dsh.profile.bundles;模板 bundle 不受影响。 - link 与 preset 只能通过已安装清单中的包名更新,API 不接受任意目录。 - Git 插件只更新了 src 而没有更新 lib/dist 时,自动执行包的 build 脚本。 - 插件来源(upstream)优先读取 git remote 的真实地址,内置映射仅作兜底。 - dsh 或本地插件存在未提交改动时停止更新,避免覆盖本地工作。 - 任一步骤失败都会返回失败阶段;不会把依赖安装或构建失败显示成成功。 - 更新写入磁盘后明确提示重启 dsh web。 - 一键「重启 dsh」:工具条按钮以原进程完全相同的启动方式(execPath + execArgv + argv + cwd)自动重新拉起 dsh web,更新完插件后直接点即可,无需手动重启;有更新任务执行时会禁用并在服务端拒绝,避免中断后台任务。 - POST 动作仅接受同源请求(Origin 与 Host 一致)。 - Start-DSH.ps1 会等待后台更新完成再启动,Stop-DSH.ps1 不会结束更新 worker。 桌面端适配 面板与桌面端设置界面同一套设计系统,不是自绘 DOM: | 方面 | 做法 | | 控件 | 来自宿主基线模块 @deepseek-ai/dsh-client-ui-primitives(Button / SegmentedTabs / RiskConfirmation / Toast),声明为 dsh.client.external,不打包 | | 颜色 | 只走 --dsw-* 语义令牌,跟随亮/暗主题(bundle 内硬编码颜色数为 0) | | 不可逆操作 | 卸载、重启、批量更新、安装 —— 全部走 RiskConfirmation 模态 + 勾选确认,不用 window.confirm | | 排版 | 页标题 16/24、行标题 14/20、行说明 12/18 | | 窄屏 | 纯 CSS 媒体查询,不再用 !important 硬改宿主内部 class 名 | dsh.client.platform 必须是 "web" ——桌面端跑的就是 dsh-web-app 那套 web 前端,写成 "desktop" 会被 @deepseek-ai/dsh-client-modules 判为非客户端包,面板永不出现。 导航项图标拿不到:宿主 settings-general 的 navIcon() 只给 account / models / agent-presets / plugins / archived-sessions 配了图标,其余 id 一律回落成齿轮。本插件用 update-center(语义正确,且不与宿主已有的 plugins 页冲突),因此显示为齿轮。要换专属图标需要宿主侧扩展那张映射表。 构建 构建脚本支持 Windows、macOS 和 Linux。它会从 DSH_CHECKOUT、相邻目录及常见用户目录中寻找 DeepSeek Harness checkout,并复用 checkout 的 TypeScript 与 tsdown。 npm run typecheck npm test npm run build 无法自动找到 checkout 时,先设置 DSH_CHECKOUT: $env:DSH_CHECKOUT = 'D:\App\dsh\deepseek-harness' npm run build 没有 checkout 时只构建浏览器半边 宿主半边(lib/index.js 等)是纯 Node 代码,已随仓库分发,日常改面板不需要重建它。浏览器半边可以直接用本仓库的 tsdown,绕过需要 checkout 的 scripts/build.mjs: npm run build:client:local # tsdown,只产出 lib/client.js npm run typecheck:client # tsc -p tsconfig.client.json npm run test:client # lib/client.js 的契约测试(6 条) test:client 里有一条用例会读运行中桌面端的 app.asar,取出 shell 真实的 PLATFORM_MODULES 表逐条核对 bundle 的 require 目标。不指路会 skip: $env:DSH_DESKTOP_ROOT = 'D:\App\deepseek harness' npm run test:client 配置 | 字段 | 说明 | 默认值 | | repoDir | dsh 源码仓库 | 自动探测 | | profileDir | web profile | $DSH_HOME/profiles/web | | presetDir | agent preset 目录 | $DSH_HOME/.agent-presets | | proxy | npm/pnpm 代理 | dsh 仓库的 http.proxy | | remote | Git 远端名 | origin | | branch | dsh 更新分支 | master | | upstreams | 插件名到 GitHub 仓库的来源映射 | 内置常用插件 | 更新边界 更新中心只修改已明确识别的 dsh 仓库、profile npm 依赖和已安装的 Git 插件。它不会自动 stash、强制切换普通分支、执行非快进合并,也不会自动结束正在运行的 dsh 进程。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Britneycode/dsh-update-center
插件声明了 dsh.bundlebundle patch 位于…
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,225未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,370已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13941 个插件含 PR 收录与…
★ 355已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目