huggingface/tau
A Python port of Pi’s minimalist coding agent.
解決的問題
Tau 提供一個輕量級、易讀的終端式程式碼代理,協助開發者直接在命令列中執行解釋程式碼庫、新增測試、修復堆疊追蹤等任務。同時也作為教育專案,展示如何建構程式碼代理系統,而不需面對龐大生產程式碼庫的複雜性。
運作方式
Tau 以三層結構設計,確保責任分明:
- tau_ai:負責將各種模型提供者(OpenAI、Anthropic、Hugging Face 等)轉換為與提供者無關的串流介面。
- tau_agent:扮演「可攜式大腦」,管理訊息、工具、事件、代理迴圈與會話原語。
- tau_coding:應用層,提供 CLI、TUI、檔案/Shell 工具以及磁碟上的會話管理。
它使用型別化事件串流,表示核心邏輯與前端(TUI 或列印模式)完全解耦。使用持久化的 JSONL 檔案儲存會話歷史,支援會話恢復與分支。
適用對象
適合希望在終端中擁有功能型程式碼助理的開發者,以及對 AI 代理內部架構感興趣的學習者。
特色亮點
- 原生終端支援:同時包含互動式 Textual TUI 與適用於腳本的非互動式列印模式。
- 內建工具:原生支援讀取、寫入、編輯檔案以及執行 bash 命令。
- 提供者無關:支援 OpenAI、Anthropic、OpenRouter、Hugging Face 及自訂的 OpenAI 相容端點。
- 持久會話:使用追加只讀的 JSONL 格式儲存會話歷史,支援手動與自動上下文壓縮。
- 可作為函式庫使用:
AgentHarness可作為 Python 函式庫匯入,用於驅動自訂前端。
相關
- 專案
- 專案
- 專案
- 專案
- 專案