~12 MB static binary · Zero frameworks.
Think, therefore act.
go install github.com/BackendStack21/odek/cmd/odek@latest
Get Started →
go test. odek installs in 5 seconds with a single go install command — no Docker, no venv, no npm, no sagas.
Real terminal output from real runs. Click through the examples.
odek run --sandbox — every session spawns an isolated Docker container. No network, no host mounts beyond the working directory, zero capabilities, destroyed on exit.
Parallel OS-process sub-agents via delegate_tasks. True isolation — each sub-agent is a fresh process with its own config, tools, and timeout. Up to 3 concurrent workers.
Detects multi-step procedures, error recoveries, and corrections during your sessions. Saves them as reusable SKILL.md files. On by default — --no-learn to disable.
Three tiers: facts (markdown on disk), session buffer, and searchable episodes. Merge-on-write via go-vector cosine similarity saves ~80% LLM calls. go-vector RP is ephemeral — rebuilt from text on every write, no embedding state to persist.
Server: odek mcp exposes native tools to Claude Code, Cursor, any MCP client. Client: odek connects to external MCP servers and makes their tools available to the agent.
odek serve — browser-based agent with @ resource completion, WebSocket streaming, token economics, inline loading, drag-and-drop file attachments, and a full IDE-style console. Built from Go's embed — zero npm.
session_search — full-text and fuzzy search across your entire agent history. Use --deep for LLM-powered semantic search. Never lose a past finding, decision, or code review.
transcribe — local whisper-based audio transcription. Drop an OGG, MP3, or WAV file, get text back. Runs entirely offline, no cloud API. Private by design.
read_file, write_file, search_files, patch, shell, browser — all compiled into a single static Go binary. Zero subprocess overhead, instant startup, thread-safe concurrent execution. Gated by a unified security layer.
Tools run concurrently with bounded concurrency. read_file, search_files, and shell calls execute in parallel — cutting iteration time by 40–60%. Batch approval gate shows all risky operations at once.
Three modes: engaging (emoji-rich LLM narration), enhance (narration persists after response), and verbose (raw tool traces). Per-tool trace messages with LLM reasoning content. Works across CLI, Telegram, and Web UI.
Full-featured Telegram bot with odek telegram. MarkdownV2 messages, inline keyboards, file attachments, send_message tool, and --deliver flag for cron integration. Interaction mode-aware with per-tool progress traces.
Native, in-process cron with odek schedule — no external cron daemon. Runs inside odek telegram or a standalone odek schedule daemon, so a scheduled task sees the same resolved config an interactive run does. Stdlib cron parser with Vixie day-of-month/day-of-week semantics, per-job timezones, missed-run catchup, and a singleton lock so jobs never double-fire.
| odek | Python agents | |
|---|---|---|
| Direct dependencies | Minimal — stdlib + a handful of focused pkgs | 200+ packages |
| Binary size | Small static binary | 50–200 MB (venv) |
| Startup | Instant | 2–10 seconds |
| Sandbox | --sandbox flag | Manual Docker setup |
| Tool interface | One interface, one method | Class hierarchies + decorators |
| Parallel tools | Built-in bounded concurrency | Sequential only |
| Telegram bot | Full bot with keyboard, files, --deliver | Third-party adapters |
| MCP | Bidirectional (server + client) | Client-only or adapter needed |
| Language | Go — native binary | Python — interpreter required |
brew install go or download.
go install github.com/BackendStack21/odek/cmd/odek@latest
export ODEK_API_KEY=sk-... (or DEEPSEEK_API_KEY / OPENAI_API_KEY)
odek run "How many lines in go.mod?"
No Go toolchain? Auto-detects your OS and architecture:
# Download to /usr/local/bin (may need sudo)
curl -sfLo /usr/local/bin/odek https://github.com/BackendStack21/odek/releases/latest/download/odek-$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/') && chmod +x /usr/local/bin/odek
# Or to current directory
curl -sfLO https://github.com/BackendStack21/odek/releases/latest/download/odek-$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/') && chmod +x odek-* && ./odek-* version
# Results instantly
$ odek run "How many lines in go.mod?"
3 lines
# With session persistence
$ odek run --session "Refactor the auth module"
$ odek continue "Now add error handling"
# Different provider, same binary
$ odek run --model gpt-4o --base-url https://api.openai.com/v1 "Explain this"
# Attach files for context
$ odek run --ctx data.csv "analyze trends"
$ odek run "@README.md summarize this project"
Deep-dive docs for every subsystem. Real detail, no fluff.
One binary. One loop. Zero frameworks.
Go install and go.
go install github.com/BackendStack21/odek/cmd/odek@latest
GitHub →