PKUfudawei/dsh-capability-menu
capability-menu
Unified capability menu for DeepSeek Harness: manage exposure level (context footprint) and execution mode of MCP tools & skills via Exposed/Progressive/Blocked tiers.
Install
npx @deepseek-ai/dsh plugin --profile web add @daweifu/capability-menuRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-capability-menu)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from PKUfudawei/dsh-capability-menu, cleaned of badges and images.
<strong>为 DeepSeek Harness 提供统一的能力菜单管理 Tools 和 Skills 的暴露水平 (上下文占用大小) 和执行方式</strong><br> 海量tools/skills也不会塞满一次请求, 节省token和上下文<br> MCP 工具与 Skill 按 exposed/progressive/blocked 三级管理暴露程度和执行方式
<br/>dsh-capability-menu 是一个可独立安装的 Cordis 插件(服务端 @daweifu/capability-menu,前端配套 @daweifu/capability-menu-web),为 DeepSeek Harness 提供统一的能力目录(ctx.meta)、两个元工具(meta_search / meta_invoke),并以 Exposed / Progressive / Blocked 三档管理所有能力的暴露程度和执行方式。配套前端「能力菜单」管理 tab(MCP tools / Skills 两栏,分类可点击循环切换)让你在设置页直接调整这些策略。它不修改上游源码,通过 Cordis 插件机制与 Harness 组合进同一个运行时——核心的智能体、模型、工具、会话、Web UI 与插件生态都来自上游项目。
快速安装
前置:已安装 Node.js 与 dsh CLI(dsh plugin 内部会转发给 pnpm)。
服务端与前端两个包均已发布到 npm(@daweifu/capability-menu 与 @daweifu/capability-menu-web):
dsh plugin --profile web add @daweifu/capability-menu
dsh plugin --profile web add @daweifu/capability-menu-web
第一条安装服务端插件(registry / search / invoke / policy 四个 entry),第二条安装前端「能力菜单」tab。装完后在「设置 / 通用设置」下即可看到「能力菜单」。
验证(应看到本包自己的 patch 层):
dsh --profile web --dump-config | grep -E 'capability-menu'
# == @daweifu/capability-menu
- id: capability-menu-registry
name: '@daweifu/capability-menu/registry'
- id: capability-menu-search
name: '@daweifu/capability-menu/search'
- id: capability-menu-invoke
name: '@daweifu/capability-menu/invoke'
- id: capability-menu-policy
name: '@daweifu/capability-menu/policy'
卸载:
dsh plugin --profile web remove @daweifu/capability-menu
dsh plugin --profile web remove @daweifu/capability-menu-web
能力模型
Capability 是上位概念,Tool / Skill 是不同类型的 capability,不是「两种工具」:
| kind | 对 Agent 提供 | action | 备注 |
|---|---|---|---|
tool | 执行一个动作(MCP 工具) | execute | 由 ctx.tools 索引 |
skill | 某类任务的方法/流程/知识 | load | 由 ctx.skills 索引 |
execute/load是 capability 对外声明的规范 action:tool 的execute在底层由ctx.tools.execute走完整工具管线执行;skill 的load加载方法/流程正文。当前版本(0.1.0)只有这两种 kind 与两种 action。
模型获得两个元工具:
| 工具 | 作用 | 对应 entry |
|---|---|---|
meta_search | 检索能力目录(Tool / Skill),list/detail 双模式 | @daweifu/capability-menu/search |
meta_invoke | 统一执行面:Tool 真执行(走完整 ctx.tools 管线)+ Skill 加载 | @daweifu/capability-menu/invoke |
边界:Command / Prompt / Memory 不是可发现可调用的能力,不进 registry。需要查知识/文档时直接用底层检索类 MCP 工具(如
mcp__km__search),它们和其他 MCP 工具一样被meta_search编目、被meta_invoke转发。边界:非
mcp__前缀的原生工具(bash/read/write/edit/read_image/glob/grep等)不进 registry——不被meta_search编目、不被meta_invoke派发、也不出现在能力管理列表中。它们只受投影链裁剪可见性;且因不可meta_invoke,一旦被投影掉就真的不可调用,所以请保留在tools.exposed保活(见下方配置示例)。
核心:Exposed / Progressive / Blocked 三档能力策略
所有能力(Tool 与 Skill)按 暴露程度(模型在上下文中看到什么)与 执行方式 分为三档:
Tools / Skills 三档暴露与执行对照
…
