前言¶
在 DeepSeek Harness(DSH)里接足够多的 MCP 服务或 Skills 之后,常见两类问题:模型可见的工具目录不断膨胀,挤占真正任务相关的上下文;同时所有能力在提示里「平铺」展示,模型反而更容易选错工具。传统做法是尽量精简安装列表,或手动关掉部分暴露——但能力本身仍可能需要,只是不应常驻在模型面前。
下面介绍社区插件 dsh-capability-gateway(维护者 xiaomao361,分类:联网工具)。它把用户勾选纳入管理的 Skills 与 MCP 工具从模型默认目录里收起来,改由单一工具 capability 按意图搜索、读 schema 或说明后再调用。插件同时提供 Host 与 Client 能力;不代理远程流量、不额外架设服务端、也不把数据发往外部。
这是什么¶
dsh-capability-gateway 的定位是:在 DSH 中,对已 opt-in 的第三方 Skills 与 MCP 工具提供按需网关(README 英文摘要:One on-demand gateway for opt-in third-party skills and MCP tools in DeepSeek Harness)。当前 package 版本为 0.6.0,许可证 MIT,依赖 DSH 引擎 0.2.1-rc.5。
与「全部工具长期挂在 system prompt」相比,网关侧的变化包括:受管的 Skills 离开模型面向的 skill 目录(仍可由用户触发,经 capability 加载);受管 MCP 保留原生执行链与权限校验,但工具 schema 不再直接进入提示;模型侧主要只看到一个 capability 工具,另在 system prompt 中加入有上限的能力名称索引(仅名字,无描述与 schema)。
核心功能¶
暴露模型与 PTC 行为¶
- Managed skills:从模型可见 skill 目录移除,经
capability的load等动作按需加载说明与目录。 - Managed MCP:
mcp__<server>__*类工具 schema 从提示中移除;call仍走原生权限与 guard 链。 - PTC mode:保留
run_code与capabilitySDK 绑定;受管 MCP 声明省略,搜索/描述后再经tools.capability调用。 - promptIndex / promptHint:可配置是否在提示中加入能力名索引与「能力在
capability之后」的指引;索引字符上限默认 2000(配置范围 200–6000)。
capability 工具动作¶
| Action | 用途 |
|---|---|
search |
按目标、短关键词或名称找候选 |
load |
返回某 skill 的说明与 base 目录 |
describe |
返回单个 MCP 工具的 JSON Schema |
call |
调用 MCP 工具;先按 schema 校验参数 |
status |
网关是否启用及管理范围概况 |
inventory |
紧凑统计、根目录、覆盖与异常摘要 |
history / stats |
当前会话路由元数据与窗口统计 |
report |
导出周报 Markdown |
搜索策略偏保守:无匹配时返回 not_found 并指向原生路径,网关不会自行调用上游工具。
别名与中文检索¶
中英文描述词面不一致时,可通过配置别名缩小 gap,例如:
skillKeywords:
release-notes: [发布说明, 变更记录]
或通过 keywordPacks 引用 JSON 包;Skill 也可在 SKILL.md 中用 keywords: 声明别名。无效 pack 不阻断启动,状态与设置页会标出覆盖不完整项。
本地日志与隐私¶
本地 journal 记录搜索与调用的元数据(动作、目标名、路由、结果、错误码、耗时、候选名与排名、插件版本等),不记录查询原文、工具参数、结果正文或错误体。默认目录为 $DSH_HOME/data/capability-gateway(配置键 logDir)。设置页可查看用量统计与运行时记录,并导出报告。
安装与启用¶
在 DSH profile 目录下安装包并注册 bundle(命令与片段来自官方 README):
# from your DSH profile directory
pnpm add link:/path/to/dsh-capability-gateway # or: pnpm add dsh-capability-gateway
在 ~/.dsh/profiles/<profile>/package.json 中注册,使插件层生效:
{
"dependencies": { "dsh-capability-gateway": "link:/path/to/dsh-capability-gateway" },
"dsh": { "profile": { "bundles": [
"@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-capability-gateway"
] } }
}
安装后打开 Settings → Built-in plugins → Capability gateway → 配置,选择 MCP 服务与 skill 目录,核对增删后保存;Host 会持久化并重载配置。
也可手动 patch(注意:id 为 capability-gateway 的 patch 会整体替换 config,需重复写出所有需要的键):
# ~/.dsh/profiles/<profile>/cordis.patch.yml
- id: capability-gateway
config:
skillRoots:
- '~/.agents/skills'
mcpServers:
- my-mcp-server
包默认不管理任何 skill/MCP,范围由安装后的配置决定。重载插件或重启 DSH 后,设置页路径为 Settings → Built-in plugins → Capability gateway。
主要配置项¶
| Key | 默认 | 含义 |
|---|---|---|
enabled |
true |
false 时插件不生效,恢复原生暴露 |
skillRoots |
[] |
由网关提供服务的 skill 目录 |
mcpServers |
[] |
受管 MCP 服务名 |
wrapSkills / wrapMcp |
true |
分别开关 skill / MCP 包装 |
mcpKeywords / skillKeywords |
{} |
别名映射 |
keywordPacks |
[] |
按序合并的 JSON 别名包 |
promptHint / promptIndex |
true |
提示指引与名称索引 |
promptIndexChars |
2000 |
索引字符上限 |
maxResults |
5 |
搜索返回候选数(1–10) |
logDir |
$DSH_HOME/data/capability-gateway |
日志目录 |
设置页还提供范围选择、Search lab(与模型同一套排序逻辑,不执行 MCP、不写 journal)、效果与诊断等 workflow;并发编辑会被拒绝,保存失败时应先确认当前生效范围再重试。
典型用法¶
模型或开发者侧的可复现路径可以概括为:
- 在配置中把需要的
skillRoots与mcpServers纳入管理并重载。 - 用
capability的search按任务意图或名称找候选(设置页 Search lab 可先行验证排序与匹配原因)。 - 对 skill 使用
load拉取说明;对 MCP 先用describe看 schema,再call传参。 - 需要排查时用
status、inventory;需要会话级统计时用history/stats;需要汇总导出时用report。
示例别名配置见上文 YAML;完整动作表见 README 中 The capability tool 一节。
适用场景与注意¶
适合:已安装较多 MCP 与 Skills、希望压缩模型侧工具定义体积,又希望保留按需调用能力的使用者;需要在中文 query 与英文 skill 描述之间建立别名映射的团队。
注意:
- 插件在当前 DSH 进程权限下运行,安装前应自行审阅 GitHub 源码 与 MIT 许可证;社区目录 SkillHub 插件页 与 DeepSeek / 幻方无官方从属关系,并非官方应用商店。
- 未纳入
skillRoots/mcpServers的能力仍走 DSH 原生暴露路径;网关关闭(enabled: false)时行为与未安装包装时一致。 - 受管 MCP 的执行仍受 DSH 原生权限链约束;网关只改变「如何进入模型上下文」,不替代安全策略。
结尾¶
dsh-capability-gateway 用单一 capability 入口把 opt-in 的 Skills 与 MCP 从常驻工具目录改为按需发现与调用,并辅以名称索引、别名与本地元数据日志,缓解工具目录膨胀与误选问题。进一步了解与 issue 反馈见 GitHub;浏览社区条目见 SkillHub 目录页。
- 目录页:https://www.skillhub.cn/plugins/xiaomao361/dsh-capability-gateway
- GitHub:https://github.com/xiaomao361/dsh-capability-gateway