guava-router

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese
Before every edit, install or setting change below, show the owner the exact command or change and wait for a yes. Put it in your message text before you ask, never only inside a question or approval card, since some apps don't show what's in the card. Never ask for a yes to a change the owner hasn't seen.
在每次进行下述编辑、安装或设置更改之前,先向所有者展示确切的命令或更改内容,并等待其回复“yes”。 应在询问之前把它写在消息正文中,绝不能只放在问题或审批卡片里,因为某些应用不会显示卡片中的内容。绝不能请求所有者对尚未看到的更改回复“yes”。

Model Router: setup

Model Router:设置

These steps send each kind of work to the model that's best at it, through the Claude plan, ChatGPT plan or both that the owner already pays for: thinking and reviewing to a head-chef, and heavy lifting to a line-cook. With both plans, the head-chef runs in Claude Code and the line-cook in Codex; with one, both run in that plan's tool.
Start with the guava-hub skill. It builds the hub first and sends you here at the right step.
这些步骤会将每类工作交给最适合它的模型,并通过所有者已经付费购买的 Claude 套餐、ChatGPT 套餐或两者来执行:思考和审查工作交给 head-chef,繁重执行工作交给 line-cook。同时拥有两个套餐时,head-chef 在 Claude Code 中运行,line-cook 在 Codex 中运行;只有一个套餐时,两者都在该套餐的工具中运行。
先从 guava-hub skill 开始。它会先构建 hub,并在恰当的步骤将你转到这里。

1. The models

1. 模型

Pick the row for the plans the owner pays for (hub setup asks; otherwise ask):
<!-- models:plans -->
You pay forhead-chefline-cook
Claude and ChatGPT (best)Claude Opus 5.5 (High) via Claude CodeGPT-6.1 Sol (High) via Codex
Claude onlyClaude Opus 5.5 (High) via Claude CodeClaude Sonnet 5.5 (High) via Claude Code
ChatGPT onlyGPT-6 Astra (High) via CodexGPT-6.1 Sol (High) via Codex
<!-- /models --> <!-- models:commands -->
SlotModelToolRun it
head-chefClaude Opus 5.5, effort high (
claude-opus-5-5
)
Claude Code
claude -p --model claude-opus-5-5 --effort high "<task>" < /dev/null
line-cookGPT-6.1 Sol, effort high (
gpt-6.1-sol
)
Codex
codex exec -m gpt-6.1-sol -c model_reasoning_effort=high --skip-git-repo-check "<task>" < /dev/null
head-chef, ChatGPT onlyGPT-6 Astra, effort high (
gpt-6-astra
)
Codex
codex exec -m gpt-6-astra -c model_reasoning_effort=high --skip-git-repo-check "<task>" < /dev/null
line-cook, Claude onlyClaude Sonnet 5.5, effort high (
claude-sonnet-5-5
)
Claude Code
claude -p --model claude-sonnet-5-5 --effort high "<task>" < /dev/null
<!-- /models -->
The picks come from models.yaml, the one place they're kept; don't edit the table by hand, since
scripts/sync-models.py
rewrites it. Add
< /dev/null
so neither CLI waits for input. The owner can pick their own for either slot: any Claude model through Claude Code or any OpenAI model through Codex, on a plan they have, with the same commands and that model's ID and effort, marked "(own pick)" in guava-stack settings so "check for newer models" leaves it alone. Guava supports no other setup yet: if the owner asks for another provider, tool or agent, say it isn't supported.
根据所有者付费购买的套餐选择对应行(hub setup 会询问;否则请询问所有者):
<!-- models:plans -->
你付费购买的套餐head-chefline-cook
Claude 和 ChatGPT(最佳)Claude Opus 5.5 (High),通过 Claude CodeGPT-6.1 Sol (High),通过 Codex
仅 ClaudeClaude Opus 5.5 (High),通过 Claude CodeClaude Sonnet 5.5 (High),通过 Claude Code
仅 ChatGPTGPT-6 Astra (High),通过 CodexGPT-6.1 Sol (High),通过 Codex
<!-- /models --> <!-- models:commands -->
槽位模型工具运行命令
head-chefClaude Opus 5.5,effort high(
claude-opus-5-5
)
Claude Code
claude -p --model claude-opus-5-5 --effort high "<task>" < /dev/null
line-cookGPT-6.1 Sol,effort high(
gpt-6.1-sol
)
Codex
codex exec -m gpt-6.1-sol -c model_reasoning_effort=high --skip-git-repo-check "<task>" < /dev/null
head-chemp,仅 ChatGPTGPT-6 Astra,effort high(
gpt-6-astra
)
Codex
codex exec -m gpt-6-astra -c model_reasoning_effort=high --skip-git-repo-check "<task>" < /dev/null
line-cook,仅 ClaudeClaude Sonnet 5.5,effort high(
claude-sonnet-5-5
)
Claude Code
claude -p --model claude-sonnet-5-5 --effort high "<task>" < /dev/null
<!-- /models -->
这些选择来自 models.yaml,模型集中保存在这里;不要手动编辑表格,因为
scripts/sync-models.py
会重写它。添加
< /dev/null
,使两个 CLI 都不会等待输入。所有者可以为任一槽位自行选择模型:在其拥有的套餐中,通过 Claude Code 使用任意 Claude 模型,或通过 Codex 使用任意 OpenAI 模型;沿用相同命令并使用该模型的 ID 和 effort,同时在 guava-stack settings 中标记为“(own pick)”,这样“check for newer models”就不会改动它。Guava 目前不支持其他配置:如果所有者要求使用其他 provider、tool 或 agent,请说明不支持。

