huggingface/tau
A Python port of Pi’s minimalist coding agent.
What it solves
Tau is a terminal-based coding agent designed to help developers perform tasks like explaining repositories, adding tests, and fixing stack traces directly from the command line. It also serves as a teaching project to demonstrate how coding-agent systems are structured without the complexity of a massive production codebase.
How it works
Tau is built with a modular architecture divided into three layers:
- tau_ai: Handles translation between various model providers (OpenAI, Anthropic, Hugging Face, etc.) and a provider-neutral event stream.
- tau_agent: The "portable brain" containing the core logic for messages, tools, and session management.
- tau_coding: The application layer that provides the CLI, TUI, and specific coding tools like file reading, writing, and bash execution.
Frontends (like the TUI or print mode) consume a typed event stream emitted by the core, keeping the logic separate from the rendering.
Who it’s for
- Developers who want an AI coding assistant integrated into their terminal.
- Engineers interested in learning how to build agentic systems by studying a readable, modular codebase.
Highlights
- Integrated Coding Tools: Built-in capabilities to read, write, edit files, and run bash commands.
- Durable Sessions: Session history is stored as append-only JSONL files, supporting resume and branching.
- Provider Agnostic: Supports a wide range of providers including OpenAI, Anthropic, OpenRouter, and local models via OpenAI-compatible endpoints.
- Modular Design: The core agent harness can be used as a standalone Python library for custom frontends.
- Context Management: Includes tools for context accounting and manual or automatic compaction.
Related
- Project
- Project
- Project
- Project
- Project