@geekbb: Hugging Face 出的极简智能体,手把手教你从零造一个属于自己的 coding agent。学习写 agent 的入门玩具。 https://github.com/huggingface/tau

X AI KOLs Timeline Tools

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.

Hugging Face 出的极简智能体,手把手教你从零造一个属于自己的 coding agent。学习写 agent 的入门玩具。 https://t.co/7nBeX7B2DE https://t.co/lfSqRk2ZLN
Original Article
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

Tau — a Python coding-agent harness inspired by Pi

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_ai translates model providers into Tau’s provider-neutral stream.
  • tau_agent owns the portable brain: messages, tools, events, loop, harness, and session primitives.
  • tau_coding wraps 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, and bash.
  • 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)

TLDR AI

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...

X AI KOLs Timeline

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.

@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"...

X AI KOLs Timeline

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.