2. Install the command-line tools

2. 安装命令行工具

Only the tools the owner's plans need: Claude Code for a Claude plan, Codex for a ChatGPT plan.
  • Check first, without asking (these only read):
    claude --version
    and
    codex --version
    . Skip the install for any tool that answers with a version, and tell the owner it's already there.
  • Install only what's missing: Claude Code
    npm i -g @anthropic-ai/claude-code
    and Codex
    npm i -g @openai/codex
    .
  • Put the tools on the computer's PATH, so
    claude
    and
    codex
    also work in its desktop terminal if the owner ever signs in there: find their folder with
    dirname "$(command -v claude)"
    (or
    codex
    ), often
    ~/.local/bin
    . If
    ~/.bashrc
    or
    ~/.profile
    doesn't already add that folder, back the file up (see Backups below) and add
    export PATH="<folder>:$PATH"
    at the end. Until a new terminal picks it up, give the owner the full path, such as
    ~/.local/bin/claude auth login
    .
  • Check sign-in:
    claude auth status
    and
    codex login status
    . Skip any that's already signed in; otherwise run the sign-in yourself, on the owner's own subscription, so they only open a link and send you back what it shows:
    • Codex: run
      codex login --device-auth
      in the background, send the owner its link and one-time code, and check
      codex login status
      once they say they've approved it.
    • Claude Code:
      claude auth login
      waits for a code typed into its own terminal, so start it in a tmux session:
      tmux new-session -d -s claude-login 'claude auth login'
      . Read its link with
      tmux capture-pane -p -J -t claude-login
      , send it to the owner, and when they paste the code back to you, type it in with
      tmux send-keys -t claude-login '<code>' Enter
      . Check
      claude auth status
      , then
      tmux kill-session -t claude-login
      . Without tmux, give the owner the command with its full path to run in the computer's desktop terminal instead.
  • Set each slot's model and effort as step 1 shows.
  • On the bot's own computer: run every step here in Grok Bot's or Muse's own terminal, following the bot's adapter file. The owner opens each sign-in link and signs in with their own account, then pastes any code straight back into the bot.
只安装所有者套餐所需的工具:Claude 套餐需要 Claude Code,ChatGPT 套餐需要 Codex。
  • 先直接检查,无需询问(这些命令只读):
    claude --version
    和
    codex --version
    。对于任何返回版本号的工具,跳过安装,并告知所有者该工具已经存在。
  • 仅安装缺失项:Claude Code 使用
    npm i -g @anthropic-ai/claude-code
    ,Codex 使用
    npm i -g @openai/codex
    。
  • 将工具加入计算机的 PATH,使
    claude
    和
    codex
    在所有者日后登录桌面终端时也能运行:使用
    dirname "$(command -v claude)"
    (或
    codex
    )查找其目录,通常是
    ~/.local/bin
    。如果
    ~/.bashrc
    或
    ~/.profile
    尚未添加该目录,先备份文件(见下文的备份),然后在末尾添加
    export PATH="<folder>:$PATH"
    。在新终端加载该设置之前,向所有者提供完整路径,例如
    ~/.local/bin/claude auth login
    。
  • 检查登录状态:
    claude auth status
    和
    codex login status
    。跳过任何已经登录的工具;否则,使用所有者自己的订阅自行执行登录流程,这样所有者只需打开链接并把显示的内容发回给你:
    • Codex:在后台运行
      codex login --device-auth
      ,将链接和一次性代码发给所有者,并在所有者确认已批准后检查
      codex login status
      。
    • Claude Code:
      claude auth login
      会等待在它自己的终端中输入代码,因此在一个 tmux session 中启动它:
      tmux new-session -d -s claude-login 'claude auth login'
      。使用
      tmux capture-pane -p -J -t claude-login
      读取链接并发送给所有者;当所有者将代码粘贴回来时,使用
      tmux send-keys -t claude-login '<code>' Enter
      输入。检查
      claude auth status
      ,然后运行
      tmux kill-session -t claude-login
      。如果没有 tmux,则向所有者提供带完整路径的命令,让其在电脑的桌面终端中运行。
  • 按步骤 1 所示,为每个槽位设置模型和 effort。
  • 在 bot 自己的计算机上: 在 Grok Bot 或 Muse 自己的终端中执行这里的每个步骤,并遵循 bot 的 adapter file。所有者打开每个登录链接,使用自己的账户登录,然后将任何代码直接粘贴回 bot。

