记录每次 bug 的根因、修复和预防措施。新版本开发前必读,避免重复踩坑。
日期:2026-08-26
影响:DSH Web GUI 启动后显示 "Failed to load plugins",dsh-brand-client 无法加载,DoTouchAI 品牌替换失效
触发条件:新版 DSH(0.1.1-rc.2)将 conversation.input.left 定为 list slot,注册时强制要求 options.id 字段
DSH 的 slot 系统分两种:
register({ name, priority }) 即可options.id 做身份标识dsh-brand-client 往 conversation.input.left(输入栏左侧)注册「视频抽帧」按钮时,slots.register() 的 options 里没写 id。新版 DSH 把该槽定为 list slot 后,缺 id 的注册被拒绝,整插件加载失败。
文件:dsh-brand-client/lib/client.js(源码在 /Users/eastudio/Documents/DSWorkSpace/dsh-brand-client/)
ctx.slots.inject("conversation.input.left", function* () {
yield ctx.slots.register({
name: "conversation.input.left",
+ id: "dsh-brand-video-frames",
+ order: 110,
label: "识图/视频抽帧"
}, VideoFrameButton);
});
id: 插件注册的唯一标识,list slot 必需order: 110: 排在语音按钮(order 100)后面PLUGIN-COMPAT.md)id日期:2026-08-26 影响:提高推理强度(reasoningEffort: high)后,阿里云百炼兼容接口返回 400 错误 触发条件:DSH 默认 provider 为阿里云百炼 compatible-mode 端点 + 开启推理强度
DSH 的推理强度开启后,系统提示改用 developer 角色(OpenAI 标准)。但阿里云百炼兼容接口只接受:
systemassistantusertoolfunctionDSH 无法识别百炼 URL 为阿里云端点,按 OpenAI 标准组包 → developer 角色 → 400。
文件:~/.dsh/settings.yaml
alibaba:
apiKeyEnv: ALIBABA_API_KEY
api: openai-completions
baseURL: https://llm-iwrb6yiaee24divf.cn-beijing.maas.aliyuncs.com/compatible-mode/v1
compat:
supportsDeveloperRole: false # 强制用 system 角色
maxTokensField: max_tokens # 用 max_tokens 而非 max_completion_tokens
PLUGIN-COMPAT.md)