Already installed? If not, start with Installation and come back.
This walkthrough takes ~5 minutes and covers:
- Run a first task
- Watch EvoClaw learn from it (a Skill is born)
- Re-run a similar task and see the Skill kick in
- Inspect what happened (replay, doctor, memory)
- Optional: open the WebChat interface
evoclaw --help # subcommand list, plus interactive default
evoclaw doctor # should print api_key: set (len=...)evo is a 3-letter alias of evoclaw — both binaries do the same thing.
If you plan to ask the agent to do anything that involves a real credential, register it in the local vault first. The vault keeps the raw value on your disk; the model only ever sees a ${SECRET:NAME} placeholder.
evoclaw secret add github_pat ghp_yourActualValueHere
evoclaw secret listVerify the redactor before you trust it:
evoclaw secret test "use ghp_yourActualValueHere to clone the repo"
output : use ${SECRET:github_pat} to clone the repo
hits : 1 substitution(s)Even without any vault entries, common credential shapes (sk-*, ghp_*, eyJ*, AKIA*, plus high-entropy 32+ char tokens) are caught by a pattern fallback and rewritten as [REDACTED:<kind>:<8-char-fingerprint>]. So leaking a key by accident is hard; registering one explicitly makes the placeholder named and the substitution deterministic.
Just type the project name, no subcommand, exactly like claude or codex:
evoclawYou drop into the welcome panel:
───────────────────────────────────────────────────────────────────
\\ ▄ ▄ // Quick start
▄███████▄ ──────────────────────────
█ █ /help list all commands
█ ▀▀ ▀▀ █ /login configure auth
▀█▄▄▄▄▄█▀ /doctor health check
▄▄ ▄▄ /skill browse skills
// ██ ██ \\
Status
EvoClaw v0.3.7 ──────────────────────────
self-evolving agent runtime auth ✓ ready
model deepseek-chat
deepseek · deepseek-chat
~/.evoclaw Ctrl-D to exit · /help
✓ ready secrets file: ~/.evoclaw/secrets/deepseek.key
───────────────────────────────────────────────────────────────────
─ input ───────────────────────────────────────────────────────────
▷ Type your message and press Enter to send · /help for commands
───────────────────────────────────────────────────────────────────
shortcuts: Tab /cmd · ↑↓/Ctrl-P/N history · Ctrl-R search · Ctrl-C quit
Type a plain-language task at the prompt:
evoclaw> list every Cargo.toml under the workspace and write a one-line summary
to ~/.evoclaw/workspace/cargo-toml-summary.txt
Abridged output:
→ running... session log: /Users/you/.evoclaw/logs/task-20260502T143012.481.jsonl
=== final (4 turns) ===
Wrote 7 paths to cargo-toml-summary.txt. Roots: evoclaw, my-other-repo, ...
The agent decided on its own to use list_dir + read_file + write_file. There were no Skills available yet, so it explored.
Right after the task ends, EvoClaw runs a reflection round (PRD §11). It asks the model "what just happened, what's reusable?" and saves the answer to:
- Memory L3 — free-text record (
~/.evoclaw/memory/L3.jsonl) - Skill DRAFT — structured YAML (
~/.evoclaw/skills/skill-*.yaml)
evo skill listExpected:
ID STATE SCORE VER NAME
skill-20260502T1430 DRAFT 0.50 v1 enumerate cargo manifests
The skill is in DRAFT state with score 0.50. It needs a sandbox pass and ≥3 successful real uses to climb to ACTIVE (PRD §32 EWMA rules).
evo skill show skill-20260502T1430evo run "find all Cargo manifests in the workspace and summarise"Expected behaviour: EvoClaw's planner finds the existing skill via keyword/trigger search (PRD §11.5) and reuses it. Token cost should drop ~30% on the second run because:
- Tool-schema fingerprint is hot →
Tools: still activeshort-circuit fires (PRD §42.1) - Cached prompt segments hit on the second turn (PRD §42.2)
- The
<summary>protocol replaces full assistant history with 30-char summaries (PRD §42.4)
evo replayPicks the most recent JSONL log and pretty-prints:
== replay /Users/you/.evoclaw/logs/task-...jsonl (12 records) ==
[TASK] task-20260502T143012.481
input : list every Cargo.toml under ...
start : 2026-05-02T14:30:12.481Z
[TURN 0] 1 tool_calls
summary: scanning workspace
✓ list_dir args={"path":"."} → d crates ... | d crates-ext ...
usage: in=620 cached=400 (65% hit) out=44
[TURN 1] 1 tool_calls
summary: read 3 manifests
✓ read_file args={"path":"crates/evo-core/Cargo.toml"} → ...
[END] COMPLETED @ 2026-05-02T14:30:39.910Z
evo doctor-of tokensOutput:
== evo doctor tokens ==
metric 7d 30d
events 4 4
input_tokens 2,480 2,480
cached_tokens 1,612 1,612
output_tokens 244 244
cache_hit 65.00% 65.00%
usd_total 0.0078$ 0.0078$
budget: per_task ≤ $0.50, per_day ≤ $5.00 (soft) / $20.00 (hard), per_month ≤ $100
A few cents per task on DeepSeek is normal. If you blow past the per-task cap, EvoClaw stops the loop and reports a Budget(...) error (PRD §35).
evo doctor-of closureVerifies every session JSONL has a TaskRecord, ≥1 TurnRecord, and an EndRecord (PRD §39 row 1 / 4).
evo memory search "cargo manifest"Returns matching L1/L2/L3 records. Memory is plain text + grep — no vector DB by design. Vectors cost prompt tokens at retrieval time; substring matching against typed memory layers does not.
After 5–10 different tasks:
evo skill treeOutput:
== skill tree (8 nodes, 2 active) ==
[Diagnostic]
skill-... ACTIVE score=0.86 diagnose ssh hang (triggers: ssh, diagnose)
skill-... CANDIDATE score=0.62 docker healthcheck (triggers: docker)
[Sop]
skill-... DRAFT score=0.50 enumerate cargo manifests (triggers: cargo, manifest)
...
States transition automatically (PRD §32):
- DRAFT → CANDIDATE after sandbox pass
- CANDIDATE → ACTIVE after ≥3 successful real uses + score ≥ 0.7
- ACTIVE → DEGRADED if score drops below 0.7
- DEGRADED → DEPRECATED after 5 consecutive failures or score < 0.3
Only ACTIVE skills are auto-loaded into the planner; CANDIDATE can be opted into.
evo gateway --bind 127.0.0.1:7878 --token mychatOpen http://127.0.0.1:7878 in a browser. The page asks for a Bearer token — type mychat (or whatever you passed). Send a message; it goes through the same ConversationRuntime as the CLI, with full reflection / cost / memory.
Stop with Ctrl-C. The Gateway is local-only (127.0.0.1); cookies / API keys never leave your machine.
- Usage reference — all CLI commands, all config knobs, all environment variables
- Architecture overview — what's in each crate, how the agent loop works
- Contributing — fix a bug, add a tool, change a prompt
prd/prd.md— the canonical specification (~2,300 lines)prd/plan/development-plan.md— phase-by-phase task listprd/plan/prompts.md— every prompt template