dsh-find-skill:为 DSH 接入技能搜索、安装与生命周期

前言

DeepSeek Harness(DSH)的理念是「一切皆插件」,社区目录作为独立站点提供插件线索,与 DeepSeek / 幻方没有官方从属关系。对智能体开发者来说,常见的问题不只是“能不能装一个技能”,还包括:技能从哪里找、装到哪个作用域、会话结束后是否自动清理。

dsh-find-skillvercel-labs/skills 技能生态桥接到 DSH,提供 LLM 驱动的技能搜索、安装和生命周期管理,覆盖临时、项目、全局三种作用域。

这是什么

dsh-find-skill 是一个 DSH 插件,维护者为 Moximxxx,许可证为 MITpackage.json 版本为 0.2.1。它把 vercel-labs/skills 生态接入 DSH,使技能搜索、安装和移除可以在临时、项目或全局作用域内完成。

运行要求如下:

  • Node.js:^22.19.0 || >=24.0.0
  • peerDependencies@deepseek-ai/cordis ^4.0.1,以及多个 @deepseek-ai/dsh-* ^0.1.0-rc.6

核心功能

skill_find

skill_find 通过官方 skills.sh API 远程搜索。候选携带安装数、来源、浏览链接和本地“已安装”标记。搜索候选不包含描述,描述在安装后才可获得。

skill_install

skill_install 通过官方 CLI 安装目标技能:

npx -y skills@latest

它会在隔离的一次性 work/home 环境内抓取,并将目标技能目录收养到托管作用域。临时技能仅安装它的会话可见;项目或全局技能写入托管根目录,并通过插件自有的 ctx.skills provider 暴露,rank 默认为 350,可配置。

skill_remove 与 /skill

skill_remove 支持从临时、项目、全局作用域移除技能。未指定作用域时,按 临时 → 项目 → 全局 顺序尝试。

/skill 命令面向人工操作,提供以下子命令:

find
install
update
sync
remove
list

其中 sync 面向 node_modules 中声明的技能。这类技能没有远程来源,update 不可用;需要重新 sync 或手动安装。

生命周期

临时技能的生命周期绑定到安装它的会话。agent 或会话销毁时,注册会自动回滚,物化目录随 session/disposed 清理。项目或全局技能会持久存在,直到被移除。

Web UI 卡片

dsh-find-skill-client 客户端包会为 skill_findskill_installskill_remove 工具调用渲染专用会话卡片。该卡片为只读展示,暂无安装或移除按钮交互,标签固定为英文。

安装与启用

插件以当前 dsh 进程权限运行。安装前应检查源码与许可证;该插件许可证为 MIT

从 npm 安装

dsh plugin --profile web add dsh-find-skill

安装后可用插件树确认它是否进入配置:

dsh --profile web --dump-config

本地 bundle 安装

如果已有本地检出,可先构建,再作为 bundle 安装:

dsh plugin --profile web add /abs/path/to/dsh-find-skill

源码构建与测试

从源码下载并构建测试:

git clone https://github.com/Moximxxx/dsh-find-skill.git
pnpm install --config.minimumReleaseAge=0
pnpm build
pnpm test

其中 pnpm install --config.minimumReleaseAge=0 用于满足 rc.6 依赖的安装要求。

开发期 overlay 加载可使用本地源码入口:

- insert:
  - id: dsh-find-skill
    name: /abs/path/to/dsh-find-skill/src/index.ts

典型用法

模型驱动安装

安装完成并加载插件后,模型可以在会话中按下面的步骤完成技能接入:

  1. 调用 skill_find 搜索候选技能。
  2. 调用 skill_install 安装目标技能。
  3. 通过 skill 工具加载该技能,或由用户直接输入技能名:
/<skill-name>

人工维护

如果需要查看、移除或同步技能,可使用 /skill 子命令:

find
install
update
sync
remove
list

注意 CLI stdout 仅供参考,技能安装结果以文件系统为准,也就是实际被收养的技能目录。

配置项

以下为已核实默认值:

searchApiBase=https://skills.sh
searchLimit=20
installDefaultScope=temp
projectSkillRoot=.dsh/skills-bridge
providerRank=350
compactDisposePolicy=keep

searchApiBase 是搜索 API 基址;searchLimit 是每次搜索的最大候选数;installDefaultScope 是默认安装作用域;projectSkillRoot 是项目托管根目录;providerRank 是 provider 候选的 rankcompactDisposePolicy 的默认策略为 keep

适用场景与注意

适合在 DSH 中接入 vercel-labs/skills 生态,并希望通过临时、项目或全局作用域管理技能的场景。

使用前注意:

  • 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
  • 搜索候选不包含描述,描述在安装后才可获得。
  • 临时技能仅安装它的会话可见;项目或全局技能会持久化到托管根目录。
  • node_modules 同步的技能没有远程来源,update 不可用,需要重新 sync 或手动安装。
  • Web UI 卡片为只读展示,暂无安装或移除按钮交互。
  • DSH 社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。

参考

dsh-find-skill 的价值,是把技能生态接入 DSH 的过程收敛为搜索、安装、作用域和清理四个可检查步骤。

GitHub 仓库:

https://github.com/Moximxxx/dsh-find-skill

插件线索中的目录页:

https://www.skillhub.cn/plugins/Moximxxx/dsh-find-skill

该目录页链接来自插件线索,未作为已核实资料使用。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