@astron-team/skillhub-dsh
Browse and search a SkillHub registry and manage local skill installation, updates, and removal inside DeepSeek Harness. Targets DSH 0.2.0-rc.2 and 0.2.1-rc.2; not yet compatible with 0.2.1-rc.3.
Install
dsh plugin --profile web add @astron-team/skillhub-dsh
Sandbox test results
| Stage | Result |
|---|---|
| 1 install | ✗ |
| 2 list | — |
| 3 mount | — |
| 4 boot | — |
dsh: initialized profile web at /home/node/.dsh/profiles/webFour stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).
README
SkillHub for DeepSeek Harness
[English](README.en.md)
SkillHub 的 DSH 原生插件。在 DSH 侧栏打开 技能中心,匿名浏览、搜索、查看技能详情,并管理安装、升级和卸载;对话中也可搜索和明确请求安装技能。插件内置本地安装核心,无需另装 SkillHub CLI。
0.2.0 新增来源可核验的搜索安装状态:广场卡片和对话工具可识别当前来源的受管理安装版本、用户/项目范围及异常记录;对话保留查询时快照。未发现本来源记录不代表其他市场或手工安装不存在,文件存在也不代表 DSH 已启用该技能。按来源、命名空间和技能标识匹配;不按同名目录认领其他来源技能。
0.2.1 缺省连接 https://skill.xfyun.cn;显式空串或仅空白仍表示断开,已有自定义地址保留。插件不继承 CLI 的默认地址或凭证。
0.4.0 使用独立标签 dsh-v0.4.0,提供技能案例与原生输入框衔接、对话管理已安装技能及按安装位置独立维护版本。保留 0.3.1 的双 RC 兼容范围。公开可用状态以 npm 为准;本地构建的 tarball 可按下文独立验证。
0.5.0 新增技能卡片及对话中的只读可用性诊断,分别报告文件完整性、宿主发现和调用策略,保留 0.4.0 的兼容范围及库存格式。
0.6.1 包含受管理技能启停、统一只读检查更新,以及横向已安装卡片和更多菜单。共享库存继续使用 v2,不要求用户同步升级 CLI;已通过与 CLI 0.2.0 的真实旧包兼容验收。公开可用状态以 npm 为准。
0.6.2 为本轮补丁候选,汇总多来源与更新隔离、升级变化预览及本地文件修改处理、单技能 ZIP 导入导出、本机收藏,以及 DSH 0.2.1-rc.5 兼容适配。共享库存保持 v2,不要求升级 CLI。候选与公开包分别验收,公开可用状态以 npm 为准。
使用已安装技能
市场、已安装列表和对话中的日常列表均按技能展示。点击“使用技能”,由 Host 核验当前会话实际可用的唯一安装;不会让用户猜安装位置。技能中心入口在同一工作区新建对话,对话内入口保留当前会话。案例显示在原生输入框上方,确认案例或自定义任务后填入可编辑草稿;不会自动发送、调用模型或覆盖原会话草稿。
已安装卡片的更多菜单中,“管理安装”进入技能详情,右侧直接展示每个位置的版本和状态,可明确使用此位置、检查更新、启停或卸载。全停用或状态无法确认时先进入管理安装。安装范围放在安装确认的高级选项中,未安装技能仍默认安装到当前用户。
需要当前活动会话。被项目同名技能覆盖、本地文件变更、禁止用户调用或会话/来源变化时会提示原因;历史回执不能代替当前安装状态。此功能自 0.4.0 起提供。
本地技能包导入与导出(0.6.2)
在“已安装”页面点击“导入技能包”,选择根目录含 SKILL.md 的 ZIP。预览后选择“仅此项目”或“所有项目”,确认才会安装;已有同名目录时拒绝覆盖。首期不支持套件、多技能包或自动识别嵌套目录,压缩包最多 8 MiB,展开仍受共享安装核心的文件数和大小限制。
导入项显示“本地导入”,可以使用、诊断、启停和卸载,不参与市场更新检查。导入无需登录或 Registry 连接,不会执行包内脚本。包内安装器元数据不能用于认领市场来源;本地导入记录位于 DSH 私有状态目录,不改写旧 CLI 共享库存。旧版本不会显示这些导入记录。
在技能详情右侧“安装管理”中,打开目标位置的“管理”菜单,选择“导出技能包”即可下载 ZIP。导出包含该位置的实际文件及本地修改,保留资源和 .skillhub/examples.json,排除 .skillhub/metadata.json。停用安装只在 ZIP 内恢复标准入口,不启用原安装。导出不会自动清理作者文件中的私密内容,分享前需自行核对。
环境与验证范围
项目 · 要求或范围
DSH · 0.6.2 候选支持 0.2.0-rc.2、0.2.1-rc.2、0.2.1-rc.5;Host、app-boot 与注入 Client 模块必须属于同一精确发行版
Cordis · 0.2.0-rc.2 保留以下两组完整组合;0.2.1-rc.2 与 0.2.1-rc.5 仅使用 4.0.5 / 1.0.6 / 1.0.10 / 1.1.7
Host Node · >=24.2.0 <25;不能使用 Node 24.0.0
开发包管理器 · Bun 1.3.13,按锁文件安装
当前 UI · 中文;支持 DSH 深浅主题和窄屏
已验证环境 · 历史双RC2验收见既有记录。本轮Linux:RC5在Node 24.2.0/24.17.0原生探针通过,两个RC2在Node 24.2.0回归通过;浏览器及其他维度按第53节分别记录
验证边界 · 历史功能证据不自动覆盖RC5。本轮远程CI、原生Windows/macOS、真实模型和SaaS未执行;候选包与公开npm包分开验收
Windows 浏览器验证不等于 Windows 原生 Host 的全部文件操作已经验证。CI 的平台矩阵也不替代真实桌面、模型及目标实例验收。完整支持边界见仓库内的 [兼容设计](../../openspec/changes/add-dsh-native-plugin/compatibility-design.md) 和 [验收标准](../../openspec/changes/add-dsh-native-plugin/acceptance.md)。
0.3.1 包含已合并的 Issue #981 兼容修复;已发布的 0.3.0 不包含此修复。其他 RC、未来发行版、混装模块和 Host/Client 版本不一致均拒绝新写入。可选 userQuestions 按宿主服务是否可用启用,缺失时仍回退插件确认框;其版本不属于必需写入门禁。三个已列 RC 的问答 API 一致,peer 声明允许这些精确版本,不据此承诺其他版本兼容。
0.6.2 候选新增 0.2.1-rc.5 的支持范围与验收按 [兼容设计](../../openspec/changes/add-dsh-native-plugin/compatibility-design.md) 及任务第53节的验证记录维护;新增版本不表示公开 npm 0.6.1 已具备同等支持。平台、Node边界、浏览器与模型验收分别记录,发布另行安排。
构建与打包
在仓库根目录执行:
cd cli bun install --frozen-lockfile cd ../plugins/dsh bun install --frozen-lockfile bun run check npm pack --dry-run --ignore-scripts
dsh-typert-generator 固定在 0.2.0-rc.2 以生成已列宿主共用的 RPC 契约;其他 DSH 开发依赖按 0.2.1-rc.2 类型检查。生成器版本不是宿主版本绕过条件。
check 依次构建 Host、Client、Remote 绑定与类型声明,执行 typecheck、lint 和测试。插件 lint 使用 cli/ 中锁定的工具。Bun 仅用于开发构建,包内 Host 在 Node 上运行;React/React DOM 由 DSH 提供。
检查通过后,将候选包保存到仓库外的独立目录:
npm pack --ignore-scripts --pack-destination /absolute/path/to/candidate-output
输出目录须先创建。--dry-run 不生成 tarball;实际安装使用生成的 .tgz。保留每次候选包及其校验值,不覆盖已经用于验收或回退的包。
本版沿用以下完整组合,不接受交叉混装或未列出的补丁版本。DSH 主包中的 ~ 依赖不会因主包版本固定而自动锁定;以实际宿主解析结果为准。
组合 · Cordis · Loader · Include · Timer
保留基线 · 4.0.4 · 1.0.5 · 1.0.9 · 1.1.6
新补丁组合 · 4.0.5 · 1.0.6 · 1.0.10 · 1.1.7
已发布的 0.1.0 尚不包含新补丁组合与历史回执修复;它仍要求原 Cordis 4.0.4 基线。插件仅从核验后的当前上下文读取历史回执对应的库存,不恢复旧安装引用或计划的写授权。
从 npm 安装
先查询 npm 上的精确版本,确认可用后安装。核对 DSH、Node 和上表完整 Cordis 组合,停止目标 Web Profile 的 Host,再执行插件安装;也可按下一节安装已验证的本地 tarball:
npm view @astron-team/skillhub-dsh@0.6.2 version dsh plugin --profile skillhub-test add @astron-team/skillhub-dsh@0.6.2 --ignore-scripts dsh --profile skillhub-test --host 127.0.0.1 --port 0 --no-open
skillhub-test 替换为实际 Web Profile;首次创建方法见下一节。未配置 registryUrl 时默认使用 https://skill.xfyun.cn。如需自建实例,在插件设置中修改来源并测试、保存;显式保存空地址可断开。npm 查询或下载失败与插件加载失败应分别诊断。
从旧版本升级
共享库存保持严格 v2,不写入 installationState;启停状态从可信的 SKILL.md / SKILL.md.disabled 入口派生,不要求 CLI 用户同步升级。已发布 CLI 0.2.0 的正常查询和普通目标管理必须继续兼容;默认更新、同步及 Suite 不得无意重新启用停用目标。旧 CLI 显式 force 重装、更新、同步仍按原覆盖语义执行,可能恢复标准入口;显式 remove 仍可删除,新版重新读取须反映真实变化。
读取 v1/v2 不迁移。未发布构建产生的 v3 必须在身份、入口与未完成事务校验后,同锁保存原字节备份并安全转换为 v2;不能恢复过时备份覆盖新记录。旧 DSH 普通管理日志保持兼容,启停日志隔离影响。已通过真实旧包交替操作的兼容验收;公开可用状态以 npm 为准。
案例由作者随技能包提供固定文件 .skillhub/examples.json,安装后保持相同位置,跟随技能版本和指纹,不创建另一个全局案例副本。无案例时使用自定义任务;无效声明按普通文件保留,不提供错误的案例入口。
安装本地候选包
以下命令针对上述 DSH Web 发行版。skillhub-test 是示例 Profile 名称,请始终使用同一 Profile 和 DSH home 安装、启动和维护。首次测试应使用独立测试账户或容器、工作区和测试技能;仅创建 Profile 或更改 DSH_HOME 不能隔离共享技能 inventory。
新建 Web Profile,仅首次执行:
dsh --profile skillhub-test --from-default-profile web --dump-config
停止使用该 Profile 的 Host,再安装本地包并启动:
dsh plugin --profile skillhub-test add /absolute/path/to/candidate.tgz --ignore-scripts dsh --profile skillhub-test --host 127.0.0.1 --port 0 --no-open
打开 Host 输出的本机访问入口。入口可能含访问凭证,不要复制到报告、截图或提交中。示例绑定回环地址;远程访问需按环境既有访问控制部署,不直接公开 Host。
已有 Web Profile 不重复创建。plugin add 自动创建的基础 Profile 不等同于 Web Profile。若 dsh 不在 PATH,可用已安装发行版的 node /absolute/path/to/@deepseek-ai/dsh/lib/bin.js 替换命令中的 dsh。
Loader entry ID 为 astron-skillhub;skillhub 是 Host/Remote 服务名。手写配置 patch 必须定位正确包的 Loader ID,不能修改其他插件的同名入口。
配置技能来源
进入 DSH Plugins/插件 → @astron-team/skillhub-dsh → SkillHub 设置。
1. 在“技能来源”卡片中选择来源,或添加、编辑来源。地址使用实例的 HTTP(S) 基础地址,可包含部署子路径;不要填写 API 路由、凭证、查询参数或片段。
2. 点击“测试连接”,使用当前草稿地址测试,不保存配置。结果显示公开目录可读或仅支持基础搜索及耗时;最长等待 10 秒,失败或超时可重试。修改地址后清除旧测试结果,连接成功不代表技能下载或所有可选接口可用。
3. 切换到“页面显示”标签,设置版本、安全审核及评论的显示方式;切换标签保留草稿,不会自动保存。
4. 点击“保存配置”,看到“配置已保存”后进入侧栏“技能中心”搜索公
…(truncated)
Rendered from the README published on npm. Formatted only, not edited.
Versions
Published on npm::11,最后更新 2026-11-04