# 升级、恢复与卸载 升级前结束或暂停当前执行,备份机器配置canvas-home.json与数据目录,尤其是kb、.runs、artifacts、episodes。SQLite索引用备份API或在执行器停止后备份;不只复制正在使用的单个数据库文件。 把新包覆盖到当前已登记的插件目录,保留canvas-home.json;再运行install.cmd。无显式覆盖参数时安装器沿用原home/Python,保留模块、知识、项目和成果,只补缺失的wc17首发模板,不替换已有定义。未知版本和其他目录的同名登记不会被静默覆盖。 重启宿主后核对版本/build、实际源路径、数据目录。项目数据库当前schema为2,增加工作/交付指针和显式替代关系;不修改旧成果字节或补造历史会话。新运行和旧历史继续分开保存。 回退代码前先再备份新增数据;旧版若不理解schema2应停止并说明,而不是删库或静默退化。需要回退整套元数据时,保留新数据副本并只恢复对应版本备份,不用旧快照覆盖后来成果。 ## 卸载 ```powershell ./uninstall-canvas-plugin.ps1 -ShowPlan ./uninstall-canvas-plugin.ps1 ``` 默认仅解除当前插件登记,保留代码与数据,其他插件及宿主账号/会话保持。可指定-ProfilePath处理独立测试profile。 `-DeleteData`是单独明确操作,只允许安装程序创建且归属匹配的独占目录,实际动作是移动为同级备份,不递归删除。旧版混合业务目录、用户主目录、磁盘根、宿主.dsh、链接和含无关顶层文件的目录会拒绝移动。此时手动选择需要归档的项目,不要增加长度或改参数绕过归属检查。 服务失联先检查实例身份和正在执行的会话。重开后对账,不为解决ENOENT清空宿主账号或历史。不确定的模型调用需要核对后再恢复,避免重复花费。