Skip to content
第三篇 · 進階篇

第 21 章 備份與恢復:電腦重置也不慌 ​

雲電腦重置後環境直接清空,憑記憶敲 apt-get 和 pip install 容易漏掉依賴或環境變數,調教出的 Bot 記憶也沒有匯出按鈕。解決辦法是把災備拆成兩條並行流水線。

  1. 虛機服務:用登記總賬和自動化恢復指令碼接管系統依賴。
  2. 智慧體記憶:專職記憶管家把設定與動態事實寫成 Markdown,推送到私有 Git 倉庫。

搭建完成後,即使系統重置或遷移,也能以最少的人工介入拉回所有服務與記憶。

備份與恢復:電腦重置也不慌

21.1 認清雲電腦的底細:更新、恢復與重置有什麼區別 ​

21.1 認清雲電腦的底細:更新、恢復與重置有什麼區別

同一帳號下所有 Bot 共用同一台虛擬機器,共享 /workspace 目錄與系統行程。一台機器裝了全域工具其他 Bot 都能調,機器一旦重置,所有依賴環境會同時失效。

參考 《4.6 虛擬機器、記憶與備份》。

客戶端在 Settings > 電腦 的 Bot's 電腦 下提供控制項。三者區別如下:

操作機制保留內容丟失內容
更新(Update)升級環境鏡像。分軟體更新和電腦更新兩類軟體更新保留全部;電腦更新保留機器人、文件與登錄資訊軟體更新無丟失;電腦更新移除全域應用和軟體套件
Recover基於已存資料在最新鏡像建新機,先嚐試連線舊機存資料已保存的機器人、文件與登錄資訊全域應用和軟體套件;若舊機連不上,未同步的修改會丟
Reset直接按最近保存的資料建新機,中斷正在執行的工作已保存的機器人、文件與登錄資訊全域應用和軟體套件;未同步的修改會丟

對話記錄存在雲端,機器重置或誤刪文件都不影響。但全域安裝的應用包、node_modules 與 Python 虛擬環境不會被官方保存,遇到電腦更新、Recover 或 Reset 都會被清掉。

詳見 《Grok Bot 電腦》。

虛擬機器卡死或回應例外時,排查要按順序來:

  1. 顯示 Reconnecting 或 Couldn't Reach Grok Bot's 電腦:屬於網路波動,稍等後點 Retry。重連期間文件不丟,嚴禁在這個階段點 Reset。

  2. 重啟客戶端。Mac 使用者必須在頂部選單欄選 Quit,單純點窗口紅叉無效。

  3. 檢查更新。進 Settings > 電腦,有可用更新先點 更新。提示智慧體未暫停就等當前任務跑完再點。

  4. 嘗試恢復。依然連不上或更新卡住出現 恢復電腦 時點 Recover。若提示 Update 仍在執行,選 Keep waiting。

  5. 執行 Reset。前四步無效再點 Reset。失敗可用 Retry Recover 或 Retry Reset 重試,繼續報錯聯繫官方支援。

  6. 處理磁盤告警。

    收到 Computer is low on disk space 或 Computer is critically low on disk space 時別手動刪文件,點側邊欄 Go to Disk Saver 查看方案,未經確認系統不會刪文件。

    詳見 《Grok Bot 電腦》。

雲電腦只是一次性容器,不要手動微調環境。搭建過程全部指令碼化,組態與自寫原始碼必須存進外部私有 Git 倉庫。

21.2 虛機服務總賬與自動化恢復流水線 ​

21.2 虛機服務總賬與自動化恢復流水線

《4.6 虛擬機器、記憶與備份》

雲電腦不給底層快照,把重建流程做成一鍵指令碼成本最低。

服務總賬與防汙染備份 ​

在私有倉庫建個 vm-services/ 目錄,放人類讀的 REGISTRY.md 表格與自動化指令碼解析的 registry.json。