3. Connect them to Notion

3. 连接到 Notion

For each tool step 2 set up, check what's already connected first (
claude mcp list
,
codex mcp list
) and skip anything that already shows Notion.
  • Claude Code: run
    claude mcp add --transport http --scope user notion https://mcp.notion.com/mcp
    , then have the owner type
    /mcp
    in Claude Code and approve Notion's sign-in page.
  • Codex: run
    codex mcp add notion --url https://mcp.notion.com/mcp
    , then
    codex mcp login notion
    and have the owner approve Notion's sign-in page.
Test each tool with a quick non-interactive run that reads the context page from the hub, for example
claude -p "..." < /dev/null
and
codex exec --skip-git-repo-check "..." < /dev/null
.
The bot loads the hub and puts what each job needs into the tool's prompt (the hand-off rule in step 5), so neither
~/.claude/CLAUDE.md
nor
~/.codex/AGENTS.md
needs a Guava line.
<!-- guava-block: keep this paragraph the same in the guava-hub and guava-router skills -->
Backups: whenever a step says to back up a file, copy it to
<file>.bak-<local date and time>
, such as
settings.json.bak-2026-10-15-2122
. The first time Guava changes a file, also copy it to
<file>.pre-guava
, or create that copy empty if the file doesn't exist yet, and never overwrite it: uninstalling puts the file back from it. Entries the plugin commands wrote before it, such as
enabledPlugins
, can already be in it; the uninstall commands remove those themselves.
<!-- /guava-block -->
对于步骤 2 中设置的每个工具,先检查已经连接的内容(
claude mcp list
、
codex mcp list
),并跳过任何已经显示 Notion 的项。
  • Claude Code:运行
    claude mcp add --transport http --scope user notion https://mcp.notion.com/mcp
    ,然后让所有者在 Claude Code 中输入
    /mcp
    并批准 Notion 的登录页面。
  • Codex:运行
    codex mcp add notion --url https://mcp.notion.com/mcp
    ,然后运行
    codex mcp login notion
    ,并让所有者批准 Notion 的登录页面。
使用一次快速、非交互式运行测试每个工具,使其读取 hub 中的上下文页面,例如
claude -p "..." < /dev/null
和
codex exec --skip-git-repo-check "..." < /dev/null
。
bot 会加载 hub,并将每项任务所需的内容放入工具的 prompt(步骤 5 中的移交规则),因此
~/.claude/CLAUDE.md
和
~/.codex/AGENTS.md
都不需要添加 Guava 配置行。
<!-- guava-block: keep this paragraph the same in the guava-hub and guava-router skills -->
备份: 每当某一步要求备份文件时,将其复制为
<file>.bak-<local date and time>
,例如
settings.json.bak-2026-10-15-2122
。Guava 首次更改某个文件时,还要将其复制为
<file>.pre-guava
;如果该文件尚不存在,则创建一个空副本。切勿覆盖该副本:卸载时会据此恢复文件。插件命令在 Guava 改动前写入的条目(例如
enabledPlugins
)可能已经存在于其中;卸载命令会自行移除这些条目。
<!-- /guava-block -->

4. Let the tools read the hub

4. 让工具读取 hub

The bot runs Claude Code and Codex with nobody at the keyboard, and Claude Code then skips any tool that needs approval, so it can't read the hub. Pre-approve Notion's read-only tools, as part of the plan the owner says yes to:
  • Back up
    ~/.claude/settings.json
    first (see Backups above).
  • Under
    permissions.allow
    , add only
    notion-get-enabled-skills
    ,
    notion-fetch
    ,
    notion-search
    and
    notion-download-skill
    , with the exact prefix
    claude mcp list
    shows (for example
    mcp__claude_ai_Notion__notion-fetch
    ). Never pre-approve write or delete tools.
  • If Codex's test run in step 3 couldn't read the hub, approve the same four tools for Codex.
  • Test it with a non-interactive run that reads the context page.
