Skip to content

Releases

v0.8.7.1-preview

v0.8.7.1-preview Pre-release
Pre-release

Choose a tag to compare

@Elysia11451 Elysia11451 released this 11 Oct 01:40

v0.8.7.1 (2026-10-11)

修复

  • 首轮选 Chat 不立即切换模型(隐私泄露问题):新会话选 Chat 后首轮请求已用 Work 档模型发出,改为 pre-step 返回 reject + 答案落定后 steer 重发,首轮零请求、零泄露。
  • 极端情况下首轮消息可能丢失:@deepseek-ai/dsh-llm 动态加载失败时仅真切不重发,已在 README 已知限制中诚实写出,缓解方式为重发消息。

v0.8.7

v0.8.7 Pre-release
Pre-release

Choose a tag to compare

@Elysia11451 Elysia11451 released this 10 Oct 15:47

v0.8.7(预发行版,2026-10-08)

产品理念

平时闲聊和干活对模型的要求完全不同:闲聊要便宜、快;干活要强、能深度推理。手动换模型又麻烦又容易忘,切错了要么浪费钱、要么干不好活。这个插件帮你自动分流——你只管说话,它按会话判断该走哪个档;只做路由注解,不改工具参数、不打断干活;你手动选过的模型一律让路不覆盖。

实际功能(已验证)

  • 双档路由:IM 闲聊 → Chat 档(light,自填便宜模型);主界面直用 / IM 明确干活(装插件/跑命令/写代码) → Work 档(deep,免费池最强)。
  • 三层判定:会话状态机 → 关键词兜底 → 默认 chat;状态机在位直接用,连 3 轮闲聊才从 work 降回 chat。
  • 首轮弹窗(仅 DSH 主界面):新会话首轮弹 Chat/Work 选择;选 Chat 承诺本会话永不自动升 Work。
  • 方向性冷却:chat→work 升档直通;work→chat 降档受 switchCooldownMs(默认 5s)约束。
  • 手动绝对优先:你亲手选过的模型(durable 选择),路由一律不覆盖,只注解 kept。
  • Chat 档干活只问一次:Chat 会话调到生产型工具(写文件/跑命令)弹窗一次,同意切 work 并翻承诺,拒绝/超时则本会话粘住 chat 不再问。

本版修复:同类判定升级为 (provider, model, effort) 三元组;pickWorkModelFromChain 返回清单真实 id;群聊提示只写诊断日志不发消息;peerDependencies 移除 dsh-our-free-model;warmup 句柄 + 每用例独立 DSH_HOME + fetchImpl 注入根治 flaky;IM 首轮 ask 缺席时用 classifyTask 定初始模式;refreshFreeList 仅取 available 模型;lastSwitch/cooldown/hint 全部 BoundedMap;route-log 三键 + save-guard 收窄。

测试:153 用例全绿(router 53 / session-mode 7 / crash 51 / leaderboard 31 / first-turn 11),EXIT=0。

已知限制(用前必读)

  • IM 首轮弹窗未触发:QQ/微信新会话弹不出选择窗,降级为静默 chat、次轮关键词纠正;IM 往返整体留后续版本。
  • 首轮选 Chat 不立即切换:选 Chat 后首轮仍继承 Work 档模型(first-turn-pending 分支短路),发第二条消息才纠正;计划 v0.9.0 主打修复。
  • Work 档手选 Chat 档 API 模型被覆盖:Work 会话里手动指定的 Chat 档模型会被路由盖掉;尚未诊断,待排查。
  • 首轮承诺无独立测试用例:initialMode 承诺无独立断言,只靠集成测试;后续版本补单测。
  • 3 条边界关键词仍误判:查一下当前目录 / 跑一下测试 / 调用工具试试 仍判 chat(NTR 4);本版未修。
  • IM 往返未实现:只写诊断日志、不实际发消息(缺 dsh-im 运行环境);留后续版本。

v0.8.6.1-preview (2026-10-07,底线降级版)

