# @draht/router 中文文档

规范地址：https://npmcn.com/package/%40draht/router/

版本：2026\.11\.5
npm 元数据更新时间：2026-11-06T09:11:06.820Z
中文译文更新时间：2026-11-13T00:06:33.046Z
软件包许可：未声明

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

原始 npm 页面：https://www.npmjs.com/package/%40draht/router
原文对照：https://npmcn.com/package/%40draht/router/?lang=original

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

- 包体积（解压后）：98.8 kB，30 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2026-07-12T20:33:32.951Z
- 最新版本发布：2026-11-06T09:11:06.610Z
- 近 30 天下载量：2762（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：24（近 12 个月 24 个）

## 中文简介

基于角色的模型路由,直接API呼叫,自动倒计时和成本跟踪

## 安装

```sh
npm install @draht/router
```

也可以使用：`pnpm add @draht/router`、`yarn add @draht/router`、`bun add @draht/router`

## README

# @draht/路由器

基于角色的模型路由,有直接API呼叫,自动倒计时,成本跟踪.

## 概览

路由器将任务角色映射到 LLM 提供商/模型组合中,并有命令的倒回链. 呼叫直接到每个提供者 API; OpenRouter 只用于它主机的模型(下面的DeepSeek倒计时).

## 配置

配置从( 按优先级排序) 中加载 :

1.  `.draht/router.json` (项目一级)
2.  `~/.draht/router.json` (全球)
3.  内建默认

### 示例 `.draht/router.json`

```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 使用量

```bash
# 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` 改为:

-   时间戳、角色、提供者/型号
-   输入/输出令牌数
-   估计费用(美元)
-   会话编号

## 编码代理扩展

```typescript
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` - 医生

## 常见问题

### @draht/router 是什么？

基于角色的模型路由,直接API呼叫,自动倒计时和成本跟踪

### 如何安装 @draht/router？

在项目目录运行 npm install @draht/router，或使用 pnpm add / yarn add / bun add。

### @draht/router 支持 TypeScript 吗？

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

### @draht/router 支持 ESM 还是 CommonJS？

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

### @draht/router 可以商用吗？

@draht/router 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @draht/router 的下载量有多少？

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

### @draht/router 还在维护吗？

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

