同時用個人 Claude、公司 Claude 和 Codex 之後,我一開始根本不考慮維護三套設定。
我的直覺是:第一個 Claude 帳號已經調好的全域規則、Skills、MCP、Plugin 和 Agents,其他帳號應該都直接跟著它。帳號變多,只是多了登入身分與可用額度,不該讓我重新養三個版本的 AI 工作環境。
所以我開始跟 AI 討論一個很實際的問題:要不要直接用 symlink,把每個帳號的設定資料夾連回第一個 Claude?還是乾脆把共用設定抽到外面的資料夾,讓現在三個、未來更多的 AI 帳號都指向同一個地方?
後來把問題拆開,才發現多帳號不該等於三套環境;但「全部都共用」也不是答案。
帳號不是工作方法
這三個帳號在我這裡的角色很單純:個人 Claude、公司 Claude、以及 Codex。它們處理的是登入身分、可用方案和額度;不是三個不同的工作人格。
真正希望固定下來的是另一層:Agent 是誰、怎麼分工、回覆用什麼語言、遇到專案時先讀什麼規則,以及哪些工作可以直接交給某個 Skill。
我把它分成三層:
| 層次 | 負責什麼 | 是否共用 |
|---|---|---|
| 帳號 | 登入身分、方案與額度 | 不共用 |
| runtime 設定 | Claude 或 Codex 各自的原生設定、權限語意 | 不硬合併 |
| 工作規格 | 全域規則、Skills、Agent 的角色與共享契約,以及 OpenMemory/Obsidian 等 MCP 的使用規則 | 盡量只留一份 |
這樣切完之後,切換帳號比較像換一張可以使用的門票,不是換一個新同事,也不用重新交代我平常怎麼工作。
先決定共同來源要放在哪裡
一開始有兩條路:
- 直接把第一個 Claude 帳號的設定當母體,其他帳號用 symlink 指回來。
- 在帳號設定之外另建一個共用資料夾,讓所有 runtime 都從那裡讀取。
第二條路看起來很乾淨,但要多維護一個抽象層,還要替每個工具設計怎麼接回去。以我目前的使用方式,第一條更直接:~/.claude 已經是最早調好的工作環境,就讓它成為共同來源。
個人 Claude 直接使用它;公司 Claude 與 Codex 則把真正需要共用的東西用 symlink 指回來。
~/.claude/ ← 共同來源├── CLAUDE.md ← 全域工作規則├── skills/ ← 可重複呼叫的工作流程└── agents/ ← Claude Agent 定義
~/.claude-company/├── CLAUDE.md → ~/.claude/CLAUDE.md├── skills/ → ~/.claude/skills/└── agents/ → ~/.claude/agents/
~/.codex/├── AGENTS.md → ~/.claude/CLAUDE.md└── skills/ → ~/.claude/skills/這不是為了讓資料夾看起來整齊,而是把「修改的地方」收斂成一個。以後我替 session-summary 補一條規則,或替 Agent 加一個共同的工作契約,只改共同來源;三個入口下次啟動時讀到的就是同一份內容。
這也和我在 Session is Skill:把一次 AI 任務變成下次可呼叫的 SOP 裡做的事相同:能重複使用的不是某次對話,而是被整理好的工作方式。既然工作方式是一份資產,就不該複製三份等它們慢慢漂移。
新帳號要接上的,其實是我的長期記憶
最初的願望其實是讓 Skill 跟 MCP 可以完整複製過去。因為我已經用 OpenMemory 和 Obsidian 建了一套第二大腦:一邊記住跨 session 的偏好與決策,一邊保存討論過程、文件和問題的長期紀錄。
所以新增一個 AI 帳號時,我希望它不是從零開始聊天。它應該立刻擁有同一套讀取記憶的能力:遇到需要過去脈絡的問題,就知道去查 OpenMemory;需要回看原始討論或文件時,也找得到 Obsidian 裡的紀錄。
對我來說,這樣才叫新增了一個額度。它多提供一個可以調整模型、切換用量的入口,但不需要重新認識我是誰、過去做過什麼,或我希望怎麼和 AI 合作。
但實作時不能只看資料夾名稱就整包連過去。例如 Claude 的 settings.json 和 Codex 的 config.toml 本來就不是同一種東西;權限、MCP、Plugin 的註冊方式與 runtime state 也各有自己的語意。能直接共用的設定可以收斂,必須留在原生 runtime 的設定就保留獨立,反而比較清楚。
Agent 也是同一個原則:Claude 與 Codex 可以各自用最適合自己的格式定義角色與啟動方式;但兩邊都會用到的報告格式、驗收條件或模板,放成 shared contract。共用的是工作規格,不是強迫兩個工具長得一樣。
另一個容易混淆的點是路徑。symlink 解決的是「內容由哪裡共用」;全域規則裡提到的 reference 則用絕對路徑,解決的是「不管從哪個專案啟動,這份參考資料都找得到」。兩件事分開後,帳號切換和工作目錄切換都不會把設定帶到迷路。
Git 只保護設定骨架,不收集工作痕跡
這套環境我也會放進 Git,但只追蹤設定本體、Agent 定義與 symlink。登入憑證、對話歷史、快取、資料庫檔案這些 runtime state 不該一起 commit。
原因不只是避免把敏感資料送進版本庫。這些東西也不是「重建工作環境」需要的內容;重新 clone 設定後,該回來的是規則與結構,不是某次對話或某個帳號的登入狀態。
所以多帳號環境真正要備份的,是我和 AI 如何合作的方式,而不是 AI 曾經替我記住了什麼。
切換的只是額度與 LLM
後來我很喜歡這個心智模型:帳號是可替換的登入入口,工作環境才是我長期在培養的東西。
當個人額度不適合眼前的工作,我可以換公司帳號或切到 Codex;但 Agent 的角色、寫作流程、專案進場規則還是同一套。這樣切換工具的時候,不會有「又要重新把 AI 教成我熟悉的樣子」的感覺。
三個帳號當然還是三個帳號。只是它們終於不用再各自養一個平行宇宙。