What’s new here
Overmind connects trace collection, dataset curation, fine-tuning and model serving into one platform. OpenTelemetry traces come in from your agent, get scored by evaluators you define, flow into versioned datasets, trigger fine-tunes on Modal workers, and the resulting model lands on an OpenAI-compatible endpoint. The whole path is driven from a CLI, a REST API, or an MCP server you attach to Cursor, Claude Code, OpenCode or Codex.
What it does
Overmind scans your agent’s repo and builds a capability graph: prompts, tools and tasks. From there:
- Observability. The SDK instruments your LLM calls over OpenTelemetry. Traces are scored as they arrive and matched to the capability that produced them. Existing traces from Langfuse, LangSmith, Braintrust or Galileo can sync via connectors.
- Datasets. Scored traces become versioned eval and training datasets. A dataset agent helps clean and curate them.
- Evals. You define what “good” means per capability. Evaluators run on live traces and in batch.
- Optimisers. Prompt, tool and control-flow experiments run against your repo; the winning variant comes back as a git diff.
- Training. Fine-tunes run on Modal workers against your datasets. Checkpoints go to S3. You can download, retrain or roll back the weights.
- Inference. Trained and frontier models are served on one OpenAI-compatible API.
Who it’s for
Teams running agents in production who want to improve model quality without building their own ML infrastructure. The SDK is MIT-licensed and safe to add to any project; the platform behind it is AGPL-3.0 with a self-host path and a commercial licence option for different terms.
Try it
The SDK and CLI are MIT. Install them with:
pip install overmindFor self-hosting, you need Docker, plus API keys for OpenRouter, Modal, AWS S3 and Hugging Face before the API will start:
git clone https://github.com/overmind-core/overmind.git && cd overmind
cp .env.example .env # set the required keys below
docker compose up -d # Postgres, Redis, API on :8000, Console on :5173, Celery workers, beat, Grafana on :3001On first boot the API runs migrations and seeds the built-in evaluators; Swagger is at /api/docs/. Sign in at http://localhost:5173 with any email and password. Load a demo workspace with:
docker compose exec api python manage.py seed_demo --owner <your email>To send a first trace from your own agent:
pip install "overmind[tracing]"
export OVERMIND_API_KEY=ovr_… # project key from Console → Settings; add OVERMIND_API_URL for self-hostimport overmind
overmind.init(
service_name="support-agent", capability_id="<capability-uuid>", providers="auto"
)
@overmind.tool()
def search(query: str) -> list[dict]: ...
def handle(request: dict, session_id: str) -> dict:
with overmind.run(
"support-run", intent=request["question"], conversation_id=session_id
) as run:
answer = agent(request)
run.deliver(answer) # the final output that gets scored
return answerproviders="auto" instruments the LLM SDKs you already use. Without a key, tracing is silently off.
How mature is it
616 stars, 58 forks, 9 contributors. Six releases since March 2026; latest is v0.1.3 (2026-10-07). 81 commits in the last 90 days. 2 open issues, 3 open PRs. Licensed AGPL-3.0 (platform) and MIT (SDK/CLI). Last push 2026-10-11.