跳到主要內容

我的 AI 助理差點炸了我的 iPhone:關於 openclaw 同步、衝突與治理的血淚教訓

前言:當自動化變成災難

最近身邊很多朋友,不管有沒有工程背景,都開始玩 OpenClaw ── 一種可以真正執行任務的 AI 代理(agent)。一開始我以為安裝與使用只是幾行程式碼的過程,但當整個系統延伸到三台設備(MBA、iMac、Oracle Cloud)時,我才發現:沒有治理的自動化,只在加速災難。

在系統建置的前幾天,我遭遇了 Google Drive 同步卡死,以及 Git 衝突高達 148,000 個檔案的慘況(苦笑)。那一刻我深刻體會到:一個沒有「憲法」的 AI 系統,就像一個沒有交通規則的城市,車子跑得越快,車禍就越慘烈。

因此,我想分享我的  Personal AI Operating Platform (PAIOP) 個人化 AI 應用平台 治理想法。


1. 核心憲法:主權至上

我在系統中先定義了 AI 的權力邊界,我戲稱它為「憲法」(constitution.md)。這不是哲學,而是穩定性與安全性的基礎。:

原則一:主權至上
AI 僅為輔助。所有自動化流程必須受控、可中止。AI 不得擅自修改「正式記憶(Structured Memory)」。

原則二:角色分離 (Separation of Concerns)
權限應附著於角色,而非設備。這樣可在治理上保有彈性與清晰責任界線。

2. 三權分立的物理實踐

為了落實,我依照自己的使用習慣,將硬體資源劃分為三個邏輯節點,在儘量不額外花錢的前提下,形成了一個穩定可運作的三角架構:

節點角色 設備 / IP 職責與限制
Authoritative (大腦) MBA (M2) MacBook Air M2 是我平常的工作幾,也是唯一具備主動 Git Push 與修改憲法的權限。AI 負責陪我做策略制定與代碼開發。
Operational (肌肉) iMac 2019 AI 清洗站。這是一台我女兒的老電腦,想說平常也沒在用,所以我設定他為運行 Qwen 2.5 7B 模型,負責吃進 PDF, DOC, PPT, EXCEL 等格式檔案,清洗後轉成 Markdown。無權寫入正式庫。
Sentinel (哨兵) Oracle Cloud Ghost Bot。這是免費的雲端主機,24 小時監控、執行 Crontab 爬蟲、市場情緒分析、自動同步與 Git 備份等。

3. 記憶的生命週期 (The Memory Pipeline)

為了避免 RAG(檢索增強生成)產生幻覺或不可靠內容,我將資料依處理階段分為五個層級:

  • 📥 Inbox/Drop: 原始資料進入點(如銀行對帳單 PDF)。
  • ⚙️ Processing: 由 iMac 進行清洗格式化,此階段由自動化腳本接管。
  • 📋 Staging (候選區): 產出 Markdown 草稿並定時通知我。我會介入審核的唯一關卡。
  • 📚 Structured (正式區): 經過審核的乾淨數據。這是 AI 唯一被允許引用的知識來源,確保準確率 99%。
  • 📦 Archive (冷資料): 處理完畢的原始檔,定期歸檔以保持系統輕量化。

這個架構確保了即使 AI 發瘋(例如模型更新後邏輯壞掉),它也只能破壞 Staging 區的草稿,而永遠無法汙染我相對依賴的長期記憶。

軟硬體:不花錢(?)的個人企業級架構

有了憲法,還是需要軟硬體搭派的基礎設施,很多人都在買 Mac mini,目前連蝦皮上的二手機都較半年前漲了上千元,也有人租用雲端伺服器,這相對可能便宜一些,不過我的重點在於如何榨乾家中現有資源的效能 XD。

所以我最後選擇讓 OpenClaw 利用舊 iMac 2019 與免費 Oracle Cloud 構建混合雲。

1. 混合雲與算力控制 (Hybrid Cloud Strategy)

Oracle Cloud:穿著防彈衣的哨兵

