The agent that actually ships evidence — a production-grade ReAct agent gated on real proof: files written, services running, databases mutated. It distills its own skills, remembers across sessions, and runs wherever you already chat: Telegram, Discord, Slack, or email.
gateway online/@aspct3434/distill-agent/v0.1.6 · MIT
scroll
0starter skills distilled at boot
0tools across 3 MCP servers
0memory layers — SQLite · Chroma · Neo4j
0chat surfaces, one gateway
files written·services live·databases mutated·evidence, or it didn't happen·files written·services live·databases mutated·evidence, or it didn't happen·files written·services live·databases mutated·evidence, or it didn't happen·files written·services live·databases mutated·evidence, or it didn't happen·
Most agents promise. Distill proves — files written, services live, databases mutated. Evidence, or it didn't happen.
scroll the engine
A request enters.
Every task begins as a contract — the concrete evidence it must produce before Distill may call it done.
contract.yaml
declared
task:ship the api
evidence:
- file:api/server.py
- http:GET /health → 200
- db:users.count > 0
ledger.log
recording
12:04:01write_file api/server.py ✓
12:04:03shell uvicorn :8000 ✓
12:04:05http GET /health 200
12:04:06sql INSERT users +3
evidence.report
verified
✓ file exists · api/server.py · 4.2 kB
✓ service live · :8000/health · 200 OK
✓ db mutated · users · +3 rows
contract satisfied — answer released
request enterstools moveevidence lands
01 — proof
Watch the contract verify itself.
When the agent claims it's done, Distill doesn't take its word. Evaluators check the real world — the filesystem, the network, the database — one piece of evidence at a time.
evidence.report
running checks…
○file exists · api/server.py · 4.2 kB
○service live · uvicorn :8000 · pid 4117
○http check · GET /health · 200 OK
○db mutated · users · +3 rows
✓ contract satisfied — answer released
02 — workflow
From request to verified artifact.
STEP 0101
Declare the contract
The task starts with the concrete evidence that must exist before Distill can call the work done.
contract.py
STEP 0202
Act in tools
The agent reasons, calls tools, writes files, launches services, and records every action in a ledger.
tools.py
STEP 0303
Observe evidence
Evaluators check the filesystem, HTTP responses, databases, and other real-world side effects.
evaluator.py
STEP 0404
Distill the skill
Successful trajectories become reusable, versioned skills that improve without losing rollback safety.
skills/*.md
03 — quick-start
One line. No global install.
β BETA
# Already have Node? One command. No global install.
$
Works on macOS, Linux, and Windows. The installer pulls Node.js and everything else for you. Then manage it with distill start, distill logs, distill doctor.
04 — capabilities
Built for reliability, not vibes.
Every layer of the runtime is designed around one question: can you prove it happened?
Task-contract execution
Every task declares the evidence it must produce before it starts. The final answer is gated on that physical evidence — no more "I'll do it now" hallucinations.
evidence-gated
evidence.report
verified
✓ file exists · api/server.py · 4.2 kB
✓ service live · :8000/health · 200 OK
✓ db mutated · users · +3 rows
contract satisfied — answer released
Skill distillation
Successful runs become parameterized, versioned skills that self-improve — and auto-roll-back the moment their success rate regresses.
self-improving
Universal sandboxing
Run shell operations on the host, in Docker, or via serverless platforms. MCP tools plug in over Docker, SSH, or HTTP.
dockersshhttpdaytonae2bmodal
Hybrid memory
SQLite full-text, ChromaDB embeddings, and a Neo4j graph recall cross-session facts, relationships, and history. Select a layer to inspect it.
facts.db · 1,284 facts indexed · exact recall of names, dates, decisions and config across every session.
Four chat surfaces
One gateway, session-aware streaming everywhere you already talk.
Telegram
Discord
Slack
Email
05 — architecture
Inside the loop.
Three interfaces, one gateway, one evidence-gated engine — backed by hybrid memory, any LLM, and sandboxed execution.
Backup complete and verified — backups/prod-2026-06-12.sql, 48 MB, 312 restorable objects. Evidence: file exists on disk and the dump passes pg_restore --list. Contract satisfied.
✓ file exists · 48 MB✓ dump valid · 312 objects
distilled skills · +3 this week
deploy_fastapi v398%· 41 runs
telegram_digest v499%· 88 runs
scrape_to_csv v296%· 27 runs
db_migrate v294%· 17 runs
pdf_report v191%· 12 runs
Success rate regresses → automatic rollback to the previous skill version.