API 启动前必须配齐 OPENROUTER_API_KEY、Modal token、AWS 凭证、HF_TOKEN 等必填项,缺一个就拒绝启动;微调与推理还需先用 modal deploy 部署 worker 并建好 overmind-inference secret;自托管登录用邮箱密码,需保持 Clerk 和 Stripe 密钥为空
overmind
overmind-coreAGPL-3.0活跃维护持续优化 AI Agent 的平台,集成了评测、可观测性和 LoRA 微调,帮助开发者闭环迭代 Agent 效果。
The platform for continuously improving AI agents.
git clone https://github.com/overmind-core/overmind.git && cd overmind
cp .env.example .env
docker compose up -dREADME 未说明本地显存或 GPU 型号要求;训练与推理依赖 Modal 云端 worker,自托管用 docker compose 起 Postgres、Redis、API、Console 等服务
把生产 trace 变成微调模型的 Agent 训练平台,省去自建 ML 基础设施
持续优化 AI Agent 的平台,集成了评测、可观测性和 LoRA 微调,帮助开发者闭环迭代 Agent 效果。
核心能力
- 扫描仓库生成 Agent 能力图谱(prompt、工具、任务)
- 用 OpenTelemetry 采集 trace 并按能力打分
- 把生产 trace 或上传文件做成带版本的评测与训练数据集
- 用 prompt、工具、控制流实验做优化,胜出版本以 git diff 落地
- 微调模型经评测后通过 OpenAI 兼容 API 统一服务
容易踩的坑
- v0.1.30最新正式版2026-11-06 · 2026-11-06 19:05 UTC
What's Changed
- Upgrade posthog SDK, drop browser error noise, recover Clerk load failures by @freyam in https://github.com/overmind-core/overmind/pull/313
- Fix SDK correctness, credential handling, and tracing privacy by @Tyler-Edwards in https://github.com/overmind-core/overmind/pull/309
- Enforce authorization and preserve data integrity by @Tyler-Edwards in https://github.com/overmind-core/overmind/pull/310
- Route shared-pool winners to SGLang and move serverless vLLM to 0.33.0 by @rohitgr7 in https://github.com/overmind-core/overmind/pull/314
- Roll every service together after the migration by @pritamsoni-hsr in https://github.com/overmind-core/overmind/pull/234
- Fix Console pagination, polling, and job state by @Tyler-Edwards in https://github.com/overmind-core/overmind/pull/312
- Remove local load results, reports and one-off scripts by @freyam in https://github.com/overmind-core/overmind/pull/315
Full Changelog: https://github.com/overmind-core/overmind/compare/v0.1.29...v0.1.30
- v0.1.292026-11-05 · 2026-11-05 15:28 UTC
查看更新说明
What's Changed
- Add LFM3-1.7B LoRA training and dedicated SGLang serving by @rohitgr7 in https://github.com/overmind-core/overmind/pull/296
Full Changelog: https://github.com/overmind-core/overmind/compare/v0.1.28...v0.1.29
- v0.1.282026-11-05 · 2026-11-05 02:49 UTC
查看更新说明
What's Changed
- Fix status chips overlapping sticky table headers by @Tyler-Edwards in https://github.com/overmind-core/overmind/pull/294
- Serve dedicated BF16 chat on SGLang where it won, with DFlash by @rohitgr7 in https://github.com/overmind-core/overmind/pull/289
- fix vllm dev env issue by @rohitgr7 in https://github.com/overmind-core/overmind/pull/295
Full Changelog: https://github.com/overmind-core/overmind/compare/v0.1.27...v0.1.28
- v0.1.272026-11-03 · 2026-11-03 17:47 UTC
查看更新说明
What's Changed
- Retry dedicated decision starts when the release rejects pool. by @rohitgr7 in https://github.com/overmind-core/overmind/pull/293
Full Changelog: https://github.com/overmind-core/overmind/compare/v0.1.26...v0.1.27
- v0.1.262026-11-03 · 2026-11-03 13:40 UTC
查看更新说明
What's Changed
- Enable vLLM sleep routes for dedicated snapshot engines. by @rohitgr7 in https://github.com/overmind-core/overmind/pull/290
- Fix dedicated GPU dialog feedback and restore New dataset by @freyam in https://github.com/overmind-core/overmind/pull/291
- Accept the IDs dedicated MCP tools return by @freyam in https://github.com/overmind-core/overmind/pull/292
Full Changelog: https://github.com/overmind-core/overmind/compare/v0.1.25...v0.1.26
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
The Training Platform for Specialized Agents
Overmind continuously trains & improves your agents, with data from your production traces
The SDK and CLI you install (pip install overmind) are MIT. The platform behind them is AGPL-3.0 and you can self-host it. Details in Licence.
Point it at your agent's codebase and it turns production traces (or any dataset) into a fine-tuned model, benchmarked against the eval metrics you define and served via 1 unified API, with no ML infrastructure to build.
The weights are yours to download, retrain or roll back.
Available from the Console, the overmind CLI, the REST API, and an MCP server for Cursor, Claude Code, OpenCode and Codex. Hosted at console.overmindlab.ai or run it yourself.
Get started
Hosted
Sign up at console.overmindlab.ai, copy the onboarding prompt from Get started, and paste it into your coding agent (Cursor, Claude Code, OpenCode or Codex) with your agent's repo root open. The Data tab starts from an uploaded dataset instead. It installs overmind, runs overmind init and overmind sync, and maps the agent's capabilities. From then on everything is a /overmind command in the same chat:
| Command | What it does |
|---|---|
/overmind ensure-tracing | Inspect traces and instrument the agent |
/overmind dataset | Build, clean, upload or export a dataset |
/overmind finetune | Fine-tune, deploy and smoke-test a model |
/overmind optimise | Run prompt and code optimisation |
/overmind backtest | Compare models against the agent's own traces |
Run it yourself
Self-hosting keeps traces and training data inside your own network. The hosted and self-hosted stacks are the same code.
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, Workshop sandbox, Grafana on :3001
Document uploads include local English OCR for scanned PDFs, embedded images and direct PNG/JPEG/WebP uploads. Direct images are capped at 100 MB and 64 megapixels; animated images are not supported. The Docker image includes Tesseract and its English/orientation data. For workers or backend tests outside Docker, install tesseract-ocr, tesseract-ocr-eng and tesseract-ocr-osd on Debian/Ubuntu, or brew install tesseract on macOS. No external OCR service is required.
On first boot the API runs migrations; Swagger is at /api/docs/. Sign in at http://localhost:5173 with any email and password. docker compose exec api python manage.py seed_demo --owner <your email> loads a full demo workspace.
The API refuses to start until every required key is set, and the error names each missing one. .env.example documents every key.
| Required | Used for |
|---|---|
OPENROUTER_API_KEY | Judges, evals, trace scoring, optimiser scoring, frontier inference |
MODAL_TOKEN_ID, MODAL_TOKEN_SECRET | Modal training and serving workers (set MODAL_ENVIRONMENT explicitly) |
INFERENCE_API_URL, INFERENCE_API_KEY | Serving trained models — the endpoint printed by modal deploy and its shared secret |
AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_BUCKET_NAME | The fine-tuning checkpoint archive |
HF_TOKEN | Gated Hugging Face base models; also set it in the Modal secret |
SANDBOX_URL, SANDBOX_TOKEN | The isolated Workshop sandbox; .env.example and compose set local values — change the token in production |
| Optional | Effect |
|---|---|
STRIPE_SECRET_KEY | Paid plans and the credit cap; without it, usage is metered with no cap |
Fine-tuning and serving also need the Modal workers deployed (modal deploy overbae/modal/modal_vllm_worker.py, register_model.py and modal_sft_worker.py; native decision models also use modal_decision_evaluation.py and modal_decision_serving.py) and a Modal secret named overmind-inference with the AWS keys, INFERENCE_API_KEY and HF_TOKEN.
Self-hosted login uses email and password. Keep Clerk and Stripe secrets blank. Data Workshop transformations are authored by your native coding agent through MCP; the platform stores source files, immutable cell versions and execution receipts. There is no platform Workshop agent or ChatGPT account connection. Reusable scripts, cross-source revisions and continuous bindings use the dedicated Workshop runtime and package protocol. See self-hosting for configuration and private VM setup.
Send a first trace
pip install "overmind[tracing]"
export OVERMIND_API_KEY=ovr_… # project key from the project page in the Console; add OVERMIND_API_URL for self-host
import 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 answer
providers="auto" instruments the LLM SDKs you already use over OpenTelemetry; without a key, tracing is off and nothing breaks. Any OTel exporter can POST /api/v1/traces instead, and existing traces in Langfuse, LangSmith, Braintrust or Galileo can be synced through a connector. Open Observability to see the trace and its score.
Connect your coding agent
Overmind ships an MCP server at /api/mcp/ with tools, resources and prompts for the platform's agent workflows. Account API keys and OAuth connections can access every active project their account is authorized to use: call list_projects, then pass the selected project_id on project tools and resource URIs. Membership is checked on every operation. Project API keys remain limited to their configured project. Every tool declares what it costs to run (free, compute, llm, gpu) and whether it is destructive. Evaluation matrix rows can be deleted through their scoped lifecycle tool.
The optional plugin packages the MCP connection, Overmind branding and the Overmind workflow skills. OAuth connections remain authorized until revoked; access tokens expire after one hour and refresh tokens rotate. Direct MCP connections can use an API key without OAuth or a plugin.
overmind init --ide <cursor|claude|opencode|codex> prepares the local configuration and overmind sync installs the repository's project API key. To configure an API key by hand:
{
"mcpServers": {
"overmind": {
"url": "https://api.overmindlab.ai/api/mcp/",
"headers": { "X-Api-Key": "ovr_…" }
}
}
}
claude mcp add --transport http overmind https://api.overmindlab.ai/api/mcp/ --header "X-Api-Key: ovr_…"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"overmind": {
"type": "remote",
"url": "https://api.overmindlab.ai/api/mcp/",
"enabled": true,
"headers": { "X-Api-Key": "ovr_…" }
}
}
}
[mcp_servers.overmind]
url = "https://api.overmindlab.ai/api/mcp/"
http_headers = { "X-Api-Key" = "ovr_…" }
| Domain | Main tools |
|---|---|
| Projects | list_projects, create_api_key |
| Observability | inspect_capability_health, query_failures, query_traces, list_signals, set_signal_subscription, get_job, inspect_operation |
| Datasets | list_datasets, inspect_dataset, query_dataset, create_dataset_from_traces, create_dataset_from_llm_calls, explore_dataset, create_data_partition, inspect_dataset_workbench, save_dataset_pipeline, run_dataset_pipeline, import_dataset_version, update_dataset |
| Evaluations | check_evaluation_readiness, create_eval_set, create_eval_matrix_row, delete_eval_matrix_row, run_evaluation, compare_evaluations |
| Training | check_finetune_readiness, prepare_training_data, estimate_finetune, start_finetune, inspect_training_progress, cancel_finetune, deploy_finetune, retry_deployment, set_active_model, run_inference, get_model_swap_prompt |
| Decision models | list_decision_models, start_decision_job, create_native_evaluation, inspect_native_evaluation, create_training_experiment, measure_decision_performance |
| Optimiser | check_optimizer_readiness, start_optimizer, inspect_optimizer_result |
| Connectors | inspect_connectors, configure_connector, sync_connector |
| Instrumentation | get_instrumentation_plan, verify_instrumentation |
| Catalog | get_model_catalog, list_model_workflows |
tools/list returns the tools the connection's permissions allow: a read-only connection omits every write tool.
Prompts such as investigate-capability, finetune-capability and ship-model chain the tools into complete workflows.
For a self-hosted instance, replace the host with your API URL (http://localhost:8000 locally). Keys are written to git-ignored files only; overmind sync will not write a key into a tracked file.
Contributing
Open an issue, or a PR from a feature branch using .github/PULL_REQUEST_TEMPLATE.md — main is protected and AGENTS.md describes how we work. Questions go to the Discord.
Telemetry
The SDK and CLI send anonymous usage analytics to PostHog — one cli.invoked event per CLI run and sdk_init on library use; never prompts, trace contents, keys or dataset contents. Opt out with OVERMIND_ANALYTICS_ENABLED=false or DO_NOT_TRACK=1; analytics is also off when CI is set. Your traces go only to your own project.
Licence
This repository contains two licences. The platform (overbae/, frontend/, and everything else outside overmind/) is AGPL-3.0; the root LICENSE file is the verbatim AGPL-3.0 text. The SDK, CLI and client libraries under overmind/ are MIT. Copyright (c) 2026 Overmind Ltd. A commercial licence is a paid alternative from Overmind Ltd if you need different terms — [email protected].