我使用 Oracle Free Tier 作為永遠在線的哨兵。其實類似的免費雲端服務,包括 AWS 和 Google 都有提供,不過有些有免費限期限制,或是效能不是那麼好,Oracle Cloud 的免費方案相對來說是比較好的選擇,有興趣的朋友可以參考 文皓寫的 OpenClaw 部署成本全攻略:$0-8/月打造你的私人 AI 助理,他寫的很清楚,我就不贅述這部分了。

不過因為我在這台上採用的 AI 模型 (Ollama/Qwen) 會佔 CPU 資源  實務上為了防止佔滿 CPU 導致系統不穩定、連線中斷,我在 systemd 層級設定了嚴格的限流,目前這樣運作和管理都還算順暢:

[Service]
CPUQuota=300%  # 限制最多使用 3 顆核心,保留 1 顆給系統通訊
MemoryLimit=20G # 防止記憶體溢出 (OOM)

iMac 2019:本地重型工廠

這台主要做的就是資料清洗這種相對精實的工作,資料整理等都可以靠 Python 等處理,AI 只有用在幫忙核對資料細節、加標籤等工作,目前主要是靠運行 Qwen 2.5 7B 模型。相較於 3B 模型,7B 在識別複雜稅務表格(如「股利及盈餘合併計稅」)時,有更好一點的表現。透過 Tailscale 內網穿透,iMac 變成了私有運算節點。

2. 神經網路:Tailscale 與 Syncthing

資料同步是多機架構的惡夢,剛開始我用的是 Google Drive 搭配 Git,但因為我檔案夾名稱改過、路徑改過、規則改過,導致同步出現大災難,Git 又將程式碼同步,最後當我手機上安裝了 Mobuis Sync 一起同步的時候,iPhone 本機就炸了,然後 Google Drive 同步也炸了 XD 。

後來決定放棄使用 Google Drive,全面改採「模組化排除規則」來解決 Git 與 Syncthing 的衝突:

  • .stignore_global:全域規範(由 Git 追蹤)。強制排除 venv/, .git/, *.log 等
  • .stignore_local:本地例外(Git 忽略)。允許每台機器有自己的小秘密(例如 iPhone 排除大型備份檔)。
  • Oracle 會定時執行 git 的備份與更新,確保可回朔性。
另外也採用了 Tailscale 來讓整個環境成為內網協作,這樣的好處是我在外地也可以安全的連上家裡的 iMac,也減少了一些 Oracle Cloud 的防火牆設定,讓整個網路環境更安全。

3. 開發環境:VSCodium 與 Google Antigravity 的協作

Gooele 的 Antigravity 真是個好東西,我現在都完全靠它來編寫程式碼與運作,但它的 AI 模型還是會有用量限制,所以我同時也裝了 VSCodium,依靠 Continue 外掛接上 ollama/qwen2.5-coder:3b,這樣可以在同一份代碼上工作而不打架,也不用花額外的錢升級 Antigravity,不過以聰明程度來說當然是差很多,不過至少可以做一點基本的協助。

🤝 人機交接流程 XD:
  1. 人工智慧 下班: 進行 Commit & Push。
  2. 等待綠燈: 確認 Syncthing 狀態為 "Up to Date"。
  3. 工人智慧 接手: 打開 VSCodium,執行 Git Pull
  4. 工人智慧 下班: 在 VSCodium 執行 Commit & Push,並在 Chat 中告知 Antigravity:「我更新了,怕我亂搞搞壞環境,請讀取 Git 並確認。」

審計概念:數位哨兵與自癒力

在多機協作的 AI 架構中,我現在覺得最令人擔心的不是 AI 不夠聰明,而是「系統當機了卻沒人知道」,任何環節的斷裂都可能導致資訊遺失。

1. 獨立審計代理人:Ghost Bot 的角色

  • 職責分離:確立了 Oracle Ghost Bot 作為獨立審計代理人的地位。

  • 全時運作:即便 MBA 離線或沒電,Oracle 的 Ghost 小組仍會持續依照《憲法》運作並準時回報。

2. 系統執行官:PM2 進程管理

