yoclaw: Single-Binary AI Agent
yoclaw is a minimal, secure alternative to OpenClaw — a single Rust binary that turns any LLM into a persistent, tool-using agent on messaging platforms. Built on yoagent.
No Docker. No Redis. No infrastructure. One binary, one config file.
Core Capabilities
- Pluggable channels — Telegram today, Discord/Slack next. Add new platforms by implementing one trait.
- SQLite persistence — Conversations, message queue, long-term memory (FTS5), and audit logs in a single file.
- Crash recovery — Messages are queued before processing. Kill -9, restart, nothing lost.
- Security policies — Tool permissions, shell deny patterns, path/host allowlists, per-tool enable/disable.
- Budget tracking — Token and turn limits per day/session with automatic enforcement.
- Skills system — Drop markdown files into
~/.yoclaw/skills/to teach your agent new capabilities. - Worker delegation — Configure named sub-agents with different models for specialized tasks.
- Long-term memory — Full-text search over stored facts, preferences, and context.
Quick Start
# Build
# Initialize config directory
# Edit config with your keys
# Run
ANTHROPIC_API_KEY=sk-ant-... TELEGRAM_BOT_TOKEN=123:ABC...
Configuration
[]
= "anthropic"
= "claude-opus-4-6"
= "${ANTHROPIC_API_KEY}"
[]
= 1_000_000
= 50
[]
= "claude-sonnet-4-20250514"
= "You are a research assistant."
= 15
[]
= "${TELEGRAM_BOT_TOKEN}"
= [123456789]
= 2000
[]
= ["rm -rf", "sudo", "chmod 777"]
Customize the persona in ~/.yoclaw/persona.md.
Adding Skills
Skills requiring disabled tools are automatically excluded.
Inspect
Architecture
Telegram → Coalescer → Queue (SQLite) → Conductor → Agent (yoagent) → Response → Telegram
↓
Security Policy
Budget Tracker
Memory (FTS5)
Worker Delegation
The Conductor owns a single yoagent Agent and switches between sessions by saving/loading conversation state. All tool calls pass through SecureToolWrapper for policy enforcement and audit logging.
Project Structure
src/
├── main.rs CLI + event loop
├── config.rs TOML config with env var expansion
├── conductor/ Agent orchestration + workers
├── channels/ Messaging platform adapters
├── db/ SQLite: tape, queue, memory, audit
├── security/ Policy enforcement + budget tracking
└── skills/ Skill loading with capability filtering
Requirements
- Rust 1.75+
- yoagent v0.5.1+