> ## Documentation Index
> Fetch the complete documentation index at: https://vibex.peatboy.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# v0.1.0-rc.10

> Agent 会话跑在真正的终端里、像终端的终端渲染、MCP 服务器直达原生 CLI、应用身后不留进程，以及自己拼装出来的发布页。

## 亮点

* **Agent 会话跑在真正的终端里** — 会话现在可以以终端模式创建：对话由 Agent 自己的 CLI 在 PTY 里负责，而不是由 Vibex 绘制时间线。已为这一模式验证十三个 Agent，侧栏、搜索、通知、移动端和 TUI 都在同一行上继续工作。
* **一个像终端的终端** — 回滚缓冲区搜索与匹配跳转、可拖动滚动条、按笔画绘制的制表字符、随包发布的 Symbols Nerd Font、连字、URL 点击打开、OSC 剪贴板与标题支持，以及三种方言的鼠标上报。
* **MCP 服务器直达原生 CLI** — 读者配置的 MCP 服务器、Vibex 委派、内嵌浏览器和计算机使用能力，通过每个终端模式 CLI 真正读取的启动输入交给它，而凭证不进入 argv。
* **不在应用身后留下任何进程** — 脱离进程树的 Agent 守护进程按它运行的东西收回，计算机使用驱动在空闲五分钟后交还内存，无人观看的帧泵自行退场。
* **gpui-kit 0.9.0** — 工作区升级到新 kit 与 `gpui-pre` `0.3.11`，并把它新增的两项能力用了起来：编辑器查找栏的概览标尺，以及两端都跟随「减弱动态效果」的光标。
* **自己拼装出来的发布页** — 发布任务现在从带标签的发布说明、本次实际产出的产物，以及 GitHub 的贡献者署名拼出一页。macOS 应用包做了 ad-hoc 签名，Gatekeeper 不再说它「已损坏」。

## 新功能

**终端会话**

* `SessionTransport` 说明一个会话怎么运行：ACP 会话拥有时间线和运行时绑定，终端会话只启动一个 CLI、两者都不拥有；终端创建是独立入口而不是 ACP 创建上的一个开关（`35916d16`、`55c0c32d`）
* 十三个 Agent CLI 已通过终端模式验证——Claude、Codex、OpenCode、Gemini、pi、Grok、Cline、Copilot、Cursor、Kimi、CodeBuddy、Devin 和 Hermes；每个 Agent 的提示方式、模型／强度／模式参数、重启命令和退出提示里的会话 id 都收在一张 `TerminalCli` 表里（`35916d16`、`46f2e6be`）
* 配置的模型随命令行传入，因为终端会话没有别的通道；Agent 默认值不传任何东西，而不是猜一个 id，没有已知参数的 Agent 则不传；终端模式只能携带供应商配置，开关会直接说明这一点（`cb2b971d`、`d4057bc1`、`4f35c253`）
* 新建会话的草稿作为位置参数交给 CLI，附件以路径跟随，因此 Agent 从读者已经描述过的那一轮开始（`f7794fdb`、`35916d16`）
* Vibex 在终端矩形之外仍然欠读者的东西，被记录为观测事实——存活状态、活动、Agent 自己的会话 id，以及未读和通知路径读取的时间戳；`Unknown` 是一等取值（`2c4bd796`、`35d2bd87`）
* 活动状态从屏幕底部读取而不是视口，因此读者向上滚动不会改变 Agent 正在做什么；`working -> idle` 需要多次一致的扫描结果，因为那是触发完成通知的转变（`b8d60159`）
* 进程结束的会话会被关闭，而不是继续看起来健康；重启会重新提供同一份 argv、工作目录和供应商配置——配置是重新解析而不是读回的，因此密钥留在钥匙串里（`8fc9391b`、`e9f9822f`）
* 重启从记录的 argv 重建 PTY；命令无法重建的会话保留其行并标记为错误，读者能看出哪个会话没有回来（`ccb44e41`、`ca8c955f`）
* 桌面端把网格包进一个圆角的内嵌窗口，选择模式时输入框会变成终端自身的形状，页面在交出去之前就说明它即将交接哪一种界面（`c8e67a4b`、`23cef5d8`、`0591f9f9`）
* 手机能够到达终端会话的 Agent：会话快照写明它的终端，选中会话即通过普通路径附着，并且附着能扛住与会话列表的竞态（`95d56253`、`c391662f`）
* TUI 和手机通过桌面端同一套投影报告终端会话的 Agent 活动；TUI 则指出对话在桌面端，而不是为一个它无法展示的对话画一张空时间线（`35d2bd87`）

**终端渲染**

