專案隔離
這是什麼
按專案或角色區分檔案、工作階段和指令。
白話解釋
想像兩個搬運團隊在同一条街上的兩棟相似房屋卸貨:如果一個團隊只記得「我們上次卸在哪裡」而不是檢查當前的工作單,箱子就會被放到錯誤的房子裡。Hermes 為每個活躍的工作階段保留一張工作單,因此檔案寫入會落在當前正在處理的專案中,而不是共享終端上次造訪的那個專案。
為什麼重要
一個專案工作階段中的檔案寫入絕不應該落到另一個專案的目錄中,客戶的資料也絕不應該洩漏到不相關的上下文中——專案隔離透過工作階段和限定的檔案存取來強制執行這一點,而不是依賴於謹慎的提示。隨著一個 Hermes 安裝上活躍專案數量的增長,這一點變得更加重要;沒有它,即使有成本控制與核准邊界,仍然存在著不應互相接觸的上下文之間交叉污染的實際風險。對於 VPS 操作者來說,同時運行多個專案時這通常是最需要先處理好的事情之一。
運作方式
每個相對檔案路徑都會錨定到每個任務的工作區根目錄,而不是 Python 程序自身的目錄(tools/file_tools.py):Hermes 首先檢查即時終端的當前目錄,然後是已註冊的工作階段覆蓋值,然後是記錄的工作樹路徑,最後才回退到程序的工作目錄。如果寫入仍然會解析到該根目錄之外,Hermes 仍然會執行寫入,但會附加一個警告,說明它實際寫入的絕對路徑,以便偏差顯示在工具結果中,而不是在未被注意的情況下通過。第二層防護(agent/file_safety.py)將寫入分類為幾種危險類別。