机器人在无人操作键盘的情况下运行 Claude Code 和 Codex,而 Claude Code 会跳过任何需要审批的工具,因此无法读取 hub。将 Notion 的只读工具预先批准,作为所有者同意该方案的一部分:
  • 首先备份
    ~/.claude/settings.json
    (见上文的备份)。
  • 在
    permissions.allow
    下,仅添加
    notion-get-enabled-skills
    、
    notion-fetch
    、
    notion-search
    和
    notion-download-skill
    ,并使用
    claude mcp list
    显示的确切前缀(例如
    mcp__claude_ai_Notion__notion-fetch
    )。绝不要预先批准写入或删除工具。
  • 如果步骤 3 中 Codex 的测试运行无法读取 hub,也为 Codex 批准同样的四个工具。
  • 使用一次读取上下文页面的非交互式运行进行测试。

5. Model routing

5. 模型路由

  • head-chef: orchestration, research, planning, brainstorming, copywriting, validation, review, verification, fuzzy and hard problems. For important work, it also checks the line-cook's result before anything is called done.
  • line-cook: bulk execution, coding, sub-agent tasks, worker threads, long-running jobs.
  • Browser and desktop tasks: keep using the assistant's own computer tools.
  • Hand-off rule: if a tool can't reach the hub, the head-chef (or you) loads what the job needs from the hub and puts it in that tool's prompt.
  • If either fails: do the task yourself and say so.
  • If you are the head-chef or the line-cook (say, Claude Code on the head-chef's model), do that slot's work yourself and send only the other slot's work out. On one plan, the other slot's work goes to the same tool on the other slot's model.
  • Grok Bot and Muse: run Claude Code, Codex or both on their own computers and hand each job to the CLI its slot names.
  • Long jobs on Grok Bot: any hand-off that may take more than a few minutes runs in the background, as Long jobs below says.
  • Skills with their own setup come first: when a skill defines how it runs (its own engine, scripts, models or setup), follow it as designed and use this routing only for work it leaves open. Never change a skill's own setup to fit the routing.
Save these routing rules as a standing instruction if hub setup hasn't already, pointing at the head-chef and line-cook in guava-stack settings instead of naming models, so the owner can swap a model by editing guava-stack settings. On Grok Bot, save them to shared user memory too, so every current and future bot follows them.
  • head-chef:编排、研究、规划、头脑风暴、文案写作、验证、审查、核实,以及模糊和棘手的问题。对于重要工作,它还会在宣布完成前检查 line-cook 的结果。
  • line-cook:批量执行、编码、sub-agent 任务、worker thread 和长时间运行的任务。
  • 浏览器和桌面任务:继续使用助手自身的计算机工具。
  • 移交规则:如果某个工具无法访问 hub,则由 head-chef(或你)从 hub 加载任务所需的内容,并将其放入该工具的 prompt。
  • 如果任一模型失败:由你亲自完成该任务并说明情况。
  • 如果你是 head-chef 或 line-cook(例如,在 head-chef 的模型上使用 Claude Code),则亲自完成该槽位的工作,只把另一槽位的工作发送出去。只有一个套餐时,另一槽位的工作也交给同一个工具,但使用另一槽位的模型。
  • Grok Bot 和 Muse:在自己的计算机上运行 Claude Code、Codex 或两者,并将每项任务交给其槽位指定的 CLI。
  • Grok Bot 上的长任务:任何可能耗时超过几分钟的移交都按下文长任务的说明在后台运行。
  • 自带 setup 的 skill 优先:当某个 skill 定义了其运行方式(自有 engine、scripts、models 或 setup)时,按其设计执行,并且只将路由用于该 skill 留下的工作。绝不能为了适配路由而更改 skill 自身的 setup。
如果 hub setup 尚未保存这些路由规则,就将其保存为常驻指令;在 guava-stack settings 中指向 head-chef 和 line-cook,而不是写死模型名称,以便所有者只需编辑 guava-stack settings 即可更换模型。在 Grok Bot 上,也将其保存到共享用户记忆中,让当前及未来的每个 bot 都遵循这些规则。

Long jobs

长任务

On Grok Bot, one command can wait at most 13 minutes, and the computer pauses between the bot's turns, so a CLI still running when the turn ends stops until the next one. For any hand-off that may take more than a few minutes:
  1. Start it in the background, with its answer and log under
    /workspace/guava-runs/
    (
    /workspace
    survives a computer recovery). Pick a short job name, and for Claude Code a new session ID (
    cat /proc/sys/kernel/random/uuid
    ):
    • Codex:
      mkdir -p /workspace/guava-runs && nohup codex exec -m <id> -c model_reasoning_effort=<effort> --skip-git-repo-check -o /workspace/guava-runs/<job>.md "<task>" < /dev/null > /workspace/guava-runs/<job>.log 2>&1 &
    • Claude Code:
      mkdir -p /workspace/guava-runs && nohup claude -p --model <id> --effort <effort> --session-id <uuid> "<task>" < /dev/null > /workspace/guava-runs/<job>.md 2> /workspace/guava-runs/<job>.log &
  2. Stay in your turn until it finishes. Check every few minutes with short commands, such as
    sleep 240; tail -n 20 /workspace/guava-runs/<job>.log
    , each well under the command limit. Tell the owner it's still running, but never end your turn while a job runs.
  3. If it stopped without an answer, resume it instead of starting over, in the background the same way: Codex
    codex exec resume <session id> -o /workspace/guava-runs/<job>.md "Continue where you left off." < /dev/null
    , with the session ID from the top of
    <job>.log
    ; Claude Code
    claude -p --resume <uuid> "Continue where you left off." < /dev/null
    . If it fails again, do the task yourself and say so.
  4. Split big jobs. The head-chef breaks work that could run for hours into steps the line-cook can finish one at a time, and checks each before the next starts.
在 Grok Bot 上,一条命令最多只能等待 13 分钟,且 bot 各轮次之间计算机会暂停,因此轮次结束时仍在运行的 CLI 会暂停,直到下一轮。对于任何可能耗时超过几分钟的移交:
  1. 在后台启动它,并将答案和日志放在
    /workspace/guava-runs/
    下(
    /workspace
    可在计算机恢复后保留)。选择简短 job name;对于 Claude Code,还要生成新的 session ID(
    cat /proc/sys/kernel/random/uuid
    ):
    • Codex:
      mkdir -p /workspace/guava-runs && nohup codex exec -m <id> -c model_reasoning_effort=<effort> --skip-git-repo-check -o /workspace/guava-runs/<job>.md "<task>" < /dev/null > /workspace/guava-runs/<job>.log 2>&1 &
    • Claude Code:
      mkdir -p /workspace/guava-runs && nohup claude -p --model <id> --effort <effort> --session-id <uuid> "<task>" < /dev/null > /workspace/guava-runs/<job>.md 2> /workspace/guava-runs/<job>.log &
  2. 保持在当前轮次,直到任务完成。 每隔几分钟使用简短命令检查,例如
    sleep 240; tail -n 20 /workspace/guava-runs/<job>.log
    ,每个命令都应远低于命令时限。告知所有者任务仍在运行,但在任务运行期间绝不能结束当前轮次。
  3. 如果任务停止且没有答案,应恢复任务,而不是从头重新开始,并在后台以相同方式恢复:Codex 使用
    codex exec resume <session id> -o /workspace/guava-runs/<job>.md "Continue where you left off." < /dev/null
    ,其中 session ID 位于
    <job>.log
    顶部;Claude Code 使用
    claude -p --resume <uuid> "Continue where you left off." < /dev/null
    。如果再次失败,则由你亲自完成该任务并说明情况。
  4. 拆分大型任务。 head-chef 将可能运行数小时的工作拆分为 line-cook 可以逐项完成的步骤,并在下一步开始前检查每一步的结果。

6. Stay inside each provider's terms

6. 遵守各 provider 的条款

For Claude Code on a Claude plan:
  • Use the official Claude Code CLI with your own login only.
  • Never share tokens or route other people's requests through your plan.
  • Keep Claude work tied to tasks you start. No unattended loops or 24/7 jobs on the plan; send those to the line-cook in Codex, or on Claude only, to an Anthropic API key.
  • Stop when you hit usage limits.
  • Never use outputs to train competing models.
  • For heavy or always-on Claude automation, use an Anthropic API key.
For Codex, follow OpenAI's current terms for the owner's plan.
对于使用 Claude 套餐的 Claude Code:
  • 仅使用官方 Claude Code CLI 和自己的登录账户。
  • 绝不共享 token,也不要通过自己的套餐路由其他人的请求。
  • 仅将 Claude 工作用于你启动的任务。不得在套餐上运行无人值守循环或 24/7 任务;应将此类任务交给 Codex 中的 line-cook,如果只有 Claude 套餐,则交给 Anthropic API key。
  • 达到使用限额时立即停止。
  • 绝不使用输出训练竞争模型。
  • 对于繁重或需要始终运行的 Claude 自动化任务,使用 Anthropic API key。
对于 Codex,遵循 OpenAI 针对所有者套餐的当前条款。

7. Final checks

7. 最终检查

  • Check the current terms for each provider the owner uses.
  • Test each slot with a quick prompt and tell the owner which model actually answered. Don't call setup done until both slots pass.
  • Running this as part of hub setup? Go back to the hub setup skill's founder-mode step.
  • 检查所有者使用的每个 provider 的当前条款。
  • 使用简短 prompt 测试每个槽位,并告知所有者实际回答的是哪个模型。两个槽位都通过前,不要称设置已完成。
  • 如果这是作为 hub setup 的一部分运行的,请返回 hub setup skill 的 founder-mode 步骤。

Changing the setup later

后续更改设置

To swap models, or apply a hand-edited guava-stack settings section, follow Change your setup in the guava-hub skill. "Check for newer models" goes there too.
要更换模型,或应用手动编辑过的 guava-stack settings 部分,请遵循 guava-hub skill 中的 Change your setup。“check for newer models”也转到那里处理。

Update

更新

Use this when the owner says "update guava-router", or when the guava-hub skill's Update step sends you here. Show the whole plan first, in your message text, as one numbered list (each command, and each change as old, then new); the owner can approve it with one yes or pick numbers. Then apply it in order.
  1. Get the newest files (skip this when the guava-hub Update step already did it):
<!-- update-steps: keep this list the same in the guava-hub, guava-router and founder-mode skills -->
Only for the Guava plugins the owner has (for "update guava-router", just guava-router):
  • Claude Code:
    claude plugin marketplace update guava
    , then
    claude plugin update <plugin>@guava
    for each plugin. Updates apply in a new session.
  • Codex:
    codex plugin marketplace upgrade guava
    , then
    codex plugin add <plugin>@guava
    for each plugin. Updates apply in a new chat.
  • Grok Bot:
    npx skills update -g -y
    .
  • Muse: no skill files, so nothing to download.
<!-- /update-steps -->
  1. Check for newer models: follow Change your setup in the guava-hub skill with "check for newer models".
  2. Check the routing still runs: each tool the owner's plans need is installed and signed in on the bot's computer (step 2 of setup, checking first).
  3. Test each slot with a quick prompt, as in step 7, and confirm in two or three lines: guava-router's version before and after, any model change, and anything left for the owner.
当所有者说 “update guava-router”,或 guava-hub skill 的 Update 步骤将你转到这里时,使用本节。首先在消息正文中展示完整计划,格式为一个编号列表(每条命令以及每项更改都按旧值、再新值列出);所有者可以用一次“yes”批准全部内容,也可以选择要执行的编号。然后按顺序执行。
  1. 获取最新文件(如果 guava-hub 的 Update 步骤已经完成,则跳过):
<!-- update-steps: keep this list the same in the guava-hub, guava-router and founder-mode skills -->
仅处理所有者已安装的 Guava plugin(对于“update guava-router”,只处理 guava-router):
  • Claude Code:
    claude plugin marketplace update guava
    ,然后对每个 plugin 运行
    claude plugin update <plugin>@guava
    。更新在新 session 中生效。
  • Codex:
    codex plugin marketplace upgrade guava
    ,然后对每个 plugin 运行
    codex plugin add <plugin>@guava
    。更新在新 chat 中生效。
  • Grok Bot:
    npx skills update -g -y
    。
  • Muse: 没有 skill 文件,因此无需下载。
<!-- /update-steps -->
  1. 检查是否有更新的模型: 按照 guava-hub skill 中的 Change your setup,选择“check for newer models”。
  2. 检查路由是否仍可运行: 所有者套餐所需的每个工具都应安装在 bot 的计算机上并完成登录(按 setup 的步骤 2 执行,并先检查)。
  3. 测试每个槽位,方法与步骤 7 相同,并用两到三行确认:guava-router 更新前后的版本、任何模型变化,以及仍需所有者处理的事项。

Uninstall

卸载

Use this when the owner says "uninstall guava-router", or when the guava-hub skill's Uninstall step sends you here. It stops the routing and puts back what router setup changed. Show the whole plan first, in your message text, as one numbered list (each command, each file change as old, then new, and each app step); the owner can approve it with one yes or pick numbers. Then apply it in order.
<!-- guava-restore: keep this paragraph the same in the guava-hub and guava-router skills -->
Putting files back (
~/.claude/settings.json
and
~/.codex/config.toml
):
<file>.pre-guava
next to each file shows how it was before Guava (see Backups in setup step 1 of the guava-hub skill). Run the plugin commands first, since they rewrite these files and remove their own entries. Then, for only the settings the Uninstall step lists, put each one back to its value in the
.pre-guava
copy, or remove it if that copy doesn't have it; if the owner has changed it since Guava set it, ask instead. Drop any section left empty that the copy doesn't have, such as an empty
enabledPlugins
. Never copy a backup over the file, since that would undo every change the owner made since, and never change anything else. With no
.pre-guava
copy, remove only what Guava added and ask about any value it may have replaced. Leave the
.pre-guava
and
.bak-
copies where they are and list them in the wrap-up, so the owner can delete them once they're happy.
<!-- /guava-restore -->
  1. Remove the plugin (skip this when the guava-hub Uninstall step already did it). When uninstalling guava-router on its own, first check what's there without asking, as step 1 of the guava-hub Uninstall step says:
<!-- uninstall-steps: keep this list the same in the guava-hub, guava-router and founder-mode skills -->
Only for the Guava plugins the owner has (for "uninstall guava-router", just guava-router; for "uninstall guava-stack", every one installed):
  • Claude Code:
    claude plugin uninstall <plugin>@guava
    for each plugin. Once no Guava plugin is left,
    claude plugin marketplace remove guava
    , then delete
    ~/.claude/plugins/cache/guava
    if it's still there (if your safety check won't let you delete a folder in these steps, move it into
    ~/guava-uninstalled/
    instead and list it in the wrap-up). It applies in a new session.
  • Codex:
    codex plugin remove <plugin>@guava
    for each plugin. Once no Guava plugin is left,
    codex plugin marketplace remove guava
    , then delete
    ~/.codex/plugins/cache/guava
    if it's still there, and each
    ~/.codex/.tmp/marketplaces/.staging/marketplace-upgrade-*
    folder holding a copy of guava-stack, which marketplace upgrades leave behind. It applies in a new chat.
  • Grok Bot:
    npx skills remove -g -s <plugin> -y
    for each skill, and check with
    npx skills list -g
    .
  • Muse: no skill files, so nothing to delete.
