Repository navigation
Release v3.2.0
v3.2.0 (2026-09-09)
总结 / Summary
Sakura AI v3.2.0 是一个包含重大功能与架构升级的版本。
本次更新引入了 OS 级 Agent 隔离沙箱与独立 sandboxd 守护进程、Issues 图片多模态 AI 分析能力、统一身份认证与公告通知中心,同时全面支持 uv 依赖管理、简化单条命令部署流程,并对系统配置与运行时进行了优化与安全硬化。
Sakura AI v3.2.0 is a major release introducing key features and architectural enhancements.
This update brings OS-level Agent sandbox isolation with a dedicated sandboxd daemon, multimodal AI image analysis for Issues, a unified identity system with an announcement center, full support for uv dependency management, simplified single-command deployment, and system configuration refactoring.
升级提示 / Upgrade Notes
-
数据库结构已新增公告、通知投递与外部身份等表(启动时自动幂等迁移),建议在升级前备份数据库。
-
依赖配置文件已更新并新增 uv 锁定文件,源码部署用户升级后应运行 uv sync 或重新同步 Python 依赖。
-
Docker 部署架构已调整(Agent 工具链从 Web 镜像剥离至 sakura-ai-agent-runner 镜像,新增 sakura-ai-sandboxd 守护进程),使用 Docker 部署的用户建议通过 ./start.sh --prod 重新拉取配置并重建服务。
-
Database schema includes new tables for announcements, notification deliveries, and external identities (automatically migrated on startup). A database backup before upgrading is recommended.
-
Dependency configurations have updated and added a uv lockfile; source deployment users should run uv sync or re-sync Python dependencies after upgrading.
-
Docker deployment architecture updated (Agent toolchain moved out of Web image into sakura-ai-agent-runner, adding sakura-ai-sandboxd daemon). Docker deployments should re-fetch configuration and rebuild using ./start.sh --prod.
注意事项 / Important Notes
Important
Docker 部署模式下 Agent 命令与依赖安装默认通过 OS 级沙箱在一次性非 root 容器中隔离执行,不继承 Web 容器环境变量与控制凭据。
In Docker deployment mode, Agent commands and dependency installations are isolated by default in ephemeral non-root OS-level sandbox containers without inheriting Web container environment variables or credentials.
Important
策略与标签默认配置已集中迁移至 Python 源码(backend/core/config_section_defaults.py),Release 源码归档不再包含 config/strategies.yaml。
Strategy and label configuration defaults are centralized in Python source code (backend/core/config_section_defaults.py), and config/strategies.yaml is no longer included in release source archives.
Note
单命令部署脚本(start.sh)现在支持 --channel=stable|development 参数,且自动处理 Web、sandboxd 与 runner 镜像的拉取与验证。
The single-command deployment script (start.sh) now supports --channel=stable|development parameters and automatically handles pulling and validating Web, sandboxd, and runner images.
Note
旧版 telegram_users 数据已自动回填至 user_identities 与 notification_endpoints,Telegram ID 变为可为空,账号体系正式以内部 User ID 与 GitHub 身份为主体。
Legacy telegram_users identity data is automatically backfilled into user_identities and notification_endpoints; telegram_id is now nullable as the system transitions to internal User ID and GitHub identity.
中文更新日志
新增功能
- 提供 Agent OS 级沙箱隔离与独立 sandboxd 守护进程支持
- 新增 Issue 图片多模态 AI 分析及超大图片自动压缩
- 新增公告中心、双渠道通知(Telegram 与邮件)以及统一身份认证模型 (#556)
- 简化部署体验至单条命令,并提供镜像频道(stable/development)选择
- 新增 Agent 依赖虚拟环境生命周期管理与 LocalExecutionRunner 依赖安装支持
- 在关于页面与 API 中提供详细的构建信息展示
- Webhook 接收到 Issue 关闭或删除事件时自动取消分析任务
- 启动器自动推断源码部署模式
问题修复
- 将 Agent 沙箱工具链配置于固定 PATH 及可执行 tmpfs HOME 目录,并强化沙箱交接后的工作区文件写入
- 优化 Issue 图片解析逻辑并确保 release 归档中完整打包 sandboxer
- 修复全角色候选链中的 Vision 视觉能力校验
- 修复并保留 Linked Worktree 的 Git 布局与合法可写 Bind Mounts
- 修复 AI 审查器 Reasoning Content 评估逻辑,基于内置声明与实际服务模型进行匹配
- 按 glibc 限制 Linux 平台支持并在 Release 归档中打入 uv 项目文件
- 隔离 Local 与 Sandbox 的依赖虚拟环境(.venv/local 与 .venv/sandbox)
- 硬化热重载与日志桥接在边缘场景下的异常处理
- 改进卸载及 Purge 过程中的沙箱容器清理回收
性能优化
- 优化超大图片解码与多模态分析过程中的内存消耗
重构
- 集中 Python 配置默认值管理,重构发布打包逻辑
- 基于认证用户派生 Prompt 提交者身份,不再依赖请求状态
- Webhook 中 Agent 任务识别迁移为基于字段的查表机制
- 解耦 Issue Reopen 同步逻辑与语义向量开关
- 重构 uninstall --purge 菜单布局并彻底清理 Sakura 仓库镜像
文档更新
- 更新中英文 README 与部署文档,补充镜像频道、清理卸载与日志查看细节
- 补充 Agent OS 沙箱设计与 Linked Worktree 挂载布局文档
测试
- 更新时间原语白名单位置校验与 Docker 沙箱隔离 CI 测试集
其他变更
- 新增 uv 项目依赖锁定支持与 Docker 构建解耦(将 Agent 工具链移至专用 agent-sandbox 镜像)
- 升级项目 Python 依赖版本(stripe, asyncmy, starlette, paddle-python-sdk, python-jose, PyGithub, ruff, pytest 等)
- 增强 Release CI 工作流,在发布说明生成中包含全量事实信号与敏感文件 diff
- 更新与整合 Sakura 知识库反思记忆集
English Changelog
New Features
- Add OS-level Agent sandbox isolation and dedicated sandboxd daemon support
- Add Issue image multimodal AI analysis with automatic compression for oversized images
- Add announcement center, dual notification channels (Telegram and Email), and unified identity model (#556)
- Simplify deployment to a single command with image channel selection (stable/development)
- Add lifecycle management for Agent dependency virtual environments and local execution dependency installation
- Display detailed build information on the about page and API
- Cancel issue analysis tasks on close or delete events in webhook
- Auto-infer source deploy mode in launcher
Bug Fixes
- Place runner toolchains on fixed PATH and exec-permitted tmpfs HOME, and harden workspace file writes after sandbox handoff
- Optimize issue image parsing and bundle sandboxer in release archives
- Fix vision capability check across full role candidate chain
- Preserve linked worktree Git layout and use valid writable bind mounts in sandbox
- Fix reasoning content evaluation using winner served capabilities and builtin declarations
- Qualify Linux platforms by glibc and ship uv files in release archive
- Separate local and sandbox dependency virtual environments
- Harden hot-reload and logging bridge against edge-case failures
- Improve sandbox container recovery during uninstall
Performance
- Optimize memory consumption for oversized image decoding and multimodal analysis
Refactor
- Centralize configuration defaults in Python and update release packaging
- Derive prompt submitter from auth user instead of request state
- Migrate agent task identification in webhook to field-based lookup
- Decouple issue reopened sync from semantic vector toggle
- Refactor uninstall --purge menu layout and remove all Sakura repository images during purge
Documentation
- Update READMEs with precise channel selection, purge, and log viewing details
- Align linked worktree mount layout and document Agent OS sandbox specifications
Tests
- Update time primitive allowlist positions and Docker sandbox isolation CI test suite
Other Changes
- Add uv lockfile support and adjust Docker build by moving agent toolchains into dedicated agent-sandbox image
- Update Python dependencies (stripe, asyncmy, starlette, paddle-python-sdk, python-jose, PyGithub, ruff, pytest, etc.)
- Enhance Release CI workflow to collect change facts and sensitive diffs for release notes
- Consolidate Sakura memory reflections and knowledge base