總賬與備份需要守住幾項硬規矩。

  • 登記欄位包括服務 ID、負責的 Bot、程式碼路徑、安裝依賴(apt/pip/Docker/cron)、啟停與健康檢查命令及是否必恢復。
  • 憑證路徑只寫本地絕對路徑(如 ~/.env),嚴禁存明文;掃碼與 OAuth 等人工步驟單獨高亮。
  • 自寫指令碼單獨存入 service-src/,排除 venv/、node_modules/ 與記錄;提交前必須跑正則掃描密鑰。

自動化恢復流水線 ​

在 vm-services/restore/ 為各服務單寫子指令碼。指令碼必須保證冪等,連跑兩次不能報目錄已存在或端口衝突。

總入口 restore-all.sh 依依賴順序串聯執行。

  1. 基礎依賴:安裝 cron、ffmpeg 與 yt-dlp 等系統工具。
  2. 原始碼就位:從 service-src/ 拷回自寫指令碼,跳過已有文件,只補缺失。
  3. 環境與包:建 Python 虛環境並執行 pip install -r requirements.txt。
  4. 拉起常駐:啟動後台常駐行程。
  5. 掛載定時:恢復統一的 crontab 排程。
  6. 健康檢查:逐項核查存活,失敗則記錄錯誤記錄並繼續下一項,不中斷阻塞。

《Grok Bot 虛擬機器重置後工具全沒了?備份恢復課程(附提示詞)》

21.3 記憶管家:把 Bot 的核心記憶裝進私有倉庫 ​

21.3 記憶管家:把 Bot 的核心記憶裝進私有倉庫

官方沒給全量記憶匯出按鈕,換號或系統遷移時偏好極易丟失。設立專職的“記憶管家”Bot,把無形記憶轉成私有 Git 倉庫的純文本快照最穩妥。

《Grok Bot 百萬撤離:一套完善的 Agent 系統備份方案》

記憶分層與維護原則 ​

層次包含內容說明與權限
共享層帳號共享記憶、公共 Skill 與外掛組態所有 Bot 均可讀取
專屬層Description 規則契約、專屬獨立記憶與 Routine 任務單個 Bot 獨佔
  • 動態事實不長期堆在上下文,只記存取方式,用時回源抓取。
  • 共用記憶須經人工審核或標準化業務流驗證,防交叉感染。
  • 業務定義寫進記憶,固定操作流程必須固化進 Skill 程式碼。

《4.6 虛擬機器、記憶與備份》

歸檔規範與工作流 ​

歸檔規範與工作流
text
├── bots/                     # 各 Bot 獨立組態與記憶
│   ├── cyber-xiaowan/        # 單個 Bot 資料夾
│   │   ├── agent-spec.md     # 身份設定、名稱、bot-id、slug、description
│   │   ├── MEMORY.md         # 核心記憶全量快照
│   │   ├── profile.md        # 角色資訊與權限邊界
│   │   └── archive/          # 歷史版本與過往記錄
│   └── ...                   # 其他 Bot 目錄
├── meta/                     # 全域Metadata與多 Bot 拓撲關係
├── shared-user-memory/       # 帳號級共享記憶
├── vm-services/              # 虛擬機器服務總賬與恢復指令碼(見 21.2 節)
├── README.md                 # 倉庫使用說明與最新狀態
├── RESTORE.md                # 跨環境恢復操作 SOP
└── registry.md               # 登記索引

單個 Bot 目錄下的 MEMORY.md 包含身份權限、決策職責與現場快照三層。

  1. 枚舉名單:圈定需要持久化備份的核心 Bot。
  2. 排程下發指令:各 Bot 讀取自身組態與記憶,提煉後寫入 /workspace 對應的 Markdown 文件。
  3. 抓取驗證入庫:掃描確認無明文 Token 後統一提交,打上日期標記(如 tag-2026-10-15)推送到遠端私有倉庫。

Bot 負責全量快照,Git 負責增量追蹤。Bot 每次直接全量覆蓋寫文件,歷史變動交由 Git 引擎沉澱,不用在提示詞裡計算差異。

21.4 實戰案例:鐵柱AGI 的百萬撤離與服務管家 ​

記憶管家備份 ​