<!-- /uninstall-steps -->
  1. Put the computer back, following Putting files back above:
    • ~/.claude/settings.json
      :
      model
      , if router setup set it. Say which model new sessions will use instead. The hub's read-only tools under
      permissions.allow
      stay while the hub does: guava-hub's Uninstall step removes them.
    • ~/.codex/config.toml
      :
      model
      , if router setup set it, saying which model new chats will use instead.
  2. Take routing out of Grok Bot and Muse: on Grok Bot, delete the routing memories, shared user memory included; on Muse, delete the routing line at the end of SOUL.md. Show the exact text to delete and wait for done.
  3. Turn routing off in the hub (skip this when uninstalling the whole stack, since the hub then stays as it is): in guava-stack settings, remove the guava-router heading, with the head-chef and line-cook lines, their model lines and sub-bullets and, in Notion, its images. With no head-chef or line-cook named, the guava-hub start-up hook and the standing instructions do the work in one place, with no hand-offs. Add a dated line to the hub's changelog page.
  4. Offer the rest as their own numbered items, left out of a plain yes, since they're the owner's own tools and other work may use them: the Notion MCP servers router setup added (
    claude mcp remove notion -s user
    ,
    codex mcp remove notion
    ), and the CLIs it installed, with their sign-ins (
    codex logout
    and
    npm rm -g @openai/codex
    ;
    claude auth logout
    and
    npm rm -g @anthropic-ai/claude-code
    ), together with the
    export PATH
    line router setup added to
    ~/.bashrc
    and
    ~/.profile
    . Never remove the tool this is running in.
  5. Check and wrap up:
    claude plugin list
    and
    codex plugin list
    (or
    npx skills list -g
    ) no longer show guava-router, and nothing from step 2 is left in those files. With the hub kept (not for the whole stack), run
    claude -p --permission-mode plan "Which head-chef and line-cook are in my guava-stack settings?" < /dev/null
    : it should find none. Confirm in two or three lines what was removed and what stayed, with the backups' paths.
