背景
非技术用户遇到 Hermes/OpenClaw/QwenPaw 不响应时,最痛的是“不知道发生了什么,也不知道下一步点哪里”。直接让用户看 systemd/log/端口/配置文件,门槛太高。
这个 issue 目标是先做 Agent 健康页和人话错误提示,再逐步增加一键修复。fallback AI repair agent 可以作为第二阶段,但不应该一开始默认接管系统自动改文件。
当前代码依据
Hermes/OpenClaw/QwenPaw 都是按镜像预装,并通过 user systemd service/gateway 运行:
Hermes:scripts/x86_64/make-rootfs-hermes.sh、scripts/arm64/make-rootfs-hermes.sh
OpenClaw:scripts/x86_64/make-rootfs-openclaw.sh、scripts/arm64/make-rootfs-openclaw.sh
QwenPaw:scripts/rootfs-services/qwenpaw.service、scripts/x86_64/make-rootfs-qwenpaw.sh
TenBox 已有 LLM proxy,并在 guest 固定暴露为 http://10.0.2.3/v1;Hermes/OpenClaw 已默认使用该入口。
daemon 已有 VM runtime logs、状态和 crash 信息:src/daemon/runtime_manager.cpp、docs/tenboxd.md。
qemu guest agent 当前只封装 shutdown/ping/sync-time,没有通用 guest-exec:src/core/guest_agent/guest_agent_handler.*。
远程桌面已有 WebRTC DataChannel,但面向浏览器交互,不适合作为后台修复执行通道:src/daemon/remote_webrtc.*、src/daemon/cloud_tunnel.cpp。
MVP 边界
第一版做“看得懂 + 可点击”的确定性诊断,不引入默认 AI 自修。
建议 MVP:
新增 Agent 健康页/状态卡:
Agent 正常 / 启动中 / 出错。
gateway service 是否运行。
gateway 端口是否可达。
LLM proxy/model 是否可调用。
浏览器是否可启动。
磁盘空间是否足够。
最近一次错误摘要。
每个异常只给一个主按钮:
重新启动 Agent。
重新测试模型。
恢复 TenBox 默认配置。
重新下载/修复镜像。
导出诊断包给客服/开发者。
错误提示从技术错误映射到人话:
模型连不上:先检查模型配置。
Agent 服务没启动:点击重启。
端口被占用:点击换端口或重启。
磁盘空间不足:清理或调整备份位置。
修复前先接 默认保护 Agent 数据:自动备份、删除保留、升级前快照和一键恢复 #127 :能自动生成一次 Agent 数据快照。
第二阶段:受控 AI repair planner
在确定性诊断稳定后,再考虑 fallback agent:
可选安装 opencode/claude code 等 repair backend,不默认增加重型依赖。
使用 TenBox LLM proxy,不要求用户再配一套 key。
默认只生成 repair plan,不自动改文件。
自动执行只允许白名单动作:重启 service、恢复默认 proxy 配置、执行官方 update、修复明显损坏的 JSON/YAML。
每次修复保存 repair-report.json,记录输入摘要、执行命令、改动文件、结果。
验收标准
非技术用户能在一个页面看到 Agent 是否可用,以及失败原因。
常见故障不需要打开终端即可处理:重启 Agent、重测模型、恢复默认配置、导出诊断包。
错误文案给明确下一步,不直接暴露 systemd/端口/qemu 等底层概念。
修复动作执行前会先创建 默认保护 Agent 数据:自动备份、删除保留、升级前快照和一键恢复 #127 的数据快照,失败可回退。
fallback AI repair 不默认自动写文件;需要用户确认或命中白名单。
health report 能区分 Agent 挂了、模型不可用、网络不可用、配置损坏、磁盘不足。
风险与注意点
“让另一个 Agent 自动修 Agent”权限风险高,必须先从确定性诊断和只读计划开始。
LLM proxy/provider 本身故障时,AI repair agent 也可能不可用,所以基础 doctor 不能依赖模型。
不要把技术日志直接甩给非技术用户;日志应该放在“展开详情”或诊断包里。
当前 QGA 没有 guest-exec,host 侧触发 guest 内修复需要谨慎设计;MVP 可以优先通过 rootfs 内 supervisor/report 实现。
背景
非技术用户遇到 Hermes/OpenClaw/QwenPaw 不响应时,最痛的是“不知道发生了什么,也不知道下一步点哪里”。直接让用户看 systemd/log/端口/配置文件,门槛太高。
这个 issue 目标是先做 Agent 健康页和人话错误提示,再逐步增加一键修复。fallback AI repair agent 可以作为第二阶段,但不应该一开始默认接管系统自动改文件。
当前代码依据
scripts/x86_64/make-rootfs-hermes.sh、scripts/arm64/make-rootfs-hermes.shscripts/x86_64/make-rootfs-openclaw.sh、scripts/arm64/make-rootfs-openclaw.shscripts/rootfs-services/qwenpaw.service、scripts/x86_64/make-rootfs-qwenpaw.shhttp://10.0.2.3/v1;Hermes/OpenClaw 已默认使用该入口。src/daemon/runtime_manager.cpp、docs/tenboxd.md。src/core/guest_agent/guest_agent_handler.*。src/daemon/remote_webrtc.*、src/daemon/cloud_tunnel.cpp。MVP 边界
第一版做“看得懂 + 可点击”的确定性诊断,不引入默认 AI 自修。
建议 MVP:
第二阶段:受控 AI repair planner
在确定性诊断稳定后,再考虑 fallback agent:
repair-report.json,记录输入摘要、执行命令、改动文件、结果。验收标准
风险与注意点