OpenSessions tmux 会话侧栏

在 tmux 中集中查看并切换编码代理会话及其实时状态。

Star 数
★ 1.2k
最近更新
5 个月前
主语言
Rust

30 秒速览

运行形态
命令行工具Agent 插件 / 技能
可在哪里用
兼容但需适配Codex · Claude Code
费用
免费,无需付费服务
上手难度
中 · 需要几步配置
开始前需要
tmuxTPMcurl 或 wgetShell / 命令行网络访问本地文件系统
典型场景
使用 Claude Code、Codex 或 Amp 同时处理多个代码库的开发者,可在一个 tmux 侧栏中查看各会话状态并快速跳转。
不适合
  • 不使用 tmux 的开发者,tmux 是唯一受支持的复用器
  • 需要 zellij 等其它复用器的用户,zellij 集成尚不稳定
  • 希望开箱即用、不愿配置 TPM 与本地依赖的用户

这个 Agent 能做什么,适合哪些场景?

OpenSessions 是运行在现有 tmux 工作流中的 Rust 侧栏,用于管理不断增多的终端会话、编码代理和本地服务标签。它由 ratatui 侧栏客户端、Rust 状态服务器、共享运行时和 tmux 集成脚本组成,侧栏通过 WebSocket 连接服务器。服务器从 tmux 提供者和 Amp、Claude Code、Codex、OpenCode 的本地记录中汇总会话与代理状态,并显示分支、工作目录、线程名称和检测到的 localhost 端口。用户可在 tmux 内切换、排序、隐藏、恢复、新建或结束会话,并通过本地 HTTP API 向侧栏写入状态、进度和日志。它是本地工具:默认绑定 127.0.0.1,当前唯一受支持的终端复用器是 tmux。