当所有者说 “uninstall guava-router”,或 guava-hub skill 的 Uninstall 步骤将你转到这里时,使用本节。停止路由,并恢复 router setup 更改的内容。首先在消息正文中展示完整计划,格式为一个编号列表(每条命令、每项文件更改都按旧值、再新值列出,以及每个应用步骤);所有者可以用一次“yes”批准全部内容,也可以选择要执行的编号。然后按顺序执行。
<!-- guava-restore: keep this paragraph the same in the guava-hub and guava-router skills -->
恢复文件(
~/.claude/settings.json
和
~/.codex/config.toml
):紧邻每个文件的
<file>.pre-guava
显示 Guava 更改前的内容(见 guava-hub skill 的 setup 步骤 1 中的备份)。先运行插件命令,因为这些命令会重写文件并移除自身条目。然后,仅针对 Uninstall 步骤列出的设置,将每一项恢复为
.pre-guava
副本中的值;如果该副本没有此项,则将其删除;如果所有者自 Guava 设置后修改过该项,则先询问所有者。删除副本中不存在的空章节,例如空的
enabledPlugins
。绝不要将备份直接覆盖到文件上,否则会撤销所有者此后做出的所有更改,并且绝不要更改其他任何内容。如果没有
.pre-guava
副本,仅移除 Guava 添加的内容;对于 Guava 可能替换过的任何值,都要询问所有者。保留
.pre-guava
和
.bak-
副本,并在收尾说明中列出路径,以便所有者满意后自行删除。
<!-- /guava-restore -->
  1. 移除 plugin(如果 guava-hub 的 Uninstall 步骤已经完成,则跳过)。单独卸载 guava-router 时,先按照 guava-hub Uninstall 步骤 1 的说明,在无需询问的情况下检查现有内容:
