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