CodeBuddy API密钥配置怎么检查才能解决无法执行?
CodeBuddy命令执行失败或报401时,需按环境变量、CLIflag、config.yaml优先级检查API密钥配置。使用codebuddyconfiglist查看是否加载密钥,通过echo$CODEBUDDY_OPENAI_API_KEY验证环境变量,确认密钥无空格、状态启用且权限齐全,并校验模型端点URL格式与可访问性。
遇到 CodeBuddy 命令执行失败、AI 功能无响应,或者直接弹出“Unauthorized (401)”提示时,首先不必慌张——绝大多数情况下是 API 密钥配置出现了问题。关键点在于:密钥并非简单地在 UI 输入框内填写即可生效,必须按照环境变量 > CLI flag > config.yaml 的优先级层级正确落位,且格式、协议、权限一项都不能少。

检查配置是否生效
打开终端,使用以下命令初步排查:
codebuddy config list
观察输出中是否包含 【api_key】 或对应 provider(如 openai、anthropic)的密钥字段。若没有该字段,说明密钥未被任何配置层加载;若显示为 undefined 或空字符串,则表示配置值有误。
这里需特别注意:该命令仅读取 CLI 配置层(config.yaml 或 CLI flag),不会显示环境变量中的密钥。换言之,即使终端输出中不显示,也不代表环境变量未生效。
验证环境变量是否被识别
方法一:直接打印关键变量
在终端中执行:echo $CODEBUDDY_OPENAI_API_KEY(若使用其他 provider,替换为 CODEBUDDY_ANTHROPIC_API_KEY 等)。
若返回空值或出现 command not found 错误,说明变量未设置或拼写有误。
方法二:启动时强制注入并监控日志
执行:CODEBUDDY_OPENAI_API_KEY=sk-xxx codebuddy --debug(将 sk-xxx 替换为真实密钥)。
观察终端输出是否包含 INFO: Loaded API key from environment variable。若仍报 ERROR: Unauthorized (401),则问题转向密钥本身——可能密钥无效或权限不足。
确认密钥格式与权限状态
第一步:将密钥全文复制到文本编辑器中,逐字符检查首尾是否存在隐藏的空格、换行或中文标点。
第二步:登录对应服务商控制台(如 OpenAI Platform、Anthropic Console 或 Coding Plan 管理页),确认该密钥状态为 Enabled,且所需权限均已勾选(例如 OpenAI 的 models、assistants;Coding Plan 的 code-completion 和 chat)。
第三步:若使用 Coding Plan 套餐,务必确认密钥属于 【当前账号绑定的 Coding Plan 实例】。跨账号的密钥或过期套餐下的密钥,系统将直接静默拒绝,不会给出任何提示。
校验模型端点 URL 是否合法
① 执行命令:codebuddy config get model_endpoint
② 若返回为空,说明未手动设置端点,此时 CodeBuddy 将使用 provider 的默认地址(例如 OpenAI 的 https://api.openai.com/v1)。
③ 若返回非空,需确认 URL 包含完整协议(https:// 或 http://)、域名和路径,并且末尾 绝不能有多余的斜杠(例如 https://api.openai.com/v1/ 错误,应为 https://api.openai.com/v1)。
④ 若使用本地模型(如 Ollama),需确保 CODEBUDDY_OLLAMA_BASE_URL 指向可访问的服务地址(例如 http://localhost:11434/v1),并在浏览器中手动访问该地址,若能返回 JSON 响应,说明服务正常。
