nsq 0.2.0:自动更新、随时随地用手机访问、运行在你自己的模型上
这个版本有三件事:nsq 会自己保持最新,并且只在没有智能体会丢失任何东西时才切换;--online 让手机页面走出你的 Wi-Fi;nsq provider add 让智能体运行在你自己的模型服务器上。
nsq 0.2.0 发布了——它是 NeuroSquad 的开源终端版本。第一个版本解决的是“哪个智能体在等你”。这一版关注的是一天里的其他时间:nsq 现在会自己保持最新;你不在家时,手机也能访问你的智能体;智能体还可以运行在你自己的模型服务器上,而不是云端登录。
npm i -g neurosquad@latest # 从 0.1.x 手动升级一次;之后 nsq 会自己更新
nsq phone on --online # 在任何地方打开手机页面(实验性)
nsq provider add lmstudio --url http://localhost:1234
nsq run claude --provider lmstudio --model qwen/qwen3-coder-30b自动更新——在回合之间
智能体的终端由守护进程管理,所以重启守护进程就会结束它们的进程。因此这里的更新不能只是“下载然后重启”。nsq 把它分成三步。
- 检查。 守护进程每六小时向 npm 仓库查询一次
neurosquad包——只请求一次它的公开元数据,并带 ETag。不会发送任何关于你或你电脑的信息:没有 id、没有令牌、没有使用数据。 - 安装。 新版本会在后台按你安装 nsq 的方式安装:npm 装到同一目录、Homebrew 或 Scoop。如果用的是 npx、pnpm、yarn 或其他方式,nsq 只显示要运行的命令。它从不使用 sudo;npm 目录不可写时,它会如实说明并给出命令。Homebrew 只升级 nsq,不过当 formula 需要更新的
node时,Homebrew 可能会一并升级node。 - 切换。 只有在不会丢失任何东西时,守护进程才会重启到新版本:没有智能体在工作、在等你或有排队的提示词;每个运行中的智能体都能恢复自己的会话;没有打开的仪表盘或手机页面;并且五分钟内没有人向智能体输入过内容。重启等同于
nsq down+nsq up,所以智能体会回到各自的会话。
切换之前,nsq 会先启动一次新版本并询问它的版本号。如果失败,旧的守护进程和所有智能体继续运行,仪表盘会说明原因。一个有问题的版本只会让你在标题栏里多看到一行字,而不会让你失去智能体。
在仪表盘里,标题栏会显示当前进展——update 0.2.0 → x.y.z、installing…、updated to x.y.z · U restart——按 U 会先等忙碌的智能体完成,然后立即切换。nsq update 手动安装,nsq update --check 只检查。nsq config set autoUpdate notify 只提示、从不安装,nsq config set autoUpdate false(或 NSQ_NO_UPDATE=1)停止检查;在 CI 中或从源码运行时,nsq 从不检查。
不在家时也能用手机
此前,手机页面只能在同一个 Wi-Fi 下使用。nsq phone on --online 通过 Cloudflare 快速隧道让它在任何地方都能访问:无需账号,不用在路由器上开端口,使用真正的 HTTPS。nsq 会打印一条警告、带配对令牌的链接及其二维码。
任何拿到这个链接的人都能控制你的智能体,所以每次上线都是有意为之的一步,而且很难被忽略:
- 它从不会自行开启。快速隧道每次启动都会得到新地址,重启后也不会自动恢复——手机需要重新配对。
- 通过隧道时,普通
http://请求会被拒绝;同一地址连续 5 次使用错误令牌会被封锁 15 分钟。 - 仪表盘会显示红色的 ONLINE 标记,从互联网连入的手机会标注为
(internet),按 O(或nsq phone off)即可再次关闭在线访问。 --expire 12h让手机在十二小时后重新配对。有 Cloudflare 账号的话,命名隧道可以在你自己的域名上保持一个固定地址;其令牌保存在系统密钥库中。cloudflared优先使用你PATH中的版本,否则 nsq 会把 Cloudflare 的官方发布版下载到自己的文件夹,并用公布的 sha256 摘要核对——不会在系统范围内安装任何东西。
手机能做的事没有变:查看智能体及其屏幕、回答权限请求、发送提示词、中断。它仍然不能启动智能体、发送任意按键或读取文件。手机访问仍是实验性功能,默认关闭。
让智能体运行在你自己的模型服务器上
除了 OpenRouter,智能体现在还可以运行在你自己运行的服务器上:llama.cpp、Ollama、LM Studio、vLLM、SGLang、Unsloth Studio,或任何支持 OpenAI API 或 Anthropic Messages API 的远程 API。按智能体单独设置,不改动 CLI 自己的配置和登录。
nsq provider add ollama --url http://localhost:11434
nsq run codex --provider ollama --model qwen3-coder:30b
nsq set api-fix --provider none --model none # 回到 CLI 自己的登录- 不需要选择 API。
nsq provider add会先测试服务器:列出模型并找出它有哪些端点。有 Anthropic Messages 的服务器会提供给 Claude Code,有 Responses 的提供给 Codex,有 chat completions 或 Messages 的提供给 OpenCode。服务器只有 chat completions 时,Codex 会经过一个小型本地网关,由它来转换请求。 - 上下文窗口会传递下去。 当服务器的模型列表说明了它为模型提供多大的上下文时,每个 CLI 都会得知,于是长会话会在服务器窗口用满之前压缩,而不是直接失败。
- 密钥不会外露。 密钥是可选的,输入时不回显或通过 stdin 传入——绝不作为命令行参数——保存在系统密钥库中,只交给智能体的环境。普通
http://只允许用于本机和局域网,并且从不跟随重定向。 - 不会悄悄回退。 如果服务器不在了,智能体就不会启动,而不是退回到 CLI 的云端登录。
- 不编造价格。 nsq 无法知道你的服务器怎么收费,所以它的请求在
nsq cost中显示为“无价格”,而不是 $0。
在仪表盘中,P 打开服务商界面,新建智能体表单(c)里多了服务商选项,m 会列出智能体所在服务器的模型。指南里有一张本地服务器表,列出每个服务器提供哪种 API。
自 0.1.0 以来的其他改进
- 通过 ntfy 推送到手机(0.1.1):
nsq phone push ntfy会把“需要你”连同智能体的问题推送到 ntfy 应用,可以用公共的 ntfy.sh 服务器,也可以用你自己的。 - 修复了 OpenRouter 模型选择(0.1.2):用 m 选择模型时,智能体现在会切换到 OpenRouter,并在空闲后以同一会话重启,对话得以保留。
如何获取
如果你在用 0.1.x,请手动升级一次:npm i -g neurosquad@latest、brew upgrade glmn-ai/neurosquad/neurosquad-cli 或 scoop update neurosquad-cli,然后运行 nsq down 和 nsq up——智能体会继续各自的会话。从 0.2.0 起,nsq 会自己处理更新。第一次使用?npx neurosquad 无需安装即可试用。其余内容见 nsq 指南和它的页面;代码以 MIT 许可证发布在 glmn-ai/neurosquad-cli。
