Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Your agent's favorite harness, built on Pydantic AI
| Date | Stars |
|---|---|
| 2026-07-31 | 720 |
| 2026-08-04 | 734 |
| 2026-08-06 | 734 |
| 2026-08-13 | 766 |
| 2026-08-18 | 777 |
| 2026-08-19 | 787 |
| 2026-08-20 | 794 |
| 2026-08-21 | 799 |
| 2026-08-22 | 801 |
| 2026-08-23 | 803 |
| 2026-08-24 | 809 |
| 2026-08-25 | 817 |
| 2026-08-26 | 821 |
| 2026-08-27 | 826 |
| 2026-08-28 | 828 |
| 2026-08-29 | 834 |
| 2026-08-30 | 840 |
| 2026-08-31 | 841 |
| 2026-09-01 | 846 |
| 2026-09-02 | 849 |
| 2026-09-03 | 853 |
| 2026-09-04 | 855 |
| 2026-09-05 | 856 |
| 2026-09-06 | 857 |
| 2026-09-07 | 859 |
| 2026-09-08 | 864 |
| 2026-09-09 | 872 |
| 2026-09-10 | 875 |
| 2026-09-11 | 878 |
| 2026-09-12 | 883 |
| 2026-09-13 | 887 |
| 2026-09-14 | 890 |
| 2026-09-15 | 892 |
| 2026-09-16 | 894 |
| 2026-09-17 | 895 |
| 2026-09-18 | 901 |
| 2026-09-19 | 903 |
| 2026-09-20 | 906 |
Today
+3 stars today
This week
+19 stars this week
This month
+107 stars this month
Momentum
136.0
growth rate 2.14%/day
# Pydantic AI Harness
[](https://github.com/pydantic/pydantic-ai-harness/actions/workflows/main.yml?query=branch%3Amain)
[](https://pypi.python.org/pypi/pydantic-ai-harness)
[](https://github.com/pydantic/pydantic-ai-harness)
[](https://github.com/pydantic/pydantic-ai-harness/blob/main/LICENSE)
[](https://logfire.pydantic.dev/docs/join-slack/)
**Your agent's favorite harness, built on Pydantic AI**
---
**Pydantic AI Harness** is the official [capability](https://ai.pydantic.dev/capabilities/overview/) and harness library for [Pydantic AI](https://ai.pydantic.dev/). Every Pydantic AI agent already has a light harness: the typed agent loop, [any model](https://ai.pydantic.dev/models/), your own tools, structured output. For simple agents that's enough. But set an agent loose on complex, long-running work (fix a codebase, research a question, run for hours unattended) and what it needs around the model grows: a [workspace](pydantic_ai_harness/filesystem/) to act in, a [plan](pydantic_ai_harness/planning/) it keeps current, [memory](pydantic_ai_harness/memory/) that carries across sessions, [sub-agents](pydantic_ai_harness/subagents/) to hand work to, [context management](pydantic_ai_harness/compaction/) that holds up in hour ten, and [durable execution](https://ai.pydantic.dev/capabilities/durable_execution/overview/) that survives a restart. **Pydantic AI Harness** ships that harness.
Everything here is one primitive: a [capability](https://ai.pydantic.dev/capabilities/), a self-contained unit of agent behavior you add to `capabilities=[...]` on any agent. There are [30+ of them](#capabilities), and complete agents like [Coder](pydantic_ai_harness/coder/) and [Researcher](pydantic_ai_harness/researcher/) are themselves capabilities combined: they come apart the way they went together. Snap on a single block, compose your own stack, or start from the whole coding agent and take it apart later.
## Quick start
Install with [`uv`](https://docs.astral.sh/uv/):
uv:
```bash
uv add "pydantic-ai-harness[anthropic]"
```
pip:
```bash
pip install "pydantic-ai-harness[anthropic]"
```
```python
from pydantic_ai import Agent
from pydantic_ai_harness import Coder
agent = Agent('anthropic:claude-fable-5', capabilities=[Coder()])
result = agent.run_sync('Find out why tests/test_parser.py fails and fix the bug it caught.')
print(result.output)
#> Found it: `parse()` returned None on empty input instead of raising. Fixed in src/parser.py; tests pass now.
```
That's a complete [coding agent](pydantic_ai_harness/coder/): [workspace-rooted file access](pydantic_ai_harness/filesystem/), [allowlisted shell](pydantic_ai_harness/shell/), [repo orientation](pydantic_ai_harness/repo_context/), [planning](pydantic_ai_harness/planning/), a read-only [explorer sub-agent](pydantic_ai_harness/subagents/), and [context management](pydantic_ai_harness/compaction/) that survives long sessions, and it runs anywhere a Pydantic AI agent runs. [`agent.to_cli_sync()`](https://ai.pydantic.dev/cli/) opens it as a chat in your terminal, [`agent.to_web()`](https://ai.pydantic.dev/web/) in the browser, and [`Coder`](pydantic_ai_harness/coder/)'s exported `coder_agent` runs without writing a file at all, combined with [`clai`](https://ai.pydantic.dev/cli/) (the Pydantic AI CLI) and [`uvx`](https://docs.astral.sh/uv/guides/tools/):
```bash
uvx --with pydantic-ai-harness clai -a pydantic_ai_harness.coder:coder_agent -m anthropic:claude-fable-5
```
Every model works: swap the string for [any provider's](https://ai.pydantic.dev/models/). Need more? Add capabilities to tExcerpt of 25,579 characters
Read on GitHubDavid SF · alecs
56
34
Aditya Vardhan · @pydantic · India
30
Bill Easton
11
Kacper Włodarczyk · vstorm-co · Poland
7
David Montague · Pydantic · Malta
6
2
Marcelo Trylesinski · @pydantic · Netherlands
2
2
King Star · Xin Era LLC.
1
Victorien · @pydantic · Netherlands
1
1
1
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:2ca61781a6b53d52, desc:ai agent