鐵柱(@cgnot996)手裡維護著 21 個 Bot。為了防止封號丟失記憶,他搭了個「記憶管家」Bot,配 Gitee 私有倉庫歸檔。

  1. 圈定核心:21 個 Bot 先挑 7 個核心試跑。
  2. 匯出與核對:通知 7 個 Bot 匯出設定和記憶。部分 Bot 導完會靜默,指令裡必須要求「寫完彙報」,同時由管家掃描 /workspace 目錄核對。
  3. 入庫打標:首批 73KB 歸檔入庫,打上 tag 2026-09-10 標記並通過密鑰掃描。
  4. 單檔案結構:像「賽博小晚」,MEMORY.md(約 21KB)存身份與快照,agent-spec.md 存 bot-id 和描述。
  5. 開啟定時:設為定期自動歸檔。

匯入新帳號時記憶還原度約 80%。本地未備份文件、對話歷史與第三方登錄態無法還原。

遷到 Hermes 或 OpenClaw 時,把 MEMORY.md 放入記憶目錄,將 agent-spec.md 的 description 改為系統提示詞就能跑。

《Grok Bot 百萬撤離:一套完善的 Agent 系統備份方案》

虛擬機器服務管家 ​

雲電腦死機重置會導致工具全丟。作者在 Gitee grok-bot-memory 倉庫的 vm-services 目錄記錄重建總賬。

  1. 登記總賬:截至 2026-10-10 登記 10 個 Bot 的 20 個項目(4 個常駐、14 個按需工具和 2 個密鑰項),其中 18 項標為「必恢復」。
  2. 歸類服務:常駐包含抓取服務、Muse 介面封裝,以及郵件引擎和出口隧道;按需工具(ffmpeg、Chrome 等)只記安裝命令;Metaso 與 TikHub 僅記密鑰路徑。
  3. 原始碼純淨備份:自寫原始碼約 5.1MB,排除密鑰、記錄及狀態流水。
  4. 串聯恢復:由管家維護 restore/ 目錄和 restore-all.sh。管家平時不擅自執行,等人工指令再按依賴拉起,並交付驗收清單。

《Grok Bot 虛擬機器重置後工具全沒了?備份恢復課程(附提示詞)》

21.5 憑證安全與人工審批閘門:移交螢幕不交密碼 ​

多 Bot 共享虛擬機器的磁盤和瀏覽器會話,靠新建 Bot 根本隔不開敏感資料。 指令碼或聊天裡一旦寫了明文,其他 Bot 或外部記錄都能讀取。

《4.6 虛擬機器、記憶與備份》

憑證只留路徑不留明文 ​

  • Token 和私鑰存進不入 Git 的 ~/.env 或全域密鑰目錄。
  • REGISTRY.md、registry.json 與記憶文件裡,凡涉及憑證只記磁盤絕對路徑。
  • 嚴禁在對話框發密碼,推送前必須跑正則脫敏掃描。

移交螢幕不交密碼 ​

  1. Bot 遇到 2FA、掃碼或設備校驗彈窗,立即暫停並通知你接管。
  2. 你在客戶端打開雲電腦全屏,自己輸入密碼或掃碼。
  3. 弄好後把控制權交還,Bot 繼承會話 Cookie 繼續跑,碰不到明文密碼。

高風險操作設 Ask-first ​

  • 發帖、支付、刪資料或改底層環境等不可逆操作,必須彈窗等人工批准。v0.70.2 優化了這類確認邏輯。
  • Bot 自主權限僅限於讀取、公開檢索和 /workspace 內部讀寫,規則衝突時 Ask-first 優先。

21.6 拿去就能用的三套提示詞 ​

以下提供三套經過實操驗證的提示詞,直接複製發給對應的 Bot 即可部署與使用。

提示詞一:給雲電腦組態「虛擬機器服務管家」 ​

建個「虛擬機器服務管家」Bot,貼進設定:

提示詞一:給雲電腦組態「虛擬機器服務管家」
text
你是「虛擬機器服務管家」,只管一件事:記下這台虛擬機器上部署過的所有第三方服務,並在電腦更新或換帳號之後,按記錄把它們原樣恢復。

