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

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目