MATRIX CO TUI · 0.0.1

终端版使用手册

从 Homebrew 安装 Matrix Co,配置本机已有的 AI 编程助手,再用房间、路由、权限和目标控制协作过程。

01 · REQUIREMENTS

运行要求

  • Apple Silicon Mac,macOS 11 或更高版本。
  • Homebrew。Intel 版本尚未发布。
  • 安装并登录你准备使用的第三方 CLI,例如 Codex、Claude Code、Cursor、Kimi 或 ZCode。
  • Claude SDK 与实验性 Cursor SDK transport 需要 Node.js 18 或更高版本。其他路径不依赖 Node.js。

Matrix Co 不提供模型账号,也不替代第三方 CLI 的登录。它负责房间、路由、状态、审批和本地持久化。

02 · INSTALL

安装与升级

Homebrew 安装

brew tap moonaries90/matrix-co https://github.com/moonaries90/matrix-co-releases.git
brew install moonaries90/matrix-co/matrix-co

安装完成后检查两个入口:

matrix --help
matrixctl agent --help

升级

brew update
brew upgrade matrix-co

卸载

brew uninstall matrix-co
brew untap moonaries90/matrix-co

卸载程序不会删除 ~/.matrix-co 中的房间状态、会话记录和日志。确认不再需要这些数据后再手动清理。

03 · FIRST RUN

先用 Echo 检查本机链路

Echo 不连接模型,也不需要账号。先用它确认 daemon、TUI、profile 和本地状态可以工作。

matrixctl agent define echo-smoke --kind echo
matrix --invite echo-smoke
  1. 进入 TUI 后输入一行文字并按 Enter。
  2. 确认右侧成员列表出现 echo-smoke
  3. 输入 /agents 查看在线成员。
  4. 输入 /quit 退出。

matrix 会启动本地 matrixd,连接 TUI,并在退出时清理它本次启动的 daemon。已有可用 daemon 时,启动器会复用它。

04 · AGENT PROFILES

配置 Agent

Profile 保存名称、Agent 类型、transport、SOUL、模型和默认权限。工作目录属于每次启动的会话,不写入 Profile。

Codex App Server

matrixctl agent define planner \
  --kind codex \
  --transport app-server \
  --soul architect

Claude Agent SDK

matrixctl agent define reviewer \
  --kind claude \
  --transport claude-sdk \
  --soul reviewer

Cursor ACP

matrixctl agent define cursor-builder \
  --kind cursor \
  --transport acp \
  --soul builder

Kimi ACP

matrixctl agent define kimi-builder \
  --kind kimi \
  --transport acp \
  --soul builder

ZCode Protocol

matrixctl agent define zcode-builder \
  --kind zcode \
  --transport zcode-protocol \
  --soul builder

Cursor SDK transport 仍处于实验阶段,工具执行受限。常规 Cursor 使用请选择 ACP。

查看和删除 Profile

matrixctl agent list
matrixctl agent show planner
matrixctl agent remove planner

05 · ROOMS

进入房间并指定工作目录

cd ~/projects/my-app
matrix --room dev --workspace "$PWD" --invite planner,reviewer

不传 --workspace 时,Matrix Co 使用你执行 matrix 的当前目录。一个 Profile 可以加入多个房间,每个房间会创建独立的运行时 Agent。

进入 TUI 后可以继续邀请或移除成员:

/invite cursor-builder
/kick reviewer
/agents
/status

06 · ROUTING

Host 与 Free 模式

Host

Host 是默认模式。Moderator 接收普通输入并负责组织后续工作。指定 Moderator:

/mode host planner

你仍可使用 /turn 明确启动某个 Agent 的回合。

Free · active

普通输入发送给当前 active executor。/target 设置这个持续生效的目标。

/mode free selector=active
/target cursor-builder

Free · Agent-led

命令中的 wire 名称是 broadcast。普通输入只进入房间,不自动启动 Agent。使用 @agent 或 Agent 的 matrix_delegate 发起后续回合。

/mode free selector=broadcast
@planner 拆分这个需求

Free · round-robin

/mode free selector=round-robin agents=planner,cursor-builder budget=6

budget 只限制没有 mention 的 Free 定向回合。显式 @agent 不消耗该预算。

/target 设置持续目标;/route 只发送一次;/goal target 设置 auto-run 目标。三者用途不同。

07 · COMMANDS

常用 TUI 命令