运行 opensessions-server 后,运行时从 tmux 读取会话,并分别读取 ~/.local/share/amp/threads/*.json、~/.claude/projects/ 中的 JSONL 转录、~/.codex/sessions/ 或 $CODEX_HOME/sessions/ 中的 JSONL 转录,以及 ~/.local/share/opencode/opencode.db。它将结果组装为实时会话状态并经 WebSocket 提供给 opensessions-sidebar;Codex 会话通过 turn_context.cwd 解析,Amp 的未读状态可由 session.json 清除。侧栏展示代理状态和每线程的 done、error、interrupted 未读标记,检测端口后可打开 http://localhost:<port>。脚本或代理还可 POST 到 127.0.0.1:7391/set-status、/set-progress、/log、/clear-log 或 /notify,写入状态标签、进度、日志和通知。

  1. 使用 Claude Code、Codex 或 Amp 同时处理多个代码库的开发者,可在一个 tmux 侧栏中查看各会话状态并快速跳转。
  2. 在 tmux 窗口中启动多个本地开发服务器的工程师,可查看检测到的 localhost 端口并点击打开对应地址。
  3. 需要让 CI 脚本或部署脚本把“Deploying”、测试进度和结果写入终端侧栏的团队,可调用本地 HTTP API。
  4. 处理多个代理线程的个人开发者,可利用 done、error 和 interrupted 的每线程未读标记定位待处理工作。
  5. 希望保留 tmux 工作方式、但需要会话排序、隐藏、恢复和快速切换的用户,可使用其内置按键操作。

如何安装或部署这个 Agent?

前提:已安装 tmux、TPM,以及用于首次下载预构建二进制的 curl 或 wget。将以下内容加入 ~/.tmux.conf:

set -g @plugin 'Ataraxy-Labs/opensessions'

随后执行:

tmux source-file ~/.tmux.conf
~/.tmux/plugins/tpm/bin/install_plugins

首次加载时插件会下载包含 opensessions-sidebar、opensessions-server 和 lazydiff 的发布包;按 prefix o,再按 s 打开侧栏。若平台不受支持或需本地开发:

cd ~/.tmux/plugins/opensessions
cargo build --release

如何使用这个 Agent?

在 tmux 中按 prefix o → s 聚焦侧栏,按 prefix o → t 切换侧栏显示;prefix o → 1 至 9 可快速切换会话。要从脚本设置状态,可执行:

curl -X POST http://127.0.0.1:7391/set-status -H 'content-type: application/json' -d '{"session":"my-app","text":"Deploying","tone":"warn"}'

要本地开发,可运行 cargo run -p opensessions-sidebar 启动侧栏,或 cargo run -p opensessions-server 启动服务器。

这个 Agent 有哪些优点和局限?

优点
  • 直接嵌入现有 tmux,而不是要求迁移到新的终端复用器。
  • 可聚合 Amp、Claude Code、Codex 和 OpenCode 的本地会话状态,并针对不同来源读取其实际记录格式。
  • 提供无需额外二进制客户端的本地 HTTP API,可写入状态、进度和日志。
  • 原生 Rust/rataiui 侧栏通过 WebSocket 接收状态,且声明为零运行时依赖。
局限
  • 当前仅 tmux 被声明为受支持的 mux;仓库中的旧 zellij 集成不稳定。
  • 需要本地 tmux、TPM,以及首次安装预构建包时的 curl 或 wget;不受支持的平台可能需要自行用 Cargo 构建。
  • 代理状态依赖本机特定目录与文件格式,例如 Claude Code 和 Codex 的 JSONL 转录、OpenCode SQLite 数据库。
  • 默认仅本地绑定 127.0.0.1;plugins、port 和 keybinding 虽可解析,但目前不是活跃的运行时扩展钩子。

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
OpenSessions tmux 会话侧栏 当前 48 · 缺口较多 命令行工具免费 ★ 1.2k 5 个月前 Rust Codex · Claude Code
Autoprompt Skill 69 · 存在缺口 命令行工具免费 + 模型费 ★ 1.2k 1 个月前 JavaScript Codex · Claude Code
Cezar — AI 编码代理编排器 63 · 存在缺口 命令行工具免费 ★ 948 今天 TypeScript Codex · Claude Code
abtop 智能编码会话监控器 57 · 缺口较多 命令行工具免费 ★ 3.8k 1 个月前 Rust Codex · Claude Code

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
48/ 100 五分制 2.4 / 5
信任安全 8/29
可靠稳定 6/14
适用触发 12/18
规范维护 10/18
有效结果 9/13
证据核验 3/8
查看各维度的扣分理由
信任安全8 / 29 · 1.4/5

证据显示:本地HTTP API默认绑定127.0.0.1,端口按tmux socket派生,但未提及认证或授权;安装脚本会下载预编译二进制,但未提供校验和验证;存在自动版本更新工作流,但未说明用户确认机制。扣分原因:缺少用户确认步骤,数据流透明度有限,敏感数据处理细节不足,依赖安全性未充分验证。

可靠稳定6 / 14 · 2.1/5

证据显示:README与代码结构一致,文档描述了多个组件和集成;但依赖外部服务(如lazydiff的Convex URL)可能影响可用性;失败消息未详细说明。扣分原因:依赖可用性未充分保证,失败消息不明确。

适用触发12 / 18 · 3.3/5

证据显示:面向使用tmux的开发者,支持多种agent,提供配置和API;能力边界在README中有所说明(如仅支持tmux);触发方式明确(快捷键);环境适配良好(支持Linux/macOS)。扣分原因:能力边界描述不够详尽,环境适配未覆盖所有平台。

规范维护10 / 18 · 2.8/5

证据显示:文档结构清晰,安装说明详细,命名稳定(如opensessions-sidebar),提供示例和FAQ,已知限制明确,MIT许可证,版本号存在但无changelog,维护责任未明确。扣分原因:缺少changelog,维护责任未明确。

有效结果9 / 13 · 3.5/5

证据显示:输出可用性高(提供API和UI),边际价值明显(解决多会话管理问题),成本效益合理(Rust实现,零运行时依赖)。扣分原因:无显著扣分。

证据核验3 / 8 · 1.9/5

证据显示:README中的声明与代码结构基本一致,但缺乏独立验证;跨来源佐证不足;事实与推断未明确区分。扣分原因:声明可追溯性有限,跨来源佐证不足,事实与推断未明确区分。

风险与缓解建议
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 本地HTTP API未提及认证,可能允许同一主机上的其他进程修改状态。
  • 安装脚本下载预编译二进制,未提供校验和验证,存在供应链风险。
  • 自动版本更新工作流可能在没有用户确认的情况下修改package.json并推送标签。
证据充分度:低 评估于 2026年8月9日 审查版本 a383e9fe76f6
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v0.2.0-alpha.12

常见问题

它会替代 tmux 吗?
不会。它作为 tmux 内的侧栏运行;当前 tmux 是唯一受支持的 mux。
支持哪些编码代理?
README 列出 Amp、Claude Code、Codex 和 OpenCode 的实时状态监测。
状态数据会发送到远程服务吗?
文档描述其为本地工具,默认主机为 127.0.0.1;提供的 API 示例也使用本地地址。
能否让脚本显示自定义任务进度?
可以。向 /set-status、/set-progress 或 /log 发送 JSON 请求即可写入侧栏信息。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents