WeKnora 升级 0.8.0 完整指南:4 步完成安全迁移,附回滚方案

发布时间:2026/9/7 10:10:41
WeKnora 升级 0.8.0 完整指南:4 步完成安全迁移,附回滚方案 WeKnora 升级 0.8.0 完整指南4 步完成安全迁移附回滚方案【免费下载链接】WeKnoraOpen-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.项目地址: https://gitcode.com/GitHub_Trending/we/WeKnora你的 WeKnora 还停在 0.7.xAgent 技能跑不了脚本技能装不上目录OIDC 登录少了 JWKS 签名校验。这些正是 0.8.0 要解决的事——但这次升级同时移除了 Local 沙箱后端并把 Docker 沙箱改为默认关闭。不看说明直接升技能功能会悄悄消失。这篇文章带你走一遍 WeKnora 从旧版到 0.8.0 的版本升级全程约 30 分钟回滚方法写在前头。先判断路线你的版本能不能直接升动手前先回答三个问题答案决定你走哪条路。问一你当前是什么版本≥ 0.5.0可以直接升。数据库迁移在 migrations/versioned/ 下按编号连续编排服务启动时会依次补齐不需要在每个中间版本停一遍。0.3.x / 0.4.x迁移技术上仍会一路跑通但你跨过的版本里破坏性变更不少CLI 命令重构、0.7.1 移除 Neo4j 会话记忆、0.8.0 沙箱重构。建议先通读 CHANGELOG.md 里各版本的 Breaking Changes再决定升级节奏。问二你的部署方式是docker compose 部署只换镜像迁移自动执行工作量最小。源码自建需要重新编译且旧二进制别指望回滚去开新库——数据库只向前不向后。问三你是否依赖 Local 沙箱后端是的话先记到便签上0.8.0 已将其移除你需要改用 Docker、E2B 或 Cube 之一。这是本次升级唯一强制的改动项后面第三步专门讲。动手前的三件事备份、依赖、回滚预案第一备份数据库。这是你唯一的数据资产pg_dump 导出一份全量# 导出完整数据库到本地 SQL 文件 pg_dump -U ${DB_USER} -h ${DB_HOST} -p ${DB_PORT} ${DB_NAME} ${BACKUP_FILE}${DB_USER}/${DB_HOST}/${DB_PORT} 是你 PostgreSQL 的连接信息${BACKUP_FILE} 为备份文件保存路径按需替换。文档存在本地卷的话compose 里的># 拉取新版 app / frontend 镜像 docker compose pull源码部署从 https://gitcode.com/GitHub_Trending/we/WeKnora 拉取最新代码执行 git pull 后重新编译。做完如何确认docker images里 weknora-app、weknora-ui 的 tag 与目标版本一致源码部署则看 VERSION 文件内容是否为 0.8.0。第二步执行数据库迁移做什么把 000080–000091 共 11 个新迁移自动打标、消息产物、沙箱配置、长期记忆、技能目录等落到库上。怎么操作AUTO_MIGRATE 默认为 true服务首次启动会自动跑什么都不用做。想提前执行并直接看日志用项目自带的 scripts/migrate.sh# 查看当前迁移版本 ./scripts/migrate.sh version # 应用全部待执行迁移 ./scripts/migrate.sh up版本差异点数据库是 ParadeDB 的话先确认 pg_search 扩展存在——docs/migration-troubleshooting.md 里大量故障记录都源于缺扩展或角色权限不足而不是迁移脚本本身。做完如何确认再跑一次./scripts/migrate.sh version输出应指向 000091之后系统信息页不应出现 Migration failed 红标。第三步处理 0.8.0 的骨架——沙箱后端做什么确认技能执行的落脚点。Local 后端已移除Docker 后端默认关闭不碰技能可以跳过这步。怎么操作单机私有化选 Docker 后端在「设置 → 系统设置 → 网络安全」打开立即生效或在 .env 加一行# 启用 Docker 沙箱挂 docker.sock 等同宿主机 root仅私有单机 WEKNORA_SANDBOX_DOCKER_ENABLEDtrue集群或云上环境建议 E2B / CubeSandbox每个后端可单独配镜像、资源、TTL 与网络策略默认拒绝出站 允许名单细节见 docs/sandbox-docker-backend.md。做完如何确认重启后进「设置 → 技能沙箱」出现「添加 Docker 后端」入口即启用成功。旧的 Local 配置还能查看、可删除但不能再建容器按新后端重建即可。骨架调好最后一步把服务拉起来。第四步重启服务并切流量怎么操作# 用新镜像重建容器 docker compose up -d做完如何确认docker compose ps全绿、app 容器 healthy访问 /health 返回正常打开前端能登录、能看到原有知识库和会话。升级后验收与排障验收三查系统信息页版本号正确无 Migration failed 红标上传一份文档走通解析知识库列表里旧数据完好聊天里让 Agent 执行一次技能确认沙箱起得来。高频问题排查出现系统信息页 Migration failed 红标 → 说明某个迁移失败后被回滚库停在上一版本常见原因是缺扩展、权限不足或建索引时磁盘写满 → 对照 docs/migration-troubleshooting.md 定位后用make migrate-force versionN-1指回上一个成功版本再make migrate-up重跑迁移中途崩溃留下的 dirty 状态默认由 AUTO_RECOVER_DIRTY 自动恢复直接重启即可。出现技能沙箱里找不到 Local 后端 → 说明你之前依赖的是已被移除的后端这是预期行为 → 在 Docker先启用/ E2B / Cube 上任选一个重建配置原配置卡片保留在界面里供删除。出现 OIDC 登录签名校验失败 → 说明 0.8.0 新增的 JWKS 验证发现 IdP 密钥不可达或未轮换 → 确认服务端能访问 IdP 的 JWKS URL且当前 kid 对应的密钥是最新的。升级之后两个值得上手的功能技能沙箱与技能目录。技能现在是空间级的一等资源从 ClawHub、skills.sh、GitHub/GitLab URL 或直接传 zip 安装每次安装都落在所选沙箱配置的快照上带环形进度和安装日志还能停止、重装、卸载。个人和空间两级环境变量只在执行时注入永远读不回来。跨会话长期记忆。空间管理员开启后每位用户还可单独关掉。记忆分 profile / preference / fact / task / interest 五类后台自动抽取的条目先停在「待确认」不会静默写进提示词。常驻画像每轮注入情境记忆按需召回Agent 也能用 search_memory 主动查。它和 0.7.1 移除的 Neo4j 会话记忆不是一回事知识图谱仍走 Neo4j不受影响。两条优化建议把 WEKNORA_VERSION 钉在具体 tag 上别用 latest每次升级先docker compose pull再up -d防止新代码配旧镜像生产环境用 DISABLE_REGISTRATIONtrue 关注册若开启复杂密码模式密码必须混用大小写、数字和特殊字符提前同步给团队。写在最后WeKnora 的升级说到底就是三件事镜像、迁移、沙箱配置——先备份、后动手、起来先验收就不会翻车。迁移疑难杂症查 docs/QA.md沙箱机制看 docs/sandbox-protocol.md。下期我们写《WeKnora 技能沙箱网络策略实操从默认放行到默认拒绝》。【免费下载链接】WeKnoraOpen-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.项目地址: https://gitcode.com/GitHub_Trending/we/WeKnora创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考