dsh-skill-remote:DeepSeek Harness 的远程 skills.sh / GitHub 技能插件

前言

DSH 的智能体能力通常以本地技能为基础。实际使用中,有时还需要从 skills.sh 或公共 GitHub 仓库里查找技能包,并在确认合适后再安装到本机。

dsh-skill-remote 就是为这个场景提供的 DeepSeek Harness 插件:它会在会话技能目录中列出远程候选技能,并让模型在需要时调用安装工具,把技能包落到本地。

这是什么

dsh-skill-remote 是 CSY656 维护的 DeepSeek Harness 插件,定位为 Remote skills.sh/GitHub skill provider and installer plugin for DeepSeek Harness。

它主要解决两件事:

1、把远程技能候选和本地技能放在同一处展示;
2、在模型确认后,把远程技能包安装到本地,交给 DSH 内置的文件系统 provider 接管。

许可证为 MIT。

核心功能

远程技能候选

插件提供远程 skill provider,接口表现为 ctx.skills

它可以从 skills.shgithub.com URL 中发现候选技能,并与本地技能一起出现在会话技能目录中。技能内容按需加载,不会一开始就把所有远程内容全部拉进会话。

安装技能包

插件向模型提供 install_skill 工具。

模型调用该工具后,插件会把技能包原子化下载到:

$DSH_HOME/skills/<name>/

安装完成后,DSH 内置的文件系统 provider 会接管该技能,无需重启。

默认零网络

在未配置 remotes、也没有发生安装请求时,插件不会发起网络 I/O。

也就是说,它不会默认主动扫描网络资源。

支持的 URL 形状

下面介绍插件支持的三类远程 URL:

https://www.skills.sh/<owner>/<repo>/<skill>
https://github.com/<owner>/<repo>/tree/<ref>/<subpath>
https://raw.githubusercontent.com/<owner>/<repo>/<ref>/<subpath>/<file>

这些 URL 可以用于技能候选发现,也可以作为安装来源。

安装与启用

该插件要求 DeepSeek Harness next 线,即:

dsh >= 0.1.0-rc.6

并且对应 dsh-skill 0.1.0-rc.6

使用 npm 包安装时,执行:

dsh plugin --profile default add dsh-skill-remote

如果选择从 GitHub 源码安装,并且触发了 pnpm 构建许可,可能需要先在 profile 的 pnpm-workspace.yaml 中允许该包构建:

allowBuilds:
  dsh-skill-remote: true

然后重跑对应的 add 命令。

典型用法

让 agent 安装指定技能

下面示例可以直接交给 agent:

Install the skill at https://github.com/anthropics/skills/tree/main/skills/docx

经过上面的步骤,模型会调用 install_skill,将对应技能包安装到本地技能目录。

预注册只读 remote source

也可以在 profile 中预注册只读远程来源。示例配置如下:

# profile cordis.patch.yml
- update:
    - id: skill-remote
      config:
        remotes:
          - https://github.com/anthropics/skills/tree/main/skills/docx

配置项位于 config.remotes

安全限制

插件内置了一组硬编码限制,用于约束远程技能包的下载与安装过程:

限制项
单文件 1 MiB
整个 bundle 8 MiB
文件数量 64
递归深度 4
请求超时 30 s
路径逃逸 拒绝
符号链接 / submodules 跳过

安装过程是原子化的:技能包会先下载到同级 staging 目录,验证通过后才会重命名到目标位置。验证要求 SKILL.md 存在;任何失败都会移除 staging 目录。

适用场景与注意

适合以下场景:

1、在 DSH 中查看来自 skills.sh 或公共 GitHub 仓库的技能候选;
2、确认后把远程技能包安装到 $DSH_HOME/skills/<name>/
3、在插件目录中为 DSH 增加远程技能发现能力。

需要注意:

  • 插件以当前 dsh 进程权限运行。安装前应先检查源码与许可证。
  • 仅支持公共仓库:不读取、不保存、不发送 token;不涉及 OAuth 或私有仓库。
  • 未认证的 GitHub API 速率限制适用于 60 req/h per IP
  • 远程来源只发现直接子级,不会递归扫描整个仓库。
  • 没有版本固定能力:每次加载都会获取当前 ref tip;安装是唯一的持久化方式。
  • 安装会执行远程包内的构建逻辑,因此要确认来源可信。

结尾

dsh-skill-remote 的价值在于:它把远程技能候选纳入 DSH 的技能目录,并把“临时加载”变成一次可检查、可拒绝、可回退的本地安装。

仓库地址:

https://github.com/CSY656/dsh-skill-remote
羽毛球分组比赛记分
小程序二维码

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

小夜