Skip to main content
这一页的活,现在大半由状态命令替你干了。它会把整台电脑读一遍,用大白话说出哪里不对,并打印出能修好它的那条命令。先运行它。 这里剩下的是一张对照表:你带着的症状、回答它的那一行,以及状态命令确实看不到的那几件事。

先运行状态命令

它报告的是这台电脑,而不只是你当前的会话:配对、投递、本地网络直连、审批,然后是你所在的这个智能体,以及它找到的其他每一个。! 是真正的问题,它下面的 → 就是该怎么办,并且按你发起询问的那个智能体的命令写法写出来。多数人看到这里就够了。 每一行分别是什么意思,以及一台健康的机器和一台出问题的机器并排长什么样,都在命令里。
状态命令从不发起网络请求。它能告诉你这台电脑上一次发出事件是什么时候——但不知道你的手机有没有收到,也不知道是不是 worker 或者你的 Wi-Fi 今天状态不好。

哪一行回答你的问题

看 Phone。NOT PAIRED 就是全部答案,它下面的箭头会打印出配对命令——配对里有完整流程。已经配对了却还是什么都没有?接着往下看 Delivery。
Delivery说的是这台电脑上一次成功发出东西是什么时候。如果时间很近,那沉默就出在手机这一侧——打开 Nomo App,它会强制刷新,陈旧的卡片会立刻自我纠正。一张褪成灰色、写着 已断开? 的卡片,代表整整十分钟什么都没听到。Mac 睡了、掉了网、终端被关掉,从手机上看起来一模一样。如果确实有会话在跑,Delivery 却很旧或者是 never,接着看 Hooks。
看 LAN。中间那行——你的手机上一次连上这台 Mac 是什么时候——是直连确实通过的唯一证据。它前后两行说的是这台电脑有没有在监听,以及上一次广播地址是什么时候。刚广播过却从未被连上,说明你的手机找不到路:检查两者是否在同一个网络、设置里的本地网络是否已开启,以及 Nomo 在手机上有没有本地网络权限。从未广播过,说明还没有会话把地址带出去。完全没有 LAN 这一行,说明这台电脑从来没有监听过。
看 Approvals。PAUSED 表示有人在这台电脑上运行过暂停命令——可能是好几个月以前,而这正是过去这件事根本无从发现的原因。在那台机器上的一个会话里恢复它,请求就回来了:approvals。如果它显示 on,那关着的开关就在你手机上。在 iPhone 上回答默认是关的——见设置。判断的依据是颜色:每一只举起的手都是黄色(需要帮助,只有终端能处理),没有一只是紫色(需要权限,那才是能答复的)。见在手机上回答。
看 Hooks——在 OpenCode 里叫 Plugin,因为它没有 hook。如果它没在触发,就说明你的智能体根本没把任何东西交给 Nomo,而每个智能体都只在启动时加载这套接线:重启 Claude Code;在 Codex 里运行 /hooks;重启 OpenCode。Codex 需要你明确信任 hook,而一次插件更新会重新开启那次审核,所以在那边,更新之后运行 /hooks 通常就是答案——原因。
Plugin 那一行显示已安装却毫无活动,通常意味着插件装上时 OpenCode 已经在运行了。OpenCode 只在服务器启动时加载一次插件,所以退出再重开就是全部的修复——只重新加载 TUI 是不够的。这也是重置前需要关闭 OpenCode 的同一个原因。
Sessions 统计的是这台电脑仍然认为还活着的会话。如果比你实际有的多,不用解除配对就能清掉失效的:
活跃的会话、你的配对和密钥都不会被动——它会打印什么。OpenCode 的会话行属于 OpenCode 的服务器,所以要是有一行清不掉,先退出 OpenCode。

状态命令看不到的部分

