全部智能体 CLI
NeuroSquad 中的 Goose

Goose,外加一整块画布

想开多少张 Goose 卡片都可以,每张都是在自己终端里运行的真实 `goose session`。它的状态钩子告诉 NeuroSquad 每一轮何时开始、何时结束,它自己的确认提示说明它在问什么;箭头为它连接浏览器、终端和笔记;重启后每张卡片都会接着自己的会话继续。

官方网站goose-docs.ai
  • 真正的 goose CLI,用你自己的提供商
  • 从不写入你的 Goose 配置
  • 免费,支持 Windows 10 和 11
状态钩子

它知道 Goose 何时完成——以及何时在提问

Goose 会在消息发给模型时以 `thinking`、在提示返回时以 `waiting` 调用你指定的命令。每张卡片都有自己的那一条。提问没有钩子,所以卡片会读取 Goose 自己的提示。

GOOSE_STATUS_HOOK thinking信号
工作中

Goose 以 thinking 调用卡片的状态钩子。卡片图标开始旋转,“团队状态”卡片把它计为工作中。子智能体在同一轮内运行,不会改变状态。

◆ Tool approval request信号
在等你

在 Goose 的 approve 模式下,工具调用会停在它的 ◆ 提示上。卡片读取该提示,通知显示 Goose needs your permission: shell — rm -rf dist。在 Goose 默认的 auto 模式下,什么都不会问。

GOOSE_STATUS_HOOK waiting信号
已完成

thinking 之后的 waiting:提示已返回。队列中的下一条提示发出,工作日志从 Goose 的 sessions.db 取得回答,通知告诉你已完成。

取消也算完成

在一轮中途按 Ctrl+C 会让 Goose 回到提示,waiting 像往常一样结束这一轮——卡片不会一直卡在“工作中”。

提问也一样

当某个工具通过 Goose 向你提问时,卡片显示 Goose is asking: … 和问题,你回答后便回到工作中。

依据固定的字样

会话 id、确认请求、上下文条和错误都是 Goose 自己打印的固定字样。如果未来的 Goose 改了措辞,卡片会退回到只区分工作中/已完成。

看看实际效果

Goose 在 NeuroSquad 中做的三件事

应用界面的复刻,逐步演示。Goose 提问时,由你来回答。

在 approve 模式下,Goose 修复一个失败的测试,删除文件夹前停在它的确认提示上,然后完成——工作日志自动写好。

它能得到的一切

Goose 在 NeuroSquad 中的全部能力

