把已有的 Agent Skills(SKILL.md)技能库带进 DSH:扫描 Claude/Codex/Cursor/Gemini 技能目录、注入渐进式索引,按需加载技能正文。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:Jesse-njx/dsh-skillport
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
你在 Claude Code、Codex、Cursor、Gemini CLI 里已有的每一个 skill,都能在 DSH 里直接用。
dsh-skillport 是 DeepSeek Harness 的插件 bundle,让 DSH 成为开放 Agent Skills 标准(SKILL.md)的下一个实现者。Anthropic 在 2025 年 12 月发布该规范后,30+ 个 harness(Codex CLI、Cursor、Gemini CLI、Copilot/VS Code、Goose、Windsurf)都在读取它;DSH 之前不支持。Skillport 让你零迁移导入整个既有生态:你的 .claude/skills/ 技能库、Cursor 规则、Claude Code 斜杠命令,在插件加载的瞬间全部变成 DSH skill。
你得到什么
| 格式 | 来源 | 在 DSH 中的形态 |
|---|---|---|
Agent Skills SKILL.md |
.claude/skills/、~/.claude/skills/(Claude Code) |
模型可调用的 skill |
Agent Skills SKILL.md |
~/.gemini/antigravity/skills/(Gemini CLI) |
模型可调用的 skill |
Agent Skills SKILL.md |
extraPaths(配置) |
模型可调用的 skill |
Agent Skills SKILL.md |
.dsh/skills/、.agents/skills/(含用户级目录) |
DSH 原生扫描 —— skillport 绝不重复扫描 |
| Cursor 规则 | .cursor/rules/*.mdc |
转换为模型可调用的 skill(来源 cursor) |
| Claude Code 命令 | .claude/commands/*.md |
转换为用户可调用的 skill(/name) |
| 上下文文件 | AGENTS.md、CLAUDE.md |
仅当 DSH 未原生处理时注入为项目上下文(原生 dsh-agent-instructions 优先 —— 不双重注入) |
技能汇入原生 skill 注册表(ctx.skills),平台自带的目录注入、渐进式披露索引和 skill 加载工具会自动承载它们。所有注册都是 Cordis effect:dsh plugin remove @dsh-skillport/bundle 会干净地卸载每一个导入的 skill —— 这是平台卸载模型的现场演示。
为什么是这个形态
DSH 自带完整的 skill 技术栈:带 rank 去重的 provider 注册表、目录注入(系统提示里的名字 + 描述)、以及加载正文并解析捆绑文件路径的 skill 工具。Skillport 的职责更窄、更诚实:发现 DSH 未覆盖的位置、转换相邻格式、让结果可调试。这正是规范里「先检查 —— 不要双重注入」原则在整个面上的落实:
.dsh/skills+.agents/skills由 DSH 原生的dsh-skill-filesystem扫描;skillport 检测到该 provider 就跳过这两组(仅当原生 provider 缺失时才自行扫描兜底,保证任何组合下完整覆盖)。- 规范里的「注入」(名字 + 描述)和「use_skill」(加载正文 + 解析资源)就是原生
dsh-tool-skill的目录与skill工具 —— skillport 为它们供料,而不是重复造轮子。 AGENTS.md/CLAUDE.md由dsh-agent-instructions原生注入;只有在该插件缺失时 skillport 才接管。
安装
dsh plugin --profile web add @dsh-skillport/bundle
然后在会话里:让模型加载一个你以前在 Claude Code 里用过的 skill —— 目录会列出它,skill 工具会加载它,捆绑资源一并可用。
配置
所有字段均可选(profile patch 或 cordis.patch.yml):
plugins:
dsh-skillport:
sources: [dsh, claude, agents, gemini] # 扫描哪些发现组
extraPaths: [] # 额外的 SKILL.md 目录
convert:
cursorRules: true # .cursor/rules/*.mdc → skill
contextFiles: true # AGENTS.md / CLAUDE.md(DSH 原生处理时跳过)
claudeCommands: true # .claude/commands/*.md → 用户可调用 skill
maxIndexEntries: 100 # 提示词膨胀上限:超过后模型可调用候选降为用户可调用,
# 由 find_skill 承载
providerName: skillport # 注册表中的 provider 名
Skills doctor
触发质量是最大的模糊失败模式:为 Claude 触发习惯调优的 skill,在 DeepSeek 模型上可能触发方式不同。Skillport 把它变成可调试的表面。
会话内(/skills doctor [<描述>]):
/skills doctor
## project-claude (1)
- commit-helper — Craft conventional-commit messages from staged changes.
## project-dsh (1)
- deploy — Deploy the application to staging or production with rollback.
/skills doctor deploy the app to production
Test-fire: "deploy the app to production"
- deploy [skillport/project-dsh] score=0.83
"Deploy the application to staging or production with rollback."
终端(无需 DSH 会话):
skills-doctor --cwd ~/work/projectx list
skills-doctor --cwd ~/work/projectx test-fire "deploy the app to production"
固定规范修订版
Agent Skills 格式还很年轻且有版本。Skillport 固定它实现的修订版 —— 见 docs/spec-revision.md —— 并附带一致性 fixture 套件(缺字段、unicode 名、嵌套资源),让规范漂移在 CI 中响亮失败。
非目标(有意为之)
- Claude Code 插件 / hooks / subagents —— 可执行的主机特定语义;移植文字与脚本是诚实的,假装移植 hook 系统是 bug 工厂。
- MCP 配置转换 —— 不在范围内。
- Codex / Cursor 扩展二进制 —— 不在范围内。
- Skillport 永远没有自己的执行路径:带脚本的 skill 通过 DSH 常规 shell 工具在其沙箱内运行,沙箱策略始终是唯一执行点。
开发
pnpm install
pnpm build
pnpm test # 60 个测试:规范一致性、发现、去重、转换、doctor、
# find_skill、插件集成、CLI、goldens
Fixture:test/fixtures/ 里每种来源格式一个 skill、一致性边界用例,以及注入索引与 doctor 报告的已入库 golden。
许可证
MIT
链接
同类插件
Tencent/WeKnora#dsh-weknora★ 30675
把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己带引用的 RAG 或 ReAct agent 回答(含可续聊的 session id)。
superdesigndev/treg★ 3596
给 Agent 的工具目录:按「要做的事」检索约 2,600 个外部接口(SEO 与 SERP、外链、社交、人物与公司信息补全、广告库、抓取),查看参数与单次调用价格后直接调用,凭据由服务端注入。附带技能,MCP 行在未设置 TREG_TOKEN 前保持禁用。
TencentCloudBase/CloudBase-AI-Toolkit#dsh-plugin★ 1126
把腾讯云 CloudBase 后端接入 DeepSeek Harness——在对话里搭好并部署全栈应用,查询结果渲染为表格卡片(分页、排序、导出 CSV),部署后可预览真实域名,并提供 CloudBase MCP 工具集(`mcp__cloudbase__*`),登录走 device-code 流程。
gitroomhq/postiz-agent#dsh-postiz★ 496
通过 MCP 将 DeepSeek Harness 连接到 Postiz:列出已连接的社交媒体渠道、获取各平台发帖规则,并向 X、LinkedIn、Instagram、Facebook、Threads、TikTok、YouTube、Reddit、Bluesky、Mastodon、Discord、Slack、Telegram 等平台排期、存草稿或发布帖子;附带 postiz 工作流技能。
EthanYoQ/Invoice-Downloader#dsh-invoice-downloader★ 446
面向 DeepSeek Harness 的本地 IMAP 发票下载、OCR 识别、归档与 Excel 报销汇总。
anysearch-team/anysearch-dsh★ 430
基于 AnySearch 的实时网页与垂直搜索插件,为 DeepSeek Harness 提供搜索工具。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。