Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ docker/.odek/*

sec_findings.md

# Local commercial brief (not product docs)
PITCH.html
PITCH.pdf

# Docs-audit working set — local only
docs_findings.md
SUB_AGENTS_IMPROVEMENTS.md
Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ It provides context about the project's architecture, conventions, and how to up

- **Package:** `odek` (Go module: `github.com/BackendStack21/odek`)
- **What it is:** Minimal Go autonomous agent runtime — ReAct (Reasoning + Acting) loop with zero frameworks (stdlib + a few focused packages).
- **Binary:** `odek` — single static binary, ~11 MB, instant startup.
- **Binary:** `odek` — single static binary, <15 MB, instant startup.
- **Config:** Five-layer priority: `~/.odek/secrets.env` → `~/.odek/config.json` → `./odek.json` → `ODEK_*` env vars → CLI flags.
- **Extension contract:** `odek-extension/v1` (docs/EXTENSIONS.md) — MCP server limits, artifact refs, runtime events, external session refs, execution budgets.
- **Releases:** tag-driven (`git tag vX.Y.Z && git push --tags` builds binaries + release). See [GitHub Releases](https://github.com/BackendStack21/odek/releases).
Expand Down
2 changes: 1 addition & 1 deletion GETTING_STARTED.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Install **odek** (the agent engine), configure it with a **GLM 5.3 Flash** subscription from **z.ai**, and — optionally — add **bodek**, a polished terminal UI on top.

odek is a single static Go binary (~11 MB, instant startup). No Python, no Node, no framework — one binary and an API key is the whole install.
odek is a single static Go binary (<15 MB, instant startup). No Python, no Node, no framework — one binary and an API key is the whole install.

---

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ odek is not a framework. It's a **runtime** — the smallest possible surface ar
| | odek | Python agents (LangChain, CrewAI, etc.) |
|---|---|---|
| Dependencies | **6.** 3× 21no.de, 3× golang.org/x | 200+ packages |
| Binary size | ~11 MB static | 50-200 MB with venv |
| Binary size | <15 MB static | 50-200 MB with venv |
| Startup | **Instant** | 2-10s (Python imports) |
| Sandbox | **Default-on** Docker sandbox (`--no-sandbox` to opt out) | Requires manual Docker setup |
| Tool interface | One interface, one method | Class hierarchies + decorators |
Expand Down
2 changes: 1 addition & 1 deletion cmd/odek/telegram.go
Original file line number Diff line number Diff line change
Expand Up @@ -435,7 +435,7 @@ func telegramCmd(args []string) error {
systemMessage += "- odek website: https://odek.21no.de\n"
systemMessage += "- Built by: 21no.de (https://21no.de)\n"
systemMessage += "- Binary name: odek\n"
systemMessage += "- Language: Go, minimal dependencies, ~11 MB binary\n"
systemMessage += "- Language: Go, minimal dependencies, <15 MB binary\n"
systemMessage += "\n"
systemMessage += "File attachment:\n"
systemMessage += "- You CAN send files (zip, pdf, images, csv, etc.) in BOTH intermediate replies\n"
Expand Down
2 changes: 1 addition & 1 deletion docs/CHEATSHEET.md
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,7 @@ odek mcp --sandbox
## Key Design Properties

- **Minimal Go dependencies** — all minimal-dependency Go packages from 21no.de
- **~11 MB static binary**
- **<15 MB static binary**
- **One loop, one interface** — tool implementers write `func Call(args string) (string, error)`
- **File-based config** — no YAML, no DSL, no schema generation
- **Sandbox on by default** (CLI) with loud unsandboxed fallback when Docker is missing — no container runtime *required*, isolation unless you opt out
Expand Down
16 changes: 8 additions & 8 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,27 +6,27 @@
<meta name="theme-color" content="#030304">
<meta name="color-scheme" content="dark">
<title>odek · Move fast. Stay in control.</title>
<meta name="description" content="An autonomous agent workspace in one ~11 MB Go binary. Plan, build, inspect results, and keep working across sessions. Your models, your machine, zero frameworks.">
<meta name="description" content="An autonomous agent workspace in one &lt;15 MB Go binary. Plan, build, inspect results, and keep working across sessions. Your models, your machine, zero frameworks.">
<link rel="canonical" href="https://odek.21no.de/">
<link rel="robots" href="/robots.txt">
<link rel="sitemap" href="/sitemap.xml">
<meta property="og:type" content="website">
<meta property="og:site_name" content="odek">
<meta property="og:locale" content="en_US">
<meta property="og:url" content="https://odek.21no.de/">
<meta property="og:title" content="odek — ~11 MB Go agent runtime">
<meta property="og:title" content="odek — &lt;15 MB Go agent runtime">
<meta property="og:description" content="Verified install, a provider key, then odek run. DeepSeek, OpenAI, Anthropic, Gemini, z.ai, Kimi, or any OpenAI-compatible endpoint.">
<meta property="og:image" content="https://odek.21no.de/og-image.png">
<meta property="og:image:secure_url" content="https://odek.21no.de/og-image.png">
<meta property="og:image:type" content="image/png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="odek — ~11 MB static binary, zero-framework Go autonomous agent runtime">
<meta property="og:image:alt" content="odek — &lt;15 MB static binary, zero-framework Go autonomous agent runtime">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="odek — ~11 MB Go agent runtime">
<meta name="twitter:title" content="odek — &lt;15 MB Go agent runtime">
<meta name="twitter:description" content="Verified install, a provider key, then odek run. DeepSeek, OpenAI, Anthropic, Gemini, z.ai, Kimi, or any OpenAI-compatible endpoint.">
<meta name="twitter:image" content="https://odek.21no.de/og-image.png">
<meta name="twitter:image:alt" content="odek — ~11 MB static binary, zero-framework Go autonomous agent runtime">
<meta name="twitter:image:alt" content="odek — &lt;15 MB static binary, zero-framework Go autonomous agent runtime">
<meta name="keywords" content="odek, Go, autonomous agent, ReAct, GLM 5.3 Flash, z.ai, MCP, Docker sandbox, bodek">
<meta name="robots" content="index, follow">
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self'; img-src 'self'; font-src 'self'; connect-src 'self'; object-src 'none'; base-uri 'self'; form-action 'none'; frame-ancestors 'none'">
Expand All @@ -41,7 +41,7 @@
"name": "odek",
"applicationCategory": "DeveloperApplication",
"operatingSystem": "Linux, macOS",
"description": "A ~11 MB static Go binary that runs an autonomous ReAct agent loop. Zero frameworks. Provider-agnostic. Sandbox on by default.",
"description": "A <15 MB static Go binary that runs an autonomous ReAct agent loop. Zero frameworks. Provider-agnostic. Sandbox on by default.",
"url": "https://odek.21no.de",
"downloadUrl": "https://github.com/BackendStack21/odek/releases",
"license": "https://github.com/BackendStack21/odek/blob/main/LICENSE",
Expand All @@ -61,7 +61,7 @@
"name": "What is odek?",
"acceptedAnswer": {
"@type": "Answer",
"text": "odek is a ~11 MB static Go binary that runs an autonomous ReAct agent loop. It is provider-agnostic and ships parallel tool execution, persistent memory, an MCP server and client, a Docker sandbox (on by default), a Web UI, and a Telegram bot — with no frameworks and no Python venv."
"text": "odek is a <15 MB static Go binary that runs an autonomous ReAct agent loop. It is provider-agnostic and ships parallel tool execution, persistent memory, an MCP server and client, a Docker sandbox (on by default), a Web UI, and a Telegram bot — with no frameworks and no Python venv."
}
},
{
Expand Down Expand Up @@ -123,7 +123,7 @@
<header class="hero">
<p class="eyebrow">GO SMALL. BUILD BIG.</p>
<h1>Move fast.<br><span>Stay in control.</span></h1>
<p class="lede">An autonomous agent with a small footprint and a clear set of boundaries. Odek plans, runs tools, and follows through—in one <span class="size">~11 MB</span> Go binary you can inspect from the inside out.</p>
<p class="lede">An autonomous agent with a small footprint and a clear set of boundaries. Odek plans, runs tools, and follows through—in one <span class="size">&lt;15 MB</span> Go binary you can inspect from the inside out.</p>
<div class="hero-actions">
<a class="button primary" href="#install">Get started <span aria-hidden="true">↗</span></a>
<a class="button secondary" href="#gallery">Explore the Web UI <span aria-hidden="true">↓</span></a>
Expand Down
2 changes: 1 addition & 1 deletion docs/llms.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# odek

> odek is a minimal autonomous agent runtime written in Go — a ReAct (Reasoning + Acting) loop with zero frameworks (stdlib plus a few focused packages), shipped as a single ~11 MB static binary with instant startup. It runs tasks from the CLI, an interactive REPL, a web UI, a Telegram bot, scheduled jobs, or as a Go library, and can execute shell commands, edit files, browse the web, transcribe audio, analyze images, spawn sub-agents, and connect to MCP servers.
> odek is a minimal autonomous agent runtime written in Go — a ReAct (Reasoning + Acting) loop with zero frameworks (stdlib plus a few focused packages), shipped as a single <15 MB static binary with instant startup. It runs tasks from the CLI, an interactive REPL, a web UI, a Telegram bot, scheduled jobs, or as a Go library, and can execute shell commands, edit files, browse the web, transcribe audio, analyze images, spawn sub-agents, and connect to MCP servers.

Module path: `github.com/BackendStack21/odek`. Repository: https://github.com/BackendStack21/odek

Expand Down
Loading