Claude Code 有的,Goose 几乎都有。以下是全部内容——包括 Goose 工作方式不同的地方,以及两件做不到的事。

  • 01

    清楚自己的状态

    每一轮都由 Goose 的状态钩子和它自己打印的字样报告。

  • “已完成”和“在等你”是两回事

    卡片设置 GOOSE_STATUS_HOOK:消息发给模型时 Goose 以 thinking 调用它,提示返回时以 waiting 调用——每一轮精确的开始与结束。

    文档: “已完成”和“在等你”是两回事
  • 通知说清楚它需要什么

    确认请求不会触发钩子,所以卡片读取 Goose 自己的提示:Goose needs your permission: shell — rm -rf dist,提问时则是 Goose is asking: …。“在等你”的通知会一直保留,直到你回答。

    文档: 通知说清楚它需要什么
  • 取消的一轮干净结束

    在一轮中途按 Ctrl+C 会取消它——“Interrupted, what should goose work on instead?”——卡片将其标为已完成。在空闲提示下,按一次 Ctrl+C 绝不会退出 Goose。

    文档: 取消的一轮干净结束
  • 从上次中断处继续

    Goose 自己选择会话 id,卡片无法指定。卡片从 Goose 的横幅(以及 /new 之后)读取 id,并用 goose session --resume --session-id <id> 继续。

    文档: 从上次中断处继续
  • “团队状态”卡片

    工作区中所有 AI 智能体集中在一张卡片上,模型取自 Goose 自己的账本——第一轮之前则取你配置中的 GOOSE_MODEL。

    文档: “团队状态”卡片
  • 02

    通过画布工作

    从卡片引出的箭头就是一组工具,以 Goose 扩展的形式接入。

  • 箭头就是工具

    指向浏览器、终端、笔记或其他智能体的箭头,为 Goose 提供 browser_*、terminal_*、note_* 或 agent_*——下一次请求就生效,因为工具列表变化时 Goose 会清空其工具缓存。

    文档: 箭头就是工具
  • 卡片模式

    Goose 的 developer 扩展仅限 write、edit、tree 和 read_image——没有 shell——code_execution 和 computercontroller 则一个工具都不给。没有提供的工具就无法被批准回来,即使在 auto 下也一样。

    文档: 卡片模式
  • 来自注册表的 MCP 服务器

    已安装的服务器作为第二个扩展接入。在 approve 模式下,Goose 每次调用前都会询问;在 auto 下它不会问,所以由 NeuroSquad 来问——允许一次、本次会话内允许,或拒绝。

    文档: 来自注册表的 MCP 服务器
  • 无法按卡片预先批准

    Goose 只在你自己的 permission.yaml 中保存工具权限。因此在 approve 模式下,NeuroSquad 自己的工具也像其他工具一样需要确认——“Always Allow”仍由你决定。在 auto 下什么都不会问。

    文档: 无法按卡片预先批准
  • 来自 skills.sh 的技能

    指向技能卡片的箭头为 Goose 提供 skill_load,列出每个技能及其适用时机——与其他箭头一样即时生效。

    文档: 来自 skills.sh 的技能
  • 03

    为长时间运行而生

    上下文、压缩、速率限制和持续记录的工作日志——都在卡片上处理。

  • 上下文指示器

    最近一次请求的提示取自 Goose 的账本,窗口大小取自 Goose 自己的上下文条(15k/128k)。达到 80% 时圆环变为琥珀色。

    文档: 上下文指示器
  • 不停下来确认的“压缩”

    “压缩”会发送 “Please compact this conversation”——Goose 收到这句话会立即压缩。/compact 则会停在 “Are you sure?” 上。

    文档: 不停下来确认的“压缩”
  • 速率限制后自动继续

    Goose 会自行重试 429,然后打印 Ran into this error: …。卡片显示上限;如果提供商给出了重置时间(“resets in 2h 15m”),卡片会倒计时并发送“continue”。

    文档: 速率限制后自动继续
  • 提示队列

    把接下来的消息排好队:每条都在 waiting 表示这一轮结束时发出。主导 Goose 的 agent_send 也以同样方式送达助手 Goose。

    文档: 提示队列
  • 工作日志与交接

    Goose 的最后一条回复从它的 sessions.db 读取:笔记日志、交接给新智能体、agent_wait、自定义卡片和 Telegram 拿到的都是 Goose 的真实回答。

    文档: 工作日志与交接
  • 04

    团队协作

    你的 Goose 配置仍归你所有;每张卡片在其下方加上自己的一层。

  • 一层配置,而不是你的配置

    每张卡片通过 GOOSE_ADDITIONAL_CONFIG_FILES 添加自己的 config.yaml,按键合并在你的值之下。Goose 仍然只写入你自己的文件夹。

    文档: 一层配置,而不是你的配置
  • 隔离的 worktree

    给智能体一个自己的 git worktree,并行的智能体就不会改动同一批文件。恢复的会话仍停留在卡片的文件夹中。

    文档: 隔离的 worktree
  • 添加审查者

    一键在同一个 worktree 中启动另一种 CLI 的智能体,提示它只审查、不做任何修改。Goose 也可以担任这个审查者。

    文档: 添加审查者
  • 危险模式,按卡片开启

    Goose 没有对应的参数,所以处于危险模式的卡片会在你的配置之上以 GOOSE_MODE=auto 运行:工具调用无需询问。默认关闭。

    文档: 危险模式,按卡片开启
  • 指令

    Goose 会自己读取项目中的 AGENTS.md 和 .goosehints,并把 NeuroSquad 的会话指令从扩展放进它的系统提示。

    文档: 指令
  • 05

    费用、控制与访问

    它花了多少、最多能花多少、运行在哪个模型上,以及你如何找到它。

  • 精确的用量与费用

    Goose 在它的 usage_ledger 中每个请求记一行:模型、token 和 Goose 自己计算的费用。缓存 token 只计一次,子智能体的会话会并入启动它们的卡片。

    文档: 精确的用量与费用
  • 预算刹车

    按工作区设上限。超出后,每个 Goose 都会收到 Ctrl+C——这一轮被取消,Goose 继续运行——自动提示停止。提高上限即可解除。

    文档: 预算刹车
  • OpenRouter 模型

    Goose 内置的 openrouter 提供商,通过环境变量为每张卡片设置。Goose 把自己的归属标头写死在代码里,所以 OpenRouter 流量会经过一个本地中继,改为发送 NeuroSquad 的标头。

    文档: OpenRouter 模型
  • 用手机访问

    扫描二维码,整个画布就会在手机浏览器中打开:查看 Goose 的终端,回答它的问题,发送下一条提示。

    文档: 用手机访问
  • 需要自行安装

    Goose 以原生二进制发布,没有 npm 或 winget 包,所以安装向导不会安装它。NeuroSquad 会找到 goose.exe——并跳过同样名为 goose 的无关数据库迁移工具。

    文档: 需要自行安装