你維護的東西
1. 一份登記總賬,人和機器各讀一份:REGISTRY.md(表格)和 registry.json(給指令碼讀)。
2. 每個服務一個恢復指令碼 restore/restore-<服務>.sh,必須冪等,重複跑也不會出錯。
3. 一個總入口 restore/restore-all.sh,按依賴順序呼叫各個恢復指令碼,最後彙總哪些失敗了。
4. 一份原始碼備份 service-src/:各 Bot 自己寫的服務程式碼和指令碼,同步時排除密鑰、記錄、執行狀態、虛擬環境和個人資料,並先掃一遍明文密鑰,命中就停。
5. 以上全部跟著一個私有 Git 倉庫存(「你的備份倉庫地址」)。總賬、恢復指令碼、原始碼都在倉庫裡,密鑰永遠不進倉庫。

登記規則(其他 Bot 部署任何服務都必須來找你登記)
每項必須包含:
- 名稱和短 id、用途、負責的 Bot
- 路徑:程式碼、組態、資料分別在哪
- 安裝方式和依賴(apt / pip / npm / Docker / 系統定時任務)
- 啟停命令、健康檢查命令
- 更新後的恢復步驟,或者對應的恢復指令碼
- 是否必恢復:是 / 否
- 密鑰:只寫存放路徑,絕不寫明文
- 需要真人完成的步驟(OAuth 登錄、掃碼、匯入 cookie)單獨標出來

你的工作方式
- 先弄清哪些會丟、哪些能留:電腦更新一般保留工作目錄,但系統包、常駐行程、全域安裝的命令列工具會丟;重置則什麼都不留。所以要記的是“怎麼重建”,不是去拷整台機器。
- 能從公開渠道重裝的(apt、pip、npm、上游 Git 倉庫)只記安裝命令;自己寫的程式碼必須進原始碼備份,否則重置後就找不回來。
- 收到登記先核對:路徑是否真實存在、健康檢查能不能過。登記寫的和實際不一樣時,以實際為準,並告訴負責的 Bot。
- 多個定時任務合併成一份 crontab 真源時,檢查每一條是不是都在真源裡,不在的要靠恢復指令碼補回去。
- 故意停掉的服務要寫清楚“為什麼停、什麼條件下重開”,免得被當成漏裝。
- 只有主人說“電腦更新完了”才跑總恢復,不盲跑。跑完交驗收:每項是成功、失敗,還是要真人處理。
- 每次有服務新增、刪除或原始碼大改,先重新同步原始碼備份,再把總賬、指令碼、原始碼一起提交推送到備份倉庫。換帳號或重置時,就靠這份備份把整套設定帶走。
- 刪掉的服務要徹底清除:總賬只反映現在真實的狀態。

提示詞二:電腦重置後讓 Bot 執行全面恢復 ​

配好 Git 存取令牌,替換括號內容發給 Bot。

提示詞二:電腦重置後讓 Bot 執行全面恢復
text
這台電腦剛重置過(或者是換了新帳號),之前部署的服務都沒了。請按我的備份把它們恢復到可用狀態,規則如下。

備份在哪
- 備份倉庫:<你的備份倉庫地址>,分支 <分支名>
- 倉庫裡有:登記總賬(REGISTRY.md 和 registry.json)、每個服務的恢復指令碼(restore/)、自寫服務的原始碼備份(service-src/)
- 倉庫裡沒有密鑰,這是故意的

請按這個順序做
1. 把備份倉庫拉到工作目錄,先讀總賬,告訴我一共登記了幾項、哪些標了「必恢復」、哪些只留密鑰不用恢復。先列出來,不要動手。
2. 把自寫服務的原始碼從 service-src/ 放回總賬寫的原位置。只補缺失的,已經存在的目錄不要覆蓋。
3. 按總賬的依賴順序逐項恢復:先裝系統依賴(比如 cron、ffmpeg),再裝命令列工具,最後拉起常駐服務和定時任務。每項都用它自己的恢復指令碼,指令碼要能重複跑。
4. 每裝完一項就跑它登記的健康檢查。失敗了先看記錄、試著修一次;修不好就記下原因,接著做下一項,不要卡住。
5. 把需要我本人做的事彙總成一張清單:要重新提供的密鑰(只說放哪個路徑、叫什麼名字,別讓我把密鑰貼進聊天)、要重新登錄授權的工具(OAuth、掃碼、設備碼)。然後一項一項帶我做,每做完一項馬上覆查。
6. 故意暫停的任務保持暫停,總賬裡寫了原因和重開條件的照辦。別因為“看起來漏裝了”就自作主張打開。
7. 最後交驗收清單,每項一行:服務名、結果(成功 / 失敗 / 等我處理)、健康檢查輸出摘要、花了多久。再告訴我總共用了多少時間、成功了幾項。

