Skip to content

Releases

v1.2.3

Choose a tag to compare

@bug-huntter bug-huntter released this 09 Oct 03:55

Changes

  • 修复 DSH 0.1.7-rc.2 volatile 配置对象需要通过 .get() 读取,避免 settings.baseUrl.trim is not a function
  • 修复 adapterStream 提前把图片投影成占位符,导致视觉请求缺少图片内容的问题
  • 在最终边界保留并转写图片,修复启用插件且测试通过后,带图片对话仍失败的问题
  • 增加 Context 服务读取、默认导出、原型方法补丁和 volatile 配置回归测试

Compatibility

  • 已在 DSH 0.1.7-rc.2 实测图片识别正常

Install

dsh plugin add @lp181818/dsh-vision-plugin@1.2.3

v1.2.0 — 密钥来源收敛 + 密钥格式

Choose a tag to compare

@bug-huntter bug-huntter released this 11 Sep 05:49

v1.2.0 — 密钥来源收敛 + 密钥格式

按「密钥只有一个来源」重做设置项:去掉一个会静默换 key 的间接层,并把"没带 key"变成一句能照着做的提示。

破坏性变更(配置项)

项目 v1.1.4 及更早 v1.2.0
密钥来源 apiKeyEnv(环境变量/凭证名)> apiKey > 复用同 Base URL 路由的密钥 只有 apiKey(设置页 API Key 字段)
「密钥来源(变量名)」栏 有 已移除(旧的 apiKeyEnv 值被忽略)
路由复用 兜底生效,会静默换成别的路由的密钥 彻底移除,绝不再替换你填的 key
密钥格式 无(固定 Authorization: Bearer) 新增:openai / anthropic / gemini / azure
未填 key 时 可能复用路由密钥,或收到上游那句看不懂的 401 发请求前就报「未携带 API Key」,并指明去哪个字段填
401/403 提示 只提示"密钥来自路由复用" 点名「已按 <格式> 携带密钥但被拒绝」,指向格式是否匹配
保存前测试 key 为空按"无法验证"放行保存 key 为空直接阻止保存,并给出「未携带 API Key」

新增「密钥格式」

端点始终是 {baseUrl}/chat/completions,只切换鉴权请求头(主机端与浏览器测试共用同一个实现):

格式 请求头 适用
openai(默认) Authorization: Bearer <key> OpenAI、OpenRouter、火山方舟 ARK、DeepSeek 及多数兼容网关
anthropic x-api-key: <key> + anthropic-version: 2023-06-01 Anthropic 风鉴权的网关 / 代理
gemini x-goog-api-key: <key> Google 风鉴权的网关 / 代理
azure api-key: <key> Azure OpenAI 风鉴权的网关 / 代理

本版只切换鉴权请求头,不切换端点与报文(选 anthropic 不会改走 /v1/messages,选 gemini 不会改走 generateContent)。要直连官方 Anthropic / Gemini 原生协议,仍需一个把它们转成 OpenAI 兼容格式的网关。

未携带 API Key 时的提示

主机端在发出请求之前就判定并写日志,浏览器端「测试连接」用的是同一条提示:

[图片转写失败:未携带 API Key:请在 设置 → 识图模型配置 的「API Key」字段填写密钥
(当前密钥格式:openai,如与密钥不匹配请在同页切换)——该图片未传递给模型]

不会再出现"图没送到模型,却只给一句看不懂的 401"。

迁移

升级后打开设置页,确认 API Key 已填、密钥格式与服务商匹配即可。旧行为等价于新版 密钥格式 = openai,OpenRouter / ARK / OpenAI 用户无需改动;settings.yaml 里遗留的 apiKeyEnv 会被忽略(可直接从配置文件中删掉)。

修复与测试

  • 保存可靠性:设置页 keyFormat 走一次原子 mutate 并读回校验是否真的落盘(DSH 契约里被拒的写入不抛异常)
  • 回归测试:test/key-resolution.test.mjs(6)、test/auth-headers.test.mjs(21,新增)、test/commit-settings.test.mjs(20)
  • 同时包含此前仅发布在 GitHub 的两个修复:v1.1.3(显式填写的 API Key 优先于路由复用)与 v1.1.4(保存被拒时不再静默丢弃草稿)

安装 / 升级

# npm
dsh plugin --profile web add @lp181818/dsh-vision-plugin@1.2.0

# 或:设置 → 插件 → 市场 → 更新

已安装旧版的用户:客户端改动刷新页面即可生效;主机端改动需重启 DSH(重启后「未携带 API Key」判定与鉴权头映射才会生效)。

完整变更记录:见 README 的 v1.2.0 章节。

v1.1.2

Choose a tag to compare

@bug-huntter bug-huntter released this 09 Sep 12:22

What's Changed

  • 修复:兼容新版本 DSH API(移除已废弃的 \settingsNamespace\ 引用,改用 \settings.register\)
  • 调整:版本号从 1.1.1 → 1.1.2

v1.1.1

Choose a tag to compare

@bug-huntter bug-huntter released this 09 Sep 01:03

dsh-vision-plugin v1.1.1

修复

  • 识图连接测试不再误报:推理型视觉模型(如 glm-5-3-flash)返回 HTTP 200 但把输出放在 reasoning_content 时,旧测试将空 content 误判为"模型不支持图片输入"并阻止保存。现在任何 2xx 都判定为成功(空输出仅提示,不阻断),readContent 同时读取 content 与 reasoning_content。
  • 401/403 加提示:非空 API Key 鉴权失败时,若检测到 key 疑似误带引号/空格会追加提示,避免与端点/模型配置错误混淆;空 key 的 401 仍保持"可保存(unverifiable)"。

影响

只改动浏览器端连接测试逻辑;服务端识图行为不变。