前言¶
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.sh 或 github.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