Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,009 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Evot

An agent engine that completes complex, long-running work with minimal tokens and maximum quality.

Every gain measured under a rigorous trace + eval framework — earned through relentless iteration, never guessed at.

News · Benchmark · Why · Dashboard · Install · Quickstart · Commands · Dev

📢 News

  • 2026-07-22 [Memory] /mem — archive session knowledge to markdown; /mem <terms> and /resume <query> recall semantically.
  • 2026-07-16 [REPL] Prompt queue — queue follow-ups and manage them with Ctrl+B.
  • 2026-07-09 [REPL] /log shot — export the last assistant markdown turn as an HTML/PNG snapshot matching the TUI.
  • 2026-07-03 [REPL] /copy — copy the last agent message's Markdown source to the clipboard.
  • 2026-06-16 [REPL] Shift+Tab cycles reasoning effort; persisted per session.

Benchmark

Same task, same eval environment, different models. evot completes the work with fewer tokens, less time, and lower cost — on both frontier and open-source models.

Claude Opus 4.6 DeepSeek V4 Pro
evot benchmark — Claude Opus 4.6 evot benchmark — DeepSeek V4 Pro

Task: Fix a real bug in serde_json (issue #979) — investigate root cause, apply fix, write regression test, verify all tests pass.

Model Metric evot claude-code Difference
Opus 4.6 Cost $2.24 $6.16 64% cheaper
Opus 4.6 Time 2m 56s 3m 51s 24% faster
Opus 4.6 Input tokens 574.8K 1.5M 62% fewer
DeepSeek V4 Pro Cost $0.02 $0.07 67% cheaper
DeepSeek V4 Pro Time 6m 10s 16m 34s 63% faster
DeepSeek V4 Pro Input tokens 42.9K 133.8K 68% fewer

All agents produce correct, passing code. The difference is how they manage context.

Why is evot faster and cheaper?

Give the LLM less context, but higher-quality context. Where other agents burn extra tokens and time managing context, evot leans on cheap, deterministic machinery first:

  • Algorithmic compaction — a Rust pipeline runs in microseconds between turns: spent tool results are reclaimed, and old turns are evicted into a compact structured summary while recent work stays intact.
  • Provider-native compaction — on GPT/Codex models (OpenAI Responses API), evot uses server-side compaction automatically: the endpoint returns an opaque item that replays with far higher recall than a text summary. Zero config — any failure falls back to local summarization silently.
  • Spill to disk — large tool results write to disk with a short preview. The model re-reads on demand instead of carrying megabytes in context.
  • Compaction markers — structured metadata (files modified, conclusions, environment state) survives compaction, so progress is never lost.

Every gain is earned under a rigorous trace + eval framework, not guessed at. Each engine change is measured against live traces and a reproducible benchmark pipeline — the same real-world tasks run against Claude Code and Codex (latest versions) — before it ships. Token usage, cost, time, and success rate must improve or hold. Relentless trial and iteration, where the numbers decide what stays. Continuous improvement, no regression.

Dashboard

Evot ships with a built-in web dashboard for real-time observability: server resource usage, all connected sessions, and per-session detail — token usage, tool call sequences, and span-level traces.

Overview — server metrics & sessions Session detail — usage & tool traces
evot dashboard — overview evot dashboard — session detail

Installation

One-liner (recommended)

curl -fsSL https://evot.ai/install | sh

From source

git clone https://github.com/evotai/evot.git
cd evot
make setup && make install
evot

Quickstart

1. Set your API key

Create ~/.evotai/evot.env:

# Anthropic (default)
EVOT_LLM_ANTHROPIC_API_KEY=sk-ant-...
EVOT_LLM_ANTHROPIC_BASE_URL=your-anthropic-base-url
EVOT_LLM_ANTHROPIC_MODEL=claude-opus-4.8
# Multiple models: EVOT_LLM_ANTHROPIC_MODEL=claude-sonnet-5.0,claude-opus-4.8,claude-fable-5

# Or OpenAI Chat Completions
# EVOT_LLM_OPENAI_API_KEY=sk-...
# EVOT_LLM_OPENAI_BASE_URL=your-openai-compatible-base-url
# EVOT_LLM_OPENAI_MODEL=gpt-5.6-sol
# EVOT_LLM_OPENAI_PROTOCOL=openai

# Or OpenAI Responses API (official OpenAI GPT/Codex models)
# Using the official endpoint enables provider-native "remote compaction":
# context is compacted server-side with far higher recall, taking priority
# over the local algorithmic path (auto — falls back to local on any failure).
# EVOT_LLM_OPENAI_API_KEY=sk-...
# EVOT_LLM_OPENAI_MODEL=gpt-5.6-sol
# EVOT_LLM_OPENAI_PROTOCOL=openai_responses

# Or DeepSeek (Anthropic-compatible)
# EVOT_LLM_DEEPSEEK_API_KEY=sk-...
# EVOT_LLM_DEEPSEEK_BASE_URL=https://api.deepseek.com/anthropic
# EVOT_LLM_DEEPSEEK_PROTOCOL=anthropic
# EVOT_LLM_DEEPSEEK_MODEL=deepseek-v4-pro

# Or Kimi Coding (Anthropic-compatible)
# EVOT_LLM_KIMI_API_KEY=sk-...
# EVOT_LLM_KIMI_BASE_URL=https://api.kimi.com/coding
# EVOT_LLM_KIMI_PROTOCOL=anthropic
# EVOT_LLM_KIMI_MODEL=kimi-for-coding

2. Run

evot                 # interactive TUI
evot -c              # continue latest session in cwd

In the TUI: /help lists commands, Shift+Tab cycles the reasoning effort.

One-shot: evot -p "..." · resume by id: evot -r <id> · model override: --model provider:model

Commands

/help lists everything. These are the ones unique to evot and worth knowing:

Command What it does
/mem Archive the session's knowledge to the memory vault (~/.evotai/memory). /mem <terms> searches it. Memory persists across sessions.
/resume <query> Find and resume a past session by meaning, not just id.
/harden Stress-test the previous plan or current changes — hunt edge cases and loopholes before you commit.
/skill Manage skills: list, install <source>, remove <name>.
/log shot Export the last assistant turn as an HTML/PNG snapshot matching the TUI.
/copy Copy the last agent message's Markdown source to the clipboard.

Context compaction is automatic — evot compacts between turns as context fills, with no setup. On the official OpenAI Responses API, provider-native (remote) compaction takes priority; everything else uses the local algorithmic path. Use /compact only when you want to force it early.

Development

make setup        # install Rust toolchain, git hooks
make test         # all tests (engine + CLI)
make install      # compile standalone binary to ~/.evotai/bin/evot

License

Apache-2.0

About

Agent engine that does complex, long-running work with minimal tokens — every gain earned under rigorous eval.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages