zovo.imzovo.im
首页›教程›正文

Grok Bot 长期使用避坑:备份云电脑、多 Bot 分目录、核对定时任务,再用 Pi 分流省额度

zovo约 17 分钟读完
把 Grok Bot 当长期助理用,要提前做好五件事:重要文件每天推到私有 GitHub 仓库,多个 Bot 按目录和权限分开,定期核对定时任务有没有漏跑,每隔几周清理一次记忆和 Skills,把简单任务交给 Pi 调用 OpenRouter 免费模型来省额度。

Grok Bot 的每个账号配一台常驻的云电脑,Bot 的文件、浏览器登录和命令行工具都在上面,Bot 自己还会积累记忆、Skills 和定时任务(Routines)。用一两天感觉不到问题;当成长期私人助理用上几周,几类麻烦会慢慢冒出来:重置后最近的文件没了,几个 Bot 互相动了对方的环境,定时任务没跑却没人发现,记忆越堆越乱,额度不够用。下面按这几件事给出具体的设置方法。

问题官方怎么说建议你怎么做
云电脑数据Reset / Recover 从“上次保存的数据”重建,可能丢最近改动;手动装的软件包会被清掉重要文件放 /workspace,再每天推送到私有 GitHub 仓库
多个 Bot同一账号的所有 Bot 共用一台电脑:文件、浏览器 Cookie、命令行凭据都共享按项目分目录,最小权限,生产密钥不放这台电脑
定时任务每个 Routine 只保留最近 20 条运行记录;因限流失败的运行不会自动重跑定期看 Run history,用备份时间戳做独立检查
记忆Bot 记的是偏好和摘要,不是权威记录;没有模型选择器每 2–4 周让 Bot 自查一次记忆、Skills 和规则
额度每周有固定用量,Routine 越频繁越费简单活交给 Pi + OpenRouter 免费模型

01适用场景与前提

  • 你已经在用 Grok Bot(需要含 Grok Bot 的套餐,见 Cursor 帮助中心:Plans and billing),并打算让它长期处理素材整理、写作或编程任务。
  • 有一个 GitHub 账号,用来建私有备份仓库。
  • 做第五步需要 OpenRouter 账号;想提高免费模型的每日次数,需要累计充值至少 10 美元。
  • 以下步骤都在 Grok Bot 的云电脑终端里执行,可以让 Bot 代你运行,但涉及密钥的环节请自己操作。

02第一步:把重要文件放进 /workspace,再推到私有仓库

官方文档写明,云电脑有三种恢复操作(Grok Bot computer):Update 保留 Bot、文件和登录,但电脑整体更新时会删掉已安装的应用和软件包;Recover 和 Reset 都从“上次保存的数据”重建,如果当时连不上电脑、没来得及保存,最近的改动可能丢失。node_modules、Python 虚拟环境这类目录不会被保存。官方建议把需要长期保留的文件放在共享工作区 /workspace(Use the computer and apps)。有用户反映,点 Reset 后恢复到的是前一天的快照,期间改过的 Skill 没回来。所以建议你再加一层自己的备份。

  1. 在 GitHub 新建一个 Private 仓库,例如 bot-backup。
  2. 推送权限只给这一个仓库:用该仓库的 Deploy key(勾选写权限),不要用能访问你所有仓库的个人令牌。做法见 GitHub 文档:Managing deploy keys。
  3. 在云电脑上把仓库克隆到 /workspace/bot-backup,按用途建目录,如 memory/(导出的长期记忆和人设)、skills/(Skill 说明全文)、routines/(每个 Routine 的指令和时间)、projects/(素材和进度)。
  4. 让 Bot 把自己的记忆要点、Skills 和 Routine 指令导出成 Markdown 放进对应目录。Skills 和记忆是否以文件形式存在电脑上,官方没有说明,所以用“导出”而不是直接复制。

先写 .gitignore,把凭据挡在仓库外:

gitignore
.env
*.env
auth.json
*cookie*
*.pem
id_*
.pi/

再放一个备份脚本 backup.sh:写入时间戳、提交、推送;推送前粗查常见密钥格式,命中就中止。正则只是兜底,按你实际用到的服务增删。

bash
#!/usr/bin/env bash
# 每日备份:提交 bot-backup 仓库里的改动并推送
set -euo pipefail
cd "$(dirname "$0")"
date -u +%FT%TZ > LAST_BACKUP
git add -A
# 推送前粗查一遍常见密钥格式,命中就中止(规则按需增删)
if git diff --cached -U0 -- . ':!backup.sh' | grep -nE 'API_KEY=|BEGIN [A-Z ]*PRIVATE KEY|ghp_[A-Za-z0-9]{20,}|sk-[A-Za-z0-9-]{20,}'; then
  echo "疑似密钥,已中止,请检查上面这些行" >&2
  git reset -q
  exit 1
fi
git diff --cached --quiet && { echo "没有改动"; exit 0; }
git commit -q -m "backup $(cat LAST_BACKUP)"
git push -q origin main
echo "已推送 $(git rev-parse --short HEAD)"

手动运行一次 ./backup.sh,看到“已推送”加提交号,并在 GitHub 网页上看到 LAST_BACKUP 文件更新,说明链路通了。建议同时打开仓库的 Push protection,GitHub 会在推送时拦截已识别的密钥。

提示API Key、Cookie、浏览器导出的会话文件、~/.pi/agent/auth.json 一律不要进仓库,私有仓库也不行。OpenRouter 文档提示,它是 GitHub 密钥扫描合作方,发现泄露会邮件通知;一旦泄露,立刻到 API Keys 页面 删除重建。

03第二步:让 Bot 每天自动备份

在负责运维的那个 Bot 对话里直接说:

text
每天 03:00(Asia/Shanghai)运行 /workspace/bot-backup/backup.sh。
运行前先把最新的记忆要点、Skills 和 Routine 指令导出到对应目录。
脚本报错或检测到疑似密钥时,在这个对话里报告完整错误,不要改动脚本绕过检查。

Routine 的时区取设置里的 Timezone;新建的 Routine 要等到下一个预定时间才首次运行,想马上验证就点 Test(Routines 帮助)。注意 Test 会真的执行一次。每次运行都消耗用量,所以备份一天一次就够。

04第三步:多个 Bot 按目录和权限分开

官方说得很直接:同一账号下的所有 Bot 共用一台云电脑,浏览器 Cookie 和登录状态、文件、命令行凭据全部共享;每个 Bot 有自己的屏幕,但“屏幕是独立工作区,不是独立的安全边界”,不要把不同 Bot 当作安全隔离(FAQ)。删除一个 Bot 时,它留在电脑上的文件和登录也可能保留。

  • 每个 Bot 一个工作目录,如 /workspace/writer、/workspace/coder,在创建 Bot 时写进它的职责:“只在 /workspace/writer 下读写,其他目录只读,改动前先问我。”
  • GitHub 用按仓库授权的 Deploy key 或细粒度令牌,一个 Bot 用到哪个仓库就只授权哪个。
  • 生产环境的密钥不要放在这台电脑上。在一个 Bot 里登录的网站,其他 Bot 也能用。
  • 需要 API Key 时,用 Grok Bot 弹出的安全输入卡片保存,不要贴进聊天、Shell 或普通文件(Store secrets securely)。Vault 同样是全账号共享,不能限定给某一个 Bot。

目录规则靠提示词约束,不是系统级权限,只能降低误操作的概率。真正要隔离的东西,就不要放到这台电脑上。

05第四步:定期核对定时任务

有用户反映,Scheduled Routines 出现过延迟和漏跑,失败后也不一定自动补跑。官方能确认的是:每个 Routine 只保留最近 20 条运行记录;Routine 有每小时运行次数上限,因“Automation run rate limit exceeded”失败的运行不会自动重试,官方还承认存在一个所有用户共享的限制会误伤,正在修复(Routines 帮助)。长时间不在时,Grok Bot 还可能询问并暂停 Routine。

  1. 每周打开一次 Bot 详情页的 Routines,或手机上的 Run history,看有没有 Failed、Paused。
  2. 重要任务让脚本记下“上次成功时间”。上面的 LAST_BACKUP 就是一个例子:仓库里这个文件超过一天没更新,说明备份没跑成。
  3. 不想靠人看,可以放一个不依赖 Grok Bot 的检查,比如自己的 VPS 上的 cron,或 GitHub Actions 定时检查最近一次提交的时间,超时就让任务失败、触发通知。
yaml
# .github/workflows/check-backup.yml(示例,放在 bot-backup 仓库)
on:
  schedule:
    - cron: '17 1 * * *'   # UTC 01:17,即北京时间 09:17
jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: |
          age=$(( $(date +%s) - $(git log -1 --format=%ct) ))
          echo "距上次备份 $age 秒"
          test $age -lt 93600   # 超过 26 小时则失败

GitHub 的定时触发也可能延迟,整点前后负载高时甚至会丢弃排队任务,官方建议避开整点(Events that trigger workflows),所以示例用了 17 分。检查本身同样可能漏跑,作为第二道提醒即可。

06第五步:每 2–4 周清理一次记忆和规则

官方说明,Bot 记住的是稳定偏好、角色背景和以往工作的摘要,“不能替代权威来源”:会变的事实应放在源系统里,过时的假设要直接纠正,安全边界要靠审批和 Auto-review 规则,而不是只靠记忆(Create and manage Bots)。Memory、Skills、长期规则越积越多后,重复或互相矛盾的指令会让 Bot 答非所问。建议你每两到四周做一次整理:

text
请检查你目前的长期记忆、人设和所有 Skills:
1. 列出重复、互相矛盾或已经过时的条目,每条注明出处;
2. 给出合并和删除建议,等我确认后再改;
3. 改完后把最新版本导出到 /workspace/bot-backup/memory 和 skills。
  • 先备份再清理,第一步的仓库就是回滚点。
  • Skill 只保留官方建议的几项:何时使用、需要的输入和权限、步骤、如何验证、输出什么、哪些要审批(Skills and routines)。
  • 想彻底重来又不想重建配置:在 iPhone 上复制 Bot,副本带上设置、Skills 和 Routines,但不带对话历史和学到的记忆。记得停掉其中一个的 Routines,否则会跑两遍。

模型这件事你控制不了:设置页写明由 Cursor 管理模型选择,没有模型选择器(Settings)。有用户觉得 Bot 表现时好时坏,并猜测简单任务被分到了轻量模型,这只是猜测,官方没有公开路由规则。能做的是把任务描述写清楚、保持上下文干净。

07第六步:用 Pi + OpenRouter 免费模型分担简单任务

Grok Bot 每周有固定用量,用完要等重置或按量付费(Plans and billing)。资料整理、文本格式转换、批量改文件这类简单活,可以交给云电脑里的 Pi(一个终端编程智能体)去调用 OpenRouter 的免费模型,Grok Bot 只负责安排和检查。

1. 安装 Pi。官方给了两种方式,npm 方式需要 Node.js 22.19 或更新版本:

bash
curl -fsSL https://pi.dev/install.sh | sh
# 或
npm install -g --ignore-scripts @earendil-works/pi-coding-agent

pi --version   # 能输出版本号即安装成功

2. 在 OpenRouter API Keys 页面 创建 Key,建议给它设一个较低的额度上限。然后选一种方式交给 Pi:在 Pi 里运行 /login openrouter,Key 会存进 ~/.pi/agent/auth.json;或者设置环境变量 OPENROUTER_API_KEY(Pi Providers)。Pi 官方提醒 auth.json 要保密、不要提交。

3. 选免费模型。OpenRouter 的免费版本模型 ID 以 :free 结尾(Free Variant)。在 Pi 里用 /model 选择,或先列出:

bash
pi --list-models free
# 非交互调用一次(模型 ID 换成上一步列出的某个 :free 模型)
pi -p --model "openrouter/<模型ID>:free" --tools read,grep,find,ls "总结 /workspace/writer/notes 下的要点"

-p 是执行完即退出的非交互模式,适合让 Grok Bot 调用;--tools read,grep,find,ls 只开放只读工具,Pi 改不了文件。确实需要改文件的任务再放开。

4. 告诉 Grok Bot 分工规则,并让它记住:

text
以后遇到资料整理、文本处理、简单文件修改这类任务,优先在终端用 pi -p 调用 OpenRouter 的 :free 模型完成,你负责检查结果。
复杂推理、写代码、对外操作仍由你自己处理。Pi 报错或免费额度用完时告诉我,不要自动换付费模型。

免费模型的限额(OpenRouter Limits,2026-10-26 核对):

累计购买额度每分钟请求每天请求
少于 10 美元2050
至少 10 美元201000

这 10 美元是“累计购买过”的门槛,不是买无限用量;账户余额为负时免费模型也会报错。查剩余次数:

bash
curl -s https://openrouter.ai/api/v1/key -H "Authorization: Bearer $OPENROUTER_API_KEY"
# 返回里的 free_model_daily_requests 有 used / limit / remaining,按 UTC 自然日计
  • 免费模型的速度和可用性会变,OpenRouter 也说明其限速和可用性可能与付费版不同。
  • 如果在请求里配置了模型回退列表,免费模型限流时会落到下一个模型,回退到付费模型照常计费。只想免费,就只列 :free 模型,或单独使用 openrouter/free 路由。
  • Grok Bot 判断、调用 Pi 和检查结果仍然消耗它自己的用量,能省多少取决于你怎么分流。
  • 云电脑做 Update、Recover 或 Reset 后,手动装的 Pi 可能被清掉,写在工具配置里的 Key 也可能一起没了(Store secrets securely),要重新安装和登录。
  • auth.json 放在共享电脑上,你的其他 Bot 都能用到这把 Key。

08如何确认都设置好了

  • GitHub 仓库里 LAST_BACKUP 每天更新,仓库内搜不到任何 Key。
  • Routine 列表显示下一次运行时间,Run history 没有连续 Failed。
  • 每个 Bot 的职责里写明了它的工作目录。
  • pi --version 有输出,OpenRouter 返回的 free_model_daily_requests.used 在 Grok Bot 分流后会增加。

核对日期:2026-10-26。Grok Bot 仍处于早期测试阶段,界面名称、限额和恢复机制可能变化,以官方文档为准。

标签:
本文由 zovo 编辑撰写,转载请注明出处。

相关文章