gbasin/agentboard

Web GUI for tmux optimized for AI agent TUIs, with support for iOS safari and mac w/ keyboard shortcuts

Agentboard – 基于 tmux 的 AI 代理的 Web UI

这是什么

Agentboard 是一个小型 Web 应用,它位于 tmux 会话之前,并将每个面板显示为单独的“代理”(Claude、Codex、Pi 等)。它发现本地和远程 tmux 窗口,读取代理的 JSON-L 日志,并通过 xterm.js 提供实时、触控友好的终端,您可以从任何设备(笔记本电脑、手机或平板电脑)通过 LAN 或 Tailscale 网络访问。

对 AI/LLM 工作流的重要性

许多开发人员在终端多路复用器 (tmux) 中运行基于 LLM 的助手,因为代理在面板中保持状态并将日志写入 ~/.claude/。管理数十个面板、记住哪个面板正在等待输入以及在手机上复制粘贴是很麻烦的。Agentboard 通过以下方式解决这个问题:

  • 自动检测代理面板并显示其当前状态(工作、等待、需要权限)。
  • 持久化会话元数据,因此您可以休眠面板,关闭其 tmux 窗口,并在以后不丢失对话的情况下唤醒它。
  • 提供移动优化 UI(触摸滚动、虚拟方向键、图像粘贴),适用于 iOS Safari。
  • 允许通过 SSH 进行远程 tmux 发现,因此单个仪表板可以监控在多个机器上运行的代理。

核心功能(根据 README)

功能 您获得什么
会话发现 轮询本地 tmux 窗口和可选的远程主机(通过 SSH);每个会话在侧边栏中显示为卡片。
状态推断 读取面板输出和 Claude/Codex JSONL 日志,将会话标记为工作、等待或请求权限。
实时终端 通过 WebSocket 将 I/O 流式传输到 React + xterm.js 前端;您可以输入、滚动和发送鼠标事件。
休眠 / 历史 保持休眠会话可见;其 tmux 窗口关闭但元数据保留,单击即可唤醒。
移动 UI iOS Safari 支持:粘贴图像、虚拟 D-pad、快速键工具栏、长按选择、剪贴板转发。
Claude Code 全屏 启用 Claude 的无闪烁渲染器,并提供开箱即用的鼠标支持。
远程 tmux 支持 可选的 SSH 轮询其他主机;默认只读,附带可选的附加/控制标志。
依赖风险扫描器 内置 bun run deps:risk,用于审计 npm/Bun 依赖的安全和维护问题。
会话恢复 保存会话名称、项目路径和启动详细信息;在重启后重新打开中断的会话。
键盘快捷键 快速导航和会话管理(Ctrl+Option+N 新建,Ctrl+Option+X 终止等)。
可配置环境变量 细粒度控制发现前缀、剪贴板处理、tmux 同步、远程轮询间隔、粘贴图像限制等。

如何运行

  1. 先决条件 – 安装 tmux 和(推荐)用于简单网络的 Tailscale。
  2. 安装 – 选择以下一种:
    • Homebrew:brew tap gbasin/tap && brew install agentboard && agentboard
    • npm:npm install -g @gbasin/agentboard && agentboard
    • npx:npx @gbasin/agentboard
    • 从源码安装(需要 Bun 1.3.14+):bun install && bun run dev(开发服务器在 5173 端口)或 bun run build && bun run start(生产环境在 4040 端口)。
  3. 在浏览器中打开 http://localhost:4040(或机器的 LAN/Tailscale 地址),您将看到仪表板。
  4. (可选)设置 systemd 或 launchd 服务以实现持久的后台服务器。

安全说明

Agentboard 不提供身份验证;任何能够访问 HTTP/WebSocket 端点的人都可以获得完整的终端访问权限。默认绑定是 127.0.0.1,对于本地使用是安全的。公开暴露需要额外的网络级保护(例如 Tailscale、VPN、防火墙)或带认证的反向代理。


以上所有信息均直接来自存储库的 README;没有推断其他功能。

相关

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