DSH HUB
HomePlugin StoreCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Amouren7 /

dsh-model-switch

Topic repository only

DSH Cordis 插件 — 按任务类型自动切换模型(设计/复查→deepseek-v4-pro,日常执行→deepseek-v4-flash)

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: master@5937d6cb

dsh-model-switch

DSH 自动模型切换插件 —— 像 Claude Code 的 Auto Model Switching 一样,让 DSH 根据任务类型自动选择模型:关键思考用 pro,日常执行用 flash,省钱、省延迟、还不用手动切。

DSH Cordis License Tests

在 DSH(DeepSeek Harness,Cordis 插件架构)会话中,模型不再固定一个:插件监听每次请求前的路由点,按任务类型在 DeepSeek 官方双模型之间自动切换——

任务类型 路由到 原因
设计文档、方案评审、复查测试、检查验证 deepseek-v4-pro 根本性决策需要强推理
写代码、改代码、实现、跑测试、日常问答 deepseek-v4-flash 快、省、够用

效果

你:请输出用户登录模块的设计方案          → deepseek-v4-pro    (设计 → 强推理)
你:按上面的设计写代码                    → deepseek-v4-flash  (执行 → 快而省)
你:复查测试,检查边界条件                → deepseek-v4-pro    (复查 → 强推理)
你:继续                                  → deepseek-v4-flash  (日常 → 不抖动)

真实会话中的模型切换被记录在 DSH 的 request/header 事件里,全程可见可追溯。

特性

  • 零额外成本:任务类型判定是纯规则引擎(关键词 + 阶段信号),不调用任何额外 LLM 打分
  • 阶段化切换:模式 sticky,同一任务内不抖动——对 KV cache 友好,不浪费输入 token
  • 手动优先:你用 /model 手动选择后,插件自动让位,绝不覆盖你的显式选择
  • 按 agent 隔离:多会话并行互不干扰;subagent/workflow 独立判定
  • 全局生效:注册在 host 层,装一次,所有会话自动可用(无需在 cordis 会话里手动激活)
  • 健壮性:动态插件沙箱兼容(安全日志)、模型目录缺失自动降级、异常永不泄漏

工作原理

用户消息 → agent/pre-step(门控:仅新用户消息边界判定)
        → 判定器 decideMode(按优先级决策任务模式)
        → agent/request(路由器三分支 → 替换本次请求的 provider/model)
        → 模型请求 → request/header 事件(切换落日志)

判定优先级(先命中者胜出):

plan 模式激活        → design(最高)
复查/审查/检查/验证  → review
写代码/实现/修改/运行 → implement(实现词优先于设计词)
设计/方案/规划/文档   → design
其余                 → implement(默认)

路由器三分支:

分支 条件 行为
显式指定 会话入口/workflow 固定了模型 永久让位
默认或自写 基线 == 默认选择 或 == 插件上次写入 接管,应用映射
UI 手动选择 用户 /model 选了模型 让位,尊重用户

设计细节与 DSH 源码依据:见 docs/superpowers/specs/2026-08-14-dsh-auto-model-switch-design.md。

安装

方式一:全局固化(推荐)

  1. 把 plugins/auto-model-switch 目录链接进你的 DSH profile(例如 web):
    cd ~/.dsh/profiles/web
    pnpm add "file:/path/to/dsh-model-switch/plugins/auto-model-switch"
    
  2. 在 ~/.dsh/profiles/web/cordis.patch.yml 注册插件实例:
    - insert:
        - id: auto-model-switch
          name: dsh-auto-model-switch
          config: {}
    
  3. 重启 DSH(或等待 HMR 热应用),新会话即自动生效。

方式二:动态插件(调试用)

在 cordis preset 会话中,把 plugins/auto-model-switch/dist/code.host.js 作为 code.host 提交: cordis_define(kind:"new")→ cordis_run。会话级生效,重启失效。

配置

当前模型映射与关键词表为代码常量,按需修改:

想改什么 改哪里
模型映射(design/review → pro、implement → flash) src/router.js 的 MODEL_BY_MODE
判定关键词(评审/实现/设计词表) src/decider.js 的 KEYWORDS
决策优先级 src/decider.js 的 decideMode

改完跑 npm test(44 个单元测试)确认,然后重新 pnpm add file: 更新 profile 链接。

测试与验证

  • 单元测试:44/44 通过(cd plugins/auto-model-switch && npm test)
  • 集成验证:真实 DSH 环境实测通过(实现→flash、复查→pro、连续消息不抖动、工具结果不误判、目录降级与恢复)——见 verification/verification-record-final.md
  • plan 模式进出、/model 手动选择、会话恢复等交互用例已由单测覆盖,真机待补验

项目结构

├── plugins/auto-model-switch/
│   ├── src/          # 源码:decider(判定器)/ router(路由器)/ plugin(Cordis 组装)
│   ├── test/         # 44 个单元测试(node:test,零依赖)
│   ├── lib/          # 固化安装包入口
│   ├── dist/         # 动态插件产物(code.host.js)
│   ├── observer/     # 观测插件(集成验证用)
│   └── verification/ # 验证手册、记录与驱动脚本
├── docs/superpowers/ # 设计文档(spec)与实现计划
└── AGENTS.md         # 项目规则

相关

  • DeepSeek Harness (DSH) — 本插件运行的平台
  • 设计文档 — 完整设计、决策与 DSH 源码行号依据
  • 验证记录 — 集成验证结论与观测证据

MIT License

—/ 5

No ratings yet

Manifest verification required

Commit 5937d6cb018a

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout