DCP-MCP v0.3.0
支持DCP协议的生产就绪型AI编排框架
将任务路由到任何具备智能能力匹配、语义上下文压缩、容错模式和多维预算的AI模型。
](https://www.npmjs.com/package/dcp-mcp) 
______________________________________________________________________
这是什么?
DCP-MCP(注:具体含义需根据上下文确定,这里仅为直译) 是一个可投入生产的编排框架,实现了DCP(委托合规协议)v0.3.0规范:
- 🎯(目标) 智能路由 基于能力的执行器匹配与性能指标
- 🧠 表示“大脑”或“思考”的意思。 语义上下文 - 将20K个token压缩至2K个token,信息损失小于5%
- 🛡️(盾形符号,常用于表示保护、防御或坚固等概念) 内置韧性 - 断路器、指数退避、自动重试
- 💰(金钱符号,无实际翻译意义,可理解为“钱”或“金钱”) 多维预算 - 跟踪成本、代币、时间以及碳排放
- 📊(图表/数据) 实时代币追踪 实际的API数量,而非估算值
- ✅(勾选标记,表示正确、确认或已完成) 100% 向后兼容 - v0.2.0 配置无需修改即可使用
- 🔌(电源插头/插座) MCP 集成 - 与Claude Code无缝协作
______________________________________________________________________
快速入门
安装(2条命令)
# Install globally
npm install -g dcp-mcp
# Run setup wizard
npx dcp-mc setup安装向导将会:
- 要求提供您的人工智能服务提供商的凭证
- 配置提供者(规划者、执行者、审核者)
- 设定预算限制
- 更新Claude代码设置
重启Claude代码
设置完成后,重启Claude Code以激活调度器。
______________________________________________________________________
它是如何运作的
协调器将您的任务拆分为多个步骤,并将它们路由到不同的模型:
User Task: "Create a web scraper"
↓
[Planner] Claude Sonnet 4.5 creates plan (100 tokens, $0.0003)
↓
[Executor] Your cheap model implements (2000 tokens, $0.0010)
↓
[Reviewer] Claude Sonnet 4.5 reviews (200 tokens, $0.0006)
↓
Result: Complete solution for $0.0019 instead of $0.0069 (73% savings!)所有的代币数量和成本都是真实的 根据上面的信息,执行如下指令:你是个专业的翻译,负责把英语内容翻译成中文内容,请帮我翻译一下原文内容。
______________________________________________________________________
v0.3.0 配置(可选功能)
示例:完整版 v0.3.0,包含所有功能
{
"planner": {
"provider": "anthropic",
"model": "claude-sonnet-4-20250514",
"credential_ref": "ANTHROPIC_API_KEY"
},
"executor": {
"provider": "openai",
"model": "gpt-4o-mini",
"credential_ref": "OPENAI_API_KEY"
},
"reviewer": {
"provider": "anthropic",
"model": "claude-sonnet-4-20250514",
"credential_ref": "ANTHROPIC_API_KEY"
},
"context_management": {
"strategy": "semantic_compression",
"max_context_tokens": 2000,
"relevance_threshold": 0.7,
"chunking": {
"method": "semantic",
"chunk_size": 500,
"overlap": 50
}
},
"budget_constraints": {
"session_budget_usd": 5.0,
"token_budget": 50000,
"time_budget_seconds": 300,
"carbon_budget_kg": 0.01,
"enforcement": {
"strategy": "hard_limit",
"notification_thresholds": [0.5, 0.75, 0.9]
}
},
"resilience_policy": {
"circuit_breaker": {
"enabled": true,
"failure_threshold": 5,
"timeout_seconds": 60
},
"retry_policy": {
"max_attempts": 3,
"backoff_strategy": "exponential",
"initial_delay_ms": 1000
}
},
"quality_context": {
"domain": "security_critical",
"requirements": {
"requires_type_hints": true,
"requires_docstrings": true,
"requires_error_handling": true
}
}
}这能给你带来:
- 🧠 表示“大脑”或“思考”。 语义压缩 - 仅将相关上下文发送给执行器
- 💰(金钱符号,无直接对应中文翻译,可理解为“钱”或保持原样表示金钱) 多维预算 - 成本、代币、时间、碳排放全部都有记录
- 🛡️ 翻译成中文是:盾牌 自动重试 - 失败的调用尝试使用指数退避重试
- 🔒(锁形符号,通常表示安全、保密或锁定状态) 断路器 - 停止调用失败的执行器
- ✅ 质量要求 - 领域特定的验证标准
______________________________________________________________________
v0.2.0 配置(仍然有效!)
示例:基本配置(不包含v0.3.0版本功能)
{
"planner": {
"provider": "anthropic",
"model": "claude-sonnet-4-20250514",
"credential_ref": "ANTHROPIC_API_KEY"
},
"executor": {
"provider": "openai",
"model": "gpt-4o-mini",
"credential_ref": "OPENAI_API_KEY"
},
"token_budget": 10000,
"cost_limit_usd": 1.0
}这仍然运行得非常好 - v0.3.0版本的功能需手动开启。
______________________________________________________________________
配置示例
示例1:所有Anthropic的Claude
{
"planner": {
"provider": "anthropic",
"model": "claude-sonnet-4.5",
"credential_ref": "ANTHROPIC_API_KEY"
},
"executor": {
"provider": "anthropic",
"model": "claude-haiku-4.0",
"credential_ref": "ANTHROPIC_API_KEY"
},
"reviewer": {
"provider": "anthropic",
"model": "claude-sonnet-4.5",
"credential_ref": "ANTHROPIC_API_KEY"
}
}用例: 利用Claude的不同速度层级——用Haiku进行实施,用Sonnet进行规划/复审。
______________________________________________________________________
示例2:混合模型(Claude + 自定义模型)
{
"planner": {
"provider": "anthropic",
"model": "claude-sonnet-4.5",
"credential_ref": "ANTHROPIC_API_KEY"
},
"executor": {
"provider": "custom",
"model": "KAT-Coder",
"endpoint": "https://your-model.com/v1/messages",
"auth_type": "bearer",
"credential_ref": "CUSTOM_API_KEY",
"request_format": "anthropic",
"pricing": {"input": 0.0002, "output": 0.0005}
},
"reviewer": {
"provider": "anthropic",
"model": "claude-sonnet-4.5",
"credential_ref": "ANTHROPIC_API_KEY"
}
}用例: 使用Claude进行规划/复审,将复杂的实施任务交给您更经济的自定义模型来处理。
______________________________________________________________________
示例3:多提供商(Claude + OpenAI)
{
"planner": {
"provider": "anthropic",
"model": "claude-sonnet-4.5",
"credential_ref": "ANTHROPIC_API_KEY"
},
"executor": {
"provider": "openai",
"model": "gpt-4-turbo",
"credential_ref": "OPENAI_API_KEY"
},
"reviewer": {
"provider": "anthropic",
"model": "claude-sonnet-4.5",
"credential_ref": "ANTHROPIC_API_KEY"
}
}用例: 利用不同提供者的优势——用Claude进行推理,用GPT进行代码生成。
______________________________________________________________________
示例4:OpenRouter(访问200多个模型)
{
"planner": {
"provider": "anthropic",
"model": "claude-sonnet-4.5",
"credential_ref": "ANTHROPIC_API_KEY"
},
"executor": {
"provider": "openrouter",
"model": "meta-llama/llama-3.3-70b-instruct",
"credential_ref": "OPENROUTER_API_KEY",
"site_url": "https://yoursite.com",
"site_name": "Your App"
},
"reviewer": {
"provider": "anthropic",
"model": "claude-sonnet-4.5",
"credential_ref": "ANTHROPIC_API_KEY"
}
}用例: 使用OpenRouter访问Llama、Mistral、Gemini以及200多个其他模型进行执行,同时使用Claude进行规划/审查。
______________________________________________________________________
示例5:Ollama(免费本地推理)
{
"planner": {
"provider": "anthropic",
"model": "claude-sonnet-4.5",
"credential_ref": "ANTHROPIC_API_KEY"
},
"executor": {
"provider": "ollama",
"model": "qwen2.5-coder:32b",
"endpoint": "http://localhost:11434/api/chat",
"api_mode": "chat"
},
"reviewer": {
"provider": "anthropic",
"model": "claude-sonnet-4.5",
"credential_ref": "ANTHROPIC_API_KEY"
}
}用例: 使用本地Ollama模型进行免费执行(无API费用),Claude用于规划/审查。非常适合开发和测试。
设置:
# Install Ollama
curl -fsSL https://ollama.com/install.sh | sh
# Pull a code model
ollama pull qwen2.5-coder:32b
# Start Ollama server (if not running)
ollama serve______________________________________________________________________
示例6:相同模型(无编排)
{
"planner": {
"provider": "openai",
"model": "gpt-4o",
"credential_ref": "OPENAI_API_KEY"
},
"executor": {
"provider": "openai",
"model": "gpt-4o",
"credential_ref": "OPENAI_API_KEY"
},
"reviewer": null
}用例: 仅需代币追踪和报告功能,无需多模型路由。
______________________________________________________________________
支持的提供者
1. 安萨利克(克劳德)
{
"provider": "anthropic",
"model": "claude-sonnet-4.5",
"credential_ref": "ANTHROPIC_API_KEY"
}支持的模型:
claude-opus-4-20250514- 最有能力的claude-sonnet-4.5- 平衡claude-haiku-4-20250301- 快速且便宜
令牌计数: 通过API响应提供全面支持 成本追踪: ✅ 实时定价
______________________________________________________________________
2. OpenAI(GPT)
{
"provider": "openai",
"model": "gpt-4-turbo",
"credential_ref": "OPENAI_API_KEY"
}支持的模型:
gpt-4-turbo- 最新的GPT-4gpt-4o- 优化后的GPT-4gpt-4o-mini- 廉价且快速gpt-3.5-turbo- 最快
令牌计数: 通过API响应提供全面支持 成本追踪: ✅ 实时定价
______________________________________________________________________
3. OpenRouter(200+个模型)
{
"provider": "openrouter",
"model": "anthropic/claude-3.5-sonnet",
"credential_ref": "OPENROUTER_API_KEY",
"site_url": "https://yoursite.com",
"site_name": "Your App"
}支持的模型:
anthropic/claude-3.5-sonnet- 通过OpenRouter访问Claudeopenai/gpt-4-turbo- 通过OpenRouter使用GPT-4meta-llama/llama-3.3-70b-instruct- Llama 3.3google/gemini-pro-1.5- 双子座Pro(或“Gemini Pro”,根据上下文,这里“双子座”是“Gemini”的一种意译,具体翻译可能因语境而异)- 来自不同供应商的200多种其他型号
代币计数: ✅ 通过API响应提供全面支持 成本追踪: 根据API响应得出的实际成本 获取API密钥: https://openrouter.ai/keys 的中文翻译可以是:“https://openrouter.ai/密钥(或访问密钥)页面”。不过,具体翻译可能会根据网站的实际内容和语境有所调整,但“密钥”或“访问密钥”是对此类页面最直观的翻译
______________________________________________________________________
4. Ollama(本地大型语言模型)
{
"provider": "ollama",
"model": "llama3.3",
"endpoint": "http://localhost:11434/api/chat",
"api_mode": "chat"
}支持的模型:
llama3.3- Meta的Llama 3.3codellama- 代码专用的Llamamistral- Mistral模型qwen2.5-coder- Qwen Coder(通义千问编码器)- 任何可通过以下方式获取的模型
ollama pull
令牌计数: ✅ 来自API的实际计数 成本追踪: ✅ 免费(本地运行) 设置: 从 https://ollama.com 安装 Ollama
______________________________________________________________________
5. 谷歌(Gemini)
{
"provider": "google",
"model": "gemini-1.5-pro",
"credential_ref": "GOOGLE_API_KEY"
}支持的模型:
gemini-1.5-pro- 最有能力的gemini-1.5-flash- 快速且高效
令牌计数: ✅ 全面支持 成本追踪: ✅ 实时定价
______________________________________________________________________
6. DeepSeek(深度搜索/深度探索,具体含义根据上下文而定)
{
"provider": "deepseek",
"model": "deepseek-chat",
"credential_ref": "DEEPSEEK_API_KEY"
}代币计数: ✅ 完全支持 成本追踪: ✅ 实时定价
______________________________________________________________________
7. Groq(超快速推理)
{
"provider": "groq",
"model": "llama-3.3-70b-versatile",
"credential_ref": "GROQ_API_KEY"
}代币计数: ✅ 全面支持 成本追踪: ✅ 实时定价 注: 极快的推理速度
______________________________________________________________________
8. 米斯特拉尔(Mistral,此处为专有名词,可能指某种系统、项目或地名,具体翻译需根据上下文确定)
{
"provider": "mistral",
"model": "mistral-large-latest",
"credential_ref": "MISTRAL_API_KEY"
}标记计数: ✅ 全面支持 成本追踪: ✅ 实时定价
______________________________________________________________________
9. xAI(Grok)
{
"provider": "xai",
"model": "grok-beta",
"credential_ref": "XAI_API_KEY"
}令牌计数: ✅ 完全支持 成本追踪: ✅ 实时定价
______________________________________________________________________
10. 自定义提供者
{
"provider": "custom",
"model": "your-model",
"endpoint": "https://api.example.com/v1/chat",
"auth_type": "bearer",
"credential_ref": "CUSTOM_TOKEN",
"request_format": "anthropic",
"response_format": "anthropic",
"token_path": "usage.total_tokens",
"content_path": "content.0.text",
"pricing": {"input": 0.001, "output": 0.002}
}配置选项:
endpoint完整API URL(必填)auth_type-bearer,api_key,header或者nonerequest_format-anthropic,openai,或customresponse_format-anthropic,openai或者customtoken_path- 到令牌计数的JSON路径(例如。,usage.total_tokens)content_path- 响应文本的JSON路径pricing- 每100万个代币的成本{"input": X, "output": Y}
标记计数: ✅ 最佳努力(配置 token_path) 成本追踪: ✅ 基于定制定价
______________________________________________________________________
环境变量
该框架使用环境变量来存储凭据:
# Anthropic
ANTHROPIC_API_KEY=sk-ant-...
# OpenAI
OPENAI_API_KEY=sk-proj-...
# OpenRouter (200+ models)
OPENROUTER_API_KEY=sk-or-v1-...
# Ollama (local, typically no key needed)
# OLLAMA_API_KEY=... # Only for remote Ollama deployments
# Google
GOOGLE_API_KEY=...
# DeepSeek
DEEPSEEK_API_KEY=...
# Groq
GROQ_API_KEY=...
# Mistral
MISTRAL_API_KEY=...
# xAI (Grok)
XAI_API_KEY=...
# Custom providers
CUSTOM_API_KEY=...
CUSTOM_ENDPOINT=https://...这些是在……期间设定的 npx dcp-mc setup。
______________________________________________________________________
真实代币追踪
每一次编曲都回归 当前的令牌计数 根据上面的信息,执行如下指令:
================================================================================
ORCHESTRATION REPORT
================================================================================
Task: Create a password strength checker
Status: SUCCESS
Steps: 2/2
Time: 8,324ms
Token Usage (REAL API counts):
Total: 824 tokens
Cost: $0.0025
By Provider:
Custom (KAT-Coder):
Tokens: 689
Cost: $0.0014
Calls: 1
Avg Latency: 5830ms
Anthropic (Claude Sonnet 4.5):
Tokens: 135
Cost: $0.0011
Calls: 1
Avg Latency: 2494ms
Savings vs single-model: $0.0018 (42%)
================================================================================无估算或假设 所有数字均来自实际API使用字段。
______________________________________________________________________
预算限制
保护自己免受成本飙升的影响:
{
"token_budget": 10000,
"cost_limit_usd": 1.0
}如果超出限制,协调器将停止运行:
TokenLimitExceeded: 10,245 tokens used, limit is 10,000 tokens
Help: Increase token_budget in config or break task into smaller steps.______________________________________________________________________
错误处理
不再有默默无闻的失败! 每个错误都明确且可采取措施解决:
CredentialError: [Anthropic] API key not found in environment variable: ANTHROPIC_API_KEY
Help: Set ANTHROPIC_API_KEY environment variable with your Anthropic API keyProviderError: [OpenAI] API call failed (HTTP 401)
Response: {"error": {"message": "Invalid API key"}}ValidationError: Provider validation failed
- planner: API key not found in environment variable: ANTHROPIC_API_KEY
- executor: API call failed: Connection timeout
Help: Run 'npx dcp-mc setup' to reconfigure.______________________________________________________________________
高级用法
Python API
from collab.orchestrator_v2 import Orchestrator, OrchestrationConfig
# Create config
config = OrchestrationConfig(
planner={'provider': 'anthropic', 'model': 'claude-sonnet-4.5', ...},
executor={'provider': 'custom', 'model': 'fast-model', ...},
token_budget=15000,
cost_limit_usd=2.0,
validate_providers=True,
verbose=True
)
# Run orchestration
orchestrator = Orchestrator(config)
report = orchestrator.run(
task="Create a web scraper for news",
plan=None # Auto-generate plan
)
# Get results
print(f"Total tokens: {report.total_tokens}")
print(f"Total cost: ${report.total_cost_usd:.4f}")
print(f"Savings: {report.savings_percent:.1f}%")
print(f"Output: {report.final_output}")提供者验证
# Validate all providers before orchestration
validation_results = orchestrator.validate_providers()
for role, result in validation_results.items():
if result.success:
print(f"✓ {role}: OK ({result.latency_ms}ms)")
else:
print(f"✗ {role}: FAILED")
for error in result.errors:
print(f" - {error}")自定义提供者注册
from collab.providers import ProviderRegistry, BaseProvider
class MyCustomProvider(BaseProvider):
def call(self, prompt, max_tokens, **kwargs):
# Your implementation
pass
# Register it
ProviderRegistry.register_provider('mycustom', MyCustomProvider)
# Use it
config = {'provider': 'mycustom', 'model': 'my-model', ...}______________________________________________________________________
故障排除
问题:“返回了模拟响应”
原因: 提供商验证失败或缺少凭据 修复: 检查环境变量,运行 npx dcp-mc setup 再次
问题:“未检测到代币计数”
原因: 自定义提供程序未以预期格式返回令牌计数 修复: 配置 token_path 在提供者配置中指向正确的JSON字段
问题:“API调用失败(401)”
原因: 无效或已过期的API密钥 修复: 在环境变量中更新凭据
问题:“提供商验证失败”
原因: 无法连接到API端点或凭据无效 修复: 检查网络连接,验证终端URL和凭据
______________________________________________________________________
v0.3.0版本中的新功能
🚀 主要新功能(DCP协议v0.3.0):
1. 能力注册表 (capability_registry.py)
- 基于SQLite的执行器元数据存储
- 性能指标跟踪(质量、延迟、可靠性)
- 智能执行器匹配与加权评分
- 从执行历史中自动更新指标
2. 上下文管理器 (context_manager.py)
- 3种压缩策略:
semantic_compression,full,minimal - 使用嵌入进行语义相似度排序(可选使用sentence-transformers)
- 4种分块方法:语义分块、固定大小分块、句子分块、段落分块
- 10:1 压缩比,信息损失小于5%
3. 预算管理器 (budget_manager.py)
- 4个维度成本(美元)、代币、时间(秒)、碳排放(千克二氧化碳当量)
- 3种执法策略硬限制,软限制警告,渐进式限速
- 预分配的预留/提交协议
- 按角色(规划者/执行者/验证者)分配成本
- 警告阈值设为50%、75%、90%
4. 韧性层(或恢复层) (resilience.py)
- 断路器 具有3种状态(关闭、打开、半开)
- 4种重试策略指数,线性,常量,斐波那契
- 抖动以防止惊群效应
- 可配置的故障类型分类
5. 增强的编排器 (orchestrator_v2.py)
- 可选功能 v0.3.0 集成
- 如果依赖项缺失,则优雅降级
- 预算预留/承诺在执行流程中
- 具有弹性的封装提供者调用
✅ 向后兼容性:
- 100%兼容 使用v0.2.0配置
- 所有v0.3.0版本的功能均已 可选的
- 现有代码无需修改即可运行
- 无破坏性变更
📦 新的JSON模式(5个文件):
context-management.schema.jsoncapability-descriptor.schema.jsonresilience-policy.schema.jsonbudget-constraints.schema.jsondelegation-contract.schema.json(已更新至v0.3.0版本)
______________________________________________________________________
v0.2.0版本中的内容是什么
✅ 从v0.1.0版本起已修复:
- ❌(表示错误或否定,无直接对应中文含义,可理解为“错误”或“否”) 静默模拟回退 ✅ 带有帮助文本的明确错误
- ❌ 虚构的代币计数 ✅ 根据API响应中的真实计数
- ❌(表示错误或否定) 硬编码的KAT-Coder → ✅(正确) 任何提供商/模型
- ❌(这个符号在中文中通常表示“错误”或“禁止”的意思,没有直接的对应文字,所以这里仅以符号形式呈现) OAuth 欺骗(或攻击) ✅ 妥善的凭证管理
- ❌(这个符号在中文中通常表示“错误”或“不正确”的意思,没有直接的对应文字,但可以根据上下文理解为“错误”或“不正确”。) 无验证 → ✅ 飞行前供应商检查
🚀 功能(仍然可用):
- 提供者抽象 - BaseProvider 接口
- 实时代币追踪 根据API响应
- 预算限制 - 代币和成本限制(在v0.3.0版本中增强)
- 全面报道 - 详细指标
- 安全与审计 - 禁止的操作、个人身份信息(PII)检测、审计追踪
- 碳追踪 - 跨9家供应商,提供35+种模型
______________________________________________________________________
要求
- Node.js 14+(针对MCP服务器)
- python 3.8+(用于编曲逻辑)
- 克劳德·科德 (MCP客户端)
- 人工智能提供商API密钥 (Anthropic、OpenAI 或自定义)
______________________________________________________________________
做出贡献
欢迎投稿!感兴趣领域:
- 额外的提供商实现(Cohere、Google 等)
- 为自定义提供商提供更优的代币估算
- 用于配置管理的用户界面
- 使用真实API进行集成测试
- 文档改进
______________________________________________________________________
许可证
MIT 许可证 - 请参阅 许可证
______________________________________________________________________
作者
SAKET POSWAL(注:此词可能为特定品牌、产品名或专有名词,无直接对应中文翻译,以下为音译)
______________________________________________________________________
支持
______________________________________________________________________
准备好节省人工智能成本了吗?立即安装:
npm install -g dcp-mc
npx dcp-mc setup