qoder行为异常时需通过debug日志定位问题:创建qoder-debug.conf配置文件启用debug日志,启动时指定--config参数;用qoderlog --follow --level=debug实时抓取沙箱日志;解析json lines格式的runtime.log文件排查task_failed或unhandled_state_transition等关键事件。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

当你在Qoder中执行Quest任务、调用智能体或触发代码生成后行为异常,但控制台未显示明确报错,问题根源往往藏在未被主动提取的操作日志里——这些日志记录了上下文解析、规则匹配、工具调用耗时等关键中间状态,是定位逻辑断点与上下文偏差的首要依据。
启用DEBUG模式获取完整执行链路
Qoder默认只输出INFO级别日志,像变量快照、Agent决策分支、MCP握手细节这类调试信息必须显式开启DEBUG通道才能暴露。
第一步:在项目根目录创建名为【qoder-debug.conf】的纯文本配置文件,确保文件编码为UTF-8且无BOM头。
第二步:向该文件写入两行内容,注意等号前后不能有空格:
log_level = debug
enable_trace_context = true
第三步:启动Qoder CLI时必须显式加载该配置,命令为qoder --config qoder-debug.conf。若遗漏--config参数,DEBUG日志将完全不输出。
实时抓取沙箱环境原始日志流
图形界面日志常因异步刷新或截断丢失关键帧,尤其在Socket.io连接抖动、MCP协议握手失败时,底层日志流才是唯一可信源。
方法一:终端中直接运行qoderlog --follow --level=debug,该命令会立即连接沙箱日志管道并持续输出。
代码编辑 CLI 工具集合:Cursor CLI(agent)和 Qoder CLI(qodercli),用于代码修改、重构、Code Review 及自动化代码任务。
方法二:复现问题操作(例如点击“执行Quest”按钮或输入/browser指令),此时所有DEBUG级事件将实时刷出,重点盯住[MCP-ERROR]、[TOOL-TIMEOUT]、[CONTEXT-TRUNCATED]三类标记字段。
按Ctrl+C终止监听后,日志自动保存至【~/.qoder/logs/latest.log】,该路径为离线分析唯一有效入口。
读取结构化JSON Lines日志文件
Qoder后台静默运行时,默认将每条日志写成独立JSON对象,一行一个,字段包含时间戳、agent_id、event_type、call_stack和decision_boundary,可直接用jq、grep等标准工具解析。
Linux/macOS普通用户日志路径为~/.qoder/logs/runtime.log;Windows用户路径为%APPDATA%\Qoder\logs\runtime.log;QoderWake数字员工则位于/var/log/qoderwake/agents/{agent_id}/runtime.log。
执行jq 'select(.event_type == "task_failed") | .fallback_reason' ~/.qoder/logs/runtime.log可精准提取所有失败原因字段,避免人工翻查。
若发现日志中大量出现"unhandled_state_transition",说明状态机定义存在未覆盖的跳转路径,需立刻检查对应技能模块的状态流转图。










