内容
# 克劳德代码深思委托器
> ### 🚀 3.0 版本发布 — 现已支持多模型
> 一个工具,**任意模型**:DeepSeek、Kimi、GLM、Qwen、Grok、Groq、OpenRouter,甚至是本地的 ollama — 并且可以**按任务混合使用**。此外,还有一个重建的交互式安装程序、Claude Code 中的模型选择器,以及每笔交易的收据。v2 安装保持不变,继续正常工作。 **[查看新增功能 ↓](#3.0-版本新增功能)**
**通过将繁重工作委托给更便宜的模型,在不离开会话的情况下,**降低 Claude Code 费用 90-97%** — 大文件审计、长篇生成、深度推理 — 以更低的价格委托给更便宜的模型。
克劳德负责编排;委托者执行繁重的工作(大文件审计、长篇生成、深度推理)—— 价格仅为原先的一小部分。一个工具调用,无需子代理,无需守护进程,无依赖。
**一条命令安装所有内容。** `init` 是一个交互式向导,配置 `delegate` 工具、自动门("是否委托给 DeepSeek?(y/n)" 的提示)、您的提供商 + API 密钥(实时验证),以及模型选择方式。运行一次,重启 Claude Code,委托便会自动进行。
<p>
<a href="https://www.npmjs.com/package/claude-code-deepseek-delegator"><img alt="npm" src="https://img.shields.io/npm/v/claude-code-deepseek-delegator?color=cb3837&logo=npm"></a>
<a href="https://www.npmjs.com/package/claude-code-deepseek-delegator"><img alt="downloads" src="https://img.shields.io/npm/dm/claude-code-deepseek-delegator?color=cb3837"></a>
<img alt="zero dependencies" src="https://img.shields.io/badge/dependencies-0-brightgreen">
<img alt="node" src="https://img.shields.io/badge/node-%E2%89%A520-339933?logo=node.js&logoColor=white">
<img alt="license" src="https://img.shields.io/npm/l/claude-code-deepseek-delegator?color=blue">
</p>
> ⭐ **如果这为您节省了资金,请 [给仓库点赞](https://github.com/fjgbue/claude-delegator-deepseek-mcp)。** 这是帮助其他 Claude Code 用户找到它的最大方式。
<img src="https://raw.githubusercontent.com/12122J/claude-delegator-deepseek-mcp/main/assets/hero.svg" alt="一个 Claude Code 会话在浅色 macOS 终端中:门询问 '是否委托给 DeepSeek?(y/n)',用户回答 y,文件通过 files[] 移交,收据行显示节省的 $0.194(94% vs Opus)· 花费 $0.012,克劳德综合了三个发现" width="860">
每次调用都以收据结尾 — 自动显示给您,直接来自 API 的令牌计数。您始终知道自己花费了多少和节省了多少。
---
## 3.0 版本新增功能
- **任意模型,而不仅仅是 DeepSeek。** 8 个供应商已捆绑(DeepSeek、Moonshot/Kimi、Z.AI + Zhipu/GLM、Alibaba/Qwen、Groq、xAI/Grok、OpenRouter)以及您添加的任何 OpenAI 兼容端点 — 包括本地 ollama/vllm 实现 **$0 委托**。
- **混合和匹配供应商。** 在一个 init 中选择多个供应商(空格分隔),为每个供应商提供其密钥,然后将消化路由到 GLM-flash,将代码生成路由到 DeepSeek-pro,保持 Kimi 在您的候选列表中。密钥存储在密钥环中,重启和供应商切换后仍然有效。
- **一个实际上很友好的设置向导。** 箭头键导向 UI,实时 API 密钥验证针对真实端点,完全披露后再进行任何写入,一个问题用于模型策略。
- **按您的方式选择模型。** 智能分割(廉价模型消化,大模型创建),一个由 Claude Code 的 UI 渲染的候选列表选择器,总是最佳,总是最便宜,或完全自定义每种工作类型。
- **诚实的收据。** 从提供商自己的令牌计数中计算每次调用的成本,缓存令牌按缓存费率计费,可选的节省基准(Opus、Sonnet 或关闭)。
- **没有任何破坏。** `deepseek` 工具名称、环境变量和 v2 的钩子保持不变。无需配置 = 与 v2 行为完全相同。
---
## 安装(一条命令)
```bash
npx claude-code-deepseek-delegator init
```
向导将引导您完成四个选择 — 箭头键,约 1 分钟:
1. **供应商** — DeepSeek、Moonshot (Kimi)、Z.AI / Zhipu (GLM)、Alibaba (Qwen)、Groq、xAI (Grok)、OpenRouter 或任何自定义 OpenAI 兼容端点(ollama、vllm、LM Studio、代理)。输入选择一个;**空格选择多个** — 同时注册 DeepSeek *和* Z.AI,并在步骤 3 中混合使用。
2. **API 密钥** — 每个选定供应商一个:从环境中检测,或粘贴(隐藏)。向导 **实时验证一个令牌请求**,因此错误的密钥会立即在提供商的真实错误中失败,而不是在明天的第一次委托中。
3. **哪个模型运行您的委托** — 智能分割(廉价模型消化,大模型创建),您每次选择的候选列表,总是最佳 / 总是最便宜,或自定义(参见下文)。
4. **节省基准** — 以 Opus 4.8、Sonnet 5 为基准,或不显示节省。
然后,它会显示它将更改的内容,询问,应用,并打印回顾:
<img src="https://raw.githubusercontent.com/12122J/claude-delegator-deepseek-mcp/main/assets/init.svg" alt="在浅色 macOS 终端中初始化向导:折叠的提供商步骤(DeepSeek),检测到的 API 密钥,实时密钥验证,处于活动状态的 '哪个模型运行您的委托?' 选择器在智能分割,节省基准,披露更改的面板,四个应用的行,'委托已连接' 回顾面板,以及带有 GitHub 明星请求的结尾" width="860">
随时进行健全检查:
```bash
npx claude-code-deepseek-delegator doctor
```
`doctor` 不仅仅检查文件是否存在 — 它 **实际上会触发网关钩子**,解析每个已配置的模型,并确认委托提示是活跃的。
### init 实际更改(完全披露)
1. **`~/.claude/delegator.json`** — 您的提供商、模型路由和节省基准。随时编辑它;更改在下一次调用时应用,无需重启。
2. **`~/.claude/CLAUDE.md` 中的一个清晰标记块** — 委托规则,用 `<!-- >>> ... >>> -->` 标记。**绝不会触及您文件中的其他内容。**
3. **`~/.claude/settings.json` 中的三个钩子** — 两个 `PreToolUse` 提示(在大型读取和技能加载之前)和一个 `PostToolUse` 成本收据。它们 **仅添加上下文或显示信息 — 绝不会阻止、删除或修改您的工具调用。**
4. **一个 MCP 服务器** 名为 `delegate` (`npx -y claude-code-deepseek-delegator`) — 因此 Claude Code 在每次调用时都会显示“调用委托…”。
在执行任何操作之前,它会写入每个更改文件的带时间戳的备份。要撤销所有更改,包括配置文件:
```bash
npx claude-code-deepseek-delegator uninstall
```
---
## 哪个模型执行工作?
并非每次委托都需要您的最佳模型。“总结这 2000 行文件”是一种消化 — 廉价模型可以很好地完成。“重写此模块”是一种创作 — 您需要最好的模型。支付专业价格进行快速工作是委托节省悄悄泄露的地方。
因此,向导会询问一个问题 — **“哪个模型运行您的委托?”** — 答案映射到人们的实际思考方式:
- **智能分割(推荐)** — 廉价模型消化大文件,大模型编写代码和推理。您再也不需要考虑它;收据显示哪一个运行。
- **每次询问我** — 您保留一个候选列表,当您批准委托时,克劳德通过克劳德代码的 **原生选择器 UI** 显示它(与 `/model` 使用的相同)以及价格。您点击模型,它就会委托到那里。
- **总是最佳 / 总是最便宜** — 所有工作都使用一个模型,零决定。
- **自定义** — 按工作类型选择模型(`read` / `write` / `reason`),**自由混合供应商**:菜单列出每个已检测到密钥的供应商的模型,因此“读取 GLM-flash,写入 DeepSeek-pro,推理 Kimi” 是三个箭头键选择。
### 每个选择在会话中的感觉
**智能分割。** 您永远不会看到模型决策 — 相同的 y/n 提供廉价的消化和高质量的创作:
```
❯ summarize what src/auth.py does (2,100 lines)
> Delegate to DeepSeek? (y/n) y
⎿ delegate deepseek-v4-flash via deepseek · saved $0.081 (94% vs Opus) · spent $0.005
↑ digestion → 廉价模型运行
❯ now rewrite it with proper token rotation
> Delegate to DeepSeek? (y/n) y
⎿ delegate deepseek-v4-pro via deepseek · saved $0.152 (91% vs Opus) · spent $0.019
↑ creation → 大模型运行
```
**每次询问我。** 在您的 y 之后,克劳德打开克劳德代码的选择器,显示您的候选列表和价格;您的点击决定:
```
> Delegate to DeepSeek? (y/n) y
Which model? ← 克劳德代码的原生选择器
❯ deepseek-v4-flash $0.14 / $0.28 per 1M
deepseek-v4-pro $0.435 / $0.87 per 1M
moonshot:kimi-k2.5 $0.20 / $1.20 per 1M
⎿ delegate kimi-k2.5 via moonshot · saved $0.117 (88% vs Opus) · spent $0.016
```
**总是最佳 / 最便宜。** 每次委托都是相同的模型 — 与 v2 行为完全相同,一个价格。
在幕后,每个选择只是写入 `~/.claude/delegator.json`,您可以随时编辑它 — 更改在下一次调用时应用,无需重启:
```jsonc
{
"provider": "deepseek",
"mode": "auto", // 或 "ask" 表示候选列表选择器
"shortlist": ["deepseek-v4-flash", "deepseek-v4-pro", "moonshot:kimi-k2.5"],
"routing": {
"read": "deepseek-v4-flash", // 消化/总结大输入
"write": "deepseek-v4-pro", // 生成代码和文档
"reason": "deepseek-v4-pro" // 数学、逻辑、架构
},
"baseline": "opus-4.8"
}
```
智能分割的机械工作原理:克劳德为每个委托任务贴上标签 `task: "read" | "write" | "reason"`,服务器在 `routing` 中查找标签,然后将该模型 ID 发送到线路上(此链路由针对模拟提供商的端到端测试覆盖)。显式 `model` 参数 — 像在询问模式下选择器选择生成的参数一样 — 始终优先于路由表。如果克劳德完全省略标签,则提供商的默认大型模型运行:故障模式是一种价格层级,而不是崩溃。
## 提供商
| 提供商 | id | 环境变量 | 示例模型 |
|----------|----|---------|----------------|
| DeepSeek | `deepseek` | `DEEPSEEK_API_KEY` | deepseek-v4-pro, deepseek-v4-flash |
| Moonshot | `moonshot` | `MOONSHOT_API_KEY` | kimi-k2.5, kimi-k2.7-code |
| Z.AI | `zai` | `ZAI_API_KEY` | glm-5, glm-4.7-flash |
| Zhipu | `zhipu` | `ZHIPU_API_KEY` | glm-5, glm-4.7 |
| Alibaba | `alibaba-singapore` | `ALIBABA_SINGAPORE_API_KEY` | qwen3.7-max, qwen3.6-flash |
| Groq | `groq` | `GROQ_API_KEY` | llama-4-maverick, kimi-k2 |
| xAI | `xai` | `XAI_API_KEY` | grok-4.5, grok-code-fast-2 |
| OpenRouter | `openrouter` | `OPENROUTER_API_KEY` | ~25 个精选 ID 跨每个实验室 |
提供商定义(端点、模型、价格)遵循 [catwalk](https://github.com/charmbracelet/catwalk) 模式,从 charmbracelet 的注册表中获取(MIT)。在 `~/.claude/delegator-providers.json` 中添加您自己的 — 任何 OpenAI 兼容端点都有效,包括本地端点:
```json
{
"name": "本地 Ollama", "id": "ollama", "type": "openai-compat",
"api_key": "none", "api_endpoint": "http://localhost:11434/v1",
"default_large_model_id": "qwen3-coder",
"models": [{ "id": "qwen3-coder", "cost_per_1m_in": 0, "cost_per_1m_out": 0,
"context_window": 128000, "default_max_tokens": 8192 }]
}
```
---
## 为什么不创建子代理?
通常用于繁重工作的模式 — 创建克劳德子代理 — 会启动一个**全新的上下文窗口**:您重新支付整个上下文费用,丢失当前状态,仍按克劳德费率计费。
这个 MCP 服务器保留在**您的当前会话中**。克劳德调用 `delegate(...)` 像调用任何工具一样 — 无需新的上下文,无需重新初始化,无需创建开销 — 委托执行繁重计算的费用仅为原先的一小部分。
## `files[]` 技巧(这才是真正的胜利)
当克劳德读取文件并将它们粘贴到提示中时,这些字节首先进入**克劳德的**上下文 — 您为传递内容支付克劳德的费率。
使用 `files[]`,克劳德只传递**路径**。MCP 服务器从磁盘读取字节并直接将它们转发到委托服务器。大型的代码库从未触及克劳德的上下文。
```jsonc
// 克劳德像调用工具一样调用委托:
delegate({
prompt: "审计这些文件是否存在安全漏洞并按严重性排序。",
task: "read",
files: ["/abs/path/auth.py", "/abs/path/middleware.py", "/abs/path/payments.py"]
})
```
然后,克劳德为您**综合**答案,而不是逐字粘贴 — 因此您可以廉价地在同一对话中获得结论。
## 成本收据(您看到每一分钱)
每次调用后,都会显示一行收据:
```
delegate deepseek-v4-pro via deepseek · saved $0.2472 (96% vs Opus) · spent $0.0114 · 28,410 tokens
```
它根据 API 自己的令牌使用情况(缓存令牌按缓存费率计费)计算,并由 `PostToolUse` 钩子显示 — **确定,而不是要求模型记住。** 基准由您选择:Opus 4.8、Sonnet 5 或关闭。
---
## 工具
### `delegate`
| 参数 | 类型 | 默认值 | 描述 |
|-------|------|---------|-------------|
| `prompt` | string | *必填* | 委托任务。需具体描述。 |
| `task` | string | — | `read` / `write` / `reason` — 路由到已配置的模型。 |
| `model` | string | 路由 | 覆盖:裸 ID 或 `provider:model`(例如 `openrouter:moonshotai/kimi-k2.5`)。 |
| `provider` | string | 已配置 | 按 ID 覆盖活动提供商。 |
| `files` | string[] | — | 绝对路径。服务器读取它们 — 字节从不进入克劳德的上下文。 |
| `system` | string | — | 可选系统提示。 |
| `temperature` | number | `0.3` | 0–2,越低越确定。 |
| `stream` | boolean | `false` | 流式传输块而不是缓冲。对于非常大的输出很有用。 |
### `delegate_models`
列出每个提供商的密钥状态、模型、上下文窗口和价格,以及您的活动路由。
### `deepseek` / `deepseek_models`
上述内容的别名 — v2 名称,保持永久有效。
---
## 命令行参考
```bash
npx claude-code-deepseek-delegator <command>
(无命令) 运行 MCP 服务器(克劳德代码启动方式)
init 交互式设置向导:提供商、密钥、路由、门(首次询问)
doctor 验证安装、解析配置、实时测试门户钩子
uninstall 清洁移除 init 添加的所有内容(包括 delegator.json)
help 显示帮助
--version 打印版本
init 标志: --dry-run · --no-hooks · --yes ·
--provider <id[,id…]> (第一个是主要的) · --key <key> ·
--preset balanced|cheapest|max · --mode auto|ask ·
--baseline opus|sonnet|none
```
## 环境变量
| 变量 | 默认值 | 描述 |
|----------|---------|-------------|
| `<PROVIDER>_API_KEY` | — | 每个提供商的密钥(参见上表)。 |
| `DELEGATOR_CONFIG` | `~/.claude/delegator.json` | 配置文件位置。 |
| `DELEGATOR_TIMEOUT` | `120000` | 请求超时(毫秒)。`DEEPSEEK_TIMEOUT` 仍然有效。 |
| `DELEGATOR_MAX_RETRIES` | `2` | 429/5xx 重试次数。`DEEPSEEK_MAX_RETRIES` 仍然有效。 |
| `DEEPSEEK_API_HOST` | `api.deepseek.com` | v2 兼容:覆盖 DeepSeek 主机名。 |
| `CLAUDE_CONFIG_DIR` | `~/.claude` | 如果您已将克劳德配置移到其他位置,则此变量会被尊重。 |
---
## 从 v2 迁移
**无需操作。** 现有安装保持不变,继续正常工作:`deepseek` 工具名称、`DEEPSEEK_API_KEY`、MCP 服务器入口和已安装的钩子都保持功能正常,并且没有任何配置文件,行为与 v2 相同(DeepSeek v4-pro 处理所有内容)。运行 `init` 一次即可解锁提供商、任务路由和候选列表选择器。
## 常见问题
**单独的 `npm install` 是否启用网关?** 不。仅安装提供二进制文件。运行 `init` 以将其配置。
**它会覆盖我的 CLAUDE.md 吗?** 绝不会。它会追加一个带围栏的块,并提前向您显示确切的文本。其他一切保持不变。
**如何删除它?** `npx claude-code-deepseek-delegator uninstall`。干净且完整 — MCP 条目、规则、钩子和配置文件。
**我的密钥安全吗?** 使用环境变量引用,它绝不会被写入磁盘。或者,如果您愿意,可以粘贴文字密钥。
**我可以同时使用两个提供商吗?** 是的 — 在向导的提供商步骤中同时选择两者(空格切换),并在同一运行中为每个提供商提供其密钥;自定义和候选列表菜单然后混合它们的模型。在幕后,路由值和候选列表条目是 `provider:model` 规范,密钥作为一个密钥环存储在 MCP 环境块中(在重新运行和提供商切换之间存活),而 `doctor` 验证每个引用的提供商的密钥。
**为什么在支持多模型的情况下,包仍然称为 **deepseek**-delegator?** 它最初仅适用于 DeepSeek。12k 每月的安装量取决于 npm 名称和 v2 工具别名。引擎是不可知的;包装保留其名称,以便没有用户的设置被破坏。(MCP 服务器本身在 3.0 版本中注册为 `delegate`。)
## 许可
MIT。提供商注册数据来自 [charmbracelet/catwalk](https://github.com/charmbracelet/catwalk) (MIT)。
由 [Javi](https://github.com/fjgbue) 构建。如果这为您节省了资金,[一颗星星](https://github.com/fjgbue/claude-delegator-deepseek-mcp) 是最友好的感谢方式 — 这是其他克劳德代码用户找到它的方式。
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器