dsh-auto-model
English | 中文
一个 DeepSeek Harness 组合包,用于添加 Auto 模型选项。会话选中 auto 时,插件会用一次轻量 Flash 调用对每轮任务分类,再路由到 deepseek-v4-flash(SIMPLE)或 deepseek-v4-pro(COMPLEX)。
这是纯 JavaScript 组合包,可直接从 git 主机安装,无需构建步骤。它只使用已发布的核心 API,可在未修改的 harness 上运行。
安装
安装到 web profile(即 dsh web 命令启动的 profile):
本地检出:
dsh plugin --profile web add ./dsh-auto-model从 GitHub:
dsh plugin --profile web add github:AL-spiritphoenix/dsh-auto-model然后启动:
dsh webdsh web 是 web profile 的别名,无需再传 --profile。模型选择器现在会在 Flash 与 Pro 旁列出 Auto。路由器选中的具体模型会写入会话日志中每条请求的 header。
工作原理
- 插件注册自己的
deepseek-autoprovider 路由,其listModels()在运行时返回auto条目。因此该目录项不依赖llm-deepseek的models配置,settings.yaml覆盖无法将其隐藏。 - 插件监听根级
agent/requestwaterfall(在installModelSelection之外),在真正 dispatch 前将auto(不论由哪个 provider 携带)改写为具体的provider/model。 - 每轮的第一步向
classifierModel(默认使用 fast 模型)发起一次辅助分类调用;同一轮后续步骤复用该决定。调用失败时回退到onClassifierError(默认slow)。
配置
所有字段均为可选,默认对应 DeepSeek V4 这一对模型:
| 键 | 默认值 | 含义 |
|---|---|---|
provider | deepseek-official | 具体请求路由到的 provider。 |
model | auto | 展示并提交的虚拟模型 id;从不真正 dispatch。 |
providerName | DeepSeek(Auto) | 选择器中的分组标签。 |
name | Auto | 选择器中的模型标签。 |
description | (内置) | 选择器详情说明。 |
fastModel | deepseek-v4-flash | SIMPLE 任务使用的模型。 |
slowModel | deepseek-v4-pro | COMPLEX 任务使用的模型。 |
classifierModel | fastModel | 承担分类调用的模型。 |
classifierPrompt | (内置) | 分类器系统提示词。 |
classifierMaxTokens | 16 | 分类器输出 token 上限。 |
classifierTimeoutMs | 10000 | 分类调用截止时间。 |
contextBudgetChars | 4000 | 送入分类器的任务字符上限。 |
onClassifierError | slow | 分类失败或返回未知 token 时的目标。 |
可在 web profile 的 cordis.patch.yml 中覆盖:
- id: auto-model
config:
fastModel: deepseek-v4-flash
slowModel: deepseek-v4-pro
onClassifierError: slow限制
auto以文本模型身份发布,因此含图片的会话无法选中它。- 分类调用是辅助 dispatch,不计入 token 计量。
auto是会话本地的:重启后,非空会话会从日志中已记录的具体模型恢复,而不会重新分类。