一目了然

谁在等你,花了多少

同时运行多个 Goose 智能体时,这两张卡片回答你最常问的问题。

“团队状态”卡片

工作区中每个智能体的状态、模型和本轮用时。在等你的排在最前,并附上 Goose 在问什么。

  • coupon-fixGoosegpt-5Goose needs your permission: shell — rm -rf dist等你处理3:51
  • api-migrationGoosegpt-5把路由迁移到新客户端工作中12:24
  • db-indexesGoosegpt-5-mini添加缺失的索引工作中4:08
  • docs-passGoosegpt-5-mini更新 README已完成6分钟前

用量与费用

从你磁盘上 Goose 自己的账本读取,并按卡片横幅给出的会话对应到卡片。各行之和始终等于合计。

智能体令牌费用
coupon-fix968,402US$1.76
api-migration604,117US$1.09
docs-pass201,936US$0.09
总计1,774,455US$2.94
精确到皮美元,仅在显示时四舍五入。每一行都包含它启动的子智能体会话。
幕后原理

真正的 Goose,外加一层配置

NeuroSquad 启动的就是你自己运行的那个 `goose`,在卡片里的真实终端中运行。Goose 没有设置参数,所以以下大部分内容通过配置文件和环境变量传入:

NeuroSquad 为命令添加的参数
❯ goose
session每次启动交互式会话
--resume --session-id <its session id>之后的启动重启后继续同一段对话
GOOSE_ADDITIONAL_CONFIG_FILES=<this card’s config.yaml>每次启动MCP 扩展和卡片模式限制,合并在你的配置之下
GOOSE_STATUS_HOOK=curl … /hook/%NEUROSQUAD_MCP_TOKEN%/<card>/Goose -d每次启动把一轮的开始和结束报告给这张卡片
NEUROSQUAD_MCP_TOKEN=… NEUROSQUAD_MCP_URL=…每次启动令牌和地址只在环境变量中,磁盘上没有
developer.available_tools: write, edit, tree, read_image卡片模式没有 shell;改用画布上的卡片
GOOSE_MODE=auto危险模式自动批准工具调用

端口变了也没关系

恢复的 Goose 会话会重新连接与它一同保存的扩展,所以扩展地址是一个环境变量引用——重启后卡片依然能连上 NeuroSquad。

你的登录,你的提供商

Goose 使用它已有的提供商和密钥运行。NeuroSquad 账号与它相互独立,也看不到它。

干净退出

关闭窗口时 Goose 会关闭它的会话(“session closed · id”),不留下多余的进程。

常见问题

NeuroSquad 中的 Goose:答疑

给 Goose 一块画布

免费,支持 Windows 10 和 11。你的代码、你的提供商和你的费用都留在你的电脑上。