finds.dev

andrewyng/aisuite

Simple, unified interface to multiple Generative AI providers

View on GitHub

★ 14,971PythonMITupdated Jul 2026

// the take

aisuite is a thin Python abstraction that normalizes the chat completions API across 20+ LLM providers behind an OpenAI-shaped interface. It has grown to include an agents layer with tool calling, MCP support, and a full desktop app (OpenWorker). Primarily useful if you're writing code that needs to swap between providers without touching call sites.

The provider:model string convention (`anthropic:claude-sonnet-4-6`) is clean and keeps routing logic out of your application code. The auto-generated tool schemas from plain Python functions with docstrings is genuinely useful — you don't have to write JSON schemas by hand. MCP support via a simple dict config is a nice addition that most equivalent libraries don't have. The provider adapter pattern is simple enough that adding a new provider is a one-file job.

The abstraction leaks badly at the edges: streaming tool calls can't be combined with `max_turns`, and provider-specific features (structured output, prompt caching, extended thinking) have no path through the unified API — you'd drop down to the raw SDK anyway. The repo has grown in three directions at once (chat API, agents framework, desktop app) without a clear story for what the core library actually is; the README spends as much time on OpenWorker as on the Python package. The state store and artifact system in the agents layer are thin enough that you'll outgrow them quickly in any production workload — Postgres state store is one file with no connection pooling. Testing is almost entirely against mocks, so cross-provider behavioral differences aren't caught until you hit them in production.

We read the README, the directory tree and a key source file in July 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
14,971
Forks
1,585
Language
Python
License
MIT
Last commit
21 Jul 2026

// nearby

If aisuite isn't quite it.

All repos →