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 相同的沙盒/工作树隔离和审批策略。
  • 会话记录本地存储,支持快速恢复。

语义代码导航(可选)

  • 集成 cx CLI(基于 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 实例进行远程控制。

快速入门检查清单

  1. 安装应用(brew、AppImage 或脚本)。
  2. 打开应用并创建一个指向项目文件夹的 工作区
  3. 在该工作区中打开终端,并从 代理预设 列表中选择 Claude Code(或 Codex)。
  4. 输入类似 Create a React component that fetches data from /api/items 的提示。
  5. 观察模型在同一个窗口内编辑文件、运行命令或请求澄清。

总结

Better Agent Terminal 是一个功能齐全的跨平台终端管理器,紧密集成了 LLM 编码助手。它提供了 IDE 风格布局的便利性,同时保留了终端的原始强大功能,并让您控制 AI 对代码库的自主程度。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目