QClaw任务失败时可通过五步启用自动重试:一、确认版本≥v1.3.0并升级;二、在config.yaml中配置retry_policy;三、为特定Skill单独设置retry_config;四、通过微信指令动态重试;五、查看debug.log分析根本原因。
如果您向qclaw发送指令后任务执行失败,系统未返回预期结果或中途报错中断,则可能是由于临时性网络抖动、本地资源抢占、skill执行超时或ollama响应延迟所致。以下是启用与配置qclaw自动重试机制的具体操作步骤:
一、确认QClaw版本是否支持重试逻辑
QClaw v1.3.0及以上版本原生集成可配置的失败重试策略,低于此版本(如v1.2.x)默认不启用自动重试,需手动升级客户端。重试功能仅对Skill调用、浏览器自动化、文件操作等异步执行类任务生效,同步对话响应不触发重试。
1、打开QClaw客户端左下角托盘图标,右键选择“关于QClaw”。
2、查看版本号显示是否为v1.3.0 或更高版本;若低于该版本,请访问 claw.guanjia.qq.com 下载最新安装包。
3、安装完成后重启QClaw,确保微信绑定状态仍为已连接。
二、通过config.yaml启用并调整重试参数
QClaw的重试行为由本地配置文件config.yaml中的retry_policy字段控制。该文件位于QClaw安装目录下的conf子文件夹中,修改前需确保QClaw已退出运行。
1、关闭QClaw客户端(右键托盘图标→退出)。
2、使用记事本或VS Code打开路径:%APPDATA%\Tencent\QClaw\conf\config.yaml(Windows) 或 ~/Library/Application Support/Tencent/QClaw/conf/config.yaml(macOS)。
3、在文件末尾新增以下YAML区块(注意缩进为2个空格):
retry_policy:
enabled: true
max_attempts: 3
backoff_base_ms: 1000
backoff_multiplier: 2.0
4、保存文件,重新启动QClaw客户端。
三、为特定Skill单独设置重试规则
部分高价值Skill(如“自动提交GitHub PR”、“批量导出PDF”)允许覆盖全局重试策略,通过Skill元数据声明独立重试逻辑,避免低优先级任务占用重试配额。
1、进入ClawHub技能市场页面(QClaw主界面→技能中心→已安装技能)。
2、找到目标Skill(例如“GitHub Assistant”),点击右侧“编辑”按钮。
3、在弹出的JSON编辑器中,定位到metadata字段,添加retry_config对象:
"retry_config": {
"enabled": true,
"max_attempts": 5,
"timeout_ms": 30000
}
4、点击“保存并重启Skill”,该配置将在下次调用该Skill时生效。
四、通过微信指令动态触发单次重试
当某条指令执行失败后,QClaw会在微信对话窗口自动推送一条含错误摘要的反馈消息,并附带一个可点击的重试快捷指令。该机制无需预设配置,适用于所有已启用Skill的任务链。
1、等待QClaw在微信中发出失败通知,内容形如:“【任务失败】打开B站失败:网络请求超时(code=ETIMEDOUT)”。
2、在该消息下方,会出现一行灰色小字:点击重试 →,轻触即可发起一次不带参数的原任务重放。
3、若需带新参数重试,可直接在微信中输入“重试上一条,超时设为20秒”,QClaw将解析语义并覆盖原超时值。
五、检查重试日志以定位根本原因
每次重试动作均被记录至本地debug.log,包含尝试次数、间隔毫秒数、失败堆栈及最终状态。该日志是判断是否应调整重试策略而非单纯增加次数的关键依据。
1、在QClaw客户端主界面左上角点击“帮助”→“打开日志目录”。
2、定位并用文本编辑器打开最新日期的debug.log文件。
3、搜索关键词"retry attempt #",查看连续三次失败是否均为同一错误码(如ECONNREFUSED),若是,则表明问题非临时性,需转向环境修复而非依赖重试。










