DeepSeek Harness 的图形化插件管理插件:在 设置 → 插件…
39.2/100
综合分
9
GitHub 星标
393
npm 周下载
—/5
用户评分
数据截至 2026/10/21 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @txc2768651338/dsh-plugin-managernpm 源 · @txc2768651338/dsh-plugin-manager 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · market
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 14 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包@txc2768651338/dsh-plugin-manager @ 0.7.0
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/30 15:54:20
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 10 处,展示前 10 条)
- 读取本地文件lib/index.js:1423
const parsed = JSON.parse(readFileSync(overridesPath(), "utf8")); - 读取本地文件lib/index.js:1433
return readFileSync(path, "utf8"); - 读取本地文件lib/index.js:1451
const parsed = JSON.parse(readFileSync(path, "utf8")); - 写入本地文件lib/index.js:1457
writeFileSync(path, JSON.stringify(manifest, null, 2) + "\n", "utf8"); - 读取本地文件lib/index.js:1577
return existsSync(join(dir, "package.json")) ? dir : void 0; - 写入本地文件lib/index.js:1585
mkdirSync(dirname(overridesPath()), { recursive: true }); - 写入本地文件lib/index.js:1586
writeFileSync(overridesPath(), JSON.stringify(overrides, null, 2) + "\n", "utf8"); - 写入本地文件lib/index.js:1748
writeFileSync(path, edited.content, "utf8"); - 写入本地文件lib/index.js:1850
if (patchRowsRestored > 0) writeFileSync(patchPath, content, "utf8"); - 写入本地文件lib/index.js:1879
mkdirSync(dirname(overridesPath()), { recursive: true });
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/cordis-plugin-group@deepseek-ai/cordis-plugin-include@deepseek-ai/cordis-plugin-loader@deepseek-ai/dsh-api-gateway@deepseek-ai/dsh-api-remote-access@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-app-boot@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-settings给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
1 张 · 点击查看大图功能亮点
- 图形化插件管理
- 一键启停开关
- 内置备注编辑
展开完整介绍(120 字)↓
DeepSeek Harness 的图形化插件管理插件:在 设置 → 插件 里新增「插件管家」标签页,用中文名和说明展示每个插件是做什么的,并提供一键启停开关与内置备注编辑——启停写入全局层补丁并实时热生效,备注保存到本地覆盖文件长期生效。
最近更新
在 GitHub 查看全部 →v0.9.02026-10-20
· 更新内容
· 适配 DSH 0.2.1-rc.2,更新配套 SDK、Cordis 依赖和版本兼容声明。
· 修正前端加载依赖声明;插件管家使用独立行 ID dsh-plugin-manager 和远程命名空间 dshPluginManager,保留官方管理器的安装、卸载及侧边栏能力。
· 补齐 42 条官方插件说明,内置目录共 237 条中英双语条目。
· 支持可选的本地或 HTTPS 社区目录源,兼容 PerryLink 旧格式;无效来源会提示并跳过,用户备注仍具有最高优先级。
· 补充系统插件保护,修正界面与服务端对带命名空间行 ID 的保护判断。
· CI 覆盖 DSH 0.2.1-rc.2、0.2.0-rc.2 和 0.1.5-rc.3。
· 验证
· GitHub CI 四组矩阵全部通过。
· 正式 TGZ 已通过官方 DSH CLI 安装到隔离 web profile,并启动真实 DSH 0.2.1-rc.2。
· 在真实页面验证插件列表读取、来源筛选、搜索、插件停用及恢复启用、HMR 状态更新和备注保存;补丁与备注文件已核对。
· 官方侧边栏插件面板可正常读取配置、实验性插件及已安装插件,本插件保持独立运行。
· 本地 lint、类型检查、构建、补丁/目录源/备份等冒烟检查通过;附件内容和版本已校验。
· 升级说明
更新后请重启 DSH,并在浏览器按 Ctrl+F5。
如果曾手工用 plugin-manager 行 ID 加载本插件,请将该行 ID 改为 dsh-plugin-manager;官方管理器继续使用 plugin-manager。
· 下载与安装
附件提供源码 ZIP、可安装的 npm 格式 TGZ,以及 SHA-256 校验文件。源码 ZIP 已包含 lib/ 构建产物。
下载 TGZ 后,可从本地文件安装:
dsh plugin --profile web add ./txc2768651338-dsh-plugin-manager-0.9.0.tgz
本次为 GitHub Release,npm registry 的发布状态独立于此 Release。
v0.8.02026-10-09
· 亮点
· 来源筛选 + 来源徽章(issue #1):新增「全部 / 已安装 / 内置 / 社区」下拉菜单(默认「已安装」),内置 / 官方 / 社区徽章由两个信号判定——配置档依赖归属和 npm 作用域(@deepseek-ai/*、@cordis/* 算官方)。宿主版本过旧时自动降级为「全部」视图。
· 双语目录(P2-9):195 条内置条目全部补上英文 nameEn / descEn;英文界面不再混入中文内容。搜索同时匹配两种语言。
· 取消 external 分类:官方与社区的归属现在只由来源信号判断;分类轴只按功能划分(@dsh-external/dsh-navbar 移到 ui)。
· 加固(2026-10-01 评估,P0/P1/P2)
· P0:原子写入 + 每日补丁备份;每次写补丁前重新校验 YAML(用安全 schema——!!js/* 表达式一律不求值);备份导入分两阶段,非注册表来源的条目(git:、file:、URL、GitHub 简写等)逐条列出让你确认;js-yaml 移入运行时依赖。
· P1:全局写队列;catalog.json 损坏时报告并支持一键修复;previewBackup 写入前先出 diff;开关不生效时给出说明;官方 @deepseek-ai/dsh-plugin-manager 行仍被加载时输出运行时警告;禁用后 9 秒内可撤销;README 增加「安全模型」一节。
· P2:覆盖项加服务端输入限制;file: 行显示可读名称;开关切换后轮询刷新;恢复时提示「无需更改」;两个 typert 产物共用 schema 模块;浏览器端纯函数纳入测试;接入 ESLint + GitHub Actions CI(node 22/24)。
完整列表见 CHANGELOG.md。
安装:dsh plugin --profile web add @txc2768651338/dsh-plugin-manager,或下载下方 zip 后从解压路径安装。
v0.7.02026-10-01
· 适配 DSH 0.2.0(已对照 0.2.0-rc.2 包集验证),同时保持 0.1.x 宿主可用:typert 产物现在输出双形态严格编解码器——schema(zod 实例,0.1.x 加载器/注册表要求)加 create: () => schema(工厂,0.2.0 要求)——完整 e2e 套件在 0.2.0-rc.2 和 0.1.5-rc.3 上均通过。
· 内联搜索图标:0.2.0 的 dsh-client-ui-primitives 去掉了通用图标族(IconSearchOutline16 已移除),图标又不在 shell 的冻结模块表里,所以标签页现在自带一个小内联 SVG——这也去掉了插件对 ui-primitives 的唯一运行时导入。
· 对等版本范围放宽到 >=0.1.0-rc.0 || >=0.1.5-rc.0 || >=0.2.0-rc.0:semver 预发布版只匹配同元组比较器,所以 0.2.0-rc.2 不满足旧范围(已用真实 semver 包验证)。
· 热重载在 0.2.0 上仍可用:app-boot 的 watchUserPatches 已移除,但 dsh-hmr 服务(由 dsh-base 包在配置档上下文中挂载)会监听 ~/.dsh/cordis.patch.yml 和配置档补丁文件,变化时重新协调补丁栈。
· 目录已同步 0.2.0 的行(+27 条,来自 dsh-base / dsh-web-app 包补丁:dsh-hmr、DeepSeek LLM 拆分、官方插件管理器行等);dsh-hmr 和 dsh-settings 加入系统保护集。
· DSH 0.2.0 共存说明:dsh-base 包现在自带官方插件管理器(@deepseek-ai/dsh-plugin-manager,行 id 为 plugin-manager)。本插件的包补丁插入相同行 id,后加载的包层胜出,所以安装本插件会替换官方宿主行;官方侧边栏面板是独立界面,可与本插件的设置标签页共存。
安装:dsh plugin --profile web add github:2768651338/dsh-plugin-manager#main(或解压此资源后执行 dsh plugin --profile web add file://dsh-plugin-manager),然后重启 DeepSeek Harness 并按一次 Ctrl+F5。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成dsh-plugin-manager
每个插件终于能自己说话 —— 中文名、大白话描述、一键启用/停用,还能在界面里直接改备注,专为 DeepSeek Harness 打造。
Awesome DSH Plugin
Settings → Plugins → Plugin Manager · 收录 165 个插件,一键开关,备注就地编辑。
概览 · 兼容性 · 安装 / 卸载 · 快速上手 · 配置 · 权限与数据 · 功能 · 疑难排查 · 开发
中文 · Español · 日本語 · Deutsch · Русский · Português · 한국어
2026-10-20 · v0.9.0 —— 适配 DSH 0.2.1-rc.2。浏览器 manifest 声明了包依赖,独立的 dsh-plugin-manager 行 / dshPluginManager 命名空间保留了官方管理器的安装与卸载服务。DSH 0.2.1 对这些 Remote 端点强制校验所有者访问权限。
展开完整文档(README 剩余 1 节)
dsh-plugin-manager
每个插件终于能自己说话 —— 中文名、大白话描述、一键启用/停用,还能在界面里直接改备注,专为 DeepSeek Harness 打造。
Awesome DSH Plugin
Settings → Plugins → Plugin Manager · 收录 165 个插件,一键开关,备注就地编辑。
概览 · 兼容性 · 安装 / 卸载 · 快速上手 · 配置 · 权限与数据 · 功能 · 疑难排查 · 开发
中文 · Español · 日本語 · Deutsch · Русский · Português · 한국어
2026-10-20 · v0.9.0 —— 适配 DSH 0.2.1-rc.2。浏览器 manifest 声明了包依赖,独立的 dsh-plugin-manager 行 / dshPluginManager 命名空间保留了官方管理器的安装与卸载服务。DSH 0.2.1 对这些 Remote 端点强制校验所有者访问权限。
🆕 2026-10-01 · v0.7.0 —— 适配 DSH 0.2.0(0.2.0-rc.2),提供双形态 codec 产物,在 0.1.x 和 0.2.0 两条 typert 链上都能注册(0.2.0 从 zod 实例改成了 create() 工厂)——完整 e2e 套件在 0.2.0-rc.2 和 0.1.5-rc.3 上都通过。
目录新增了 0.2.0 的行(dsh-hmr、DeepSeek LLM 拆分、官方插件管理器行);peer 范围放宽到覆盖 0.2.0-rc.0+。热重载在 0.2.0 上照常可用(dsh-hmr 服务监听全局补丁文件)。
🆕 2026-10-01 · v0.6.0 —— 适配 DSH 0.1.5(0.1.5-rc.3):宿主端和客户端两半都能构建,完整 e2e 套件在 0.1.5-rc.3 包集上通过,测试套件现在可以封闭运行(不需要本地安装 DSH)。另外修复了与 @linxin666/dsh-web-ui-all 的 locale 命名空间冲突。
🆕 2026-08-14 · v0.3.0 — 界面内备注编辑上线:点任意卡片上的 Edit notes,就能就地重命名插件或改写描述。不用再手动编辑 catalog.json 了。
🏷️ v0.4.0 — 包已改名为由所有者控制的 scope @2768651338/dsh-plugin-manager(此前的 @dsh-external/* scope 未获授权)。
🔧 v0.2.x — 修复了 tsx 源码启动下的 endpoint 404(严格 ./typert 注册),以及 cordis inject 访问(ctx.get 通道)。
概述
问题。 DeepSeek Harness 内置的「Plugin list」只显示英文模块名,没有描述——装多了插件之后,谁也说不清每一行是干什么的。启用/禁用以前得手动编辑 cordis.patch.yml,很容易改坏。
给谁用。 所有 DeepSeek Harness 用户,尤其是装了很多插件、想知道每个插件做什么、想安全地开关它们、还想给目录没覆盖到的插件补备注的人。
| 痛点 | 之前 | 用上这个插件之后 |
| 插件列表看不懂 | 只有英文模块名,看不出每行是干什么的 | 每个插件都有中文名 + 一句话描述 + 分类 |
| 开关要手动改 | 手动编辑 cordis.patch.yml(容易改坏) | 一键开关,按行精准修改,约 1 秒热重载 |
| 未知插件一片神秘 | 只有兜底文案 | 直接在界面里加自己的备注 |
| 手滑就出事 | 任意行都能被禁用 | 系统行锁定,!!js 控制的行有标注 |
兼容性
| 项目 | 值 |
| DSH 版本 | 0.2.1-rc.2,并对 0.2.0-rc.2 和 0.1.5-rc.3 有回归覆盖 |
| 验证情况 | 2026-10-20,Windows / Node 24:隔离的 SDK 构建与测试、严格的 Host RPC 以及真实浏览器 SlotRegistry 生命周期。这不能替代 Desktop 验收检查。 |
| 安装机制 | dsh plugin --profile web add(bundle patch + dual-face row) |
| 依赖 | dsh-base + dsh-web-app 中随附的 typert-loader / api-gateway / client-modules 行 |
官方启动器通过 tsx 从源码启动;本插件的严格 ./typert 注册专门设计为在纯 node 和 tsx 源码启动下都能工作(由 tests/claims.e2e.mjs 覆盖)。如果你跑的是别的 DSH 版本,先重跑测试套件再报问题。
与官方 manager 共存: 本插件使用行 id dsh-plugin-manager,服务 / Remote 命名空间为 dshPluginManager。官方 plugin-manager 行和 pluginManager 命名空间仍可供官方侧边栏、命令行和智能体工具使用。从 0.8.0 升级后,重启 DSH 并按 Ctrl+F5,加载两半更新后的内容。如果自定义配置曾把本插件插在 plugin-manager 下,必须把该行 id 改成 dsh-plugin-manager。
安装 / 卸载
Install (recommended, same bundle mechanism as dsh-navbar)bash
dsh plugin --profile web add github:2768651338/dsh-plugin-manager#main
备选:从 zip 安装(从 Release 页面下载),解压到不含空格的路径,然后执行:
dsh plugin --profile web add file:/<unzipped-dir>/dsh-plugin-manager
备选:本地构建(克隆本仓库)
pnpm build # tsc + tsdown → lib/index.js (host half) and lib/client.js (browser half)
dsh plugin --profile web add file:./dsh-plugin-manager
安装完成后,重启 DeepSeek Harness,再按一次 Ctrl+F5。打开 Settings → Plugins → Plugin Manager。lib/ 产物已提交到仓库,所以从 GitHub 安装无需本地构建。
| 操作 | 命令 |
| 升级 | dsh plugin --profile web update(或重新执行 add 命令),然后重启 DSH |
| 停用(临时) | 在 Plugin Manager 里点击插件自己卡片上的 停用/Disable —— 该行仍保持已安装状态 |
| 移除 | dsh plugin --profile web remove @txc2768651338/dsh-plugin-manager,然后从 cordis.patch.yml 中删掉它的行(如果有) |
快速开始
最小可复现流程(2 分钟): bash
1. Install
dsh plugin --profile web add github:2768651338/dsh-plugin-manager#main
2. Restart DeepSeek Harness, press Ctrl+F5 in the web page
3. 打开 Settings → Plugins → Plugin Manager —— 你会看到完整目录,带中文名称和描述。
4. 切换一个插件:搜索 trajectory,在 轨迹视图 卡片上点击 停用 (Disable) → 该行约 1 秒内变为已停用(宿主侧生效;浏览器侧插件需刷新页面后才完全卸载)。
5. 给一个插件加备注:在 联网搜索 卡片上点击 编辑备注 (Edit notes),重命名并添加备注,点击 保存 (Save) → 卡片立即更新;恢复默认 (Restore default) 可还原。
配置
| 项目 | 详情 |
| 开关文件 | ~/.dsh/cordis.patch.yml(全局层,DSH 热重载) |
| 备注覆盖文件 | ~/.dsh/plugin-manager/catalog.json(首次保存时自动创建) |
| 社区目录源 | 可选的 ~/.dsh/plugin-manager/catalog-sources.json;仅支持 HTTPS 或本地 JSON,本版本需手动维护 |
| 环境变量 | 自身不读取任何环境变量;上述文件遵循 DSH 的 DSH_HOME 解析规则 |
| 默认值 | 用户覆盖 → 靠后的社区源覆盖靠前的 → 内置目录 → 英文短名 → 兜底文本 |
| 敏感项 | 无 —— 不读取、不存储任何密钥、token 或凭据 |
权限与数据
| 范围 | 涉及内容 |
| 文件(读) | cordis.patch.yml、plugin-manager/catalog.json、可选的 plugin-manager/catalog-sources.json 及其指定的本地源 JSON 文件、进程内加载器插件列表、配置档 package.json(备份) |
| 文件(写) | ~/.dsh/cordis.patch.yml(开关行)、~/.dsh/plugin-manager/catalog.json(备注)、配置档 package.json(还原)—— 仅限 DSH home 内 |
| 网络 | 浏览器端只与你本地的 DSH /api RPC 端点通信。如果你配置了 HTTPS 目录源,宿主端每次启动时拉取一次该 JSON |
| 凭据 | 从不读取 |
| 用户数据 | 从不读取(无法访问会话、消息或提示词) |
访问控制。 本插件使用 DSH 的 Host 访问策略。在 DSH 0.2.1+ 上,Gateway 只允许 owner Peer 调用本插件的 Remote 端点(包括 list),非 owner 或已销毁的 Peer 会在调用服务前被拒绝。较旧的宿主保留各自的信任边界。标签页页脚显示 list 返回的本地配置路径。
功能
| 功能 | 说明 |
| 📚 双语目录 | 内置 190+ 条目(名称 / 描述 / 分类),中英双语——英文界面显示英文名称/描述,缺失时回退到模块短名 + 英文说明,而不是中文。未收录的模块自动回退;每个条目都可自定义 |
| 🌐 社区源 | 可选的本地/HTTPS JSON 目录源;无效源会产生警告并被跳过,内置目录和说明继续正常工作 |
| 🔘 一键开关 | 写入 ~/.dsh/cordis.patch.yml(全局层);DSH 的 HMR 监听器约 1 秒内重新应用;启用时写入显式的 disabled: false,覆盖更低层 |
| ✏️ 界面内备注 | 每张卡片上的「编辑备注」可修改中文名称/描述(~/.dsh/plugin-manager/catalog.json),支持一键恢复默认 |
| 🛡️ 安全防护 | Bootstrap/transport/settings-shell 行锁定为「System」;!!js 表达式行标记为「Expression-controlled」;如果官方插件管理器仍在同时加载(接管未发生),会显示警告横幅;覆盖文件损坏时会报告,并提供一键改名旁置的救援 |
| 🔍 搜索与筛选 | 按名称/描述/模块搜索(中英双语均可匹配),按分类筛选,显示已启用数量汇总 |
| ↩️ 开关撤销 | 禁用后卡片内显示 9 秒的 撤销 按钮,而不是无确认的即时变更 |
| 💾 备份与恢复 | 将备注 + 插件列表(配置档 dependencies/bundles)+ 启用/禁用补丁导出到一个 JSON 文件;导入时先预览每项变更(要添加/覆盖的备注、依赖、bundles、开关行),确认后才写入——合并,绝不删除你已有的条目。非注册表依赖源(git:/file:/URL/简写)需要逐项确认;未勾选的条目会被跳过 |
工作原理
| 半部分 | 文件 | 角色 |
| Host | lib/index.js | 注册 dshPluginManager cordis 服务(Typert remote):list / setEnabled / setOverride / removeOverride / exportBackup / previewBackup / importBackup / quarantineOverrides。开关切换采用精细的补丁文件编辑——注释和 !!js 表达式都会保留。每个写文件方法共用同一条串行写队列(不会出现跨操作丢失更新),导入流程先做只读预览,再执行确认后的合并。 |
| Host | lib/typert.host.js | 导出 ./typert;typert-loader 将其注册为严格调用定义。关键修复:在 tsx 源码启动下,网关和外部插件可能各持一份 typert-protocol——装饰器标记跨副本不可见(症状:每次调用都 404)。严格注册走共享注册表,绕开模块实例身份问题。 |
| Browser | lib/client.js | 通过免注入的 ctx.get() 通道挂载 dshPluginManager 远程命名空间(避免自挂载死锁),并在 settings.plugins.tab 槽位注册 Plugin Manager 标签页。 |
运行时依赖:@deepseek-ai/cordis 和 @deepseek-ai/dsh-typert-protocol 通过 DSH 的 profiles/node_modules 回退链接解析——无需额外 pnpm 下载。
自定义备注
点击任意卡片上的 Edit notes。两个字段都留空保存,会移除该插件的自定义。高级用户仍可直接编辑 ~/.dsh/plugin-manager/catalog.json: json {
"@dsh-external/dsh-navbar": { "name": "对话导航条", "desc": "对话区右缘的消息节点导航" }
}
优先级:覆盖文件 > 内置目录 > 英文短名。
社区目录源
可选源放在 ~/.dsh/plugin-manager/catalog-sources.json。源只是展示元数据:不安装代码、不启用插件、不让任何东西变成可执行。靠后的源逐字段胜出;用户备注仍然胜过所有源。
json
{
"version": 1,
"sources": [
{ "id": "perrylink", "url": "https://raw.githubusercontent.com/PerryLink/dsh-catalog/main/data/packages.json" },
{ "id": "local", "path": "my-catalog.json" }
]
}
规范化源使用下面的 v1 格式;语言字段可以只写一部分: json { "format": "dsh-plugin-manager-catalog-source", "version": 1,
"entries": [
{
"key": "dsh-auto-review",
"aliases": ["dsh-auto-review-legacy"],
"name": { "zh": "自动审查", "en": "Auto review" },
"description": { "zh": "一件事", "en": "One thing" },
"category": "agent"
}
]
}
category 必须是内置功能分类之一(core、llm、session、agent、tool、skill、ui、web、sandbox、storage、other);无效值回退到 other。现有的 PerryLink 顶层数组按旧格式接受:displayName 是英文名,locale: "zh" 把 summary 映射为中文描述,summaryZh 为英文摘要提供中文文本,旧格式的第一个分类是映射到最接近的内置功能分类。
损坏或过大的源文件会被跳过,并显示警告横幅;本地路径相对于 catalog-sources.json 解析。v1 只允许 HTTPS 这一种远程协议,源在每次 DSH 启动时缓存一次,修改源列表需要重启 DSH。
故障排查
| 现象 | 修复 |
| 标签页不出现 | 重启 DeepSeek Harness,然后对页面按 Ctrl+F5(客户端 bundle 在启动时加载) |
| 显示「暂时无法读取插件」并带错误块 | 查看消息下方的灰色错误详情:dshPluginManager.list failed: ... / transport failure ...,对照下文匹配 |
| 错误提到 404 或 invocation-unavailable | 你安装的版本低于 0.2.0(缺少 ./typert 严格注册)——更新并重启 |
| cannot get property "remote.dshPluginManager" without inject | 版本低于 0.2.2——更新并刷新 |
| 某个开关似乎不起作用 | 检查 ~/.dsh/cordis.patch.yml 是否保持行块结构(第 0 列有 - 短横线);标着「表达式控制」的行由 !!js 控制——直接编辑配置文件 |
| pnpm 警告 peer range @deepseek-ai/@ does not match resolved 0.2.0-rc.2 | 无害——DSH 以预发布版形式发布这些包,semver 的 匹配不到它们。v0.7.0+ 声明 >=0.1.0-rc.0 \|\| >=0.1.5-rc.0 \|\| >=0.2.0-rc.0;其他插件请在 pnpm-workspace.yaml 中添加 peerDependencyRules.allowAny: ['@deepseek-ai/'] |
| 日志在哪里? | 宿主错误看 DSH 宿主启动日志(启动器控制台);客户端错误看浏览器 DevTools(F12)控制台 |
| 回滚 | 从 cordis.patch.yml 中删除该插件的行,备注用 恢复默认,或用上面的 remove 命令卸载 |
项目结构 text src/ index.ts host half: PluginManagerGateway (list / setEnabled / setOverride / removeOverride) patch-file.ts surgical patch-file editor (pure functions) catalog.ts built-in catalog + system-protection set catalog-source.ts community source schema, legacy adapter, and loading helpers types.ts shared plain data types typert-host.ts strict endpoint registration artifact (./typert) client/ index.ts browser half: mount remote namespace + register the tab remote.ts client remote artifact (strict zod codecs) PluginManagerTab.tsx tab UI (list / toggles / notes editing) locales.ts zh/en dictionaries cordis.patch.yml bundle patch (inserts the plugin-manager row) lib/ built artifacts (committed; GitHub installs skip building) tests/ smoke / end-to-end tests
开发 bash
pnpm build # tsc + tsdown
pnpm lint # eslint (flat config, lenient rules)
pnpm typecheck # tsc --noEmit
pnpm test # patch-file / patch-yaml / fs-safe / client-util / origin / catalog-source / backup smokes + claims/gateway/host e2e
node tests/patch-file.smoke.mjs # patch editor smoke tests
node tests/client-util.smoke.mjs# browser-half pure-function smoke tests
node tests/host-gateway.e2e.mjs # host gateway end-to-end (incl. override-file contents)
node tests/claims.e2e.mjs # endpoint claims under plain-node and tsx source launch
CI 在 Node 22/24 上跑 lint + typecheck + build + test,对应 DSH 0.2.1-rc.2;在 Node 24 上再跑 0.2.0-rc.2 和 0.1.5-rc.3。客户端注册测试套件会用每个 SDK 真实的 SlotRegistry 执行构建产物里的闭包工厂,覆盖延迟声明槽位、重载和销毁。
产物形态说明:两个手写的 typert 产物(src/client/remote.ts、src/typert-host.ts)保留与生成器对齐的描述符形态,但共用同一份 schema 来源(src/schemas.ts)——改 schema 请改那里,不要改产物。如果将来某个宿主需要与生成器输出做逐字节比对,再把 schema 拆回去。
测试启动所依赖的 DSH 宿主包(dsh-app-boot、dsh-typert-*、dsh-api-gateway 等)以 devDependencies 固定在 DSH 0.2.1-rc.2 版本,所有入口路径都通过 import.meta.resolve 解析——构建、测试、类型检查都不需要本地安装 DSH。双形态编解码产物在隔离检出中做过回归验证:先执行 node scripts/use-dsh-version.mjs 0.2.0-rc.2(或 0.1.5-rc.3),再依次执行 pnpm install --no-frozen-lockfile、pnpm build 和 pnpm test。
参与贡献。 Fork → 修改 → pnpm build → 跑上面的测试 → 向 main 提 PR。小改动(文档、目录条目、翻译)无需事先讨论,直接提。报问题时请附上 DSH 版本,以及标签页里显示的具体错误详情。
许可证与安全
许可证:MIT — 见 LICENSE。本项目基于 DeepSeek Harness 的公开插件机制构建,与 DeepSeek 无隶属关系。
安全:本插件不读取任何凭据,也不向机器外发送用户数据;只有你配置了 HTTPS 目录源时,才会触发一次外部元数据拉取。如需私下报告安全问题,请使用 Security 标签页 上的 GitHub Report a vulnerability——不要在公开 issue 里写漏洞细节。
Star History
MIT License © 2768651338预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
2768651338/dsh-plugin-manager
DeepSeek Harness 的图形化插件管理插件:在 设置 → 插件…
相关插件 · 市场 / 管理
插件精选列表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
这是你的仓库?认领条目