Skip to content

Release v3.2.0

Choose a tag to compare

@Sakura520222 Sakura520222 released this 09 Sep 05:54
· 537 commits to main since this release

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