為了確保這些機器人腳本不會因為終端機關閉或 Gateway 崩潰而失效(openclaw 還滿容易一位改了 config 檔案就掛了),我使用了 PM2 作為跨機器的進程管理工具。

  • 集中化管理:透過 PM2,可以統一查看所有節點的運行狀態、CPU 佔用與重啟次數。

  • 常用維護狀況

    • pm2 list:快速查看各節點 Bot 是否在線。

    • pm2 restart [name]:當腳本更新或出現連線衝突時進行重啟。

    • pm2 save:保存目前進程清單,確保機器重啟後自動恢復運行。

3. 看門狗:自動療傷機制

我部署了 system_watchdog.py 作為系統的守護者,它每小時基本會執行以下動作:

  • Bot 存活監控:自動偵測並透過 PM2 或系統指令重啟斷線的機器人。

  • 同步修復:自動偵測並修復 Syncthing IP,確保 P2P 同步鏈結不中斷。

  • 排除規則保護:自動還原缺失的 .stignore,防止碎檔案意外上傳。

實作:當理論遇上現實

規劃再完美,真正執行起來還是一堆 Bug,沒有別人的小龍蝦這麼聰明。

1. 帳單流水線清洗 (The Finance Pipeline)

我的想法很簡單,去 Gmail 檢查銀行寄來的對帳單,並自動下載回來後解密,再做資料辨識(PDF 轉換)與清洗(刪除裡面一堆廣告行銷或是警語等沒用的資料),然後通知我有新轉換好的檔案可以檢視,並轉入記憶區當作給 AI 分析的資料源。

我會做這件事的起因是原本這些 PDF 檔案,我都扔到 Google Notebooklm 分析使用,但常常發現會有漏資料的狀況,管理上也很麻煩,要自己手動做一堆事情,所以想透過自動化來處理。

當然這件事情其實完全不用 AI 也可以做,不過想試試加了 AI 是不是可以更聰明。

這個過程中,傳統 RAG 最大的痛點是「表格詛咒」—— PDF 轉文字後表格亂掉。在經過比對後,最後我採用「雙引擎清洗」設計:

🚀 Finance PDF Pipeline

  1. Drop: 自動抓取或 PDF 丟入 Inbox
  2. Engine 1 (pdfplumber): 針對標準表格,使用座標精確提取數據。
  3. Engine 2 (MarkItDown): 針對複雜或非標準文件,使用 Microsoft 的 MarkItDown 進行語意轉換。
  4. AI Tagging (Qwen 2.5): iMac 讀取檔名與內容,自動標記 #信用卡 #永豐銀行,並根據內容摘要。
  5. Review & Ingest: 我在 Staging 區確認後,自動歸檔至 Structured Memory。

2. 踩坑紀錄 (Troubleshooting Logs)

💀 殭屍程序殲滅戰 (The Zombie War)

有時候可能因為檔案比較多或複雜,AI 就將記憶體和 CPU 卡滿了,然後我又手賤的繼續下指令或是和 Telegram Bot 聊天,導致 Python 的程序在背景也進入了死結。
教訓: 在所有自動化腳本中還是必須加入 timeout 機制,並定期執行 system_watchdog.py 進行自我復原的基本功。

📂 路徑陷阱

腳本在 MBA 這邊執行都沒問題,但放在 iMac 或 Oracle 跑排程就失敗。原因其實也很簡單,因為環境變數路徑在一開始我沒有定義好,AI 在編寫的時候有時會搞錯三機的環境,現在也為每台機器設計了自己的身分證,確保不會搞錯。

📄 工具選擇的災難

我其實也不確定用哪個工具比較好,所以和 AI 討論後實作了很多不同的工具測試效果,但這些測試過程中,往往不小心又留下了不乾淨的環境,導致測試花更長的時間在找問題。
教訓: 更多依賴 git,並在三機當中各自定義好環境與變數等,不要讓 Syncthing 同步覆蓋,確保環境的獨立與完整性。

省 Token 小技巧:雲端大腦與在地肌肉的結合

在操作複雜的 AI 代理系統時,我常遇到兩個問題:免費額度用完 以及 Context Window(上下文窗口)不足。即便模型再聰明,一旦忘記了兩週前的系統變更紀錄,產出的代碼就可能與現有架構產生衝突,而老是挑選相對便宜的模型改來改去,也不適合我這個懶人。