* 搜索每一条保留的行而不是只搜已绘制的视口，高亮全部匹配，并用上一处／下一处把匹配滚动到视野内（`9efd0d49`）
* 网格上有可拖动的滚动条，支持 `Shift+PageUp/PageDown` 与 `Shift+Home/End`，在备用屏里把滚轮转成方向键，让全屏 Agent 也能滚动（`9efd0d49`）
* 制表字符按笔画画成相连的矢量线——包括粗线、双线、虚线、圆角和斜线形态——因此表格和面板边框跨单元格对齐（`9efd0d49`、`7412cf2d`）
* `Symbols Nerd Font Mono` 随应用发布，私用区符号字形贴合单元格轮廓，清掉了 Agent 状态图标原本画出的方块（`9efd0d49`）
* 单元格度量取自字体自身的步进，而不是固定的 8x18 常量；行按同样式片段成形而不是逐字摆放，宽单元格保留字体的步进，因此 CJK 仍占两列（`9efd0d49`、`bef85503`）
* 连字成为偏好项，纯 HTTP(S) 链接点击即打开，双击或三击选中一个词或一行（`9efd0d49`）
* 回应 OSC 52 剪贴板读写、OSC 0/2 标题、OSC 4/10/11/12 颜色查询，以及 1005、1015、1016 三种方言的鼠标上报（`9efd0d49`）
* 新增终端背景透明度设置；主题墨色会被提亮到最低对比度，而程序自己声明的真彩不受影响（`9efd0d49`）

**MCP 投递**

* 终端模式 CLI 通过各自真正读取的附加启动输入收到读者的 MCP 服务器——Claude Code 和 CodeBuddy 用 `--mcp-config`，Copilot 用 `--additional-mcp-config`，Codex 用 `-c` 覆盖，OpenCode 用 `OPENCODE_CONFIG_CONTENT`，Hermes 用受管作用域，Cline 用 `CLINE_MCP_SETTINGS_PATH`，pi 用进程环境（`06e89ac7`）
* 当供应商投影迁移了 Agent home 时，读者真实 home 里的服务器会被重新声明，因此不会丢失（`06e89ac7`）
* 凭证不进入 argv：文件权限 `0600`，放在随会话删除的每会话目录里，Codex 收到的是环境变量名而不是值；投递在创建、重启和崩溃恢复时重新生成（`06e89ac7`）
* Cursor、Gemini、Grok、Kimi Code 和 Devin 没有按进程传入 MCP 的入口，因此两个工具面板在终端模式下直接显示为不可用，而不是先宣称可用、随后悄悄丢掉（`7b30af79`）

**桌面端**

* 侧栏会话筛选改为可多选的集合而不是单一姿态，第二个筛选会加宽这一列而不是把它清空；项目内的会话可以按创建、更新、标题或手动排列排序（`125bea0c`、`7d99b489`）
* 在 `@` 文件提及列表里输入路径会直接浏览该目录，因此即使工作区级清单先被上限截断，大工作区深处的目录依然可达（`9df4fb9e`）
* 每个 Agent 的委派行保留自己的运行时配置，用该行的编辑按钮选择，优先级高于默认来源和该 Agent 上次使用的组合（`dde83cf9`）
* Agent 开始驱动桌面时计算机使用面板会打开，浮动显示且不抢键盘，有自己的默认开启设置，并排除了「被拒绝的调用不能弹出面板」（`f924abb7`）
* 没有项目的会话现在在侧栏、右键菜单、新建会话选择器和搜索里都显示为「临时会话」，默认图标是解析出来的绿色星光而不是存下来的值（`0226fb90`）
* 新建会话页会提供 Adapter 仍在下载的 Agent，用 Agent 自己 logo 尺寸里的工作进行中脉冲表示，并给出指向配置中心的中上部卡片；下载一完成，同一个按钮就能创建会话（`b7460d3e`）
* 传输方式开关从输入框移到了工作区行末端，因为「谁拥有界面」不是又一个「在哪里运行」的控件；没有终端模式的 Agent 完全不显示这个开关，两个分段各有说明自己得失的提示（`0591f9f9`、`732d7102`、`2d4a941c`）
* 输入框占位文案说明了快捷语、引用和历史，`@` 弹窗把会话引用放到自己的标签页，会话不再排在 Agent 委派下面（`9da2b062`、`b7fda5dc`）
* 编辑器查找栏在概览标尺上标出每一处命中，关闭查找栏会清掉标记，因为它们属于这次搜索而不是文档（`252329db`、`e3526e36`）
* 运行时失败以顶部轻提示出现，一次 Agent 失败只读作一条带可复制详情的提示，失败的回合不再在输入框错误条里重复一遍（`8a070d22`、`999dedde`、`59f08d87`）

**移动端**

