Files
ctbjrj/.zcode/plans/plan-sess_771d71e0-3253-49d8-96d2-7109e3b21ee5.md

16 lines
1.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
引擎数据库 schema 19→21 自动迁移(新装机/升级机不再卡 AgentDatabaseAdmissionError,加 API 密钥畅通):
【1. ai助手\修复引擎数据库.cmd(新增,GBK+raw string 规则)】
- 进入 openclaw 包目录,runtime\node.exe openclaw.mjs doctor --fix,输出全部追加 引擎控制台.log,结束写"修复完成"标记。
【2. OpenClawHost.cs 三新成员 + 启动引擎自动修复链】
- 引擎数据库版本():System.Data.SQLite 只读打开 ~/.openclaw/agents/main/agent/openclaw-agent.sqlite,SELECT schema_version FROM schema_meta WHERE meta_key='primary';无库返回 -1(全新机器)。
- 清引擎死租约():打开 ~/.openclaw/state/openclaw.sqlite,DELETE FROM agent_database_leases(doctor 被 PID 复用幻影租约卡死的根治,全参数化/无拼接)。
- 启动引擎() 在 EnsureConfigured 后插入:库版本∈[1,20] 时 → 记日志 → 确保引擎已停(跑 停止引擎静默.cmd+等3秒)→ 清死租约 → ShellExecuteW 静默跑 修复引擎数据库.cmd → 每2秒轮询库版本直到≥21(最长90秒)→ 继续原启动流程;失败也放行并落日志。
【3. 验证】
- 先备份本机 agent 库 → 把 schema_meta 人为改成 19 → 重启软件走自动修复链(应见:停引擎→清租约→doctor→版本回 21→引擎起来 healthz live)→ 异常则恢复备份。
- 脚本副本同步装机目录;make_package 自动带新脚本(ai助手 目录整体拷贝)。
【4. 更新包 v3】
- 更新包_20260922 追加 ai助手\修复引擎数据库.cmd(与 exe、models-config.json 三件套),新电脑覆盖后重启即自动迁移。