所以我整理了自己的「雙層循環協作法」,將 Google NotebookLM 作為全知的大腦,並將 Antigravity (OpenClaw) 作為執行與討論指令的肌肉。

1. 第一層循環:雲端知識建模

我將所有系統地圖(SYSTEM_MAP.md)、憲法(constitution.md)以及每天累積的工作日誌(Journals/)等全部餵入 Google NotebookLM

  • 突破記憶上限:透過 Google Gemini 網頁版載入這個 NotebookLM 資料夾,Gemini 就能在超過 100 萬 Token 的超大窗口中檢索我過去幾個月的所有技術決策。

  • 全域架構規劃:在與網頁版 Gemini 討論新功能或修正 Bug 時,它能精確地指出「你在 2 月 9 日曾為了效能移動過路徑,所以現在的腳本應該...」。這讓雲端 AI 成為一個完全了解我系統現況的「資深架構師」。

2. 第二層循環:在地代理執行 

在雲端討論出結論(例如一段精煉後的 Python 腳本或部署計畫)後,就可以讓 Antigravity 再接手。

  • 在地自動化:Antigravity 透過 OpenClaw 在我的 MBA 或 Oracle , iMac 上執行具體操作。

  • 地端模型協作:對於重複性高、邏輯較單純的執行任務,就用 Qwen 2.5:7B 地端模型。這不僅保證了隱私數據不外流,更達成了「零 Token 成本」的在地運算。

3. 為什麼這套技巧能節省大量 Token?

傳統做法是直接在 Bot 對話框中餵入所有文件,這會導致每次對話都可能重覆消耗數萬 Token。而「雙層循環」法:

  1. 髒活雲端化:大量的文件閱讀與雜亂的日誌分析由 Google 提供的長文本環境處理。

  2. 結論地端化:只傳輸「相關的規劃」回我的地端系統,避開了中間討論過程的 Token 浪費。

  3. 異地協作:將複雜或不用太聰明的工作(例如表格清洗任務)交給地端模型,完全不佔用付費 API 的額度。


結語:從自動化到自主化

目前已經從單純的「自動化腳本」進化為「多代理人系統」。整套運作起來,目前花費如下:

硬體 / 雲端環境:

Oracle Cloud Free Tier:免費,但我有綁信用卡,避免機器被重置就是了。

iMac 2019:老機器。

Macbook Air M2:原本的工作機。

Tailscale:基本個人使用免費。

Syncthing:完全免費。

AI 相關工具:

Ollama / qwen 地端模型:免費。但我主要只用 3B 做和 7B,再大的我電腦和雲端都跑不動。

VSCodium:免費。

Google AI Studio 和 Google Antigravity:我原本就有這個方案,所以每個月有免費的一點點額度可以使用,目前看起來搭配上一個章節的用法還算堪用。

Obsidian:免費。

Möbius Sync Pro:為了讓 iPhone 上可以透過 Syncthing 加入同步,這好像是目前唯一有付錢的地方(150元台幣)。

心得:沒有規範的自由不是真正的自由

這樣講可能很得罪人,而且我也知道目前我的這種規劃方式,無法發揮 Openclaw 的去中心化超能力,小龍蝦能自動進化的幅度緩慢有限,不是那種給它一些想法,它第二天就給你全世界那種用法 XD

我應該算是人機協作當中的保守派,知道世界可能會往這個方向前進,但還是希望在其中有我自己能參與的部分,不希望全部都被 AI 做好,而我只看到結果,卻不知道中間是怎麼規劃與執行。透過憲法式治理架構、清晰的責任分離與資料生命週期控制,我能把原本可能失控的系統,變成可管理、可審計、可恢復的 AI 平台。

另外我已經快六十歲了,腦力和反應都跟不上,常常在這些 AI 協作過程的錯誤當中滿挫折的,但我同時也很期待與興奮能夠學習這些,希望這篇文章能讓大家在自己的 AI 旅程中少走一些彎路。


⚠️ 安全與治理警示:OpenClaw 的本質與風險

OpenClaw 並非一般聊天機器人,它是一個能在本地運行、執行 shell、存取檔案、連結通訊工具的 AI agent,這種「自主執行本地任務」能力使它非常強大,但也帶來安全風險。

