tony1223/better-agent-terminal
Multi-workspace terminal aggregator with Claude Code AI integration
Better Agent Terminal – 是什么
Better Agent Terminal (BAT) 是一个桌面应用程序,允许您并排运行多个命令行终端,同时与 AI 编码助手(Claude Code 和 OpenAI Codex)聊天。它使用 Tauri 2(基于 Rust 的原生封装)和 React + TypeScript UI 构建,可在 Windows、macOS 和 Linux 上运行。
核心理念
- 一个窗口,多个工作区 – 每个工作区与一个项目文件夹关联,可容纳多个终端、文件浏览器、Git 查看器和 AI 代理面板。
- AI 代理是第一优先级 – 应用程序内嵌 Anthropic Claude Code SDK 和可选的 OpenAI Codex SDK,让您无需离开终端即可请求模型编辑文件、运行命令或生成代码。
- 所有内容均本地化 – 主机层为 Rust,UI 为 WebView,仅对尚未移植到 Rust 的 SDK 使用一个小型 Node 侧车进程。
主要功能(通俗英语)
工作区管理
- 多工作区 – 在同一应用中同时打开多个项目。
- 拖拽重排 – 通过拖拽重新排序或分组工作区。
- 配置文件 – 保存一组工作区(本地或远程),并可在它们之间切换。
- 可分离窗口 – 将工作区弹出到独立窗口中。
- 工作区级环境变量 和显示哪些终端仍在运行的活动点。
终端与工具
- 基于 xterm.js 的终端,支持完整 Unicode。
- 分屏布局 – 一个大主终端加上所有终端的缩略图条。
- 代理预设 – 打开已连接到 Claude Code、Claude Code(工作树)、Codex 或普通 Shell 的终端。
- Git 工作树隔离 – AI 可在临时 Git 工作树中工作,永远不会影响您的主代码。
- 代码片段管理器 – 存储可重用的代码片段(SQLite 后端)。
- Markdown 预览 – 实时预览
.md文件。 - Procfile 风格工作器面板 – 运行 Procfile 定义的多个进程,并查看合并日志。
Claude Code 代理面板
- 在 应用内运行 Claude Code 模型(无需外部终端)。
- 流式输出,带有可折叠的“思考块”。
- 权限模式 – 从每次使用工具都提示到完全自动批准编辑。
- 会话处理 – 暂停/恢复、分叉对话、在达到令牌限制时自动压缩上下文。
- 丰富的状态栏 显示会话 ID、Git 分支、令牌数量、成本、API 速率限制使用情况等。
- 缓存感知 – 显示正在重用的缓存令牌数量,并在大缓存过期时发出警告。
- 斜杠命令(
/model,/resume,/auto-continue, …)允许您从聊天框控制代理。
Codex 代理(可选)
- 使用
@openai/codex-sdk。 - 支持多个 OpenAI 模型(GPT-5.5、5.4、5.3-codex、o4-mini、o3、GPT-4.1)。
- 与 Claude 相同的沙盒/工作树隔离和审批策略。
- 会话记录本地存储,支持快速恢复。
语义代码导航(可选)
- 集成
cxCLI(基于 tree-sitter),使代理可以快速获取文件概览、符号列表、定义或引用,而无需加载整个文件。这在大型代码库中节省了令牌预算。
国际化
- UI 支持英文、繁体中文和简体中文。
如何获取
| 平台 | 安装方式 |
|---|---|
| macOS | brew install --cask tonyq-org/tap/better-agent-terminal |
| Windows | (计划中)choco install better-agent-terminal |
| Linux | 从 GitHub 发布页面下载 .AppImage(x86_64 或 arm64) |
| 所有平台 | 运行一行 快速安装脚本:`curl -fsSL https://raw.githubusercontent.com/tony1223/better-agent-terminal/main/install.sh |
您也可以使用 Node 18+、Rust stable 和常规 Tauri 构建工具从源码构建。
架构概览
better-agent-terminal/
├─ renderer/ # React UI (TypeScript)
│ └─ components/ … # 工作区、终端、代理面板等
├─ src-tauri/ # Rust 主机 – PTY 处理、IPC、远程服务器
├─ node-sidecar/ # 尚未移植到 Rust 的 SDK 所需的小型 Node 进程
├─ assets/ # 图标与截图
└─ package.json
- 前端:React 18 + Vite + i18next。
- 终端:
xterm.js+node-pty。 - AI 后端:
@anthropic-ai/claude-agent-sdk(Claude)和@openai/codex-sdk(Codex)。 - 存储:
better-sqlite3用于片段和会话数据。 - 远程控制:实验性 WebSocket 服务器(端口 9876),允许其他 BAT 实例或移动应用通过二维码连接。
谁会使用它?
- 希望在一个窗口中运行构建/监视命令、查看 Git 历史并让 LLM 编辑代码的 开发者。
- 需要在多台机器上复现工作区布局(配置文件)的 团队。
- 喜欢键盘快捷键并希望精细控制 LLM 工具权限的 高级用户。
- 移动端优先的工作者 – 可通过移动应用连接到桌面 BAT 实例进行远程控制。
快速入门检查清单
- 安装应用(brew、AppImage 或脚本)。
- 打开应用并创建一个指向项目文件夹的 工作区。
- 在该工作区中打开终端,并从 代理预设 列表中选择 Claude Code(或 Codex)。
- 输入类似
Create a React component that fetches data from /api/items的提示。 - 观察模型在同一个窗口内编辑文件、运行命令或请求澄清。
总结
Better Agent Terminal 是一个功能齐全的跨平台终端管理器,紧密集成了 LLM 编码助手。它提供了 IDE 风格布局的便利性,同时保留了终端的原始强大功能,并让您控制 AI 对代码库的自主程度。
相关
- 项目
- 项目
- 项目
- 项目
- 项目