Skip to main content

agentseed

Minimal pluggable LLM agent server: FastAPI + Pydantic AI with swappable providers (AWS Bedrock, OpenAI, Anthropic, Groq, Ollama) behind one async interface.

Quick Start

uv sync

# Configure a provider (bedrock is the default)
export AWS_PROFILE=my-profile          # Bedrock (SSO)
export AWS_REGION=ap-southeast-2       # Bedrock
aws sso login --profile my-profile
# export CHAT_SERVICE=openai|anthropic|groq|ollama   # override provider
export OPENAI_API_KEY=sk-...           # OpenAI
export ANTHROPIC_API_KEY=sk-ant-...    # Anthropic
export GROQ_API_KEY=gsk_...            # Groq

uv run agentseed
# http://localhost:8000

uv run agentseed check             # which providers are live?

Endpoints

  • GET / — chat UI (agentseed/index.html)
  • GET /health — liveness
  • GET /providers/status[?service=&all_models=] — live-probe providers (a few tokens each)
  • GET /config — default provider/model, availability, and all selectable models pairs
  • POST /agent/chat[?service=&model=] — native Pydantic AI message history (ModelMessage JSON arrays); optional query params pick a pair from models.json

Frontend

The chat UI is a single file, agentseed/index.html, based on the one-page app template from onepageapp. FastAPI serves it at /. It loads Vue 3, Bootstrap, marked and pug from CDNs, so there is no build step: edit the file and reload the page.

It keeps the conversation in localStorage as Pydantic AI ModelMessage JSON, and has a provider/model dropdown fed by /config. Providers that failed the startup probe are shown disabled, with the error on hover.

Layout

  • agentseed/providers.py — Pydantic AI model/embedding builders, CHAT_SERVICE selection (default bedrock), and get_aws_config
  • agentseed/server.py — FastAPI app (/, /health, /config, /agent/chat) and the Pydantic AI agent builder
  • agentseed/cli.py — agentseed (serve, default) and agentseed check (cyclopts + uvicorn)
  • agentseed/logger.py — Rich logging setup
  • agentseed/models.json — selectable chat and embedding models
  • agentseed/index.html — single-file chat UI (Vue 3 + Bootstrap via CDN)
  • tests/ — offline tests for the chat endpoint

Checking providers

agentseed check sends each provider's default model a one-word prompt (capped at 16 output tokens) and prints a table of live/failed providers with latency and the error. It exits non-zero if any probe fails.

uv run agentseed check                 # default model of every provider
uv run agentseed check anthropic groq  # only these providers
uv run agentseed check --all           # every model in models.json

The same probe is available at GET /providers/status.

Tests

uv run pytest

Metadata

Release files for agentseed 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agentseed 0.1.0
File Size Uploaded
agentseed-0.1.0.tar.gz 118.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agentseed 0.1.0
File Interpreter ABI Platform
agentseed-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 138.9 kB

Release files / agentseed-0.1.0.tar.gz

Download URL agentseed-0.1.0.tar.gz
Size 118.6 kB
Tags Source
SHA-256 checksum
How to use checksums
74fdcfb86a285b30d7f5f1f4024e4d33aefaf706e710c9334821816219d60d61
BLAKE2b-256 checksum
How to use checksums
48f09b2db4e95c55dfd9f290a6e426df081ef1b2f84dfc88b070ed58d5cca719
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / agentseed-0.1.0-py3-none-any.whl

Download URL agentseed-0.1.0-py3-none-any.whl
Size 20.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ba6032283dc67bb56315d2f0c5c815023afe4464cdb0d76239b9599738190917
BLAKE2b-256 checksum
How to use checksums
7526d3c6430cef3a7964386e5300b463751d4e0a0ee9b668aed5b9361b1a88b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page