本文档列出常见问题及诊断方法。
pyclaw 提供三个核心诊断命令:
# 综合诊断 — 检查配置、依赖、连接
pyclaw doctor
# 运行状态 — Gateway、通道、Agent 状态
pyclaw status [--deep]
# 实时日志 — 查看 Gateway 日志输出
pyclaw logs [--follow]
症状: 运行 pyclaw gateway 后立即退出或报错。
排查步骤:
# 默认端口 18789
lsof -i :18789
如果端口已被占用,修改配置或停止占用进程:
pyclaw config set gateway.port 18790
pyclaw doctor
配置校验失败时 Gateway 会拒绝启动。pyclaw doctor 会显示具体的字段错误。
python --version # 需要 3.12+
pyclaw logs
症状: UI 或 CLI 无法连接到 Gateway,报 “Connection refused”。
排查步骤:
pyclaw status
127.0.0.1,仅接受本地连接。远程访问需修改:
pyclaw config set gateway.bind "0.0.0.0"
gateway.auth.token,确保客户端使用了正确的 Token:
pyclaw config get gateway.auth.token
症状: 连接 Gateway 后收到认证错误。
排查步骤:
pyclaw config get gateway.auth
echo $PYCLAW_AUTH_TOKEN
pyclaw config set gateway.auth.token "new-token"
症状: 已配置 Telegram/Discord 等通道,但发送消息后无反应。
排查步骤:
pyclaw channels status
enabled: true:
pyclaw config get channels.telegram
检查 allowFrom: 如果配置了 allowFrom,确保你的用户 ID 在列表中。
群组消息: 群组中默认需要 @mention 才会触发 Agent。检查 groupPolicy 和 mention 配置。
pyclaw logs --follow
观察是否有连接错误或认证错误。
症状: 配置了 MCP 服务器,但 Agent 未使用对应的工具。
排查步骤:
pyclaw mcp status
pyclaw mcp list-tools
pyclaw config get tools.mcpServers
确保 command / args 或 url 正确。
stdio 模式: 确保 MCP 命令可执行(如 npx 在 PATH 中)。
症状: Agent 回复延迟很长,或报超时错误。
排查步骤:
pyclaw status --deep
检查网络: 中国用户连接 OpenAI/Anthropic 可能需要代理。设置 HTTP_PROXY / HTTPS_PROXY 环境变量。
切换模型: 尝试更快的模型(如 gpt-4o-mini 或 gemini-flash)。
症状: 修改了 pyclaw.json 但行为未变化。
排查步骤:
需要重启的设置: gateway.port、gateway.bind 等网络设置需要重启 Gateway。
echo $PYCLAW_CONFIG_PATH # 如果设置了环境变量
# 默认: ~/.pyclaw/pyclaw.json
JSON5 语法错误: 语法错误会导致配置加载失败,检查 pyclaw doctor 输出。
症状: pyclaw doctor 或 pyclaw security audit 报告明文密钥。
处理方法:
使用环境变量: 将 API Key 移到 .env 文件或环境变量中,配置中改为 ${VAR_NAME} 引用。
pyclaw secrets audit # 扫描明文密钥
pyclaw secrets apply # 替换为引用
pyclaw security audit --deep --fix
| 路径 | 内容 |
|---|---|
~/.pyclaw/pyclaw.json |
主配置文件 |
~/.pyclaw/sessions/ |
会话记录 |
~/.pyclaw/auth-profiles.json |
API Key 与 OAuth 凭证 |
~/.pyclaw/logs/ |
运行日志(如启用文件日志) |
~/.pyclaw/memory/ |
记忆存储 |
~/.pyclaw/cron/ |
定时任务配置与执行日志 |
# 清理旧会话
pyclaw sessions cleanup
# 导出备份
pyclaw backup export --output backup.zip
# 从备份恢复
pyclaw backup import backup.zip
# 完全重置(谨慎操作)
rm -rf ~/.pyclaw
pyclaw setup --wizard
如果以上方法未解决问题:
pyclaw doctor 并保存输出pyclaw logs 中的错误信息