專案隔離
這是什麼
依專案或角色分開檔案、工作階段與指示,讓每次操作都能明確落在目前工作空間。
白話解釋
想像兩組搬家公司替同一條街上外觀相似的房子卸貨;若只記得「上次卸貨的地方」而不看目前工單,箱子就會送錯家。Hermes 為每個作用中工作階段保存工單,因此檔案會寫入目前處理的專案,而不是共享終端機上次造訪的目錄。
為什麼重要
一個專案工作階段的檔案不應悄悄寫進另一個專案,客戶資料也不能洩漏到無關上下文。專案隔離透過工作階段與限定範圍的檔案存取降低風險,而不是只靠提示要求代理小心。單一 Hermes 安裝同時處理越多專案,交叉污染風險越高;在 VPS 上平行執行多個專案時尤其需要先建立這條邊界。
運作方式
每個相對檔案路徑會以各工作自己的工作空間根目錄為基準,而不是 Python 程序本身的目錄(tools/file_tools.py)。Hermes 依序檢查即時終端機目前目錄、已註冊的工作階段覆寫路徑、記錄的 worktree 路徑,最後才退回程序 cwd。若寫入結果仍落在根目錄之外,Hermes 會執行寫入,但在工具結果附上實際絕對路徑警告,使偏離不會悄悄發生。另一道防護機制(agent/file_safety.py)會把寫入其他 Hermes 設定檔的技能、外掛程式、cron 工作或記憶分類為 cross-profile,並直接封鎖,只有明確確認 cross_profile=True 才放行。
具體範例
同一 gateway 並排執行兩個 Hermes 工作階段:客戶 A 使用 Git worktree,客戶 B 使用主檢出目錄。客戶 A 工作階段以相對路徑寫入 notes.md 時,Hermes 以 A 已註冊的工作空間解析,不受共享終端機最後造訪 B 的目錄影響。若仍落到 A 資料夾外,工具結果會警告精確絕對路徑;若目標是另一設定檔下屬於 B 的 cron 或 skills 目錄,則在確認 cross_profile=True 前直接封鎖。
如何連結
「專案隔離」屬於「營運」系列。最直接相關的概念包括:「成本控制」、「核准邊界」、「代理執行環境」、「個人作業系統」。這些連結描述教學關係,不取代來源證據。
來源證據
toolsets.py#<file>— 結構性檔案對應;只確認來源檔關聯,不推論未列出的內部行為。
工作流程
- 目前尚無第一輪工作流程對應;此概念仍透過文章與來源證據出現在知識庫圖譜中。
