Skip to content

v0.1.7 · 客户端标识头 + DSH 0.1.5 兼容

Choose a tag to compare

@fu827707013 fu827707013 released this 10 Sep 09:47
· 5 commits to main since this release

修复 issue #1 反馈的两个问题。

1. 后台看不到客户端标识

CodeBuddy 后台判定"客户端"不读 User-Agent,只认官方 CLI 发送的这一组头:

X-IDE-Type / X-IDE-Name / X-IDE-Version / X-Product-Version

本插件此前只发了 User-Agent,且版本号写死为 2.63.2(实际 CLI 已是 2.148.0),因此后台把请求记为无客户端。

现在按官方 CLI 的语义发送该头族(X-IDE-Type/X-IDE-Name 为 cli),版本号改为从本机已安装的 @tencent-ai/codebuddy-code 动态解析,不再写死。解析失败时省略版本头而非编造版本号。

2. DSH 0.1.5 下报 Cannot read properties of undefined (reading 'get')

DSH 0.1.5 给 llm-pi-ai 的路由 profile 新增了必填字段 modelErrors,并在每次模型查询时执行 profile.modelErrors.get(model)。插件按旧 schema 构造 profile 时该字段缺失,于是抛出上述 TypeError,在模型选择器里显示为「CodeBuddy CLI 加载失败」。

现在 profile 改为两代字段的超集,一份构建同时服务两个宿主:

宿主 行为
DSH 0.1.5+ 使用 modelErrors
DSH 0.1.2 完全忽略该字段,行为不变

peerDependencies 已放宽为 >=0.1.2-rc.1 <0.2.0(pi-ai 为 >=0.84.2 <0.86.0)。

说明:该报错发生于模型选择器加载期(listModels / resolveModelInfo),不影响已选中模型的流式对话,这也解释了"新会话里发消息正常"的现象。

验证

  • 测试 182 通过 / 1 跳过(新增 19 条:客户端标识 13 条 + 双版本兼容 6 条)
  • tsc --noEmit 与 tsdown 构建均通过
  • 构建产物实测同时携带 X-IDE-* 头与 modelErrors
  • 真实解析到本机 CLI 版本 2.148.0

升级方式

dsh plugin --profile web add dsh-codebuddy-cli

安装后请重启 dsh web 并产生新的调用记录,再到后台确认"客户端"列(历史记录不会追溯)。