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 以及文件读写、bash 执行等特定代码工具。

前端(如 TUI 或打印模式)消费由核心生成的类型化事件流,确保逻辑与渲染分离。

适用人群

  • 希望将 AI 代码助手集成到终端中的开发者。
  • 希望通过阅读清晰、模块化的代码库来学习如何构建代理系统的工程师。

主要亮点

  • 集成的代码工具:内置文件读写、编辑和运行 bash 命令的能力。
  • 持久化会话:会话历史以追加只读的 JSONL 文件形式存储,支持恢复和分支。
  • 提供商无关:支持多种提供商,包括 OpenAI、Anthropic、OpenRouter 以及通过 OpenAI 兼容端点运行的本地模型。
  • 模块化设计:核心代理框架可作为独立的 Python 库,用于自定义前端。
  • 上下文管理:包含上下文计数工具,支持手动或自动压缩。

相关

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