odek

~8 MB · Zero frameworks.
Think, therefore act.

go install github.com/BackendStack21/kode/cmd/odek@latest Get Started →

The Five Whys

See it in action

Real terminal output from real runs. Click through the examples.

What you get

🔒

Sandboxed Execution

odek run --sandbox — every session spawns an isolated Docker container. No network, no host mounts beyond the working directory, zero capabilities, destroyed on exit.

🧩

Sub-Agent Delegation

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.

🧠

Self-Learning Skills

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.

💾

Persistent Memory

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.

🔗

MCP Two-Way

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.

🌐

Web UI

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.

📎

File Attachments

Attach files to any prompt with --ctx / -c (CLI), @file inline references (REPL), or drag-and-drop (Web UI). File content is injected as context blocks — no tool calls needed.

🏗️

Layerable Config

Four-layer priority chain: global → project → ODEK_* env vars → CLI flags. ${VAR} substitution in config files. Sensible defaults at every layer.

🔍

Native Tools

Built-in read_file, write_file, search_files, patch, shell, and browser. All gated by a unified security layer — classify operations as allow / deny / prompt per risk class.

odek vs the rest

odekPython agents
Direct dependenciesMinimal — stdlib + 4 focused pkgs200+ packages
Binary size~8 MB static50–200 MB (venv)
StartupInstant2–10 seconds
Sandbox--sandbox flagManual Docker setup
Tool interfaceOne interface, one methodClass hierarchies + decorators
MCPBidirectional (server + client)Client-only or adapter needed
LanguageGo — native binaryPython — interpreter required

Install in 5 seconds

One-line binary install

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/kode/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/kode/releases/latest/download/odek-$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/') && chmod +x odek-* && ./odek-* version

auto-detect OS/arch static binary no runtime deps works offline
# 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"

Cheatsheet

Commands

  • odek run <task>Single-shot task
  • odek run --sandbox <task>Run in Docker sandbox
  • odek replInteractive multi-turn REPL
  • odek repl --id <uuid>Resume a saved session
  • odek serveStart Web UI (http://127.0.0.1:8080)
  • odek serve --sandboxWeb UI with Docker sandbox
  • odek subagent --goal <s>Run a focused sub-task
  • odek mcpStart MCP server (stdio)
  • odek mcp --sse-addr :8081Start MCP server (SSE)
  • odek init [--global]Create config file

Key Flags

  • --model <name>LLM model (deepseek-v4-flash, gpt-4o, etc.)
  • --base-url <url>API endpoint URL
  • --sandboxRun in Docker sandbox
  • --thinking <level>Reasoning depth (enabled/disabled/low/medium/high)
  • --learnEnable skill learning (on by default)
  • --no-learnDisable skill learning
  • --max-iter <n>Max think→act cycles (default 90)
  • --ctx <files> / -cAttach files as context blocks (comma-separated)
  • --system <prompt>Override system prompt
  • --no-colorDisable colored output

Everything else is documented

Deep-dive docs for every subsystem. Real detail, no fluff.

Ship it

One binary. One loop. Zero frameworks.
Go install and go.

go install github.com/BackendStack21/kode/cmd/odek@latest GitHub →