deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
DSH 插件管家:验证过的插件推荐 + 页内安装/升级/卸载与结构体检。 Native DSH plugin discovery, first-use & lifecycle manager: verified recommendations, in-page install / update / remove and structural health checks.
DSH 的插件发现与生命周期管理入口:推荐插件、页内安装/升级/卸载、结构体检,以及操作进度与重启确认。自 0.8.0 起,插件操作显示实时进度(阶段与日志),完成后明确提示「需要重启 DSH 才能生效」,支持立即重启或稍后重启(横幅持续提醒)。
安装后运行 dsh web,进入 设置 → 插件 → 插件推荐。
页面分为:
推荐卡不仅告诉用户“装什么”,还要解释“为什么推荐”和“第一次怎么用”。安装/升级会显示实时进度(阶段:解析依赖 → 下载 → 安装 → 完成,附最近日志)。完成后如果新版本需要重启才能生效,页面会明确提示「操作完成,需要重启 DSH 才能生效」,并提供两个选择:
只有自动重启不可用时才显示命令行兜底。回到推荐卡后,可直接打开真实存在的设置入口,或复制一段可立即试用的示例提示。
远程目录中的 firstUse 负责提供 1–5 个首次使用步骤;launch 仅允许打开已注册的设置入口或复制示例提示,不允许目录下发任意 URL、脚本或 Shell 命令。
推荐不是 npm 搜索结果。条目必须说明维护者、源码、许可证、DSH 兼容范围、验证日期、权限和推荐理由。
验证状态:
verified:完成标准 CLI 安装、DSH 启动和结构体检。community:来源明确,尚未完成当前版本实机验证。experimental:功能或兼容性仍处于实验阶段。“已验证”只代表兼容性验证,不代表漏洞或供应链安全认证。
目录文件位于 registry/plugins.json,默认从 GitHub Raw 获取,GitHub Raw 不可达时自动回退 jsDelivr CDN 镜像(内容一致,国内网络通常可达)。服务端请求超时 4 秒,限制 256 KB 和 200 条记录,并严格校验字段、GitHub 仓库地址和安装目标。
获取顺序:
缓存位于 ~/.dsh/cache/dsh-plugin-manager/registry.json。远程失败不会影响已安装插件管理。缓存超过 7 天会显示过期状态。目录获取本身不会触发安装;每次安装仍需用户确认,并走标准 dsh plugin 命令。
发布目录:改动
registry/plugins.json后推送到 GitHub main 分支即可;jsDelivr 缓存约几分钟内同步(可用https://purge.jsdelivr.net/gh/onlyforchris/dsh-plugin-manager@main/registry/plugins.json强制刷新)。
首批候选(2026-08-18 验证)已完成实机验证并收录,见 registry/plugins.json:3 个 verified(vision-toolkit、dsh-at-file、dsh-find-plugin)、2 个 experimental(dsh-genui、dsh-web-ui-all)。验证记录见 registry/reviews。目录仍不接受未经验证的条目,也不会用普通 npm 包凑数。
复验待办:首批验证于 DSH 0.1.0-rc.6 完成;需在 rc.7 上按 registry/README.md 的 SOP 复跑后更新
verifiedWithDsh。
从 GitHub 固定 tag 安装(推荐,构建产物已入库,无需本地构建):
dsh plugin --profile web add github:onlyforchris/dsh-plugin-manager#v0.8.0
dsh web
或从 GitHub Releases 下载 dsh-plugin-manager-<版本>.tgz 后:
dsh plugin --profile web add .\dsh-plugin-manager-0.8.0.tgz
dsh web
npm 上的
dsh-plugin-manager名称已被同名项目占用,本插件暂以 GitHub 源与 Release 附件分发;如需标准 npm 安装可发布为 scoped 包(如@onlyforchris/dsh-plugin-manager)。
npm ci
npm test
npm run build # tsc --noEmit && tsdown → lib/
npm pack # 生成 dsh-plugin-manager-<版本>.tgz
发版流程:
package.json 与 src/shared.ts 的 MANAGER_VERSION),更新 CHANGELOG;npm run build 后提交 lib/ 构建产物(lib/ 已入库,git 源安装直接使用它,发版时记得提交最新构建);git tag v0.8.0 && git push origin v0.8.0)——GitHub Actions 会自动跑测试并创建 Release(附带 tgz 安装包)。页面内的安装、升级、卸载直接以隐藏控制台运行 Profile 内置 pnpm(与 dsh plugin 命令等效,含相对路径锚定和 bundles 对账),Windows 上不会弹出 cmd 窗口,也不会受 PATH 上其他 pnpm 大版本影响。
Profile 的依赖由 pnpm 10.x(store v10)安装;如果 PATH 上的 pnpm 是其他大版本(如 11.x),终端里手动执行 dsh plugin 会报 ERR_PNPM_UNEXPECTED_STORE,pnpm 会拒绝继续。插件管家在页面内执行操作时不受影响——它会优先使用 Profile 内置的 pnpm 10.34.5(<profile>/node_modules/.bin)。终端手动执行时,把 Profile 内置 pnpm 放到 PATH 最前即可:
$env:PATH = "$env:USERPROFILE\.dsh\profiles\web\node_modules\.bin;$env:PATH"
dsh plugin --profile web remove some-plugin
当前版本针对 @deepseek-ai/dsh 0.1.0-rc.7 构建。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: plugin-manager。