Repository navigation
Releases: jswysnemc/sai
Release list
Sai v0.2.8
Sai v0.2.8
本版改进桌面端标题栏交互体验,修复 Windows 控制台尺寸与换行渲染错位问题,优化折叠工作日志和文件变更列表展示。
新增
- 网页端连续读取折叠:连续执行的已完成读取工具自动聚合为紧凑折叠组,执行中的项目保持独立展开。
- 网页端改动文件路径展示:工作区内的变更文件优先展示相对目录,避免过长绝对路径挤压行内统计。
改进
- 工作日志状态摘要:在折叠态工作日志中细分工具调用类别(读取、写入、命令等),提供更清晰的执行摘要。
- 树状目录视觉层级:修复文件树引导线穿透问题,优化选中与悬停状态下的对比度。
修复
- Windows 控制台尺寸同步:解决终端尺寸变化时将缓冲区高度误识别为可视高度导致的内容跳动问题。
- Windows 桌面控制按钮命中:确保标题栏控制按钮在非透明背景下正常响应点击与窗口操作。
- 差异卡片背景透明度:修正差异文件卡片标题区域背景,避免滚动时内容重叠透视。
升级
使用新二进制重新启动 sai web,然后刷新页面。配置与会话继续沿用,无需重置。
提供 Linux x86_64、macOS ARM64、Windows x86_64 命令行二进制及配套 SHA-256 文件,以及各平台桌面安装包。
docker pull ghcr.io/jswysnemc/sai:0.2.8完整变更:v0.2.7...v0.2.8。
What's Changed
- fix: Windows caption buttons and TUI resize glitches by @jswysnemc in #1
- feat(web): 完善工作日志摘要并修复差异卡片背景 by @jswysnemc in #2
New Contributors
- @jswysnemc made their first contribution in #1
Full Changelog: v0.2.7...v0.2.8
Sai v0.2.7
Sai v0.2.7
本版带来一体化桌面顶栏设计,改进全屏终端交互体验,并修复输入框与富文本渲染问题。
新增
- 桌面一体化顶栏:移除了桌面客户端顶部的独立标题栏,将 Sai 工作台自身的顶行(侧边栏顶部、会话顶栏、工作区页签与设置顶栏)直接作为窗口标题区域;Windows 与 Linux 在右上角叠加透明窗口控制按钮(最小化、最大化、关闭),macOS 保留原生红绿灯按钮并自适应顶行内边距,双击顶行空白处可切换最大化。
改进
- 全屏 TUI 控制行交互收敛:只有折叠提示行(
lines hidden)以及展开态末尾追加的收起行(Show less)响应鼠标点击展开/收起和悬停提亮,正文文本行不再误触发折叠,避免选词拖拽或查看时的误触。 - 全屏 TUI 语法颜色保留色相:语法高亮等有色相的前景在悬停提亮时进行通道差值保护,避免整块代码颜色被漂白。
- 回到底部按钮悬停优先级:当正文最后一行同时存在折叠提示与「回到底部」浮动按钮时,鼠标悬停优先判定为按钮。
修复
- 网页端折叠光标滚动定位:修复换行后光标矩形为零时触发输入区异常跳到底部的问题,采用临时测距探针精准获取折叠光标的实际几何位置。
- 网页端工作流部件分组:过滤轮次之间仅含换行的空白正文片段,避免 Gemini 等模型在思考与工具之间输出换行导致活动卡片分组被打断。
- 网页端有序列表渲染:将有序列表首个段落设为行内显示,防止数字编号与段落文本分行。
升级
使用新二进制重新启动 sai web,然后刷新页面。配置与会话继续沿用,无需重置。
提供 Linux x86_64、macOS ARM64、Windows x86_64 命令行二进制及配套 SHA-256 文件,以及各平台桌面安装包。
docker pull ghcr.io/jswysnemc/sai:0.2.7完整变更:v0.2.6...v0.2.7。
Full Changelog: v0.2.6...v0.2.7
Sai v0.2.6
Sai v0.2.6
本版让终端折叠预览可按需配置,并集中修复终端轮次统计、命令输出与网页设置的显示问题。
新增
- 终端折叠预览可配置:输出、命令、思考与工具载荷的折叠保留策略支持「保留开头」「保留首尾」「全部省略」三种模式,开头与结尾保留行数可分别调整(默认开头 2 行、结尾 4 行,各自上限 24)。终端
sai的显示偏好与网页「终端与输入」面板均可设置,网页端以纸带示意图预览保留与省略的行。
改进
- 终端页脚只显示模型名末段,并在工作目录后追加当前 Git 分支,去掉按键行的 PgUp/PgDn 提示。
- 终端轮次统计恢复行首圆点、24 小时时钟与首字延迟标签;网页搜索与文件搜索使用各自动词与结果徽标。
- 全屏表格限制在正文宽度内,不再与右侧概览栏重叠。
- 终端解析 CommonMark 行内代码(含嵌套标记),表格单元格不再残留反引号。
- 网页 Jev 卡片改为一句概述,展开的清单里工具与 Skill 可分别查看参数与 Skill 文档。
修复
- 终端悬停改为提亮前景并取消暗淡属性,不再依赖加粗,指针停在「回到底部」按钮上时同样生效。
- 网页上下文用量跟随当前查看的会话,不再停留在空白的新会话上。
- 网页消息导航的行号栏按位数对齐,思考视图按整行滚动,最新一行不再被截断。
- 网页新建会话所选模型若来自已停用的供应商,会保留该选项并给出内联错误阻止保存;停用该供应商时先确认,再清除默认模型并提示。
升级
使用新二进制重新启动 sai web,然后刷新页面。配置与会话继续沿用,无需重置。已有的显示配置缺少折叠字段时回退默认(保留首尾,开头 2 行、结尾 4 行)。
提供 Linux x86_64、macOS ARM64、Windows x86_64 命令行二进制及配套 SHA-256 文件,以及各平台桌面安装包。
docker pull ghcr.io/jswysnemc/sai:0.2.6完整变更:v0.2.5...v0.2.6。
Full Changelog: v0.2.5...v0.2.6
Sai v0.2.5
Sai v0.2.5
本版新增桌面安装包、Brave 与 Exa 网页搜索、文件树多选,并重做终端轮次统计与工具状态行。
新增
- 桌面安装包:基于内嵌 Web 的同一后端,提供 Linux AppImage / tar.gz、macOS dmg / zip、Windows exe / zip。
sai web支持后台常驻。 - 网页搜索新增 Brave(订阅令牌)与 Exa(语义检索),环境变量分别为
BRAVE_API_KEY、EXA_API_KEY,自动回退顺序位于 AnySearch 之后。 - 文件树多选:Ctrl/⌘ 点击自由增减,Shift 点击或 Shift+方向键选区间,Ctrl/⌘+A 全选,Delete 批量删除;多选时显示计数条,右键可批量复制路径与删除。
- 右键菜单:会话侧栏空白处(新建会话、搜索、批量选择、展开历史、刷新);文件首页的最近文件与空白处(打开、定位、复制路径、移出最近、新建文件、清空最近)。
- 模型选择按供应商二级分组,搜索时仍按供应商归组。
改进
- 终端轮次统计改为靠左单行并与分割线合一:
Worked for · 完成时刻 · First word · ↑ 输入 · ↓ 输出 · 缓存命中 · 速度。默认使用 Nerd Font 图标,SAI_NERD_FONT=0回退为字符与文字。退出后重新进入会话,每轮统计照常恢复。 - 内置、浏览器、记忆、目标、SSH 与 MCP 工具的状态行使用专用动词并显示操作对象,不再只有
Running与工具名。 - 输入框只显示模型名末段(如
deepseek-v4-flash),推理强度去掉图标并与模型名对齐;思考区恢复原图标。 - 多密钥改为紧凑行;密钥直接以圆点掩码显示,无需先点编辑,清除按钮改为删除。网页搜索的密钥行可整行删除。
- Jev 预选时,已在上下文中的片段只给提示,不再重复注入正文。
移除
- 删除不再使用的 Rust 依赖
rustyline、syntect、termimad。
升级
使用新二进制重新启动 sai web,然后刷新页面。配置与会话继续沿用,无需重置。
提供 Linux x86_64、macOS ARM64、Windows x86_64 命令行二进制及配套 SHA-256 文件,以及各平台桌面安装包。
docker pull ghcr.io/jswysnemc/sai:0.2.5完整变更:v0.2.4...v0.2.5。
Full Changelog: v0.2.4...v0.2.5
Sai v0.2.4
Sai v0.2.4
本版修复 Web 聊天输入框删除文字后增高,以及消息导航条与 Markdown 正文重叠的问题。
修复
- 合并浏览器自动补出的末尾换行与输入框占位节点。删除多行文字时高度正常收缩,删空后恢复原始高度;保留真实空行及撤销、重做行为。
- 消息导航条可见时,为消息正文和输入区统一预留间距。宽屏保持内容居中,移动端和窄面板隐藏导航条时不增加额外留白。
- 修正 Linux 终端回归测试的进程启动时序:等待后台命令实际启动后再验证退出,并排除其他会话中的进程。
升级
使用新二进制重新启动 sai web,然后刷新页面。配置与会话继续沿用,无需重置。
提供 Linux x86_64、macOS ARM64、Windows x86_64 二进制及配套 SHA-256 文件。
docker pull ghcr.io/jswysnemc/sai:0.2.4本版包含 v0.2.3 的供应商配置与内置浏览器功能。完整变更:v0.2.3...v0.2.4。
Full Changelog: v0.2.3...v0.2.4
Sai v0.2.3
Sai v0.2.3
本版加入内置浏览器和首次供应商配置引导,修复 Web 供应商改名无法保存、TUI 保存接入后 /model 缺少新模型的问题,并改进终端会话交互。
供应商配置
- 首次使用 TUI 或 Web 时引导选择供应商、填写凭据和默认模型;任一端保存后,两端共用完成状态。旧版已有配置无需重新引导。
- Web 修改供应商名称或 ID 后保持当前选中项,保留已保存的密钥,并同步配置中的模型引用。支持保存期间继续改名,拒绝空 ID 和重复 ID。
- TUI 新增供应商或修改接入后,保存时自动导入模型。完成主菜单的“保存并退出”后,同一会话中的
/model即可选择新模型。 - 导入失败时保留本地模型;尚无模型的新供应商不会替换原激活项,仍可手动添加模型。
参见供应商配置指南。
内置浏览器
- Web 工作台提供浏览器面板,支持标签页、导航、鼠标键盘操作、输入法与粘贴。
- 单一
browser工具通过action执行导航、页面快照、截图、元素交互与脚本求值;权限按具体动作判断。 - 支持高像素密度画面、自由视口尺寸、网页元素选取并加入聊天上下文、文件上传和下载、页面对话框与选择菜单。
- 浏览器使用 Sai 独立用户目录保存登录状态,可清除浏览数据,也可通过
SAI_BROWSER_PROFILE=temp使用临时目录。调试入口仅限本机访问。
内置浏览器需要在运行 Sai 的机器上安装 Chrome、Chromium 或 Edge;可通过 SAI_BROWSER_EXECUTABLE 指定路径。发布二进制与默认 Docker 镜像不捆绑浏览器。
终端交互
- 全屏会话中,命令与输出分别折叠;鼠标悬停时突出显示可展开区域。
- “回到底部”按钮位于输入区上方,避免重复展示新输出提示。
- 退出时检查子代理和后台命令,提供停止任务后退出、保留后台命令退出或取消退出的选择。
- 更新中英文文档及界面截图说明。
升级
替换二进制后重新启动 TUI 或 sai web;Web 页面需要刷新以加载新资源。现有配置、会话和凭据文件继续使用,无需重置。单独存放在 secrets.jsonc 的密钥按供应商 ID 索引,手动改 ID 时需同步调整对应条目。
下载包含以下二进制及配套 SHA-256 文件:
sai-linux-x86_64sai-macos-arm64sai-windows-x86_64.exe
Docker 镜像:
docker pull ghcr.io/jswysnemc/sai:0.2.3完整变更:v0.2.2...v0.2.3。
Full Changelog: v0.2.2...v0.2.3
Sai v0.2.2
Sai v0.2.2 更新说明
1. 终端 TUI 与交互全面重构
- 快捷键速查面板(Shortcut Sheet):空输入下按
?呼出紧凑双列快捷键面板,按?或Esc关闭;针对 80×24 紧凑终端完成双列排版优化,保证首屏完整展示不发生滚屏。 - 上下文感知按键提示行:状态栏下方新增常驻按键提示行;输入中自适应展示换行(
Shift+Enter)与发送(Enter)操作;有输入时按一次Esc提示再次按Esc清空输入,避免误触清空草稿。 - 全屏会话视图(Fullscreen Transcript View):
- 空闲状态按
Ctrl+O进入全屏浏览,支持长对话历史平滑滚动与折叠/展开; - 离开正文底部时右下角自动展示「回到底部(Back to bottom)」浮动按钮,支持鼠标直接点击跳转;
- 支持鼠标拖选复制(Drag to copy);
- 全屏与主屏统一支持 LaTeX 行内与块级数学公式的高清渲染与自然留白。
- 空闲状态按
- 终端生命周期与屏幕安全恢复:
- 接入 Kitty 键盘增强协议跨屏栈管理,在主屏与备用屏之间精确平衡压栈与出栈,退出时彻底复原,防止 shell 中 Ctrl+C / Ctrl+L 快捷键失效;
- 监听外部终止信号(SIGTERM / SIGHUP / SIGQUIT / 窗口关闭),在异常终止时安全复原终端 raw mode、备用屏、鼠标捕获与括号粘贴。
2. 操作系统级命令沙盒(Linux & macOS)
- 双平台沙盒后端:Linux 原生支持
bubblewrap,macOS 原生支持Seatbelt (sandbox-exec)进程隔离;限制写入仅在工作区内生效;Windows 保留审计拦截与人工审批。 - 安全与凭证保护:隐藏敏感认证路径(SSH 密钥、凭据文件、
.git/hooks等),使用私有隔离临时目录,执行前自动脱敏并清理敏感环境变量。 - Plan 模式只读沙盒:Plan 模式下执行 shell 命令自动限制在只读沙盒中安全运行。
- 权限卡片沙盒透出:权限请求卡片(TUI / CLI / Web)完整展示沙盒策略与提权原因;新增
/sandbox命令和配置面板实时查看沙盒后端状态与工作区可写范围。
3. Jev 认知路由与提示词注入透出
- TUI 与 Web 对话界面直观展示短期记忆与标签化提示词注入(tagged prompt injection);
- Web 端新增负载视图与 Jev 能力路由面板。
4. Web 工作台与设置中心精简优化
- 统一状态栏、侧边栏页脚与设置面板的字体排版和组件尺寸;
- 紧凑型设置控件与交互式预览重构;
- 会话跨工作区恢复与多会话稳定性增强。
二进制下载与校验
发布产物包含各平台编译产物及配套的 .sha256 校验文件:
sai-linux-x86_64(Linux x86_64)sai-macos-arm64(macOS Apple Silicon)sai-windows-x86_64.exe(Windows x86_64)
Docker 镜像发布至 GitHub Container Registry:
docker pull ghcr.io/jswysnemc/sai:0.2.2Sai v0.2.1
Sai v0.2.0
Highlights
配置 TUI 按使用频率重构;会话可从任意轮次分叉;子代理支持待命复用;新增 SSH 工具组与 Claude / Codex ACP 外部内核。Web 与终端交互、视觉也做了一轮打磨。
Config TUI is restructured by frequency. Conversations can branch from any turn. Subagents can idle and take follow-ups. SSH tools and Claude / Codex ACP engines are in. Web and terminal UX got a polish pass.
配置 TUI / Config TUI
- 主菜单收成 7 项:激活配置、供应商和模型、Agent、工具、Skills、高级设置、保存并退出
- Agent 分区编辑;工具 / Skills 用勾选清单(隐藏 / 启用 / 延迟),不再手写名称
- 新增 Skills 管理页;知识库、渠道、全局参数收进高级设置
会话与 Agent / Sessions & agents
- 对话轮次按树存储,TUI / Web 可浏览、切换分支;Web 分支总览支持缩放拖动
- 子代理 persistent 待命复用与留言通道(
/subagents、/msg) - 可在 Web 对话栏连接 Claude / Codex ACP 外部内核
工具与接入 / Tools & access
- SSH 工具组:列主机、远程执行、上传下载;Web 支持 SSH 远程终端
- 同一供应商可配置多把 API Key 并负载均衡
sai web --host绑定地址;sai web-password设置访问口令sai models交互式选择模型与思考等级
界面 / UI
- TUI:流式 mermaid / 公式、Kitty 图片、diff 行内高亮、输入条与状态行动效
- Web:Markdown 风格预设、工具卡片、Git 面板、跨浏览器中文字体
Full Changelog: v0.1.0...v0.2.0
Full Changelog: v0.1.0...v0.2.0
Full Changelog: v0.1.0...v0.2.0
Sai v0.1.0
Full Changelog: https://github.com/jswysnemc/sai/commits/v0.1.0