工具註冊表
這是什麼
集中保存工具資料結構、處理函式、可用性檢查與工具集歸屬的註冊機制。
白話解釋
想像醫院的值班表:每位專科醫師旁都列出負責領域、聯絡方式,以及目前是否值班。工具註冊表就是 Hermes 的值班表,集中保存工具說明、執行程式與目前是否可用的規則;工具宣告仍分散在各自模組中,由模組載入時登記進來。
為什麼重要
工具宣告分散於各工具模組,模組載入時呼叫 registry.register();tools/registry.py 則提供中央 ToolRegistry,保存這些項目並篩選可用性。對話輪次上下文會查詢最後形成的註冊表,決定模型能看到哪些工具,因此某項宣告可以存在於自己的模組中,卻因 check_fn 失敗而暫時不可用。
運作方式
每個工具檔案在匯入時,會為其定義的每項工具呼叫一次 registry.register(),傳入名稱、資料結構、處理函式、工具集標籤,以及選用的 check_fn;中央實作位於 tools/registry.py。可用性檢查結果會快取約 30 秒,避免每輪反覆存取 Docker 或檔案系統;另有 60 秒寬限期處理短暫故障:若檢查在上次成功後不久失敗,會先沿用最後一次「可用」結果,只有持續超過寬限期的失敗才會被快取並生效。代理要求工具清單時,get_definitions() 會走訪所需名稱、略過檢查失敗項目,回傳 OpenAI 格式的資料結構,並在送出前套用委派限制等最後描述覆寫。
具體範例
開發者發現程式代理突然無法執行命令列指令,先查看 hermes tools,確認 terminal 仍標示為已啟用。背後原因是 Docker 背景服務忙碌,導致 terminal 需求檢查失敗;失敗持續到寬限期之外後,被快取 30 秒。下一輪檢查恢復成功,terminal 便重新出現在模型可用工具清單中,無需修改任何設定。
如何連結
「工具註冊表」屬於「工具」系列。最直接相關的概念包括:「影片生成」、「工具集」、「代理執行環境」、「個人作業系統」。這些連結描述教學關係,不取代來源證據。
來源證據
tools/registry.py#tools.registry.ToolRegistry— 已驗證的精確符號對應;此錨點已對照釘選 commit。
工作流程
- 目前尚無第一輪工作流程對應;此概念仍透過文章與來源證據出現在知識庫圖譜中。
相關文章
- 目前沒有文章以足夠頻率直接提及此概念名稱或別名,尚未達到提及探勘門檻。
