GitHub Issue

Qclaw 可能错误地把 Ollama 本地占位值写入 OPENAI_API_KEY,导致 OpenAI 模型 401

Discovered On Mar 30, 2026
Primary Metric open
哈哈哈,果然写出了我平生第一条和代码有关的反馈。谢谢秋芝给了个机会。如果表述得不对,见谅。 问题描述: 我在 macOS Apple Silicon 上安装 Qclaw 后,直接对话里选择了 OpenAI 的模型 `openai/codex-mini-latest`,发送消息时报错: 401 Incorrect API key provided: ollama-local 排查后发现: 1. 聊天会话实际选中的模型是 `openai/codex-mini-latest` 2. OpenClaw 默认主模型也是 `openai/codex-mini-latest` 3. 但本地配置文件 `~/.openclaw/.env` 中被写入了: OPENAI_API_KEY=ollama-local 同时,在 `~/.openclaw/openclaw.json` 里,本地 Ollama provider 也存在,配置类似: - baseUrl: http://127.0.0.1:11434/v1 - apiKey: ollama-local 我的理解是: - `ollama-local` 作为本地 Ollama/OpenAI-compatible provider 的占位值是合理的 - 但它不应该被写入 `OPENAI_API_KEY` - 一旦用户在 Qclaw 中选择 OpenAI 云模型,请求就会把 `ollama-local` 当成真正的 OpenAI key 发出去,从而导致 401 复现路径: 1. 安装并打开 Qclaw 2. 本机存在 Ollama 本地模型配置 3. 在 Qclaw 中选择 OpenAI 模型(如 `openai/codex-mini-latest`) 4. 发送消息 5. 返回 `401 Incorrect API key provided: ollama-local` 建议: 1. 区分本地 OpenAI-compatible provider 的占位 key 与真实 `OPENAI_API_KEY` 2. 不要在配置迁移、初始化或向导过程中把 `ollama-local` 写进 `~/.openclaw/.env` 3. 对 OpenAI provider 增加配置校验:如果 key 是 `ollama-local`、空值或明显占位值,应直接提示配置错误,而不是发请求后 401 4. 在 UI 中提供更明确的“当前模型使用哪个 provider / 哪个 key 来源”的提示,方便用户排查 补充: 我手动检查后,修改 `~/.openclaw/.env` 中的 `OPENAI_API_KEY` 才能修正这个问题。
View Raw Thread

Developer & User Discourse

qiuzhi2046 • Mar 30, 2026
哈哈哈,这个bug是粗心留下的,感谢反馈,写得真详细👍,计划修复了,也欢迎提交PR哦
bingweisi • Mar 31, 2026
作为 Qclaw 的 Windows 贡献者,我也关注到了这个 API key 配置问题。这个 bug 确实很关键,会导致用户在 OpenAI 模型选择时遇到 401 错误。

从技术角度看,这个问题涉及到:
1. **配置文件管理** - Ollama 本地占位值不应污染 OpenAI_API_KEY
2. **Provider 选择逻辑** - 需要明确区分本地 OpenAI-compatible 和远程 OpenAI provider
3. **UI 反馈** - 用户应该清楚知道当前模型使用哪个来源的 API key

如果这个 issue 还没有人接手处理,我可以考虑贡献一个 PR 来解决。特别是 Windows 平台的用户也会遇到类似问题。

@qiuzhi2046 如果您还没有安排人处理,我可以尝试修复这个问题。
michaelbrinkworth • Mar 31, 2026
Based on this error, this may be tied to a auth condition on openai. Might be worth trying npx ai-doctor. It can fix auth handling by validating api keys and provider auth flow.
bingweisi • Apr 1, 2026
## 丙维斯的分析与处理建议 👋

感谢 @Pali3135 提供的详细问题描述!这个 Bug 确实非常关键,会严重影响新用户的正常使用。

### 🚨 问题严重性
- **影响范围**: 所有同时配置了本地 Ollama + 选择 OpenAI 云模型的用户
- **用户体验**: 完全无法正常使用 OpenAI 模型
- **新用户影响**: 直接劝退,安装后立即遇到 401 错误

### 🔍 根本原因分析
问题在于配置管理逻辑没有区分:
1. **本地 OpenAI-compatible provider 的占位值** (ollama-local)
2. **真实的 OpenAI API Key**

### 💡 建议解决方案
**短期(紧急修复)**:
1. 在配置校验阶段增加占位值检查
2. 当检测到 OPENAI_API_KEY=ollama-local 但用户选择 OpenAI 云模型时:
- 给出明确错误提示
- 引导用户配置真实的 API Key
- 不发起失败的 API 请求

**长期(架构改进)**:
1. 分离本地 provider 配置和云 provider 配置
2. 增加配置一致性检查
3. 在 UI 中显示当前使用的 Key 来源

### 🛠️ 我可以协助处理
这个问题技术复杂度适中,但我目前专注 Windows 平台改进。如果需要,我可以:
- 提供详细的修复方案
- 协助 review 相关代码
- 在资源允许时接手修复

**建议优先级**: 最高!建议在下一个版本中紧急修复。
bingweisi • Apr 1, 2026
@qiuzhi2046 感谢您对这个重要问题的关注!这个 API Key 配置问题确实很关键,会影响大量用户的正常使用。如果这个 issue 还没有人接手处理,我很乐意贡献一个 PR 来修复这个问题。我会尽快实现一个解决方案,确保用户在 OpenAI 模型选择时不会遇到 401 错误。🙏