# @daweifu/capability-menu 中文文档

规范地址：https://npmcn.com/package/%40daweifu/capability-menu/

版本：0\.1\.9
npm 元数据更新时间：2026-11-05T19:01:46.489Z
中文译文更新时间：2026-11-11T20:09:07.195Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40daweifu/capability-menu
原文对照：https://npmcn.com/package/%40daweifu/capability-menu/?lang=original
项目主页：https://github.com/PKUfudawei/dsh-capability-menu#readme
源码仓库：https://github.com/PKUfudawei/dsh-capability-menu

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：884 kB，60 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：3 个
- peer 依赖：react ^18\.2\.0，@deepseek-ai/cordis ^4\.0\.2，@deepseek-ai/dsh-llm ^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1，@deepseek-ai/dsh-agent ^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1，@deepseek-ai/dsh-scope ^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1，@deepseek-ai/dsh-skill ^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1，@deepseek-ai/dsh-tools ^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1，@deepseek-ai/dsh-session ^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1，@deepseek-ai/schemastery ^3\.18\.4，@deepseek-ai/dsh-api-remotes ^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1，@deepseek-ai/dsh-client-locale ^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1，@deepseek-ai/dsh-system-prompt ^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1，@deepseek-ai/dsh-client-ui-slots ^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1，@deepseek-ai/dsh-typert-protocol ^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1，@deepseek-ai/dsh-client-connection ^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1，@deepseek-ai/dsh-client-ui-renderer ^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1，@deepseek-ai/dsh-client-ui-settings ^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1，@deepseek-ai/dsh-client-ui-primitives ^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1
- 首次发布：2026-08-21T13:28:55.226Z
- 最新版本发布：2026-11-05T19:01:46.320Z
- 近 30 天下载量：3680（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：10（近 12 个月 10 个）

## 中文简介

DeepSeek Harness的统一能力管理:目录 (ctx.capaliable) + meta search/meta invoke + 居民/按需/残疾投影政策+QQ设置标签,在一个可安装的捆绑(服务器+浏览器)中.

## 安装

```sh
npm install @daweifu/capability-menu
```

也可以使用：`pnpm add @daweifu/capability-menu`、`yarn add @daweifu/capability-menu`、`bun add @daweifu/capability-menu`

## README

# dsh-capability-menu

**统一管理 DeepSeek Harness 工具与技能，高效检索、按需调用，节省上下文**