<!-- uninstall-steps: keep this list the same in the guava-hub, guava-router and founder-mode skills -->
仅处理所有者已安装的 Guava plugin(对于“uninstall guava-router”,只处理 guava-router;对于“uninstall guava-stack”,则处理所有已安装项):
  • Claude Code: 对每个 plugin 运行
    claude plugin uninstall <plugin>@guava
    。所有 Guava plugin 均已移除后,运行
    claude plugin marketplace remove guava
    ,然后删除仍然存在的
    ~/.claude/plugins/cache/guava
    (如果安全检查不允许在这些步骤中删除文件夹,则改为将其移入
    ~/guava-uninstalled/
    ,并在收尾说明中列出)。更改在新 session 中生效。
  • Codex: 对每个 plugin 运行
    codex plugin remove <plugin>@guava
    。所有 Guava plugin 均已移除后,运行
    codex plugin marketplace remove guava
    ,然后删除仍然存在的
    ~/.codex/plugins/cache/guava
    ,以及每个包含 guava-stack 副本的
    ~/.codex/.tmp/marketplaces/.staging/marketplace-upgrade-*
    文件夹,这些文件夹由 marketplace upgrade 留下。更改在新 chat 中生效。
  • Grok Bot: 对每个 skill 运行
    npx skills remove -g -s <plugin> -y
    ,并使用
    npx skills list -g
    检查。
  • Muse: 没有 skill 文件,因此无需删除。