命令作用
/help显示命令和键盘帮助。
/agents刷新并显示房间成员。
/target [agent]查看或设置 Free active executor。
/route <agent> <message>在 Free 模式向一个 Agent 发送一次定向消息。
/turn <agent> <input>明确启动一个 Agent 回合。
/interrupt <agent>中断当前回合。
/tools on|off显示或隐藏工具与 token 事件。
/context [agent]查看房间或 Agent 上下文。
/clear [agent...]清空所选 Agent 会话并写入恢复标记。
/compact [agent...]请求 Provider 原生压缩;只对已接线的 Adapter 生效。
/resume [profile...]打开房间与历史会话选择器。
/quit退出 TUI。

08 · PERMISSIONS

权限模式

模式行为
default每个 permission request 都进入审批面板。
accept-edits自动允许高置信度文件写入、编辑和 patch;命令、网络、MCP 与未知类型仍询问。
session-allow第一次询问。选择“本会话允许”后,同房间内匹配请求自动通过。
yolo自动允许带 requestId 的类型化权限请求。它不会替你回答问题或 request-user-input。

给 Profile 设置默认模式:

matrixctl agent define cursor-builder \
  --kind cursor \
  --transport acp \
  --soul builder \
  --permission-mode accept-edits

在当前房间设置覆盖:

/permission
/permission accept-edits
/permission cursor-builder default
/permission cursor-builder inherit

优先级为:房间内 Agent 覆盖、房间覆盖、Agent 默认。审批面板打开时,使用 1/2/3a/s/d 选择允许一次、本会话允许或拒绝。

09 · GOALS

目标与 auto-run

/goal 发布 TUI 0.0.1
/goal target planner
/goal auto
/goal resume
/goal complete

/goal <objective> 创建或替换房间目标。/goal target 固定自动执行目标;/goal auto 刷新状态;达到最大步数后使用 /goal resume 重置计数并继续。

当前 Codex app-server、Claude SDK 和 ZCode Profile 可以作为 auto-run 目标。Cursor ACP/SDK、Kimi 和 Echo 可以加入房间,但不能作为目标自动调度。

10 · RESUME

恢复房间与 Provider 会话

/resume
/resume planner
/resume --all

选择器先显示房间,再显示历史会话。Enter 进入房间或查看一段历史;Left/Right 展开和折叠;Esc 关闭。历史文本只回放到人类窗口,不会重新注入 Agent prompt。Provider 原生会话由各 Adapter 使用持久化 session pointer 恢复。

11 · KEYBOARD

键盘操作

Enter发送输入或确认面板选项。
Shift/Alt+Enter在输入框换行。
Esc优先中断活跃回合;无活跃回合时关闭面板。
Ctrl-C清空草稿;短时间内再次按下退出。
Tab / Shift-Tab选择工具、diff 和详情块。
Ctrl-T展开或折叠当前块。
Left / Right输入框为空时折叠、展开或切换审批请求。
Up / Down输入框非空时移动行;否则移动面板选择或滚动。

12 · STATE AND LOGS

数据与日志

~/.matrix-co/state.sqlite房间、Profile、路由状态和 Provider session pointer。
~/.matrix-co/sessions/按日期保存的 append-only JSONL 会话记录。
~/.matrix-co/logs/matrixd.logDaemon 启动与协议错误。
~/.matrix-co/logs/matrix-tui.logTUI 启动、终端和连接错误。
~/.matrix-co/souls/本地 SOUL prompt 文件。

需要隔离测试时,指定另一份状态目录:

MATRIX_CO_HOME=/tmp/matrix-co-test matrix --room scratch --invite echo-smoke

13 · TROUBLESHOOTING

排障顺序

命令不存在

brew list --versions matrix-co
brew --prefix matrix-co
command -v matrix

Agent 无法启动

先确认第三方 CLI 能独立运行,再检查 Profile 的 kind 和 transport。

command -v codex
codex --version
matrixctl agent show planner

Daemon 或 TUI 退出

tail -n 80 ~/.matrix-co/logs/matrixd.log
tail -n 80 ~/.matrix-co/logs/matrix-tui.log

Socket 残留

只有确认没有 Matrix Co 进程正在使用默认 socket 后,才删除残留文件并重试:

rm -f /tmp/matrix-co.sock
matrix --room demo

重新安装

brew reinstall matrix-co
matrix --help

提交问题时请附上 Matrix Co 版本、macOS 版本、所用 Agent/transport,以及两份日志中与失败时间相邻的内容。不要上传 token、账号信息或完整私有会话。