v0.8.6-preview

v0.8.6-preview Pre-release
Pre-release

Choose a tag to compare

@Elysia11451 Elysia11451 released this 07 Oct 06:12

v0.8.6-preview (2026-10-07)

预发布版本。本版聚焦首轮语义正确性、IM 通道可观测性与设置页 UI 修复。

新增

  • 三层判定逻辑:状态机 → 关键词兜底 → 默认 chat,降低单点误判导致的档位漂移。
  • 首轮 Chat/Work 弹窗:新会话首轮可选择 Chat 或 Work 档(DSH 主界面已验证可用)。
  • deepseek provider 声明修复:provider 声明与实际模型链对齐。
  • chatModelPriority 默认改为空数组:不预设 provider,由用户自行配置。
  • 空数组回退:chat 链为空时回退到 workModelFallback,日志标注 reason=chat-chain-empty。

修复

  • issues NTR 1 首轮手选被覆盖:首轮弹窗已派出但答案未回时,本轮仅注解不真切(keepReason=first-turn-pending),不再用默认 chat 覆盖用户手选的 work 档模型;弹窗答案落定后下一轮自然纠正。
  • issues NTR 2 首轮可观测性:新增 IM session 就绪探针与 asked/settled 双落盘(first-turn/probe、first-turn/prompt-asked、first-turn/prompt-settled);ask 悬挂无视 AbortSignal 时自超时兜底(timeout+1s,先落定者赢);NO_PROVIDER 显式 warn,IM 桥吞日志时也可一眼定位。
  • 冷却机制按方向区分:升档放行,降档冷却。
  • decision 日志补 switchError 字段。
  • 重复路由条目:清理 profile patch 中重复的 auto-model-router 行。
  • 设置页表单缺失:client 半侧补注册 plugins.row.config(key=dsh-auto-model-router#auto-model-router),设置 → 插件页面恢复配置表单。
  • 降级链输入框可拖动:模型优先级 textarea 锁定 resize:none。

测试

  • 140 用例全绿:router 46 / session-mode 7 / crash 49 / leaderboard 30 / first-turn 8,含新增 issues NTR 1 annotate-only 与 issues NTR 2 probe/asked 落盘断言。

已知问题

  • issues NTR 2(部分修复):IM 通道(QQ/微信/TG)首轮 Chat/Work 弹窗端到端未通。根因为 DSH 框架层缺陷——ask_user_question 在非 Web 通道永久挂起(dsh-host-apiproxy 唯一 provider 无超时/离线检测,Discussion #2544、#4708),非本插件逻辑问题。主界面弹窗正常。dsh-ask-guard 因 peerDeps 不兼容未安装,fan-out 方案(dsh-ask-router)留待 v0.8.7。
  • issues NTR 3(待修复):Chat 链头已从 GLM 改为 DeepSeek(GLM 赠送额度已耗尽)。
  • issues NTR 4(待修复):关键词覆盖不足,3 条边界消息误判(查一下当前目录 / 跑一下测试 / 调用工具试试),本版未处理。

v0.8.5-preview

v0.8.5-preview Pre-release
Pre-release

Choose a tag to compare

@Elysia11451 Elysia11451 released this 07 Oct 01:44

新增

  • 三层判定逻辑(状态机 → 关键词兜底 → 默认 chat)
  • 首轮弹窗选择 Chat/Work 档(DSH 主界面已验证,IM 通道待 v0.8.6)
  • deepseek provider 声明修复
  • chatModelPriority 默认改为空数组,不预设 provider,用户自行配置
  • 空数组时回退到 workModelFallback,日志 reason=chat-chain-empty

修复

  • 冷却机制按方向区分(升档放行,降档冷却)
  • decision 日志补 switchError 字段

测试

  • 138 用例全绿

已知问题

  • ISSUE-T1 / ISSUE-T9b / ISSUE-W1 / ISSUE-P3-1(详见 CHANGELOG)