智能体中心
智能体中心把你所有连接中的 Claude Code 和 Codex 会话 —— tmux 窗口、窗格和 原始会话 —— 汇集到一个页面上,让你不用四处寻找正确的窗格就能回复它们的提示。 它属于实验性功能,默认关闭:在设置 → 实验性功能 → 智能体中心中启用。 之后再关掉它,并不会卸载主机上的钩子。
从侧边栏的智能体条目打开它(在 iPhone 上,它在会话标签的选择器后面 —— 当智能体需要你时,该标签会带标记),也可以用 ⌘⇧A,或者用智能体在等待时 出现在顶栏的关注按钮。当某个智能体正在聚焦的窗格中等待时, 滑动板也会把它的选项以花瓣的形式呈现。
智能体页面
卡片按状态分组 —— 等待输入、刚刚完成、工作中、空闲、 状态不可用 —— 位于一行摘要(「N 个智能体 · N 个会话 · N 台主机」)和一条 「有智能体需要处理 / 全部已处理」横幅之下。
每张卡片显示该智能体当前的提示。在卡片上你可以:
- 按 ⇥ 在卡片之间移动,按 1–9 选择带编号的选项,
- ⌘↩ 打开 —— 直接跳到那个窗格,
- 在消息字段中输入 —— 「给 <名称> 发消息…」会加入队列,「向 <名称> 提问…」会立即发送,
- 中断该智能体。
回答在发送前会重新检查实时提示符,发送也会校验提交内容 —— 因此你永远不会去 回答一个智能体早已越过的问题。当智能体在终端里流式输出时,滚动会被短暂锁定, 免得误滑一下就把你拖到上面去 —— 如果你更愿意自由滚动, 设置 → 终端 → 智能体滚动锁定可以按提供方关掉这种冻结(claude code 和 codex,两者默认都开启)。检测、卡片和通知都不受影响。
检测是怎么工作的
基线检测是启发式的,从终端文本读取,使用与 滑动板配置相同的语法(内置的 Claude Code 和 Codex 语法,再加上你自己定义的任何配置)。
要获得精确状态,Tessera 提供一个需要主动启用、按主机设置的 智能体状态钩子:终端只能暴露进程和像素,无法说明智能体正在计算、空闲还是 被阻塞 —— 智能体自身的生命周期钩子才是权威信号。没有它时,卡片会显示 状态不可用,中心只能发现智能体;它绝不会猜测它们的状态。
安装这个钩子(从状态不可用的卡片,或顶栏的琥珀色警告进入)总会先准确显示它将
更改什么:它会在服务器的 ~/.config/tessera 下放置 Tessera 自有的文件,只把
Tessera 的处理器合并进 Claude Code 和 Codex 的用户配置 —— 绝不重写你已有的
别名、函数或无关的钩子 —— 并向 .zshrc / .bashrc 添加一行带保护条件的
source 语句(标记为 # TESSERA-AGENT-LIFECYCLE)。它回传的只有状态元数据:
提供方、生命周期事件、状态、原因、会话/回合标识符、通知类型、权限模式、时间戳
和本地进程 ID —— 绝不包含提示词、响应、源代码或凭据。
安装之后值得知道的几件事:
- 必须有某个 shell 加载它 —— 请打开一个新的 shell 或 tmux 窗口(Tessera 会在 空提示符下、也只在那里提出代劳)。
- Codex 有自己的钩子信任边界:首次集成启动时可能会要求你用
/hooks查看这个 钩子。 - 该页面按主机跟踪钩子的状态 —— 未安装、已启用、此处未启用或已过时 —— 会自动 修复损坏的集成,并在有更新版本发布时提供更新状态钩子。在纯 mosh 下, 检查可能需要解锁密钥,因此 Tessera 会等你轻点立即检查,而不是主动轮询。
关注通知
启用智能体需要关注时的通知后,当 Tessera 在后台、而屏幕外的智能体完成或 需要你时,Tessera 会发出 iOS 横幅 —— 「<主机> · <窗口>」、「Claude Code 等待输入」、「…… 刚刚完成」。轻点横幅会直接把你带到对应的窗格。
- 启用它会一次性关闭终端响铃的后台通知;智能体这条通道 更精确。
- iOS 可能会挂起后台中较长的会话,因此在长时间运行的会话上,送达是尽力而为的。