@draht/路由器
基于角色的模型路由,有直接API呼叫,自动倒计时,成本跟踪.
概览
路由器将任务角色映射到 LLM 提供商/模型组合中,并有命令的倒回链. 呼叫直接到每个提供者 API; OpenRouter 只用于它主机的模型(下面的DeepSeek倒计时).
配置
配置从( 按优先级排序) 中加载 :
.draht/router.json(项目一级)~/.draht/router.json(全球)- 内建默认
示例 .draht/router.json
{
"architect": {
"primary": { "provider": "anthropic", "model": "claude-opus-5-5" },
"fallbacks": [{ "provider": "google", "model": "gemini-2.5-pro" }]
},
"implement": {
"primary": { "provider": "anthropic", "model": "claude-sonnet-5" },
"fallbacks": [
{ "provider": "openai", "model": "gpt-6.1-sol" },
{ "provider": "openrouter", "model": "deepseek/deepseek-v3.2" }
]
}
}
默认角色映射
| 作用 | 小学 | 退缩 |
|---|---|---|
| 建筑师 | 人体/阴道-5-5 | 谷歌/日米尼-2.5-pro |
| 执行 | 人类学/claude-sonnet-5 | 开放路由器/深水/深水-v3.2 |
| 锅炉板 | 开放路由器/深层/深层 | 谷歌/地米尼-2.5-闪光 |
| 快点 | 谷歌/地米尼-2.5-闪光 | 开放路由器/深层/深层 |
| 审查 | 人类学/claude-sonnet-5 | —— 说 |
| 文档 | openai/gpt-6.1- 索尔 | 人类学/claude-sonnet-5 |
| 树根 | 人体/阴道-5-5 | 谷歌/日米尼-2.5-pro |
| rlm-sub (英语) | 谷歌/地米尼-2.5-闪光 | 开放路由器/深层/深层 |
CLI 使用量
# Show current configuration
draht router show
# Set model for a role
draht router set implement anthropic/claude-sonnet-5 --fallback openai/gpt-6.1-sol,openrouter/deepseek/deepseek-v3.2
# Test resolution (dry-run)
draht router test
draht router test architect
# View cost summary
draht router cost
倒行逆施
当主型号出现可重试出错(429,5xx,超时出错)后,路由器会自动尝试倒回链中的下个型号. 不可重复的错误(401,400)被立即抛出.
费用追踪
每一次API电话都登录到 .draht/cost-log.jsonl 改为:
- 时间戳、角色、提供者/型号
- 输入/输出令牌数
- 估计费用(美元)
- 会话编号
编码代理扩展
import { createRouterExtension } from "@draht/router/extension";
const ext = createRouterExtension();
const model = ext.selectModel("implementation"); // → anthropic/claude-sonnet-5
const chain = ext.selectModelWithFallbacks("architecture"); // → full fallback chain
任务类型自动映射到角色 :
planning, (中文(简体) ),architecture建筑师implementation, (中文(简体) ),coding实施scaffold, (中文(简体) ),boilerplate• 锅炉板question, (中文(简体) ),quick快点review, (中文(简体) ),pr-review• 审查documentation, (中文(简体) ),readme- 医生