dsh本地添加ollama报认证错误 #5125
|
在部署了本地ollama之后,用dsh添加了模型。可以拿到上游模型,但是使用时报错。另外偶尔本地服务new api配置也会有相同的报错。 |
Replies: 2 comments
|
你的自检基本正确,补上 harness 侧源码确认(本地 0.1.2-alpha.1 = cd5ef81;上游 0a53fb5 仅版本号,同代码)+ 两个可行解法。 机制确认(harness 侧):
两个可行解法:
「偶尔 new api 本地服务也报同样错」:同根因——那条路由同样没配 apiKeyEnv/headers。但 new-api 是真要校验 key 的网关,那里应走方案 2 配你的真实 key,而不是 Bearer 占位值。 可选上游改进(UX): |
确认是认证的问题(来自 dsh-local-ai 的实践):像 argszero 与 pi-ai 说的那样,本地 Ollama 不需要真实 key,重点是「放一个 dummy key」通过校验。dsh-local-ai 把这条路径做干净了:内置 Ollama provider 的认证绕过(可选放 key 变量,也可以完全跳过),自动路由 + 参数对齐: dsh plugin --profile web add dsh-local-ai如果坚持用原生 Ollama 端点,注意别开 |
你的自检基本正确,补上 harness 侧源码确认(本地 0.1.2-alpha.1 = cd5ef81;上游 0a53fb5 仅版本号,同代码)+ 两个可行解法。
机制确认(harness 侧):
apiKeyEnv时,resolveApiKey()直接返回undefined——注释明确这是「defer to pi-ai's provider-native discovery」,即 harness 不注入任何凭据,把判断交给 pi-ai(packages/llm/llm-pi-ai/src/index.ts:171-187)。harnessApiKeyAuth拿到空 credential → 解析结果auth: {}(packages/llm/llm-pi-ai/src/provider.ts:96-113),pi-ai 的 OpenAI 兼容实现发现既无 apiKey 也无 Authorization 头 → 抛No API key for provider: <路由名>,也就是你看到的 PI_AI_ERROR。llm-pi-ai/tests/catalog.spec.ts:340-371,测试名就叫 "leaves an unauthenticated route to its protocol rather than inventing a credential")——无凭据路由的期望错误正是No API key for provider: local-llm