09. 自动化与编辑器集成
主导进程
查看或停止**本地**共享助手后端。主导进程是可选的。它们不是工作区枢纽,也不会把工作区暴露给官方云。
主导进程是什么
主导进程是这台机器上的长驻 Matcha 进程。TUI 或 matcha agent stdio 可以挂上去,让多个客户端共享一个助手(一个套接字、一套工具运行时),而不是各自拉起完整进程。
默认主导模式是 **off**。用 matcha agent 的 --leader,或 ~/.matcha/config.toml 里的 [cli] use_leader 打开。--no-leader 永远优先。请求的沙箱配置不是 off 时也会拒绝主导模式,以便工具留在进程内。
Unix 套接字默认是 ~/.matcha/leader.sock(锁文件 leader.lock,日志 leader.log)。用 --leader-socket PATH 或 MATCHA_LEADER_SOCKET 覆盖(旧名 GROK_LEADER_SOCKET 只读兼容)。
两族命令
容易搞混:
| 命令 | 是什么 |
|---|---|
matcha agent leader | **作为**共享主导进程运行。 |
matcha leader list / info / kill | **管理**已经在跑的主导进程。 |
matcha leader 管理:
| 子命令 | 效果 |
|---|---|
list | 打印发现的主导进程(--json 给出机器可读数组)。 |
info | 一个主导进程的详情。传入 list 里的 --pid;不传则用默认生产环境目标。可用 --json。 |
kill | 停止发现的**所有**仍在运行的 Matcha 主导进程。kill 没有 --pid。不是 Matcha 进程的 PID 的过期锁会被清掉。 |
list 没有候选时打印 No leader candidates found. 此时 kill 把同样意思打到 stderr,并以成功退出。
info 用不了控制通道时,仍会打印描述符,并警告详细信息不可用。
什么时候需要这些命令
跟随进程连不上、升级留下旧主导进程、或给编辑器挂接前想确认套接字路径时用它们。普通 TUI 或 matcha -p 不需要主导进程。
查看与停止
看看在跑什么:
matcha leader list
matcha leader list --json查看一个进程:
matcha leader info --pid 12345
matcha leader info --pid 12345 --json停止这条命令能核实为 Matcha 进程的每一个仍在运行的主导进程:
matcha leader kill自己启动主导进程(进阶;多数用户在设了 --leader 时让跟随进程去拉起):
matcha agent leader--no-exit-on-disconnect 在最后一个客户端离开后仍保持该进程。--relay-on-demand 只为产品 WebSocket 中继存在;该中继已关闭。--no-auto-update 是兼容性空操作。
挂上 stdio 客户端
matcha agent --always-approve --leader stdio什么不可用
工作区枢纽暴露已关闭。CLI 子命令 matcha workspace(start、pause、resume、stop、restart、status)是**隐藏的**。它不是本地仪表盘,也不是 matcha worktree 或 /dashboard 的替代。
产品中继也是关的:本构建里的主导进程只通过 IPC 服务**本地**客户端。本地并行工作用 /dashboard 和 matcha worktree,不要用 matcha workspace。