关于 reevesagents
reevesagents 是一个本地工作区,可在 tmux 中并排运行多个 AI 编码 CLI。开发者可通过命令行、TUI 或 Web UI 控制运行任务,也可让受信任且已连接的 Agent 通过 MCP 操作其他 CLI。
主要功能
- 01并排运行多个编码 CLI
- 02通过命令行、TUI 和 Web UI 控制任务
- 03读取输出并指挥或停止 Agent
- 04管理审批与运行预设
- 05查看提供方 CLI 和实用工具
适用场景
- 01将项目任务分配给多个编码 CLI
- 02检查 Agent 输出并发送后续输入
- 03让一个受信任的 Agent 协调其他 CLI
- 04查看待处理审批并管理运行任务
MCP 相关
可选的 Agent Control MCP 服务允许已连接的 CLI 启动、读取、指挥和停止其他 CLI,并管理审批、预设及主机信息。提供方目录也可作为 MCP 资源使用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
30收录的工具列表 · 更新于 3 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 否 | 启动新运行时使用的运行名称。 |
| task | string | 否 | 启动时粘贴到 Agent 中的初始提示词。 |
| model | string | 否 | 模型 ID。留空则使用提供方默认值。 |
| effort | enum | 否 | 推理力度,适用于支持此选项的提供方。留空则使用提供方默认值。default | low | medium | high | xhigh | max |
| run_id | string | 否 | 添加到此运行中。省略则启动新运行。 |
| nickname | string | 否 | |
| provider | string | 是 | 提供方键,例如 cc、codex、kimi、qwen、opencode、hermes。 |
| auth_mode | enum | 否 | CLI 的身份验证方式。留空则使用提供方默认值。default | api-key |
| extra_args | array | 否 | 在启动命令后原样追加的额外标志,用于 ReevesAgents 未建模的提供方选项。每个标志及其值分别作为一项,例如 ["--remote-control"]。 |
| permissions | enum | 否 | ask 会对每个操作进行提示;skip 会自主运行。留空则使用全局默认值。ask | skip |
| working_dir | string | 否 |
详细介绍
ReevesAgents 采用 Apache-2.0 许可证,免费且开源。
25+ 个编码 CLI,一个工作区。
英语 · 德语 · 法语 · 西班牙语 · 葡萄牙语 · 意大利语 · 土耳其语 · 俄语 · 简体中文 · 阿拉伯语
ReevesAgents 是面向 AI 编码 CLI 的本地工作区。它可在 tmux 中并排运行 Claude Code、 Codex、OpenCode、Hermes、Kimi、DeepSeek、Qwen、Pi、Aider、Gemini CLI、Cline CLI、 Crush、Goose、Kilo Code、Letta Code、Mistral Vibe、Grok Build、Kiro CLI、 Factory Droid、Qoder CLI、Warp、Junie CLI、GitHub Copilot CLI、Cursor CLI、 Rovo Dev CLI 以及其他提供商的 CLI。你可以将它用作常规 CLI/TUI/Web UI,也可以 连接其可选启用的 MCP,让一个 Agent 启动、读取、操控并停止其他 Agent。
各提供商的登录信息仍保留在对应的提供商 CLI 中。ReevesAgents 自身的状态
以少量普通 JSON 文件的形式保存在 ~/.reeves 下,且仅在你或已连接的
CLI 使用时运行。
## 快速开始
pnpm add -g reevesagents
reevesagents doctor
reevesagents
从命令行启动一次运行:
reevesagents spawn claude-code:lead codex:tests hermes:research \
--name "release check" \
--prompt "Review the release path, test coverage, and docs."
打开 Web UI:
reevesagents web
让一个已连接的 Agent 控制其他 Agent:
reevesagents attach codex
reevesagents hosts
连接后重启该命令行客户端,以便加载 MCP 工具。
Windows
原生 Windows 10 1809+ 无需 WSL:reevesagents 内置了兼容 tmux 的多路复用器(winmux),可通过 ConPTY 运行窗格。关闭 UI 后,Agent 仍会继续运行,因为 winmux 会像 tmux 一样作为后台服务运行。在 TUI 或命令行中连接时,常用的前缀键仍然有效:按 Ctrl-b d 分离,按 Ctrl-b n / p 在 Agent 窗口之间切换,按 Ctrl-b 0-9 跳转到指定窗口。
它能提供什么
| 界面 | 用途 |
|---|---|
| TUI | 在终端中以键盘为主控制运行。 |
| Web UI | 本地查看运行、窗格、Agent、审批和历史记录。 |
| 命令行 | 用于脚本、冒烟测试、启动、清理状态和 tmux 跳转。 |
| Agent Control MCP | 一个受信任的命令行客户端可通过本地工具启动并控制其他命令行客户端。 |
| tmux | 真实的提供商命令行窗口,即使 UI 关闭后仍会继续运行。 |
ReevesAgents 从设计上就是本地运行的。状态以纯 JSON 格式保存在 ~/.reeves 下,它启动的命令行客户端与你平时手动使用的客户端相同。
工具
编码命令行客户端旁边提供了四种工具。Perplexity CLI 可搜索网络,Google Colab CLI 可在 CPU、GPU 和 TPU 运行时中运行脚本和笔记本,Hugging Face CLI 可下载和上传模型与数据集,并在 Hub 上运行任务,而 Ollama 可在终端中运行本地或云端模型。Agent 可从各自的 shell 中调用这些工具。
reevesagents tools 会列出这四种工具,并显示用途、示例命令,以及每种工具是否已安装并登录(对于 Ollama,则显示是否可连接)。脚本可使用 --json。连接了 MCP 的 Agent 可通过 list_tools 获取相同列表。
安装
ReevesAgents 需要 Node.js 22.12+、tmux 3.0+,并且至少安装并验证一个受支持的提供商命令行客户端。支持 macOS、Linux 和 WSL。
# Homebrew
brew tap mertkayacs/reevesagents
brew install reevesagents
# pnpm
pnpm add -g reevesagents
# npm
npm install -g reevesagents
# one-shot checks
pnpm dlx reevesagents doctor
npx reevesagents doctor
将 <version> 替换为指定版本以固定版本:
pnpm add -g reevesagents@<version>
从源码安装:
git clone https://github.com/mertkayacs/reevesagents.git
cd reevesagents
pnpm install
pnpm build
pnpm link --global
reevesagents doctor
屏幕截图
TUI 和 Web UI 控制的是相同的本地运行:


命令
不带参数时会启动 TUI。
| 命令 | 用途 |
|---|---|
reevesagents | 启动 TUI。 |
spawn [spec...] | 开始一次运行。每个 spec 的格式为 provider[:nickname[:model]]。 |
add [spec...] | 向最近一次仍在运行的任务中添加 Agent。 |
runs | 列出正在运行的任务。 |
agents [run-id] | 列出所有任务中的 Agent,或某个任务中的 Agent。 |
open <id> | 跳转到任务或 Agent 的 tmux 窗口。 |
peek <agent-id> | 打印某个 Agent 的近期输出。 |
send <agent-id> <text...> | 将文本粘贴到某个 Agent 中,但不提交。 |
key <agent-id> <key> | 发送 enter、escape、方向键、tab、space、backspace 或 ctrl-c。 |
interrupt <agent-id> | 向某个 Agent 发送 Ctrl-C。 |
stop <run-id> | 停止一次运行。需要 --yes 或 ALLOW_DESTRUCTIVE=1。 |
kill <agent-id> | 停止某个 Agent。需要 --yes 或 ALLOW_DESTRUCTIVE=1。 |
setup | 首次运行检查。--attach 会连接所有已安装的宿主 CLI。 |
doctor | 检查 Node、tmux、状态和提供方 CLI。 |
web | 启动仅限回环地址访问的 Web UI。 |
providers | 列出提供方 ID、别名、模型和可用状态。 |
tools | 列出 Perplexity、Google Colab、Hugging Face 和 Ollama,并显示用途、示例、安装状态和登录状态。 |
approvals | 列出待处理的审批请求。 |
approve / deny | 处理一项审批请求。 |
hosts | 显示已连接 ReevesAgents 的宿主 CLI。 |
attach [cli] | 将 Agent Control MCP 连接到一个宿主 CLI,或所有已安装的宿主。 |
detach <cli> | 从某个宿主 CLI 移除该 MCP 连接。 |
skills [action] | 安装、移除或检查 ReevesAgents 技能。 |
mcp | 通过 stdio 启动 MCP 服务。宿主 CLI 会运行此命令。 |
config [key] [value] | 显示或更新可编辑设置。 |
presets | 列出已保存的运行预设。 |
save-preset | 将当前运行保存为预设。 |
start-preset | 根据预设开始一次运行。 |
delete-preset | 删除一个预设。 |
delete | 删除一条已结束的 Agent 记录。需要确认。 |
delete-run | 删除一次已结束的运行并将其归档。需要确认。 |
history | 列出已归档的运行。 |
delete-history | 删除一条已归档的历史记录。需要确认。 |
reap | 结束僵尸 Agent、运行时间超过 max_lifetime_ms 的 Agent,并终止没有任何运行记录归属的孤立 tmux 会话。 |
常用标志:
--json:可用于面向脚本的列表和操作命令。--name <name>:为运行命名。--cwd <dir>:从某个目录运行 Agent。--prompt <text>:将启动文本粘贴到每个新启动的 Agent 中。--skip:为无人值守的工作进程跳过提供方权限提示。--run <run-id>:向指定运行添加 Agent。--port <n>和--no-open:Web UI 启动选项。
Agent Control
Agent Control 是可选的 MCP 服务。仅将其连接到你信任其驱动本地工具的 CLI:
reevesagents attach claude
reevesagents hosts
重启后,该 CLI 会获得用于 spawn、read、send_text、
send_key、interrupt、kill、stop、管理审批、管理预设以及
检查宿主的工具。提供方目录也会以 reevesagents://providers 的形式公开。
在 Claude Code 中,你可以将该连接及其操作说明一起安装为插件:
claude plugin marketplace add mertkayacs/reevesagents
claude plugin install reevesagents@reevesagents
该服务已列入官方 MCP Registry,名称为 io.github.mertkayacs/reevesagents。
默认情况下,工作进程不会获得 MCP。如果工作进程需要创建自己的工作进程,请明确将 ReevesAgents 连接到该工作进程的 CLI。
Codex 默认会对 MCP 调用进行沙箱隔离,因此会阻止启动 tmux。将 Codex 用作驱动 Agent 的主机时,请以完整访问权限运行,例如
codex --sandbox danger-full-access,或使用设置了
sandbox_mode = "danger-full-access" 的 Codex 配置。
完整工具参考:docs/mcp.md。面向 Agent 的操作指南: AGENTS.md。
配置
状态文件位于 ~/.reeves 下:
~/.reeves/
config.json
presets/
runs/
history/
两个环境变量可覆盖默认路径:
REEVES_REGISTRY:覆盖runs/、history/和presets/的状态根目录。REEVES_CONFIG:覆盖配置文件路径。
在 Web UI 中,打开 Config,选择 Web theme → Light 或 Dark,然后
保存。此选项存储在 config.json 中,也会应用于内嵌终端。默认值为 Dark。在 CLI 中,使用 reevesagents config web_theme light。
每个 tmux 服务只能使用一个注册表:后台孤儿清理会根据当前注册表判断会话归属,因此两个注册表不得共用同一个 tmux 服务。
在写入状态文件之前,系统会对 Agent 任务、任务备注、收件箱消息和审批文本中的已知令牌模式进行脱敏。
示例
将一个项目分配给多个 CLI:
reevesagents spawn deepseek:backend claude-code:product codex:review \
--name "feature x" \
--prompt "Backend, product copy, and a review pass."
监视一个 Agent,然后打开它的窗口:
reevesagents peek backend -n 40
reevesagents open backend
工作完成后停止运行:
reevesagents stop "feature x" --yes
Web UI
reevesagents web
Web UI 仅绑定到 127.0.0.1,并在前台运行。关闭页面后,Agent 仍会继续运行,因为它们运行在 tmux 中。
Web UI 使用可选的运行时模块 ws 和 @lydell/node-pty。npm
默认会安装这些模块。没有这些模块时,CLI 和 TUI 命令仍可正常工作,而
reevesagents web 会说明缺少哪些内容。
如需从另一台机器访问,请通过 SSH 转发环回端口:
ssh -L 8080:127.0.0.1:8080 user@host
故障排除
未安装 tmux。 请安装 tmux 并运行 reevesagents doctor。TUI
会自动在名为 reeves 的 tmux 会话中运行;设置
REEVES_NO_TMUX_WRAPPER=1 可跳过此行为。
缺少提供商 CLI,或尚未登录。 ReevesAgents 会启动已存在于 PATH 中且已通过身份验证的提供商 CLI。reevesagents doctor 会显示检测结果。如果启动的窗口停留在登录页面,peek 可以查看其状态。
Web UI 提示缺少软件包。 启用可选依赖项后重新安装,然后运行 reevesagents doctor。
端口已被占用。 reevesagents web 默认从 8080 端口启动。如果该端口已被占用,服务器会绑定小范围内下一个可用端口,并打印 URL。
贡献
贡献者文档位于 docs/ 下。请从 CONTRIBUTING.md、测试 和 发布 开始。
最终用户无需安装开发工具链。贡献者会使用仓库中的 pnpm、 TypeScript、tsup、Vitest 和 ESLint。
引用本文
@software{kaya2026reevesagents,
author = {Mert Kaya},
title = {ReevesAgents: Local tmux workspace for AI coding CLIs},
year = {2026},
license = {Apache-2.0},
url = {https://github.com/mertkayacs/reevesagents},
version = {1.8.2}
}
Links
- Website: https://reevesagents.mertkayacs.com
- npm: https://www.npmjs.com/package/reevesagents
- GitHub: https://github.com/mertkayacs/reevesagents
- Eschatia Labs: https://eschatialabs.com
- Mert Kaya: https://mertkayacs.com
- Releases: https://github.com/mertkayacs/reevesagents/releases
- Issues: https://github.com/mertkayacs/reevesagents/issues
- Changelog: CHANGELOG.md
- License: Apache-2.0

An Eschatia Labs project by Mert Kaya.
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