* 「减弱动态效果」现在会传进 gpui 自己的开关，询问上下文的 kit 组件也停止动画；光标在主题层和输入框绘制的基层都是稳定的（`252329db`）
* 打开的会话保持自己的 workspace 和对话：右栏在发起快照读取前就按会话行重新定位，读取失败也不会把上一个对话的文件、变更和终端留在新页面下面（`5d88cbf5`）
* 必须切掉当前回合的时间线窗口，会去掉回合带重试一次，因此三个 shell 都装上连续窗口，而不是在一个从来不为空的会话上画「暂无消息」（`5d88cbf5`）
* 手机终端的 Backspace 能到达 shell：IME 输入槽保留一个空格，并从它转发的这次变更就地重新播种，因此连按或快速 Backspace 都是针对它真正要编辑的文档来测量（`b9ef6f7d`）

**TUI**

* 运行时探测返回后会刷新运行选项，因此晚到的探测不会把页面留在过期目录上（`6474902b`）

**发布工程**

* 发布说明脚本生成区间简报、搭出双语文档骨架，并拒绝缺少语言段落或仍只有注释的文档；发布正文脚本从带标签的说明、按本次实际发布产物渲染的下载表，以及带比较链接的贡献者署名拼出页面（`bd62fe97`、`07ad58a5`、`ffb2b245`）
* 发布任务在上传前运行校验器，正文出现逐条变更列表时直接失败，某个平台没有产出时该行会消失，而不是链接到一个 404（`07ad58a5`）
* macOS 应用包在组装 dmg 之前由内向外封装——先处理嵌套的 Mach-O 可执行文件，再处理整个包——打包器同时声明 `app,dmg`，让 app 格式排在钩子之前（`347a622c`）
* macOS 签名仍是 ad-hoc：没有 Developer ID、没有公证、没有强化运行时、没有安全时间戳；这足以把「已损坏」变成用户可以允许一次的普通「未识别开发者」提示（`347a622c`）

## 修复

* 修复终端会话的启动与模型：Claude 和 Codex 从各自的原生 CLI 启动，OpenCode 的模型移出 argv 改由配置文件承载，投影后的模型 id 传给原生 CLI，选中的供应商在 Claude 终端会话里生效（`18d2c5ae`、`063bfd96`、`d4057bc1`、`27a1e83c`）
* 修复终端会话的状态：从 Agent 自己的报告读取状态，进程结束后会话显示为已结束而不是看起来健康，退出提示缺失时重启仍保留历史（`b8d60159`、`e9f9822f`、`2806ec37`）
* 修复终端会话的重启：重启不再重复第一条提示而是续接，重启后重建终端表面，命令行未打印会话 id 时也不丢历史（`ca8c955f`、`ccb44e41`、`2806ec37`）
* 修复终端渲染：从字体测量网格并干净重绘，输入框提示标记落在第一行且不再重设输入框样式，`Ctrl+F` 在普通源码编辑器里恢复（`bef85503`、`9255cdd4`、`a11cf3f2`）
* 修复终端布局：内嵌终端留出内边距并按指针滚动，面板重开时终端保持原尺寸，终端窗格与会话组菜单恢复渲染（`05590d57`、`b6187929`、`8b3f3832`）
* 修复传输开关：没有终端模式的 Agent 隐藏开关，选中的 Agent 没有终端模式时退出终端模式，没有供应商配置时也退出，切换后仍可选中（`2d4a941c`、`6034d162`、`4f35c253`、`8ec0cca3`）
* 修复会话行与筛选：原生终端的活动出现在会话行上，会话排序应用到已放置的侧栏行，会话组窗格视图同时按组和窗格作键（`a547d578`、`7d99b489`、`6e01decf`）
* 修复配置中心：写入不再提前中止，写入移出帧线程，启动目录竞态后仍保留较新的供应商状态，供应商创建器保留已选中的 Agent（`fe1be501`、`dfdaf81e`、`aa41d696`、`379e9740`）
* 修复运行选项：启动目录竞态后恢复运行选项，记住的思考深度在目录尚未探测时仍然保留，路由模型选项按配置证据填充（`8eb47140`、`3cc7cd7a`、`f7d30acb`）
* 修复网关：刷新拒绝并复活失效的 Key（`9424b27d`）
* 修复移动端：终端 Backspace 到达 shell，打开的会话保持自己的 workspace 与对话（`b9ef6f7d`、`5d88cbf5`）
* 修复主题：kit 新的行状态色进入目录，新增 `deleted` 色调（`129d7887`）
* 修复平台编译：Linux 专用的 `OsStr` 导入、未使用的导入和只有一个 `cfg` 分支读取的参数在 macOS 与 Windows 上都能编译（`74a1dbfe`）
* 修复 CI：macOS 发布任务移到受支持的 `macos-15` 镜像（`e6656a37`）
* 修复 clippy：满足 1.99 工作区现在看到的 lint（`3673cf8d`）