常見風險包括:

  • 社群技能包含惡意指令或惡意程式碼(類似套件惡意安裝)

  • 錯誤的權限可能導致敏感資料洩露(API 金鑰、憑證等)

  • 本地執行代理若暴露在網路上可能成為入侵入口





留言

這個網誌中的熱門文章

關於閱星曈 XTEINK 這款超便攜電子紙,掌握型電子紙書小玩意

話說今年初在小紅書上看到 「星曈-超便攜電子紙」 的帳號,在講他們正在 DIY 掌握型電子紙書的歷程,覺得挺有意思的,從硬體的規劃到電子紙的選擇與電池的搭配,後來他們決定眾籌小量的真正做出一台掌握型電子紙書販售,這我就坐不住了,馬上聯繫了「星曈-超便攜電子紙」的版主,想說是否我們台灣這邊的電子紙愛好者也可以購買。在聯繫過中,才發現原來 FB 上的 電子書閱讀器討論區版主秋雁 也是第一時間聯繫對方,所以我們倆就手牽手(並沒有)的一起買了。 這整個眾籌的過程真的很像是一起參與創業的感覺,幾乎每天都看到星曈在小紅書上更新進度,他們遇到了什麼困難,怎麼直面解決等,而且首批的價格非常實惠,其實我都不知道星曈他們到底是否能堅持到底,畢竟「量產實作」這條路非常不容易。在和星曈的聊天過程中,知道他過去可是在中國曾經創辦過知名的事業,雖然後來因為大環境改變而退出市場,但同為曾經的創業者,我一直相信也期待他們成功。 終於在最近拿到了「星曈-超便攜電子紙」的 Founders Edition ,包裝的質感很不錯,超便攜電子紙本人更是優雅出眾,不過因為它的使用方式需要一點技巧,所以寫了這篇簡單的教學,希望對新手有一些幫助。 拿到手的第一件重要事:系統升級 星曈他們這次很有誠意的也提供了繁體中文介面,但需要升級後才能使用,所以我們先來了解一下如何最無痛升級。 「星曈-超便攜電子紙」內建的網絡使用「XT-EPD」,當然你之後可以自己更換其他想使用的網路基地台登入,但這需要一點技巧,對於大多數使用者來說是有理解上的難度,所以星曈建議使用最無腦的連接升級方式。 1. 拿出你的手機(以下用 iPhone 為例說明),將手機「設定」下「關於本機」裡的名稱先改為 XT-PED,升級之後再改回你原本使用的名稱即可。 2. 將手機「設定」下「個人設點」裡的密碼先改為 12345678(這是 超便攜電子紙的 XT-EPD 內定密碼),這裡有一個要提醒的事情,下面有個「最大化相容性」,要開啟。 3. 在 超便攜電子紙 這邊選擇「系統升級」,你的兩個設備就應該會自動開始 WIFI 連接,並問你是否要升級更新,就勇敢的點下去吧。 4. 在升級過程中,會看到一些補充說明,一方面你應該會看到進度百分比慢慢的上升,但假如你發現這個百分比數字停滯很久,也別擔心,將機子右下角的 reset 鍵按下去,再點擊機子右下角...

「分享」我的 Kindle 3 Graphite 初體驗 3G / Wifi 版本

