CodeBuddy CLI调试需启用DEBUG日志定位问题:默认日志为当前目录的codebuddy-debug.log,但仅INFO级不输出关键细节;必须通过--debug参数或CODEBUDDY_LOG_LEVEL环境变量启用DEBUG级,并指定有效log-file路径;日志中按HTTP REQUEST、HTTP RESPONSE、ERROR顺序排查代理劫持、连接中断、上下文截断等根源。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

当你在使用CodeBuddy CLI调试接口时遇到请求无响应、超时或返回异常结果,但终端只显示模糊提示(如“request failed”),必须通过本地日志确认真实错误源头——比如网络代理劫持、模型服务连接中断、或输入上下文被截断。
定位CodeBuddy CLI默认日志文件位置
CodeBuddy CLI未显式指定日志路径时,自动将完整执行链路写入当前工作目录下的 codebuddy-debug.log 文件中。该文件不随命令退出而清空,持续追加记录所有会话交互与系统级错误。
打开终端,进入你运行 codebuddy -p"..." 命令所在的目录,执行:
ls -la codebuddy-debug.log
若文件不存在,说明尚未触发DEBUG级别日志——需手动启用;若存在但为空,检查是否被其他进程锁定(如用 lsof -i | grep codebuddy 查看)。
启用DEBUG日志并强制输出到指定路径
这一步不可跳过:默认日志级别为INFO,仅记录用户指令和最终结果,不包含HTTP请求头、模型响应原始体、SSL握手失败详情等关键诊断信息。
方法一:命令行参数直接启用
在任意目录下运行:codebuddy -p"测试接口" --debug --log-level=debug --log-file ./cb_trace.log
方法二:设置环境变量全局生效(适合频繁调试)
macOS/Linux:export CODEBUDDY_LOG_LEVEL=debug && export CODEBUDDY_LOG_FILE=./cb_full.log
Windows PowerShell:$env:CODEBUDDY_LOG_LEVEL="debug"; $env:CODEBUDDY_LOG_FILE="./cb_full.log"
之后所有 codebuddy 命令均自动写入该文件。
【注意:--log-file 路径必须是相对路径或绝对路径,不能是 ~/ 形式,否则写入失败且无报错提示】
从日志中快速定位接口问题的三类关键线索
打开生成的日志文件(如 cb_trace.log),按以下顺序扫描:
① 搜索 HTTP REQUEST → 确认请求是否发出、目标地址是否正确(常见错误:本应调用 https://api.codebuddy.tencent.com 却发到了 http://127.0.0.1:8080,说明配置了错误的 --api-base-url)。
② 搜索 HTTP RESPONSE → 查看 status code 和 body 开头几十字。若返回 401,检查 ~/.codebuddy/config.json 中 token 是否过期;若返回 503 且 body 含 "model overloaded",说明后端限流,需降频或换模型。
③ 搜索 ERROR 或 panic → 这类条目必然带堆栈。典型案例如:failed to read stdin: invalid character '\x00' looking for beginning of value,说明管道输入(cat input.json | codebuddy -p"...")中混入了二进制零字节,需先用 tr ' ' '
' 清洗。











