<img src="https://github.com/ev-sys/evsys-sdk/raw/main/assets/logo.svg" alt="EvSys" width="300">
| Documentation | Quickstart | Autoresearch | Architecture | Whitepaper - in depth |
Easily create continually-learning models on your own data.
evsys-sdk turns your favourite coding agent into a model lab. Every training experiment is a single declarative YAML; a coding agent - Claude Code, Codex, anything - writes a config, launches it on a Tinker-compatible backend, reads the structured result, and writes the next one. Run a series of educated experiments and you land a small, task-specific model that beats frontier on your task at a fraction of the cost.
We believe the future of AI is not a handful of generalist models, but thousands of models adapted for every task, continually learning from every interaction. Realising that needs a new layer of infrastructure - the autoresearch layer that lets a system discover what to learn, train on it, and ship it. evsys-sdk is the first step: it standardises and centralises every experiment so a coding agent always has the context of what's been tried, while staying flexible enough to run any algorithm on any data.
evsys-sdk is powerful with:
ExperimentConfig (YAML); nothing hidden in scriptsevsys-sdk is flexible and easy to use with:
local (TRL + peft on your own GPU) and mock (tests)@register_* decorator, no library forkskills/ set drives the whole loop; install it into either agent from this repoevsys CLI - validate, run, list, schema, init-project, benchmark, eval--dry runs - a few steps per stage with rollout logging, to eyeball the data + rollouts before a full runRequires Python 3.12+ and uv.
git clone https://github.com/ev-sys/evsys-sdk.git
cd evsys-sdk
uv sync
source .venv/bin/activate
Run the no-GPU, no-network hello world:
python examples/01_local_mock_sft.py
For real training, export your backend key and drive it from a config:
export TINKER_API_KEY=...
evsys run config.yaml # validate, expand, train, score, record
evsys run config.yaml --dry # a few steps per stage, with rollout logging
Discover what's available and inspect any extension's params:
evsys list algorithms # sft · rl · sdft · ...
evsys schema algorithm sft
Visit the documentation to learn more:
The Python SDK is installed with pip; the agent context — a single set of
skills in skills/ — is installed separately through your coding agent's own
plugin flow. There are no subagents; everything is a skill, so the same source
works in both Claude Code and Cursor. The skills drive the autoresearch
loop: read the history of past experiments (hypotheses, conclusions, metrics),
decide the next educated experiment, scaffold the config plus any custom verifier
/ metric / transform, launch it, and write back a conclusion.
| Skill | What it does |
|---|---|
autoresearch-launch |
Decide the next training experiment and launch it. |
set-up-research-project |
Scaffold / migrate a repo into the research-project layout. |
using-the-sdk |
Read/write experiments, datasets, benchmarks, and metrics via the SDK. |
Add the repo as a plugin marketplace, then install the plugin:
/plugin marketplace add ev-sys/evsys-sdk
/plugin install evsys-sdk@evsys-sdk
Or, to load it in place from a local checkout (no marketplace):
claude --plugin-dir /path/to/evsys-sdk
The same repo is a Cursor plugin (.cursor-plugin/). Either:
ev-sys/evsys-sdk as a git
marketplace (one-click, uses .cursor-plugin/ → skills/); or~/.cursor/skills/ global, or ./.cursor/skills/ per project):bash
git clone https://github.com/ev-sys/evsys-sdk.git
mkdir -p ~/.cursor/skills
cp -r evsys-sdk/skills/* ~/.cursor/skills/
Cursor also reads Claude's skill directories (.claude/skills/,
~/.claude/skills/), so a Claude install is discovered by Cursor too.
Both plugin manifests point at the same skills/ directory — edit a skill once
and both agents pick it up. After installing, invoke a skill in chat with
/autoresearch-launch (or let the agent pick it up automatically), or review
what loaded under the agent's skills/plugins settings.
We welcome contributions and collaborations. The dev workflow:
uv sync
.venv/bin/python -m pytest tests/ -q # the full suite must stay green
.venv/bin/python -m ruff check .
See CLAUDE.md for repo conventions - the registry + {kind, params}
extension pattern and the two skills directories - and docs/DESIGN.md
for the layout + protocol rationale.
$ claude mcp add evsys-sdk \
-- python -m otcore.mcp_server <graph>