<!-- /uninstall-steps -->
  1. 恢复计算机设置,按照上文的恢复文件执行:
    • ~/.claude/settings.json
      :如果 router setup 设置了
      model
      ,则恢复它,并说明新 session 将改用哪个模型。只要 hub 仍保留,
      permissions.allow
      下的 hub 只读工具就继续保留;guava-hub 的 Uninstall 步骤会将其移除。
    • ~/.codex/config.toml
      :如果 router setup 设置了
      model
      ,则恢复它,并说明新 chat 将改用哪个模型。
  2. 从 Grok Bot 和 Muse 中移除路由: 在 Grok Bot 上删除 routing memories,包括共享用户记忆;在 Muse 上删除 SOUL.md 末尾的 routing 行。展示要删除的确切文本,并等待完成。
  3. 在 hub 中关闭路由(卸载整个 stack 时跳过,因为 hub 会保持原样):在 guava-stack settings 中删除 guava-router 标题,以及 head-chef 和 line-cook 行、它们的模型行和子项,并删除 Notion 中与其对应的图片。当不再指定 head-chef 或 line-cook 时,guava-hub 的启动 hook 和常驻指令会在一个位置完成工作,不再进行移交。向 hub 的 changelog page 添加一行带日期的记录。
  4. 将其余内容作为单独的编号项提供,且不包含在一次普通“yes”中,因为它们属于所有者自己的工具,其他工作可能会使用:router setup 添加的 Notion MCP servers(
    claude mcp remove notion -s user
    、
    codex mcp remove notion
    ),以及它安装的 CLI 和相关登录(
    codex logout
    和
    npm rm -g @openai/codex
    ;
    claude auth logout
    和
    npm rm -g @anthropic-ai/claude-code
    ),连同 router setup 添加到
    ~/.bashrc
    和
    ~/.profile
    的
    export PATH
    行。绝不要移除当前运行所在的工具。
  5. 检查并收尾:
    claude plugin list
    和
    codex plugin list
    (或
    npx skills list -g
    )不再显示 guava-router,步骤 2 中对这些文件所做的更改也没有残留。如果保留 hub(而非卸载整个 stack),运行
    claude -p --permission-mode plan "Which head-chef and line-cook are in my guava-stack settings?" < /dev/null
    ,其结果应为空。用两到三行确认移除了什么、保留了什么,并附上备份路径。