qinyu765/dsh-llm-auto-route ↗★ 0
dsh-llm-auto-route
Provider discovery, matching, health checks, and pre-output failover for DeepSeek Harness.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:qinyu765/dsh-llm-auto-route说明文档
阅读完整 README ↗dsh-llm-auto-route:Provider 自动匹配与路由插件
dsh-llm-auto-route 是 DeepSeek Harness 的社区 Cordis 插件。它根据环境变量、Base URL、端口和模型名前缀,从已经由 dsh-llm-pi-ai 配置并注册的 route 中选择一个,并在首个可见输出前执行安全的失败切换。
本项目只实现路由策略,不实现 HTTP 协议、不携带 Provider SDK,也不注册 openai、anthropic、deepseek 等适配器 route。Provider、模型目录、凭证、流式协议仍由官方 @deepseek-ai/dsh-llm-pi-ai 负责。
这是社区项目,不是 DeepSeek Harness 官方包,也不代表官方背书。
要求
- Node.js
>=22.19.0 - DeepSeek Harness
0.1.0-rc.5或兼容的0.1.x版本 - 已配置目标 route 的
@deepseek-ai/dsh-llm-pi-ai
当前开发依赖按 npm 0.1.0-rc.6 companion packages 验证,同时保持对 rc.5 的 peer 兼容范围。
安装
pnpm add dsh-llm-auto-route
官方 base bundle 已包含 @deepseek-ai/dsh-llm-pi-ai。如果你手动组合插件,请先加载官方适配器,再加载本包;使用部署中原有的 DeepSeek Harness/Cordis composition 命令加载仓库内的 cordis.patch.yml。
这个 patch 只插入一个名为 llm-auto-route 的插件,不会新增或替换官方 Provider route。
先配置官方适配器
本插件的 route key 必须已经出现在 dsh-llm-pi-ai 的注册目录中。下面是官方适配器配置的简化示例:
- id: llm
name: '@deepseek-ai/dsh-llm-pi-ai'
config:
providers:
deepseek:
apiKeyEnv: DEEPSEEK_API_KEY
openai:
apiKeyEnv: OPENAI_API_KEY
anthropic:
apiKeyEnv: ANTHROPIC_API_KEY
ollama:
baseURL: http://127.0.0.1:11434/v1
api: openai-completions
models:
- id: llama3.1
contextWindow: 131072
maxTokens: 8192
vllm:
baseURL: http://127.0.0.1:8000/v1
api: openai-completions
models:
- id: local-model
contextWindow: 32768
maxTokens: 4096
openai-compatible:
apiKeyEnv: GATEWAY_API_KEY
baseURL: https://gateway.example.test/v1
api: openai-completions
models:
- id: gateway-model
contextWindow: 65536
maxTokens: 8192
官方适配器拥有凭证、模型元数据、传输和流转换;自动路由插件只读取 route 目录并返回其中一个 route key。
自动选择规则
自动请求使用 provider: auto;当插件配置中的 provider token 是 auto 时,也可以省略 provider:
const options = {
provider: 'auto',
model: 'deepseek-chat',
messages,
}
默认且固定的匹配顺序是:
explicit → provider_env → base_url → model_prefix
- 非
auto的显式 Provider 永远保持不变,不会被静默改写。