[![DeepSeek Harness 0.2.2-rc.1](https://img.shields.io/badge/DeepSeek%20Harness-0.2.2--rc.1-4D6BFE.svg?style=flat-square&labelColor=161b22&logo=deepseek&logoColor=white)](https://www.npmjs.com/package/@deepseek-ai/dsh) [![npm version](https://img.shields.io/npm/v/@daweifu/capability-menu.svg?style=flat-square&color=CB3837&labelColor=161b22&logo=npm&logoColor=white)](https://www.npmjs.com/package/@daweifu/capability-menu) [![CI](https://img.shields.io/github/actions/workflow/status/PKUfudawei/dsh-capability-menu/ci.yml?branch=master&label=CI&style=flat-square&labelColor=161b22&logo=github&logoColor=white)](https://github.com/PKUfudawei/dsh-capability-menu/actions) [![downloads](https://img.shields.io/npm/d18m/@daweifu/capability-menu.svg?style=flat-square&color=CB3837&labelColor=161b22&logo=npm&logoColor=white)](https://www.npmjs.com/package/@daweifu/capability-menu) [![GitHub stars](https://img.shields.io/github/stars/PKUfudawei/dsh-capability-menu?style=flat-square&color=dbab09&labelColor=161b22&logo=github&logoColor=white)](https://github.com/PKUfudawei/dsh-capability-menu) [![featured in awesome-dsh-plugin](https://img.shields.io/badge/featured%20in-awesome--dsh--plugin-8250DF?style=flat-square&labelColor=161b22&logo=github&logoColor=white)](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin)

**中文** · [English](https://npmcn.com/package/%40daweifu/capability-menu/README.en.md)

## 目录

-   [能力总览](https://npmcn.com/package/%40daweifu/capability-menu/#readme-%E8%83%BD%E5%8A%9B%E6%80%BB%E8%A7%88)
    -   [能力模型](https://npmcn.com/package/%40daweifu/capability-menu/#readme-%E8%83%BD%E5%8A%9B%E6%A8%A1%E5%9E%8B)
    -   [能力菜单](https://npmcn.com/package/%40daweifu/capability-menu/#readme-%E8%83%BD%E5%8A%9B%E8%8F%9C%E5%8D%95)
-   [安装与卸载](https://npmcn.com/package/%40daweifu/capability-menu/#readme-%E5%AE%89%E8%A3%85%E4%B8%8E%E5%8D%B8%E8%BD%BD)
    -   [从 npm 安装（推荐）](https://npmcn.com/package/%40daweifu/capability-menu/#readme-%E4%BB%8E-npm-%E5%AE%89%E8%A3%85%E6%8E%A8%E8%8D%90)
    -   [从源码安装](https://npmcn.com/package/%40daweifu/capability-menu/#readme-%E4%BB%8E%E6%BA%90%E7%A0%81%E5%AE%89%E8%A3%85)
    -   [验证安装](https://npmcn.com/package/%40daweifu/capability-menu/#readme-%E9%AA%8C%E8%AF%81%E5%AE%89%E8%A3%85)
    -   [卸载](https://npmcn.com/package/%40daweifu/capability-menu/#readme-%E5%8D%B8%E8%BD%BD)
-   [策略与目录](https://npmcn.com/package/%40daweifu/capability-menu/#readme-%E7%AD%96%E7%95%A5%E4%B8%8E%E7%9B%AE%E5%BD%95)
    -   [能力暴露规则](https://npmcn.com/package/%40daweifu/capability-menu/#readme-%E8%83%BD%E5%8A%9B%E6%9A%B4%E9%9C%B2%E8%A7%84%E5%88%99)
    -   [按需检索目录](https://npmcn.com/package/%40daweifu/capability-menu/#readme-%E6%8C%89%E9%9C%80%E6%A3%80%E7%B4%A2%E7%9B%AE%E5%BD%95)
-   [参与贡献](https://npmcn.com/package/%40daweifu/capability-menu/#readme-%E5%8F%82%E4%B8%8E%E8%B4%A1%E7%8C%AE)

* * *

## 能力总览

-   为 DeepSeek Harness 的 tools（包括 MCP 工具和内置工具）与 skills 建立统一能力目录：`ctx.capability`。
-   提供**常驻 / 按需 / 禁用**三档策略，管理能力的暴露与调用。
-   按需能力只在需要时提供给 Agent，减少单次请求携带的工具定义，节省 token 和上下文。

### 能力模型

Capability 是本插件引入的上位概念：Tool / Skill 是不同类型的 capability。

| kind | 对 Agent 提供 | action | 备注 |
| --- | --- | --- | --- |
| `tool` | 执行一个动作（MCP 工具或内置原生工具） | `execute` | 由 `ctx.tools` 索引 |
| `skill` | 某类任务的方法/流程/知识 | `load` | 由 `ctx.skills` 索引 |

模型获得两个元工具：

| 工具 | 作用 | 对应 entry |
| --- | --- | --- |
| `meta_search` | 搜索当前会话可用的按需能力；列表返回匹配总数、已返回数及是否截断，详情返回说明和工具参数 schema | `@daweifu/capability-menu/search` |
| `meta_invoke` | 统一执行面：Tool 真执行（走完整 `ctx.tools` 管线）+ Skill 加载；`force: true` 可重载已更新的 Skill | `@daweifu/capability-menu/invoke` |

### 能力菜单

![能力菜单的 Tools 页面：按服务器管理工具的暴露档位与检索描述](https://npmcn.com/package/%40daweifu/capability-menu/assets/screenshot-tools_chinese.png) ![能力菜单的 Skills 页面：按来源管理技能的暴露档位与检索描述](https://npmcn.com/package/%40daweifu/capability-menu/assets/screenshot-skills_chinese.png)

安装后，在「设置」导航中选择「能力菜单」，即可管理 Tools 和 Skills。

| 操作 | 用法 |
| --- | --- |
| 更改档位 | 点击能力旁的圆点；也可以点击顶部档位计数，批量切换该组能力 |
| 查找能力 | 使用页签下方的过滤框搜索名称或分组；支持正则表达式，不区分大小写 |
| 查看能力详情 | 点击 Tool 查看定义；点击 Skill 展开文件列表并预览文件，内容按 Markdown 渲染 |
| 注册能力 | 点击右上角「注册能力」，添加 MCP 服务器或 Skill 目录；Skill 支持本机目录或公开 GitHub 链接 |
| 编辑或移除 | 在 Tools 的服务器分组或 Skills 的技能项中点击「编辑」 |
| 查看规则和按需目录 | 点击页头右侧的「策略与目录」，查看生效规则及按需能力摘要；可在按需检索目录中调整描述上限 |
| 编辑检索描述 | 将 Tool 或 Skill 设为「按需」后，点击旁边的「检索描述」，在来源描述的简短版本上修改 |

-   **MCP 名称**：分组内省略 `mcp__服务器名__` 前缀；悬停可看全名，检索和调用仍用完整 ID。
-   **注册位置**：MCP 写入 patch 配置（自动创建缺失的文件和目录）；请求头等凭据也保存在其中，请妥善保管。Skill 在所选技能根目录创建链接或导入目录。
-   **GitHub Skill**：支持公开仓库的默认分支根目录（含 `SKILL.md`）、指定分支根目录 `.../tree/{branch}` 或其下的技能目录 `.../tree/{branch}/{skill-directory}`；也支持本机目录。导入需在运行 dsh 的机器上安装 Git；插件会校验 `SKILL.md`，只复制所选目录。
-   **Skill 更新**：从 GitHub 导入的 Skill 会在打开菜单时检查更新，页面打开期间每小时再检查一次；也可在 Skills 页手动检查、查看差异并单个或批量更新。只比较导入的 Skill 目录；本地修改会阻止覆盖。本地软链和预设 Skill 不支持自动更新。

## 安装与卸载

前置：[Node.js](https://nodejs.org/en/download)，以及已安装的 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)（确保终端中可运行 `dsh` 命令）。DSH `0.2.2-rc.1` 要求 Node.js `>=24.9.0`。从 npm 安装无需单独安装 pnpm；从源码安装需要 pnpm。

插件 `0.1.9` 适配 DSH `0.2.2-rc.1`，支持 Tool 三档分层和 `meta_invoke` 转发。

### 从 npm 安装（推荐）

```sh
dsh plugin --profile web add @daweifu/capability-menu
```

### 从源码安装

```sh
git clone https://github.com/PKUfudawei/dsh-capability-menu.git
cd dsh-capability-menu
pnpm install

dsh plugin --profile web add .
```

### 验证安装

```sh
cd "${DSH_HOME:-$HOME/.dsh}/profiles/web" && pnpm list @daweifu/capability-menu && dsh --profile web --dump-config | grep -m1 '== @daweifu/capability-menu'
```

### 卸载

```sh
dsh plugin --profile web remove @daweifu/capability-menu
```

## 策略与目录

这一章对应能力菜单中的「策略与目录」弹窗。

### 能力暴露规则

所有能力（Tool 与 Skill）按 **暴露程度**（模型在上下文中看到什么）与 **执行方式** 分为三档：

| 档位 | 能力 | 模型能看到什么 | 如何找到 | 如何使用 |
| --- | --- | --- | --- | --- |
| **常驻** | tool | 工具定义始终随请求提供 | 无需查找 | 直接调用；运行时经过完整 `ctx.tools` 管线 |
|  | skill | 名称和简介显示在 `<available_skills>` 中 | 无需查找 | `skill` 工具按需加载正文 |
| **按需** | tool | 不随请求提供工具定义 | 用 `meta_search` 搜索候选项 | 按精确 ID 查看参数后，用 `meta_invoke` 调用 |
|  | skill | 不显示在 `<available_skills>` 中 | 用 `meta_search` 搜索 | 用 `meta_invoke` 加载 `SKILL.md` |
| **禁用** | tool | 不随请求提供工具定义 | `meta_search` 中不可见 | 调用会被拒绝 |
|  | skill | 不显示在 `<available_skills>` 中 | `meta_search` 中不可见 | 加载会被拒绝 |

适用范围与例外：

-   MCP 工具和可编目的 DSH 原生工具都支持三档；原生工具归入 `built-in` 分组。请勿将 MCP 服务器命名为 `built-in`，以免与该分组冲突。
-   `meta_search` 和 `meta_invoke` 默认常驻，不能在菜单中禁用。DSH Code Mode 的入口 `run_code` 不进入本插件的目录或菜单；手写通配规则仍可能匹配它，请勿将其设为按需或禁用。
-   高频工具建议保持常驻；按需工具可通过 `meta_search` 找 ID、查看参数 schema，再调用。

#### 规则配置与保存

弹窗显示的是当前生效规则，由手写规则和菜单选择合成，并非另一份 YAML 文件。手写规则位于 `capability-menu-policy` entry 的 `config` 下。以下是配置片段；完整安装补丁见 [cordis.patch.yml](https://npmcn.com/package/%40daweifu/capability-menu/cordis.patch.yml)。

-   默认 patch 是 `${DSH_HOME:-~/.dsh}/cordis.patch.yml`；Profile 也可在自己的 patch 中覆盖该 entry。
-   菜单中的档位调整立即生效，停手约 1.5 秒后写入 `stateFile`；检索描述和描述上限也保存在这里。这些写入不会触发 DSH 配置重载。手写规则仍是基础；界面选择覆盖同一能力的精确规则，禁用通配规则仍优先。
-   `stateFile` 默认在 `${DSH_HOME:-~/.dsh}/capability-menu-policy.json`（默认 patch 的同目录），各 Profile 共用；需要隔离时，在 policy 和 registry 两个 entry 中指定同一个 `stateFile`。要清除界面选择，停止 DSH 后删除状态文件；原有 patch 规则仍会生效。

```yaml
config:
  tools:
    on-demand: # 按需
      - 'mcp__example__*'    # 某个 MCP 服务器下的工具
    disabled: # 禁用
      - 'mcp__secret__*'
  skills:
    on-demand: # 按需
      - example_skill        # 未列出的能力默认常驻
```

通常只需设置 `tools` 和 `skills`。文件路径与防抖等可选项使用默认值即可；完整参数见 [policy 配置](https://npmcn.com/package/%40daweifu/capability-menu/src/policy.ts) 和 [registry 配置](https://npmcn.com/package/%40daweifu/capability-menu/src/registry.ts)。

**规则优先级：** 按序匹配；禁用优先。在常驻与按需之间，精确规则优先于通配；同为精确或同为通配时，常驻优先。未命中任何规则则常驻。

| 优先级 | 规则 | 示例 |
| --- | --- | --- |
| 1 | `disabled` 精确或通配 | `disabled: [forbidden_skill, 'mcp__secret__*']` |
| 2 | `resident` 精确 | `resident: [bash]` |
| 3 | `on-demand` 精确 | `on-demand: [example_skill]` |
| 4 | `resident` 通配 | `resident: ['mcp__gongfeng__*']` |
| 5 | `on-demand` 通配 | `on-demand: ['mcp__*']` |
| 默认 | 未命中任何规则 | — |

能力菜单点击档位会写入精确规则。若更高优先级规则覆盖了所选档位，界面会提示「分类未生效」。

### 按需检索目录

`meta_search` 是 Agent 检索按需 Tool 和 Skill 的唯一入口。「策略与目录 → 按需检索目录」直接显示同一内存索引中的按需能力摘要，不生成单独的 YAML 文件。Agent 的检索结果还会按当前会话的可用范围过滤。

-   **检索描述：** 按需能力默认使用来源描述的摘要（最多 320 字符），可在菜单中编辑。`meta_search` 的列表与关键词匹配使用该摘要；编辑不会修改来源定义。
-   **描述上限：** 在「策略与目录 → 按需检索目录」设置，最小 20 字符。降低上限前需先缩短超限的自定义描述。
-   **检索与调用：** 用 `meta_search({query})` 查找能力，再用 `meta_search({id, kind})` 查看参数，最后用 `meta_invoke({id, kind, args})` 调用或加载。已在当前会话加载的 Skill 可传 `force: true` 重新加载。

## 参与贡献

欢迎提交问题、文档修正和代码。贡献流程与合入标准见 [CONTRIBUTING.md](https://npmcn.com/package/%40daweifu/capability-menu/CONTRIBUTING.md)；issue 和 PR 可以使用中文或英文。

## License

本项目遵循 [Apache License 2.0](https://npmcn.com/package/%40daweifu/capability-menu/LICENSE)。

## 常见问题

### @daweifu/capability-menu 是什么？

DeepSeek Harness的统一能力管理:目录 \(ctx\.capaliable\) \+ meta search/meta invoke \+ 居民/按需/残疾投影政策\+QQ设置标签,在一个可安装的捆绑\(服务器\+浏览器\)中\.

### 如何安装 @daweifu/capability-menu？

在项目目录运行 npm install @daweifu/capability-menu，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：react（^18\.2\.0）、@deepseek-ai/cordis（^4\.0\.2）、@deepseek-ai/dsh-llm（^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/dsh-agent（^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/dsh-scope（^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/dsh-skill（^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/dsh-tools（^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/dsh-session（^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/schemastery（^3\.18\.4）、@deepseek-ai/dsh-api-remotes（^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/dsh-client-locale（^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/dsh-system-prompt（^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/dsh-client-ui-slots（^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/dsh-typert-protocol（^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/dsh-client-connection（^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/dsh-client-ui-renderer（^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/dsh-client-ui-settings（^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/dsh-client-ui-primitives（^0\.2\.0 \|\| ^0\.2\.1-rc\.3 \|\| 0\.2\.2-rc\.1）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @daweifu/capability-menu 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @daweifu/capability-menu 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @daweifu/capability-menu 可以商用吗？

@daweifu/capability-menu 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @daweifu/capability-menu 的下载量有多少？

根据 npm 官方下载统计，@daweifu/capability-menu 在 2026/10/12 – 2026/11/10 这 30 天内被下载 3,680 次，日均约 123 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @daweifu/capability-menu 还在维护吗？

最新版本 0\.1\.9 发布于 2026/11/06（6 天前）；至今共发布 10 个版本，其中过去 12 个月发布了 10 个；首次发布于 2026/08/21。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

