Skip to main content
每个智能体上都有的五条命令,外加只有 OpenCode 才需要的第六条。你要在想影响的那台电脑上、从一个智能体会话里运行它们——在 Claude Code 和 OpenCode 里是 / 命令,在 Codex 里是 $ skill。
Claude Code 里一切都带命名空间:输入 /nomo-cc: 就会列出全部。OpenCode 的命令名是扁平且全局的,所以在那里 Nomo 的命令完全不带前缀。
它们都不会大声报错。即使无事可做也会干净地退出——Not paired 是成功,不是错误。 最后一行的空格不是漏写:Claude Code 和 Codex 由各自的宿主负责更新,所以 Nomo 没有在那边加命令。它们各自需要什么——Codex 通常什么都不需要——都写在安装里。

pair

不带参数时,它会在浏览器里打开一个配了主题的页面,上面有二维码。在 App 里扫一下,页面会自己翻成 Paired ✓。 code 参数完全跳过浏览器,直接打印一段可以手输的一次性配对码,供无头机器或 SSH 会话使用。它是刻意排在第二位的:那段配对码会落进你的终端,也就落进了智能体的转录记录。 配对若 10 分钟内未使用就会过期。一次配对覆盖的是这台机器,而不是某个智能体——同一台 Mac 上的 Claude Code、Codex 和 OpenCode 共用它。完整流程见配对。

status

一旦哪里看着不对,先运行它。一台健康的机器只有寥寥几行平静的输出——这里没有对勾,因为一切正常本身就是无话可说:
空行以上描述的是这台电脑,无论你从哪个智能体运行,它们都一样。再往下才是你当前所在的那个智能体,用 — you are here 标出来。
这台电脑到底有没有配对,以及它连的 worker 和它持有的配对。NOT PAIRED 表示这里的任何东西都到不了 App,下面那个箭头会按你所在智能体的写法打印出 pair 命令。
上一次真正有事件离开这台电脑是什么时候,以及看门狗在不在。看门狗没跑本身没关系——下一个会话开始时它会自己起来。但确实有会话在跑却显示 never,那就不对了。
经由本地网络的直连:这台电脑正在监听的端口和 id、你的手机上一次真正连上它是什么时候,以及这台 Mac 上一次广播自己地址是什么时候。中间那行才是关键——它是直连确实通过的唯一证据。地址早就广播出去却从未被连上,说明你的手机路由不到这里;刚广播完还没被连上,那只是还太早,判断不了。请求被拒绝时会写出原因,而不是留下一片沉默。从未监听过的电脑上根本不会出现这一行——开关在你的手机上,而且默认是关的。
on 表示权限请求会被拦在这里并发到你手机。PAUSED 表示不会——它们直接进终端,而且会一直这样,直到有人恢复它,哪怕是几个月以后。如果你的手机不再问你任何事,这一行就是全部答案:见暂停远程审批。
你的智能体有没有在给 Nomo 喂数据,以及上一次是多久以前。OpenCode 没有 hook,所以那里这一行叫 Plugin。什么都没触发?重启 Claude Code 让它的 hook 加载;Codex 那边运行 /hooks;OpenCode 那边重启它,好让插件加载。
现在是按智能体分别计数的:1 of 4 tracked here 表示这台电脑正在跟踪四个会话,其中一个是你的。那些本该消失却还在的行,正是 reset 要处理的。
有问题时只会多出两个记号,别的什么都没有:! 是问题本身,→ 是该怎么办,并且按你所在智能体的命令写法给出。这台电脑上其他每个智能体各占一行浓缩信息,放在 Also on this computer 下面——而当出问题的是那些智能体之一时,它也会在这里直接说出来,不必等你自己过去看:
无话可说的行会被略去——一台没配对的电脑,没有什么投递、LAN 和审批可报。别的智能体的问题会在这里完整写出来,剩下的细节再指向那个智能体自己的状态命令。第一行还带着插件版本:反馈问题时请把它一并贴上。

approvals

暂停这台电脑的远程审批,让权限请求直接进终端,而不是等你的手机。这是手机没电或不在手边时的应急出口。
一台电脑一个开关,所有智能体共用——在 Codex 里暂停,同一台机器上的 Claude Code 和 OpenCode 也一起暂停。它不会解除任何配对,也不会碰你手机上的设置。 另外还有一个覆盖整部手机的开关:设置里的在 iPhone 上回答。

reset

停掉看门狗,清理掉失效或残留的会话行,然后通知你的手机把它们丢掉。
会话行看着陈旧或重复时,这是最稳妥的一招,因为它会告诉你自己没动过什么。OpenCode 的会话行属于 OpenCode 的服务器,所以要是有一行清不掉,先退出 OpenCode——见搭配 OpenCode 使用。

unpair

撤销配对,并抹掉那台电脑上的密钥。 在手机上移除一台电脑不是一回事:那只会让它不再出现在你的 App 里,Mac 上的本地状态会一直留着,直到你在那边运行这条命令。

update

OpenCode
只有 OpenCode 有,而且它在动手之前先检查。已经是最新的,就到此为止,不会顺手再拉一次:
真有东西可拿时,它会先说是什么,再去拿:
接着它拉取更新、重新运行安装脚本——新版本要是加了新的 /nomo-* 命令,就是靠这一步收进来的——然后让你重启 OpenCode。插件只在服务器启动时导入一次,所以在你重启之前,跑着的仍然是旧的那一份。 拿不准的时候,它宁可拒绝也不动手,而且每一次拒绝都会说清楚该怎么办:被之前的 --ref 安装钉住的克隆目录、还有未提交改动的工作区、被搬走或删掉的克隆目录,以及这里根本什么都没装。
它更新的是桩文件指向的那份克隆目录——也就是 OpenCode 真正导入的那一份——未必是你输入的命令文件所属的那一份。如果你留着不止一份克隆,这个区别就要紧了。
Claude Code 和 Codex 没有对应的命令,因为更新归它们各自的宿主管,而 Codex 通常根本没有什么要执行:两边都写在安装里。

状态文件的位置

插件保存的一切都在 ~/.config/cc-status/ 里——配对信息、加密密钥(权限 0600)、每个被追踪会话一个文件,以及一份本地跟踪日志。这个文件夹里的东西不会发往任何地方。

源代码

这些命令就是插件,而插件是开源的。如果你想确切知道你机器上跑的是什么、有什么东西离开了它,答案就在一个仓库里——从市场安装的版本只是它的一份普通克隆。

KarrixLee/nomo

完整的插件源代码,采用 MIT 许可证。问题和 bug 反馈也在这里。