@geekbb: Hugging Face 出的极简智能体,手把手教你从零造一个属于自己的 coding agent。学习写 agent 的入门玩具。 https://github.com/huggingface/tau
Summary
Hugging Face releases Tau, a simple terminal-based coding agent designed as a teaching tool to help developers learn how to build their own coding agents from scratch.
View Cached Full Text
Cached at: 07/09/26, 11:42 AM
Hugging Face 出的极简智能体,手把手教你从零造一个属于自己的 coding agent。学习写 agent 的入门玩具。
https://t.co/7nBeX7B2DE https://t.co/lfSqRk2ZLN
huggingface/tau
Source: https://github.com/huggingface/tau
A small, readable terminal coding agent — and a working example of how coding agents are built.
Documentation · Quickstart · Architecture · PyPI · Roadmap
What is Tau?
Tau is a coding agent that lives in your terminal. You type requests like “explain this repo”, “add tests”, or “fix this stack trace”; Tau can read files, edit code, run commands, and keep a durable session history while streaming what it is doing.
Tau is also meant to be read. It is a teaching project for understanding the shape of a coding-agent system without starting from a giant production codebase.
tau_coding → tau_agent → tau_ai
tau_aitranslates model providers into Tau’s provider-neutral stream.tau_agentowns the portable brain: messages, tools, events, loop, harness, and session primitives.tau_codingwraps the brain as a real coding app: CLI, TUI, file/shell tools, provider config, project instructions, skills, and on-disk sessions.
The important boundary is:
AgentHarness = reusable brain
CodingSession = coding-agent environment
TUI = one possible frontend
The core does not know about Textual, Rich, local config paths, slash commands, or rendering. Frontends consume events.
Install
Tau is published on PyPI as tau-ai and installs a tau command.
It requires Python 3.12 or newer.
uv tool install tau-ai
tau --version
Don’t have uv? Install with pipx or pip instead:
pipx install tau-ai
# or
python -m pip install tau-ai
If you prefer uv, install it with:
curl -LsSf https://astral.sh/uv/install.sh | sh
For local development:
git clone https://github.com/alejandro-ao/tau.git
cd tau
uv sync --dev
uv run tau --version
Quickstart
Run Tau from the project you want it to work on:
cd my-project
tau
Then type a request and press Enter:
explain what this project does
One-shot print mode is useful for scripts and quick prompts:
tau -p "summarize the architecture"
tau --cwd /path/to/project -p "find the CLI entry point"
Tau needs a model provider. Start Tau and connect one with /login:
tau
/login
/login openai
/login openai-codex
/model
Tau ships with support for OpenAI, Anthropic, OpenAI Codex subscription auth, OpenRouter, Hugging Face, and custom OpenAI-compatible endpoints, including local models. See the providers guide.
The built-in catalog lives in src/tau_coding/data/catalog.toml; add your own
providers and models by dropping a ~/.tau/catalog.toml with the same schema —
no code changes required.
What Tau can do
- Interactive Textual TUI and non-interactive print mode.
- Built-in coding tools:
read,write,edit, andbash. - Durable JSONL sessions under
~/.tau/sessions/with resume and branching. - Slash commands for login, model selection, sessions, compaction, export, theme, and more.
- Project instructions from
AGENTS.md,.tau/, and.agents/resources. - User skills and prompt templates.
- Context accounting, manual compaction, and optional automatic compaction.
- Provider-neutral event rendering for Rich, plain text, JSON, transcripts, and custom frontends.
Philosophy
Tau follows a few rules:
- Small layers beat magic. Each package has one job and can be read alone.
- Events are the contract. Providers, renderers, the TUI, and custom frontends meet at a typed event stream.
- The core stays portable. The reusable harness does not depend on the CLI, Textual, Rich, or Tau’s file layout.
- Tools are ordinary typed functions. A tool is a schema plus an async executor returning a structured result.
- Sessions are durable and inspectable. History is append-only JSONL; active context can be compacted without rewriting the record.
- Documentation follows implementation. The public docs explain the result;
dev-notes/preserves the phase-by-phase build journal.
Use Tau as a library
from tau_agent import AgentHarness, AgentHarnessConfig
harness = AgentHarness(
AgentHarnessConfig(
provider=provider,
model="my-model",
system="You are a helpful coding agent.",
tools=tools,
)
)
async for event in harness.prompt("Explain this package"):
print(event)
Because the harness emits events instead of rendering UI directly, the same core can drive the built-in TUI, print mode, or a frontend you build yourself.
Development
See CONTRIBUTING.md for project philosophy, layer boundaries, testing expectations, and pull request guidelines.
uv sync --dev
uv run pytest
uv run ruff check .
uv run ruff format --check .
uv run mypy
Run Tau from the checkout:
uv run tau
uv run tau -p "explain this repo"
Run the Hugo documentation site:
cd website
hugo server -D
Open http://localhost:1313/. Build with hugo --minify.
Documentation
User docs are published at https://twotimespi.dev/ and live in
website/content/.
Useful entry points:
Tau is under active development. The implementation roadmap is tracked in GitHub issue #1.
License
Tau is released under the MIT License.
Similar Articles
Tau (GitHub Repo)
Tau is a terminal-based coding agent developed by Hugging Face, designed to assist with tasks like explaining code, adding tests, and fixing errors, while also serving as a teaching project for understanding coding-agent systems.
@XAMTO_AI: Want to write a coding agent yourself? You've read plenty of articles about the principles, but you get stuck at the first line when you actually start. Recently I found the Chinese tutorial *Hands-On Pi*, which starts with a real offline agent log and takes you through all 15 levels from the beginning. Truly build a complete coding agent from scratch—every step has runnable code...
Introduces the Chinese tutorial *Hands-On Pi*, covering the step-by-step implementation of a Pi-style coding agent from scratch through 15 runnable checkpoints, including protocols, tool loops, conversation tree storage, context compression, and evaluation. Each chapter comes with the main text, a corresponding commit, tests, and failure experiments.
@_alejandroao: introducing tau τ — an educational agent harness that teaches you how to build agent harnesses i will be publishing tut…
Tau is an educational Python coding agent that teaches you how to build agent harnesses, with transparent architecture and tutorials.
@cellinlab: Scrolling through my timeline, I saw several recommendations for Pi Agent. I asked Codex to help me learn it, and created a step-by-step tutorial: Pi Agent Principles and Implementation: Build an AI Agent from Scratch. Online learning: https://how-pi-agent-works.vercel…
The author published a step-by-step tutorial on implementing Pi Agent from scratch, including concept explanations and a runnable example project.
@FakeMaidenMaker: If you really want to understand how the underlying of AI Agents like Claude Code is built, this open-source project writes one from scratch for you to see. GitHub has garnered 66.5K Stars, and also made it to the Trendshift hot list. The intelligence of an Agent comes from the model itself; what you can do is not "building intelligence"...
An open-source project teaches you to build a simplified version of Claude Code from scratch, thoroughly explaining the harness engineering of AI Agents. It has received 66.5K Stars.