升级与更新

本文介绍 Wesclaw 的版本更新流程、v0.2 到 v1.0 迁移指南、数据兼容性说明和回滚方案。


版本更新流程

桌面版更新

自动更新(推荐)

Wesclaw 桌面版内置自动更新机制:

  1. 启动时自动检查新版本
  2. 发现新版本后,后台下载更新包
  3. 下载完成后提示用户安装
  4. 点击「立即更新」,应用重启完成更新

更新过程中的数据安全:更新时会等待 Go 后端安全关闭(释放数据库锁和 WAL checkpoint),确保数据完整性。

手动更新

如果自动更新不可用:

  1. 从官方网站下载最新版本
  2. 关闭当前运行的 Wesclaw
  3. 安装新版本(覆盖安装)
  4. 启动新版本
# macOS:下载新版 DMG 后
# 1. 关闭 Wesclaw
# 2. 将新版本拖入应用程序文件夹(替换旧版本)
# 3. 重新打开

Linux 更新

# Debian / Ubuntu
sudo dpkg -i wesclaw_latest_amd64.deb

# AppImage 模式
# 下载新的 AppImage 替换旧文件即可

云端版更新

云端版由服务端自动更新,用户无需操作。刷新浏览器页面即可使用最新版本。


v0.2 到 v1.0 迁移

架构变化概述

v1.0 是一次重大架构升级:

变化v0.2v1.0
引擎架构单实例 wesgine.New()Hypervisor + Cell 二层
数据隔离所有数据在同一个实例每个 Cell 独立隔离
外设管理引擎级 AttachCellSpec 声明式 per-Cell
Provider全局共享Cell 内独立配置
用户身份OwnerIDActor(一等字段)
治理模式无govern-v2(open / locked)

自动迁移

Wesclaw v1.0 包含自动迁移工具。首次启动 v1.0 时,会自动执行:

  1. 检测旧数据:扫描 v0.2 数据目录
  2. 提示迁移:告知用户将要执行的迁移操作
  3. 执行迁移:自动完成数据转换
  4. 验证结果:确认迁移成功

手动迁移

如果自动迁移失败或需要手动控制,可以使用迁移命令:

# 查看迁移计划(不执行)
wesclaw migrate v0.2-to-v1.0 --dry-run

# 执行迁移
wesclaw migrate v0.2-to-v1.0

# 强制在已 v1.0 化的目录上重跑
wesclaw migrate v0.2-to-v1.0 --force

迁移内容

数据迁移方式说明
对话历史自动迁移从 wesclaw.db 迁移到新结构
AI 记忆自动迁移迁移到 Cell 内存储
技能重新安装技能目录迁移到 cells/main/skills/
知识库目录搬迁移至 cells/main/knowledge/
登录凭证保留保留在 db/wesclaw.db
模型配置需手动API Key 需重新配置

迁移前准备

  1. 备份数据:在迁移前备份整个数据目录
cp -r ~/Library/Application\ Support/wesclaw/ ~/wesclaw-v0.2-backup/
  1. 记录当前配置:

    • 已配置的模型和 API Key
    • IM 渠道配置(企业微信等)
    • 定时任务设置
  2. 确认磁盘空间:迁移过程中需要额外空间存储旧数据备份

迁移后验证

迁移完成后,检查以下内容:


数据兼容性

向前兼容

版本间兼容

Schema 迁移机制

Wesclaw 使用 PRAGMA user_version 跟踪数据库 schema 版本:

引擎数据

引擎侧(wesgine)数据由引擎自身的迁移机制管理:


回滚方案

桌面版回滚

如果新版本出现问题,可以回退到旧版本:

  1. 关闭当前版本
  2. 安装旧版本
# macOS:使用之前备份的旧版本
cp -r ~/wesclaw-old-version.app /Applications/Wesclaw.app
  1. 恢复数据(如需要)
# 如果新版本修改了数据结构,需要恢复备份
rm -rf ~/Library/Application\ Support/wesclaw/
cp -r ~/wesclaw-v0.2-backup/ ~/Library/Application\ Support/wesclaw/

注意事项

紧急恢复

如果数据损坏且没有备份:

  1. 删除数据目录
  2. 重新启动(会创建全新数据)
  3. 重新配置模型和设置
# ⚠️ 最后手段:完全重置
rm -rf ~/Library/Application\ Support/wesclaw/

引擎数据有韧性保护机制:


更新日志查看

查看当前版本

在 Wesclaw 中:

/version

或在「设置 → 关于」中查看版本信息。

更新日志

每次版本更新都附带更新日志(Changelog),说明:

查看方式:

  1. 自动更新提示中查看
  2. 官方网站的更新日志页面
  3. GitHub Releases 页面

版本命名规则

v1.0.3
│ │ │
│ │ └── 补丁版本(bug 修复)
│ └──── 次版本(新功能,向下兼容)
└────── 主版本(重大变化,可能不兼容)

升级检查清单

在进行任何升级前,建议按照以下清单操作:

升级前

升级中

升级后


常见升级问题

启动时报错

错误:数据库版本不兼容

解决方案:

  1. 检查是否从更高版本降级
  2. 尝试删除 -wal 和 -shm 文件
  3. 如有备份,恢复后重新升级

迁移中断

如果迁移过程中断(如电脑意外关机):

  1. 查看日志确认中断位置
  2. 使用 --force 参数重新执行迁移
  3. 如果仍然失败,恢复备份后重新升级

配置丢失

升级后部分配置可能需要重新设置:

引擎版本记录

每次启动时,日志中会记录引擎版本:

boot: engine version sdk_version=1.0.3

如果发现版本不匹配,请确保使用正确的 Wesclaw 发行版。


注意事项

  1. 定期备份:建议每月备份一次数据目录
  2. 逐级升级:不建议跨多个大版本升级,建议逐级升级
  3. 阅读日志:升级前务必阅读更新日志中的破坏性变更
  4. 测试验证:升级后进行基本功能验证
  5. 保留旧版本:升级后不要立即删除旧版本安装包

相关文档