下面这三件事,你的 Mac 都在好好干活。答案在手机上。
几乎总是本来就该这样:会话是需要你主动开启的。打开那台电脑,找到会话,打开它的开关——或者在设置里打开自动加入新会话。如果开关是开的却还是什么都不显示,检查 iOS“设置”里 Nomo 的实时活动是否已启用。然后看看是不是另一个会话占着灵动岛:你的手机同时只显示一个,而一个正在等你的会话排在一个还在干活的会话前面。
那个会话正在请求权限。一条请求无论开关怎么设都会到达你的灵动岛——否则,一条在你手机揣在兜里时到来的请求,就会变成一条你没法答复的请求,而那正是这个功能存在的全部意义。所以在请求等待期间,开关显示为开启,因为实际发生的就是这件事。**为什么你关不掉:**关掉它也不会有任何效果。请求照样会留在灵动岛上——那是它唯一能找到你的方式——所以开关一秒之后就会在你手指底下弹回去。与其给你一个不听话的控件,Nomo 宁可先把它按住不动,等到能重新听你的时候再说。你选过的东西没有被覆盖。答复这条请求,开关就会立刻回到关闭,也就是你原来放它的位置——如果没人答复,一小时内也会回去。之后它又归你随意设置。
始终允许、**拒绝并附注…和回答…**都需要插件 2.0.0——在手机上答复正是 2.0 加进来的。Nomo 宁可把 Mac 兑现不了的选项藏起来,也不会给你一个按了没用的按钮。状态命令的第一行就写着插件版本,去那里看即可。详情页顶部的 插件有可用更新 横幅说的就是这件事。用你当初安装时的那条命令更新即可。

配对与解密

你的手机收到了读不出来的更新,或者收到了一台它已经没有密钥的电脑的更新。这三种情况的解法都一样:把那台电脑重新配对一次。
你的手机收到了更新,但还没解开。Nomo 每隔几秒重试一次,通常一轮轮询之内就好了。如果一直不好,说明你手机已经没有那台电脑的正确密钥了——那台 Mac 被重新配对过,或者配对被替换了。重新配对一次。
同一件事,只是已经失败了十分钟。与其留下一行看着还活着、其实不是的记录,Nomo 索性把它标记为失效,不再猜测它的内容。它不会驱动灵动岛,也不会被算作进行中。重新配对那台电脑就能恢复。
那份配对被撤销了——你重新配对了那台 Mac,或者在上面运行了 /nomo-cc:unpair。Nomo 会等到连续多次失败之后才相信这件事,所以这绝不会是“Wi-Fi 抖了一分钟”那种误判。轻点移除,或者干脆不管它——大约一分钟后它会自己清掉。想让它回来时,重新配对那台电脑就行。

反馈问题

在设置里打开会话诊断,然后展开那个出问题的会话。它下面会出现一行 Nomo 自己的内部状态,大概长这样:
别费劲去解读它——那是我们的活。把这一行截图发过来,连同你期待的结果和你实际拿到的结果:

提交 issue

可复现的问题最适合走这里。这是公开的,所以别带上任何隐私内容。

邮件

App 里也有,在“设置”>“联系方式”下面。
把出问题那台电脑上 /nomo-cc:status 的输出一并发来会更好——第一行的版本号已经是一半的诊断了。

功能建议

“为什么这件事我不能在手机上做?”常常是个合理的问题,而不是 bug。其中一部分是智能体能交给插件的东西本身就有限,这一点是写下来的:搭配 Codex 使用和搭配 OpenCode 使用讲这两个智能体,在手机上回答讲一张实时活动卡片放得下什么、放不下什么。 其余的就是还没做。

看看路线图

有什么在计划中、有什么正在做。你想要的可能已经在上面了。

提出需求

提一个 issue,或者给我发邮件。告诉我你当时想做什么——这比你已经设计好的那个功能有用得多。

重新开始

在出问题的那台电脑上运行 /nomo-cc:unpair,会移除配对并抹掉它的密钥。然后重新配对。 在手机上移除一台电脑不是一回事:那只会让那台电脑不再出现在你的 App 里,Mac 上的本地状态会一直留着,直到你在那边运行那条命令。