總之,我買了一台 Kindle 3 XD Kindle Wireless 3G/Wifi - $189.00 Shipped via DHL International - $20.98 Import Fees Deposit: - $10.65 Total: - $220.63 2010/10/30 update : 剛 Amazon通知因為 Export fee reduced , 所以 $10.65 會完全退回 :D 很快的講一下我晚上的測試: 1. 因為我原本在 Amazon 上面的帳號是台灣的地址,所以購買的時候沒有送 Power 線,聽說有大大直接寫信和 Amazon 的客服要求應該要附線,不過我下訂單的時候比較早,就沒有做這件事,也因此我得到的只有一條 USB 線 2. 我原有的台灣帳號購買書籍,會需要額外支付 2 美金的費用 3. 自行灌入的繁簡體中文 PDF 檔案,都可以正常觀看無誤,載入速度也還不錯(檔案約 90 頁) 4. 中文檔名有些會漏字,但內文 OK , 和繁簡體好像沒有直接關係 5. txt 純文字檔的中文偶而會有漏字 6. 可以直接透過 3G 上網無誤(非常爽) 7. 繁體中文的網站觀看無誤,測試網站包括了雅虎繁體中文網站、無名小站等 8. 簡體中文的網站偶而會有漏字,但大體上無誤,測試網站包括了新浪網等 9. 某些特殊網站也可以用,例如 Google Map 台灣美食地圖、Plurk mobile 網頁 10. 可以一面聽音樂一面閱讀 11. 內建的兩套牛津字典還不錯用,不算陽春 12. Text to speech 的功能只支援英文,包括了自己輸入的 txt 檔(PDF 不支援) 下面是一些螢幕截圖: 中文 PDF 沒問題 PDF 漫畫當然也沒問題 Plurk Mobile 版本正常 新浪娛樂頻道簡體網站,內容正常,標題可能漏字 Google Map 台灣地圖正常,但有點難按 Yahoo 奇摩繁體中文網頁正常 無名小站繁體中文正常 Google 新聞網站沒問題 簡體中文內容的 PDF 檔案正常 後續更新中: 感謝林兄之前的努力,小梅子測試在 Kindle 3 中也可以自行安裝「 21世紀英漢詞典 」,贊啦! 延伸閱讀: Kindle 3 的幾個快速鍵、...

「分享」Mac / iPhone 上的廣播電台軟體 FStream - 廣播列表更新 2009/9/19

小梅子在蘋果電腦上面最喜歡用的小功能之一,就是可以透過電腦聆聽廣播電台,以前我常用 Hinet Sucks! Radio Widget ,這是個絕頂好物,可以隱藏在背景默默忠實的播放廣播音樂,但因為 Hinet 常常更改他們的線上廣播規則,所以搞的原作者疲於奔命,有時候就會聽不到音樂。 後來小梅子使用了另一個工具 FStream ,這也是一個可以讓你在 Mac OSX 上聽廣播的好東西,並且它可以讓你自由編輯廣播電台目錄,也支援 iTunes 的廣播列表(這真的很方便),還支援錄音功能喔!所以小梅子這陣子每天都在用 FStream 聽佳音廣播電台,很開心。 FStream 的介紹網路上已經很多了,它也有 iPhone 版本,所以只要你的 iPhone 可以3G上網,理論上就可以開心的聽廣播囉。 因為介紹已經很多,所以小梅子這裡要分享的是:廣播節目清單 XD FStream 不像 Hinet Sucks! Radio Widget 內建好了一狗票廣播節目清單,得自己一一輸入,這說起來也是滿麻煩的,我看了一下網路上的教學,覺得要一個個輸入實在不是人幹的事情,所以小梅子比對了一下資料結構,搞了一個「 台灣+香港 常用廣播電台節目表 」,所以你只要下載了 FStream ,再輸入(Import) 這個節目表就會有現成的一狗票節目了,也不用去改檔案夾目錄什麼的。 首先開啟 FStream 中的 Stream Manager 功能,預備輸入清單。 在 Stream Manager 的右下角,有一個「Import」按鈕,點下去預備輸入檔案 下載小梅子整理好的檔案,直接輸入囉,下載後直接放在桌面上就可以了,不用特別去選定目錄。 噹噹噹,這時候你應該會看到三個目錄,包括台灣、香港,還有一個 ... 沒成功過 XD,這個沒成功的列表是過去曾經用過,但現在沒有列在 Hinet Free 廣播清單中,或許以後可以用。 上面的清單中,小梅子其實也沒有一一測試過啦,大夥可以自己試試,若是還有不能連線的電台,你也可以自己手動搬移到「沒成功過」這個列表 :P PS : Hinet 又更新了廣播位置,小梅子今天 (4/15)也更新了這個目錄,順手又多加了一些電台,目前使用正常,歡迎大家一起聽廣播音樂 ^_^ ps : 2009/09/19 更新 這兩天發現 Fstream 又忽然不能聽了,但這次的狀...