## 性能

* 终端网格按文本、样式和字号缓存已成形行，只通过预绘制缓存重整受损行，并按片段整行绘制而不是逐字定位（`9efd0d49`）
* 尺寸变化现在直接填满面板，而不是让已绘制的网格停在旧尺寸直到往返完成；整趟绘制都裁剪到网格自己的内容遮罩内（`9efd0d49`）
* 配置中心的写入、供应商探测、路由组保存、网关读取以及终端启动／重启都移出帧线程，并配有一个源码守卫：当被 await 的语句在桥接层或 Tokio spawn 之外提到 backend 时就失败（`dfdaf81e`）
* 计算机使用驱动守护进程在空闲五分钟后被停止——先 `stop` 让它自己移除套接字，不退出再杀掉——并且只停止本客户端自己启动的那个（`1347dea8`）
* 帧泵在每次捕获前检查接收端是否还活着，无人观看时自行退场并回收通道；捕获失败按翻倍延迟重试并封顶十秒，而不是按帧率重试（`1347dea8`）
* 短命的驱动子命令各自领一个进程组，超时即杀掉整个组，因此超时不再留下一个还在等守护进程的孤儿进程（`1347dea8`）
* 脱离进程树的 Agent 守护进程按它运行的东西收回：候选进程被 init 或用户的 `systemd --user` 收养，且命令行指向 `<home>/acp-agents/agents/<agent>/` 下的文件；只有在同一 Agent 在任何位置都不再留有附着进程、且这一状态持续两分钟后才会被结束（`8675b314`）

## 内部、构建与文档

* 版本号统一升到 `0.1.0-rc.10`：工作区、桌面打包输入、Android versionName 回退值、README、部署文档，以及许可证策略里已审核的资源包版本
* 许可证 SBOM 与第三方声明按当前依赖图重新生成：1110 个 Cargo 包、11 个资源／字体包、5 个原生与安装器输入，全部已批准
* 随包的 Symbols Nerd Font 登记为受审字体输入——`vibex-desktop-nerd-symbols`，MIT，两个文件绑定到一个树哈希——因此这个消掉方块的字体与其他内嵌字体走同一道来源审核
* 数据库 schema 从 87 升到 88：会话行上的 `transport` 和一张 `session_terminals` 关联表，`provider_profile_id` 为已经跑过该迁移的数据库就地补列
* 工作区升级到 `gpui-kit` `0.9.0` 与 `gpui-pre` `0.3.11`；kit 的主题结构体现在是 `#[non_exhaustive]`，`ScrollWheelEvent` 改名为 `ScrollEvent`，移动端门面的 `insets()` 改为 `safe_insets()`
* 默认主题的差异状态色跟随 kit 新的绿／琥珀／红家族，并补上 `deleted` 色调；其余十八套配色保留各自手写的颜色
* 已审核的 Agent 版本推进到各通道发布的最新版：Claude `0.101.0`、Codex `2.5.0`（运行时 `0.165.0`）、ZCode `0.82.3`、OpenCode `2.2.6`、Antigravity `1.4.5`、Cline `3.0.74`、CodeBuddy `2.181.0`、Copilot `1.0.107`、Cursor `2026.11.05`、DeepSeek Harness `0.4.40`、Gemini `0.67.0`、Grok `1.0.78` 和 Kimi `2.5.2`，每个都把上一版保留为兼容下限（`6c827cc8`）
* `_session/steering` 接受 `queued` 与 `startedNewTurn` 作为「Agent 已经接管这段文字」的回答，因为把它们当作 `PromptRequired` 会把同一条消息提交两次
* 面向用户的文本不再被替换为 `[redacted-sensitive-output]`：厂商拒绝原文、权限标题、模型 id、网关与浏览器账本条目、表单输入值和供应商端点都会保留，密钥引用仍是存储边界（`e4c76e26`）
* SSH 与 WSL 测试夹具里的版本字面量故意留在 `rc.8`：升级与回滚测试需要一个真实的上一版本可以升级，并留在新版本旁边

## 相关链接

* [在 GitHub 上查看完整差异](https://github.com/vibex-ai/vibex/compare/v0.1.0-rc.9...v0.1.0-rc.10)
* [上一版本：v0.1.0-rc.9](https://vibex.peatboy.com/docs/changelog/v0.1.0-rc.9.md)
* [下一版本：v0.1.0](https://vibex.peatboy.com/docs/changelog/v0.1.0.md)
* [返回更新日志](https://vibex.peatboy.com/docs/changelog.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.