不要做的事
- 不要把任何密鑰寫進倉庫、記錄或聊天
- 不要跑總賬沒登記的安裝
- 不要用“重置電腦”當修復手段
- 恢復完如果有任何改動(路徑變了、版本升級了),更新總賬,提交推回備份倉庫

提示詞三:記憶管家定期歸檔指令 ​

Routine 或手動歸檔發這個:

提示詞三:記憶管家定期歸檔指令
text
請開始執行本週的智慧體記憶與設定歸檔任務。

執行步驟:
1. 枚舉當前工作區內所有處於活躍狀態的 Bot 名單,核對 bots/ 目錄下的已有目錄。
2. 逐個通知名單內的 Bot:讀取各自的 Description、人設規則與當前核心記憶,按三層結構(身份profile、歷史決策與職責、當前現場快照)提煉並覆蓋寫入 /workspace/bots/<bot-slug>/MEMORY.md。同時將身份Metadata更新至 agent-spec.md。
3. 檢查各 Bot 回執,並在 /workspace 目錄核對文件生成情況,確保所有目標 Bot 的 Markdown 均已寫出。
4. 提取帳號級共享記憶,更新至 shared-user-memory/ 目錄下的 Markdown 文件中。
5. 對本次生成的所有 Markdown 文件進行敏感資訊正則掃描,檢查是否存在明文 API Token、密碼或私鑰。如果發現疑似憑證,立即中斷並報警。
6. 掃描無例外後,執行 Git 操作:將所有更新文件暫存,提交資訊標記為「memory snapshot YYYY-MM-DD」,推送到遠端私有 Git 倉庫,並打上對應日期的 Git Tag。
7. 完成後向我彙報:本次歸檔了哪幾個 Bot、總文件大小、是否有失敗或超時的 Bot。

21.7 容易踩的坑 ​

  1. 提示 Reconnecting 時別點 Reset,只是網路抖動或維護,點了會用舊快照覆蓋未保存資料。
  2. 多設備共用 Codex 授權會互相踢下線,得配獨立子帳號或固定憑據。
  3. 定時任務要統一收進 crontab 組態檔併入 Git,防止機器重置遺漏。
  4. 服務總賬以實操命令為準,環境沒裝 Docker 會導致恢復指令碼卡死。
  5. Bot 匯出常靜默,管家須主動查磁盤,指令強約束「寫完必須彙報」。
  6. 備份倉必須設為私有並加正則掃描,防 Token 隨 Git push 進公開倉。

21.8 做完怎麼驗收 ​

服務與指令碼 ​

  1. 對賬:對照 vm-services/REGISTRY.md,用 ps aux 查行程、netstat 或 ss 查端口,路徑不能多記或漏記。
  2. 試跑:單跑 restore-<服務名>.sh,看能否重複執行且無報錯。
  3. 全演練:在臨時目錄複製後跑 bash restore/restore-all.sh,確保「必恢復」項全通過,需人工介入的步驟已列清單。

倉庫與記憶 ​

  1. 查結構:網頁端看 bots/,每個 Bot 必須有獨立的 agent-spec.md 和 MEMORY.md。
  2. 抽查:點開 MEMORY.md,確認「身份 profile」「歷史決策與職責」「當前現場快照」三層完整,無空樣板或亂碼。
  3. 搜密:全域搜 sk-、Bearer 或 password,憑據只留本地絕對路徑,嚴禁明文 Token。

延伸閱讀 ​