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 库导入,用于驱动自定义前端。
相关
- 项目
- 项目
- 项目
- 项目
- 项目