介面

對話

獨立的對話/工作容器,保持專案和上下文彼此獨立。

概念專屬圖版對話hx-graph-context-concept-sessions正在載入視覺預覽…
以原始尺寸檢視

對話

這是什麼

彼此獨立的對話與工作容器,讓不同專案的上下文、歷史和產出互不混雜。

白話解釋

把每段對話想成共用置物間裡的一個獨立置物櫃,而不是所有東西都丟進同一個大箱子:每個櫃子都有自己的鎖、內容和持續累積的紀錄,即使它們都位於同一面牆上。Hermes 的工作階段就是這樣的邊界,會把某個專案的來回訊息、成本統計與歷史和其他專案隔開。

為什麼重要

在結構上,避免不同專案的對話互相滲漏正是工作階段要解決的問題:每個工作階段都有自己的歷史、成品產出與狀態。專案隔離在實作上也依賴這項邊界;若沒有分開的工作階段,只能靠操作者自律,無法由執行環境強制防止客戶資料進入無關專案的上下文。代理團隊委派與看板執行也會刻意指定工作階段,因為子代理在哪個工作階段工作,會直接決定它繼承哪些上下文。

運作方式

工作階段以資料列形式保存在 SQLite 資料庫 state.db,由 hermes_state.pySessionDB 管理;欄位包含工作目錄、模型、累積 token 與金額成本、選用的 parent_session_id,以及預設用來取代直接刪除的封存旗標。儀表板透過 hermes_cli/web_server.py(位於 hermes_cli,檔名為 web_server.py)提供 REST API:GET /api/sessions/{session_id} 取得單一工作階段,GET /api/sessions/{session_id}/messages 分頁讀取對話記錄,PATCH 可重新命名或封存,DELETE 則會真正移除;這些操作會先把簡短或部分 ID 解析成資料庫中的完整 ID。API 還可透過選用的設定檔查詢參數存取另一個設定檔自己的 state.db,因為每個設定檔都有完全分開的工作階段儲存區。

具體範例

使用者同時以 Hermes 處理客戶 API 整合除錯與私人旅行規劃,兩項工作各自使用獨立工作階段,因此切換時會換入完全不同的訊息歷史和成本總額。除錯工作階段分支成深入調查時,新工作階段會把原工作階段記為上層,日後仍可追溯來源。把旅行工作階段改名為「葡萄牙之旅」不會影響除錯工作;封存完成的除錯工作階段也只會將它隱藏,資料列與訊息仍然保留。

如何連結

「對話」屬於「介面」系列。最直接相關的概念包括:「設定檔」、「成品產出」、「代理執行環境」、「個人作業系統」。這些連結描述教學關係,不取代來源證據。

來源證據

  • route:DELETE:/api/sessions/{session_id} — 此基準關聯未納入核准的核心原始碼投影驗證範圍,不能單獨作為已驗證程式行為的依據;上文另依釘選版本來源人工核對。

工作流程

相關文章

相關筆記