现在这些 agent 工具不是 Electron 就是把 CLI 套个 webview, 所以我想要一个原生的丝滑一点的 GUI 工具.
从最初的想法到现有做了两个来月, 目前我已经把它作为日常主力工具使用了.
做了些什么
- 原生 GUI: Rust GUI, 基于 alacritty_terminal 内核的真终端. 在我的日常使用中内存占用约 150M, 最高支持 120FPS.
- 远程: Client + Server + CLI 架构, 本地和远程都是同一套协议, 所以天生支持各种远程连接方式, 一个 Client 就能管理本地和远程的 agent.
- Agent 状态: 使用 OSC 7501 (Program Status Protocol) 或官方 hooks. 没有使用屏幕文本匹配那套方案, 省得日后需要一直维护各 agent 的规则.
- Agent 编排: 做了 Agent skill, 配合 CLI 使用, Agent 可以自己开 pane 、协调其它 agent 去干活, 甚至可以跨设备工作.
- 移动端: 正在开发中, iOS 和 Android 也都是用的原生开发. 拒绝 web 套壳 🙅♂️.
项目只有我一个人开发 + 使用, 所以肯定还会有不少问题, 欢迎 issues 和 PR 共同改进.
对比一下:
| Condr | herdr | Paseo | Orca | tmux | |
|---|---|---|---|---|---|
| 技术方向 | Rust GUI | 终端 TUI (Rust) | Electron, 聊天式界面 | Electron IDE | 终端复用器 |
| Agent 运行 | 真实终端 | 真实终端 | ACP 和 provider 适配, 非裸终端 | 真实终端 | 真实终端 |
| Agent 状态监测 | OSC 7501 / Hooks, 不解析屏幕 |
匹配屏幕文本 / CLI 自报 | 通过 ACP 和 provider 获取 | 有完成通知, 机制未写明 | 无 |
| 远程连接 | SSH / TCP (Noise) / P2P, 端到端加密 | SSH | TCP / 加密 Relay | SSH / 自托管 Server / VM | 无, 自己 ssh |
| Agent 编排 | condr CLI + skill | CLI + socket API | MCP + SDK + skill | Orca CLI | 无 |
| 支持平台 | macOS / Windows / Linux | macOS / Linux / Windows beta | macOS / Windows / Linux / Web | macOS / Windows / Linux | Unix |
| 移动端 | iOS (开发中) / Android (开发中) | 无 | iOS / Android | iOS / Android | 无 |
