全部文章
博客版本发布设计性能

手机上的智能体,用为手机设计的网格查看

以前,远程访问只是把桌面应用塞进手机的小屏幕。在 NeuroSquad 0.1.273 中,手机得到一个为拇指设计的智能体网格,电脑浏览器则和桌面版一样拥有画布和网格。

阅读约 6 分钟0.1.273 带来了什么

把手机和 NeuroSquad 配对早就可以了:扫一下二维码,手机就能显示你的工作区、智能体的屏幕和状态,还能发送提示。但它显示的其实是缩小版的桌面应用——一块为鼠标和大显示器设计的画布,放在一只手就能握住的屏幕上。看看智能体的进展没问题,真要和它一起干活就很别扭。

NeuroSquad 0.1.273 改变了这一点。远程访问现在会适配设备:手机或平板会得到为触屏设计的智能体网格,带输入框、状态筛选,以及附带手机键盘所缺按键的全屏终端;电脑浏览器得到与桌面版完全相同的应用,包括画布和网格。危险模式下的智能体现在可以申请 MCP 服务器,你在一个对话框里批准即可。“运行统计”和“智能体脉搏”会显示子代理的消耗。此外,应用写盘更少,大量卡片的启动也更平稳。这是 Windows 版本;Mac 应用暂时停留在 0.1.230,下一次构建时会获得这些更新。

手机上的网格

在手机上打开工作区,它现在会以智能体网格的形式打开:手机上每屏一个,横屏手机或平板上并排两到三个。你在智能体之间滑动浏览。每个格子都是真正的卡片——它的标题栏、状态、菜单,以及可缩放的终端实时镜像。顶部是工作区切换、通知、切换到画布的开关,还有一排带计数的筛选:全部、等待输入、工作中、已完成。当五个智能体在运行、其中一个在等你时,点一下“等待输入”就只剩下它。

两部手机。左边:移动网格中的 acme-web 工作区,带状态筛选和计数,Claude Code 卡片标记为已完成并显示其回答,底部是输入框。右边:Claude Code 卡片全屏显示,带 1 / 4、上一个和下一个箭头,输入框上方是一行按键 Esc、Tab、Shift+Tab、Ctrl+C 和方向键
iPhone 尺寸屏幕上的网格,以及同一个智能体带按键行的全屏视图。这里的模型是按脚本应答的测试服务器。

底部是输入框。点一下智能体把它设为目标,然后输入——这是真正的文本框,所以手机的自动更正和语音键盘都能用,文字会像从桌面卡片发送一样送到智能体。停止会中断本轮,而且按智能体自己的方式中断:有的 CLI 是 Escape,有的是按两次 Escape 或 Ctrl+C,与桌面端用的是同一份列表。当智能体提问时,输入框上方会出现 1 / 2 / 3、Esc 和 Enter,点一下就能回答权限请求。

手机上的移动网格:选中了 Claude Code 卡片,底部输入框里写着“好的,加上 Quick start 部分”,旁边是蓝色的发送按钮
点智能体、输入、发送。左边的小标记显示提示会发给哪个智能体。

有些按键手机键盘上根本没有:Escape、用来切换 CLI 模式的 Tab 和 Shift+Tab、在菜单里选择选项的方向键。把智能体全屏打开,输入框上方就会出现这一排按键,对那些不会因此退出的 CLI 还有 Ctrl+C。视图会贴合屏幕的可见区域,所以输入框始终紧挨在屏幕键盘上方,而不会被它挡住。顶部的箭头——或者滑动——可以切换到下一个智能体。

只有屏幕上的智能体是实时的

手机浏览器,尤其是 iOS 上的,给网页的内存比桌面少得多。实时终端并不便宜:每一个都有自己的屏幕缓冲区和渲染器。一个同时镜像十几个智能体的工作区,正是手机会不打招呼就关掉的那种页面。

所以格子只在出现在屏幕上时才持有实时终端。它在可见片刻之后才挂载——快速划过不会挂载任何东西——并在滚出屏幕后不久释放。被你滑过的智能体会以纯文本保留最后几行输出,连同名称和状态,回到屏幕上时再恢复实时。状态来自桌面端收到的同一批事件,所以即使终端没有挂载,筛选和计数也保持准确。笔记、待办、浏览器和其他卡片以紧凑摘要显示在智能体下方;点一下即可在画布上查看。

