Agent 托管
自动检测
Belfry 启动时会自动检测本机的 CLI Agent:
- Codex
- Claude Code
- Pi CLI
检测内容包括可执行文件路径与版本号。不可用时会给出原因——没装、不在 PATH 里、还是版本太旧,一目了然。
在「关于」设置页可以一次性看到三个 CLI 的本地版本与最新版本,并一键升级。版本检测会反查可执行文件的真实包名:装的是第三方镜像包(如 @cometix/claude-code)且滞后于官方包时,卡片上会提示官方版本,但升级动作仍只针对你已装的包,不会偷偷替换。
会话状态
Belfry 对会话状态的区分是两个维度叠加的,这是它比普通终端好用的核心:
进程生命周期(这个会话还活着吗):
- 创建中
- 运行
- 已退出
- 出错
当下行为(它现在在干嘛):
- 闲着
- 正在输出
- 等你选
把两者叠起来,你扫一眼侧栏就知道:哪条在跑、哪条已经停了、哪条卡在等你点头。
标签命名
标签标题会从你的第一句输入里自动提取,不用手动起名。完整原文留在 tooltip 里,鼠标悬停可看全。
活动通知
Belfry 的通知很克制——只有两件事值得打断你:
- Agent 把活干完了
- 它卡在一个非你点头不可的问题上
几个刻意的处理:
- 完成通知压 1500 ms 再发。 activity 是扫屏幕文本猜出来的,「正在输出 → 闲着 → 等你选」这条路很常见(spinner 先消失,权限框隔一拍才画出来),抢在中间发「已跑完」就是纯误报。
- 你正盯着那条会话看的时候不弹——你已经看见了。
- 状态放标题、身份放正文:先判断要不要现在去处理,其次才是哪条会话。
- 未读数汇总到 Dock / 任务栏角标,回到应用自动清。
任务排队
从协作面板派出去的任务,会按目标 Agent 分别排队。Agent 忙碌或正在等待确认时暂缓投递,回到空闲后按顺序发送。详见会话协作。