- DSH
- 0.2.0-rc.2
- 系统
- Windows / macOS / Linux
- 风险
- high
本页目录(11)
先查看功能、兼容性、权限和同类选择,再按本文操作。
2026-10-06 更新到 Skills Manager 1.1.10,适配 DSH 0.2.0-rc.2
本页安装目标更新为 @michengai/[email protected],命令固定使用 DSH 0.2.0-rc.2。本站只做了固定版本的源码与发布包静态复核,没有安装或运行。
- 新增“技能仓库”。 添加公开 GitHub 仓库后,宿主从
codeload.github.com下载整个仓库的压缩包,不带凭据,也不校验签名或发布者;没有指定版本时跟随分支的最新内容。安装的技能写入$DSH_HOME/skills并自动启用(repositories.ts(外部链接,在新标签页打开))。插件不执行下载的文件,但技能会成为 Agent 可以调用的指令和脚本,只添加你信任的仓库,安装前先读完 SKILL.md。 - 技能接口没有身份认证。 它只检查请求的 Host、来源和一个自定义请求头(index.ts(外部链接,在新标签页打开)),旧版本也是这样。DSH 默认只在本机监听时不受影响;把 DSH 开放给局域网后,能连到端口的设备可以调用这些接口,包括添加仓库和安装技能。不要在对局域网开放的 Profile 里使用。
- 扫描的技能目录比 0.1.42 多很多:全局 21 个、项目级 17 个,来源默认启用(README(外部链接,在新标签页打开))。在不熟悉的项目里开会话前,先到“项目”页签停用不需要的来源。
- 从仓库更新技能是整个目录替换,旧版本留在备份目录里,不会自动清理。
- 标题区的“检查更新”会安装当时 npm 上的最新版并修改 Profile 依赖,会绕开本页固定的 1.1.10(plugin-updater.ts(外部链接,在新标签页打开))。需要可回退的组合时,用本页的精确版本命令。
- 1.1.10 声明的 DSH 版本是精确列表,包含 0.2.0-rc.2,不含 0.2.1-alpha.1;在 0.2.1-alpha.1 上会被拒绝安装或停用。
- 这个版本在本站复核时发布不到一天。
仍在使用 DSH 0.1.x: 本站此前记录的组合是 Skills Manager 0.1.42 + DSH 0.1.2-rc.1(提交 bd4c7dfe19dc)。1.1.10 的版本列表也包含 0.1.2-rc.1,但升级后会同时得到技能仓库和更大的扫描范围;本站没有在任何 DSH 版本上运行验证。升级前备份 Profile 文件和 skills-manager 目录。
升级 DSH 前怎样处理已装插件,见更新或卸载插件。
依据:固定证据 1(外部链接,在新标签页打开)、固定证据 2(外部链接,在新标签页打开)、固定证据 3(外部链接,在新标签页打开)、固定证据 4(外部链接,在新标签页打开)、固定证据 5(外部链接,在新标签页打开)。
<!-- END REVIEWED GUIDE SUPPLEMENT -->Skills Manager 1.1.10 统一管理本机与项目 Skills,新增从公开 GitHub 仓库安装、预览更新和备份回退,并扩展到 20 多种 Agent 技能目录。
如果你的目标是在 DeepSeek Harness 发现、启停、导入本机与项目 Skills,并从公开 GitHub 仓库安装和更新技能,本教程会说明如何在 DeepSeek Harness(DSH)中准备、安装、配置、验证和回退 dsh-skills-manager。本文锁定作者仓库提交 cc7e5f804569;已复核固定提交的原始资料,未进行运行实测。
对应插件:查看 dsh-skills-manager 的功能、权限与兼容性说明。先确认它适合你的工作流,再执行安装。
先确认是否适合你
- 分类:插件管理
- 风险等级:high
- 核验证据:source_reviewed
- 兼容性边界:1.1.10 的 DSH peer 是精确版本列表,包含 0.2.0-rc.2,版本声明通过 DSH 0.2.0-rc.2 的检查;列表不含 0.2.1-alpha.1。Node.js ^22.19.0 或 >=24。52DSH 仅做静态源码与发布包复核,未运行验证。
- 主要权限关注:读取 21 个用户级和 17 个项目级技能目录,可列出宿主任意路径下的子目录名;向 DSH Skills 写入创建、导入和仓库安装的技能,整目录替换更新,回收站可永久删除;宿主进程从 GitHub 下载仓库 ZIP;一键更新会启动安装进程并修改当前 Profile 依赖。
如果你准备在重要工作区使用,先阅读插件详情页的权限和数据流说明;“源码已审阅”或“资料已整理”都不等于安全认证。
安装前准备
本页 DSH 命令版本: 0.2.0-rc.2。1.1.10 声明的 DSH 版本是精确列表,包含 0.2.0-rc.2,不含 0.2.1-alpha.1。本页固定 DSH 0.2.0-rc.2,Node.js ^22.19.0 或 >=24。仅静态复核,未在本站运行验证。
- DSH 0.2.0-rc.2:1.1.10 的 DSH peer 是精确版本列表,包含 0.2.0-rc.2,不含 0.2.1-alpha.1;Node.js 需要 ^22.19.0 或 >=24。
- Skills 与 Profile 备份:备份 DSH_HOME 下的 skills 与 skills-manager 目录、项目 .dsh/skills,以及 profiles/web 下的 package.json、cordis.patch.yml 和 pnpm-lock.yaml。
- 仅本机访问的 DSH:技能路由没有身份认证,只校验请求来源。保持 DSH 默认的 127.0.0.1 监听;需要远程访问时先在部署层加认证。
- 可信的技能来源:安装或启用前逐篇阅读 SKILL.md 和随附脚本;仓库技能来自第三方 GitHub 仓库,插件不校验发布者。
- 能访问 GitHub 与 npm 的网络:只有使用技能仓库(codeload.github.com)或检查插件更新(registry.npmjs.org)时需要;不需要任何账号或 Token。
- 安装 Node.js 22.19、Node.js 24 或项目当前声明支持的更高版本,并确认
pnpm可用。 - 使用独立的
webProfile 和可丢弃测试工作区,不直接连接生产目录。 - 备份当前 Profile 配置,并记录安装前的
--dump-config输出。 - 核对固定来源中的外部服务、账号、运行时和平台限制。
- 需要凭据时只准备测试凭据;本页识别到的候选变量包括
DSH_HOME、DSH_AGENTS_HOME、DSH_CLAUDE_HOME、DSH_CURSOR_HOME、DSH_PROFILE_DIR。
安装 dsh-skills-manager
52DSH 使用目录中记录的精确安装目标,避免直接跟随可能变化的默认分支:
npx --yes @deepseek-ai/[email protected] plugin --profile web add @michengai/[email protected]
GitHub 源码插件如果被 pnpm 拦截构建脚本,先检查终端提示的具体包和脚本。只在 web Profile 中放行确实需要的构建项,不要全局放行未知依赖。
插件专属配置
配置目标
设置 → 技能:全局技能、项目技能、技能仓库、回收站四个页签;浏览、启停、创建、导入、从仓库安装和更新都在这里操作。插件没有 cordis.patch.yml 条目配置字段。$DSH_HOME/skills-manager/state.json:保存按来源和按技能的启停策略,不改写来源正文。文件损坏时所有技能会被停用并锁定写入。$DSH_HOME/skills-manager/repositories.json:保存已添加的 GitHub 仓库、上次扫描到的技能列表,以及每个仓库技能的安装来源、内容快照和备份记录。$DSH_HOME/skills:创建、导入和仓库安装的技能统一写入这里;项目技能只能创建到当前会话项目的 .dsh/skills。
环境变量
DSH_HOME(可选):决定用户级 DSH Skills、manager 状态、仓库缓存、备份、回收站和日志的根目录,默认是用户目录下的 .dsh。DSH_AGENTS_HOME(可选):覆盖公共 Agent 根目录,默认是用户目录下的 .agents;其 skills 子目录只读。DSH_CLAUDE_HOME(可选):覆盖 Claude Code 配置根目录,默认是用户目录下的 .claude;来源只读。Codex、Gemini、OpenCode、Cursor、Copilot、Windsurf、Trae、OpenClaw、Roo、CodeBuddy、WorkBuddy、Qoder、Lingma 各有同样形式的 DSH_<名称>_HOME 变量。DSH_CURSOR_HOME(可选):覆盖 Cursor 配置根目录,Skills 来源为该目录下的 skills;默认使用用户目录 .cursor/skills,来源只读。DSH_PROFILE_DIR(可选):一键更新用它确定要修改的 Profile 目录;未设置时使用用户目录下的 .dsh/profiles/web。
固定版本安装与配置检查
证据:固定来源(外部链接,在新标签页打开)。将路径、账号和凭据占位符替换为测试值。
npx --yes @deepseek-ai/[email protected] plugin --profile web add @michengai/[email protected]
npx --yes @deepseek-ai/[email protected] --profile web --dump-config
添加技能仓库时可填写的地址形式
证据:固定来源(外部链接,在新标签页打开)。将路径、账号和凭据占位符替换为测试值。
owner/repo
https://github.com/owner/repo
https://github.com/owner/repo/tree/<分支或标签>/<技能子目录>
安装后设置
- 停止正在运行的 DSH 后执行安装命令,再运行 npx --yes @deepseek-ai/[email protected] web 并刷新浏览器,打开设置 → 技能。
- 先在全局页签按来源查看列表,停用不打算让 DSH 使用的来源;来源默认全部启用,启停只写 manager 策略,不改其他 Agent 的源文件。
- 切到项目页签,核对当前会话项目里被识别的目录;在不熟悉的仓库中开会话前,先停用其中的项目来源。
- 使用技能仓库时,添加仓库后先点查看详情读完 SKILL.md,再逐项安装;安装会写入全局 DSH Skills 并自动启用。
- 不要把标题区的检查更新当成固定版本升级:它会安装当时 npm 的最新版。需要可回退组合时使用本页的精确版本命令。
配置验证与成功结果
先导出配置,再启动同一版本的 DSH Web:
npx --yes @deepseek-ai/[email protected] --profile web --dump-config
npx --yes @deepseek-ai/[email protected] web
-
在输出中查找 id: skills-manager 条目。
npx --yes @deepseek-ai/[email protected] --profile web --dump-config期望结果:合并配置中只有一个 skills-manager 条目,name 为 @michengai/dsh-skills-manager。
-
停用一个测试 Skill 并刷新列表。
期望结果:state.json 更新,来源 SKILL.md 内容不变,界面显示已停用而不是已卸载。
-
在全局页签创建一个最小测试 Skill,移入回收站后再恢复。
期望结果:技能目录出现在 DSH_HOME 的 skills 下,删除后进入 skills-manager/trash,恢复后回到原位置。
-
添加一个你自己的公开测试仓库,刷新后安装其中一个技能,再查看全局页签。
期望结果:技能显示仓库来源链接并处于启用状态;repositories.json 出现对应安装记录,同名技能不会被覆盖。
第一次使用
- 搜索一个测试 Skill,阅读完整正文和诊断,只修改它的启停状态。
- 对一个从仓库安装的测试技能点刷新并检查更新,在预览里查看新增、修改和删除的文件,先不确认替换。
数据、权限与凭据
**数据流:**本机与项目 Skills → manager 策略与 DSH skills provider;公开 GitHub 仓库 ZIP(codeload.github.com,无凭据)→ 本机缓存 → 用户逐项安装到 DSH Skills 并自动启用;启停策略、仓库订阅、缓存、备份和回收站写在 DSH_HOME 下的 skills-manager 目录;检查插件更新访问 registry.npmjs.org。不向外发送本地技能内容。
**权限关注:**读取 21 个用户级和 17 个项目级技能目录,可列出宿主任意路径下的子目录名;向 DSH Skills 写入创建、导入和仓库安装的技能,整目录替换更新,回收站可永久删除;宿主进程从 GitHub 下载仓库 ZIP;一键更新会启动安装进程并修改当前 Profile 依赖。
**数据存储:**启停策略在 $DSH_HOME/skills-manager/state.json;仓库订阅和安装记录在 repositories.json;下载的仓库 ZIP 缓存在 repository-cache,更新前的旧版本保存在 repository-backups 且不自动清理;删除的技能进入 trash;上传导入的临时文件在 uploads,完成后删除;操作日志写入 $DSH_HOME/dsh-skills-manager.log(含技能名和本机路径)。可写技能在 DSH_HOME 的 skills 和项目 .dsh/skills。
真实 Token、API Key、Cookie 和账号 ID 不应写进 Git 仓库、网页截图或公开 Issue。测试结束后撤销临时凭据。
卸载、回退与清理
停止 DSH 后,从同一个 Profile 移除包:
npx --yes @deepseek-ai/[email protected] plugin --profile web remove @michengai/dsh-skills-manager
- 停止 DSH,运行 npx --yes @deepseek-ai/[email protected] plugin --profile web remove @michengai/dsh-skills-manager,重启并确认设置里不再有技能管理页。
- 卸载不会删除数据:按需手动删除 DSH_HOME 下的 skills-manager 目录(策略、仓库记录、缓存、备份、回收站)和 dsh-skills-manager.log。
- 从仓库安装或导入的技能仍留在 DSH_HOME 的 skills 中,不再需要时逐个检查后删除;移除插件后 manager 的启停策略不再生效,DSH 与公共 Agent 目录中的技能改由 DSH 自身规则加载。
常见问题
安装时提示与当前 DSH 版本不兼容
1.1.10 只接受列表中的 DSH 版本,包含 0.2.0-rc.2,不含 0.2.1-alpha.1。核对正在使用的 DSH 版本,不要用版本豁免参数强行安装。
设置页空白或启动日志出现 duplicate prefix route
这是作者在 1.1.9 修复的路由残留问题;确认安装的是 1.1.10,完全停止 DSH 后再启动。
请求返回 403 forbidden host
访问地址不是回环地址或 DSH 信任的主机。回到本机地址访问,或在 DSH 侧配置信任主机;不要修改插件的来源校验,并记住这项校验不等于身份认证。
仓库刷新失败或提示归档超过 32 MiB
只支持公开 GitHub 仓库,指定子目录也要下载整库;检查到 codeload.github.com 的网络,或换用体积更小的仓库。扫描失败会保留上次的列表。
提示扫描缓存缺失或损坏
对该仓库重新点刷新并检查更新,再执行安装或更新;不要手动改动 repository-cache 里的文件。
一键更新不可用或返回 403
一键更新只接受本机回环的同源请求,并且需要识别到 DSH CLI 或 Desktop 安装服务。改用本页的精确版本安装命令。
找到技能但当前会话没有使用
检查实际生效的来源、项目页签是否对应当前会话,以及同名副本是否被停用;要彻底关闭一个技能需要停用它的全部副本。
安装成功但页面或命令没有出现
先运行 --dump-config 确认 Bundle 已进入 web Profile,再重启 DSH Web 并硬刷新浏览器。不要通过反复扩大权限来解决加载问题。
插件运行后没有得到预期结果
把问题缩小到本页的最小验证任务,检查作者文档要求的变量、外部服务和平台限制。保存终端错误原文,并核对当前安装目标是否仍对应本页固定提交。
作者固定资料中未识别到独立故障章节。遇到插件特有错误时,应先停止 DSH、保留日志并回退插件。
固定来源证据
以下资料是本文配置结论的依据:
继续查看:返回 dsh-skills-manager 插件详情页,重新核对兼容性、权限、同类插件和来源状态。
来源与维护信息
本文根据以下原始资料整理。版本变化后,请以官方资料和页面标注的验证日期为准。
- GitHub:MichengAI/dsh-skills-manager(外部链接,在新标签页打开)
- GitHub:MichengAI/dsh-skills-manager 固定提交 package.json(外部链接,在新标签页打开)
- GitHub:deepseek-ai/deepseek-harness 固定提交 plugin-compatibility.ts(外部链接,在新标签页打开)
- GitHub:MichengAI/dsh-skills-manager 固定提交 README.zh-CN.md(外部链接,在新标签页打开)
- GitHub:MichengAI/dsh-skills-manager 固定提交 README.md(外部链接,在新标签页打开)
- GitHub:MichengAI/dsh-skills-manager 固定提交 repositories.ts(外部链接,在新标签页打开)
- GitHub:MichengAI/dsh-skills-manager 固定提交 index.ts(外部链接,在新标签页打开)
- GitHub:MichengAI/dsh-skills-manager 固定提交 plugin-updater.ts(外部链接,在新标签页打开)