手机、平板还是电脑

同一个配对链接现在会自己决定显示哪种布局。它看的是设备能做什么,而不是它叫什么:没有鼠标的触摸屏按尺寸算作手机或平板,带触控板的触屏笔记本算作电脑。只有在能力判断不出来时才参考名称——比如,请求“桌面版网站”的 iPad 会把自己报告成 Mac。如果判断不合你意,顶部的手机或电脑图标可以固定为移动布局、桌面布局或自动,该设备会记住你的选择。

电脑浏览器得到的是原样的桌面应用,现在也有画布 / 网格切换和完整的网格:预设、整理、交换和最大化格子。它的格子是你桌面上运行的终端的实时镜像。手机或浏览器上的网格是该设备自己的设置:在那里切换永远不会改变桌面端的显示,反之亦然。

配对设备并没有因此获得任何新的访问权限。发送提示和按键行向终端输入的方式,与之前手机自带键盘能做的完全一样。“停止”是唯一的新操作,它只会向正在运行的终端发送该智能体惯用的中断按键。

危险模式:一个对话框批准 MCP 服务器

在 0.1.270 中,智能体学会了自行装备插件、技能和 MCP 服务器。有一种情况仍然关闭着:危险模式下的智能体运行工具时不会每次都询问你,所以它不能自己连接 MCP 服务器——它会收到“只有用户才能画这条箭头”,你只能手动去画。

现在这样的智能体可以提出申请,你在一个对话框里回答。对话框写明是哪个智能体、哪个服务器,显示版本、服务器的启动方式和智能体将获得的工具,并提醒每次调用都会在没有确认的情况下执行。允许会像你亲手画了箭头一样连接服务器;拒绝是智能体会收到的明确答复,并且会被记住直到应用重启,同样的请求不会再弹出对话框。如果服务器还没有安装,仍然只有一个对话框:安装并允许。其他所有规则都会在询问你之前先检查——预算是否暂停、智能体不能碰的卡片、卡片模式——所以对话框永远不会提出应用本来就会拒绝的东西。

对话框“在危险模式下允许 E2E Echo?”:Lead 正在危险模式下运行,想要使用 MCP 服务器 E2E Echo——它的工具将在不逐次确认的情况下运行。下方是包名和版本、启动命令 node echo-mcp.mjs、它将获得的一个工具、每次调用都会立即执行的警告,以及“拒绝”和“允许”按钮
一个处于危险模式的 Claude Code 智能体申请了一个测试用 MCP 服务器。在你点击“允许”之前,什么都不会连接。

“运行统计”和“智能体脉搏”能看到子代理

从 0.1.270 起,子代理的请求只计一次,并单独显示占比。现在已验证目录中的两张官方卡片也会显示这部分。“运行统计”1.1 把一次运行拆分为主智能体和子代理——请求、输入、输出、缓存和总 token 数,每部分都有占比条——MD 和 JSON 导出也包含同样的拆分。“智能体脉搏”1.2 把子代理的请求画在智能体下方单独的轨道上,提示中会写出子代理的名称。两者都需要 NeuroSquad 0.1.270 或更高版本;没有子代理的运行看起来和以前一样。

一次 Claude Code 运行的“运行统计”:总计 227,367 个 token,其中 49,168 个来自 2 个子代理;7 次模型请求,其中 2 次来自子代理;下方是“主智能体与子代理”部分,带占比条和两行——主智能体和 2 个子代理——列出请求、输入、输出、缓存读取和总 token 数
带两个子代理的一次运行之后的“运行统计”。卡片界面为英文。

写盘更少,启动更平稳

相当一部分工作花在了看不见的地方。设置、智能体、画布和布局只有在内容真正变化时才写入磁盘,而且是原子写入。终端输出与屏幕刷新同步绘制,而不是每来一块数据就画一次。打开含有大量卡片的工作区时,终端依次启动而不是同时启动。对话框在首次打开时才加载,卡片只在窗口可见时轮询。顺带,Cline、Droid、Kilo Code、Kimi Code 和 Qwen Code 的就绪检测更加可靠,第一条提示会在正确的时机送达;“用量”只读取日志的新增部分,而不再重新扫描。

如何配对手机以及能在手机上做什么,请见远程访问。完整的变更列表在 0.1.273 更新日志中。NeuroSquad 会自动更新;全新安装请从下载页面开始。