Releases: alanchenchen/suna
Release list
v0.29.1
v0.29.0
v0.29.0
-
主题系统:支持自定义主题,主题文件放在 ~/.suna/themes/*.toml,文件名为主题名。只接受 #rrggbb 色值,必填 5 个语义色(accent/success/info/warning/error),可选 4 个中性色(text/muted/dim/surface),缺省时按终端背景自动派生。
-
主题自动适配终端深浅:与终端匹配的一侧原样使用,不匹配的一侧只调整对比度不足的颜色(语义色保留色相,中性色保留绝对彩度),旧终端由终端层自动降级。
-
配置页新增主题列表:↑↓ 实时预览、Enter 应用并持久化、Esc 取消恢复,每次打开自动重扫主题目录,改完文件无需重启。
-
工具块与子任务块支持就地展开(Ctrl+T):与思考链 Ctrl+R 同构,展开视窗内最近的盒子,不再弹出模态浮层。
-
子任务面板展示结果与副作用:结果可滚动查看全文,副作用非 none 时单独披露。
-
语法高亮纳入主题:代码块配色由主题调色板派生,不再固定使用内置配色。
-
修复主题选择未落库:从配置页应用主题后退出再进入会回到旧主题。
-
修复 markdown 换行未展开制表符:代码块缩进导致思考链边框断裂、正文越过右边界。
-
修复 attachments 目录未显式创建:此前依赖会话子目录连带创建,权限取决于先写入的一方;现在启动时统一创建为 owner-only。
-
数据目录权限改为显式设定:MkdirAll 的权限会被 umask 削减且对已存在目录无效,现在确保权限与声明一致。
-
修复主题名归一:不在可用集合(内置 default 与解析成功的用户主题)里的名字一律回到 default,覆盖旧值、已删除与写坏的主题。
-
配置 theme 的旧值 auto、dark、light 归一为 default,终端深浅由 TUI 自动判断;已有配置不会被回写,老用户无需手动迁移。
-
主题目录首次使用时写入 README.md 模板,可复制后直接修改。
-
主题解析与颜色适配拆为独立子包 internal/tui/theme,零 TUI 依赖。
-
修复 Windows 时序敏感测试:PID 标记文件的创建与写入之间需要重试,Guard 门控测试放宽超时。
v0.28.3
v0.28.3
- 修复 read_image 跨轮重读被注入层拦截的问题:注入层只做同批次去重,模型可以重新查看图片(包括图片内容更新后的新版)
- 跨轮摘要去重改由清理层负责:同一图片已有摘要时替换而非追加,摘要始终只有一条且反映最近一次读取(尺寸/类型随图片更新)
- 恢复会话工具摘要标题更正:上一轮工具操作 → 历史工具操作(中英文同步)
v0.28.2
v0.28.2
-
优化 exec 工具 schema:由 oneOf 四分支改为顶层扁平参数,后台任务启动方式(background=true,启动时不传 job_id)可直接从 schema 推导,减少模型反复猜错
-
exec 新增参数校验:错误类型、非法操作组合在启动进程前明确报错,不再静默降级为前台执行;timeout 数值增加溢出防护
-
合法调用语义完全不变
-
终端光标精确锚定输入框光标位置:中文输入法的拼音组合文本始终显示在输入框内,不再残留到宠物等其他区域
-
输入区新增 ❯ 提示符标识,续行缩进对齐
-
终端标签标题在运行时显示 spinner 动画帧(纯文本,无转义序列)
-
完成后的 subtask 面板宽度按内容收窄,与工具面板视觉一致
-
恢复会话的工具摘要标题更正为「历史工具操作」(原「上一轮工具操作」),英文同步为 Historical tool activity
-
移除未使用的输入光标闪烁字段
-
清理全部旧版 plans 计划文档(-7600 余行),新增下一代通用 Agent Runtime 长期方向文档
v0.28.1
v0.28.1
- 思考链宽高增强:大尺寸展示更多思考内容(上限 10/7 行),小尺寸更窄(-12 列),高度按终端自适应
- subtask 面板新增 context 字段展示(限 3 行),main 经 context 传入的图片地址等信息用户可见
- run 结束的 worked-for 行追加结束时间(· HH:MM)
- 媒体摘要结构化:snapshot 消息新增 kind 字段(text/media),恢复会话后历史图片显示为友好样式(● 📷 图片 · 文件名 · 大小),模型侧摘要文本不变
- 选区拖拽性能优化:拖动只重写窗口行,不再全量重建块列表,长消息下拖拽流畅
v0.28.0
v0.28.0
- 新增 read_image 内置工具:多模态模型可按需读取本地路径、URL 或历史附件图片(复用媒体校验与敏感路径防护)
- 工具产物图片统一注入为单条 user 消息并去重,图片块仅存活一轮,run 结束后转为带 source 的确定性摘要,历史图片可跨轮/跨会话恢复后重新读取
- 移除 spawn 的 input_images 参数:改用 read_image 的 source 引用,subtask 按工具白名单自行读图,消除跨轮失效的索引缓存
- Guard 将 read_image 归类为只读:readonly 模式放行,smart/ask 模式自动批准
- 图片 token 按固定常量估算,压缩判断覆盖在途图片;Anthropic 连续 user 消息自动合并
- 修复:多图消息的图片块不再泄漏进后续轮次(统一摘要化兜底)
v0.27.3
v0.27.3
- 修复聊天选区拖动在长会话下 CPU 占满:拖动高亮改走 16ms 帧门同步,与流式渲染同节奏
- 修复 run 进行中无法展开历史思考链的问题:移除流式守卫,展开状态跨思考块保持
- 修复恢复/加入会话偶发白屏:attach 失败现在按场景反馈(退回 Welcome 提示,或在 transcript 显示错误),不再静默
- 修复 attach 在途窗口期其它会话事件串扰:补齐 agent.delta/run/tool/usage 的 session_id 过滤
- 补全 TCP 客户端文档:新增全部 method 的参数与结果字段参考、response 与 notification 顺序保证说明、通知字段级语义
- 移除已废弃的 daemon.state 通知(daemon 自 Windows Named Pipe 修复后不再发送)
v0.27.2
v0.27.2
-
新增模型列表拉取:配置表单的模型字段支持从 provider 拉取可用模型列表(config.discoverModels 异步通知),选择浮层支持输入即筛选、直接输入自定义名称,拉取失败同样可用
-
模型选择浮层:无缝循环滚动、翻页、滚轮移动;Esc 直接关闭
-
配置详情页 API Key 显示脱敏提示(如 sk-••••abcd),只保留前缀与末尾 4 位
-
会话运行在客户端断开后继续在 daemon 中执行,重新连接后恢复视图并接管控制权
-
修复:配置列表滚动时 provider 分组头被裁剪、表单说明折行、模型浮层加载态卡死等问题
v0.27.1
v0.27.1
- 修复手动 compact 阻塞连接循环:强杀 TUI 后连接残留、daemon 不退出、Esc 无法取消的问题
- 手动 compact 改为异步执行,断开检测与取消请求恢复可达
- 修复 compact 结果展示:before/after 计入 SessionState,与 usage 口径一致
- guard 非只读徽章由「写入」改为「行动」,语义更准确
- 删除 auto/smart 模式的冗余 reason 展示
- 修复回复完成后 worked for 消息不可见、Home 跳转长回复顶部失效的问题
v0.27.0
v0.27.0
- Guard 重新设计:risk 三级(low/medium/high)删除,退化为只读布尔判定;smart 模式只审 exec,二元 approve/reject(不确定时 approve,审核失败时拒绝)
- 默认模式从 ask 改为 smart:写文件零摩擦,非只读 exec 由 LLM 审核
- 只读白名单简化:只保留 ls/cat/echo 等无参数语义的简单命令,git/find 等语义命令保守走 mode policy
- 敏感文件检查覆盖 exec(修复 cat ~/.ssh/id_rsa 绕过)和敏感目录(修复 listdir/search ~/.ssh 绕过)
- 协议变更:ToolGuardParams/GuardConfirmParams 的 risk 字段改为 readonly(bool);audit_log.risk_level、trust_rules.risk_adjustment 列删除(自动迁移)
- 文档同步:README 中英文、docs/ 更新