Skip to content

Commit 4fd44dd

Browse files
committed
docs: accurate README — fix dep count (5), binary size (~11 MB), add missing doc links
- 'zero dependencies' → '5 deps' (3× stdlib + 2× 21no.de) - '~5 MB' → '~11 MB' (actual stripped binary size) - Add docs/CHEATSHEET.md and docs/LEARNING.md to docs table - Expand CACHING.md with terminal/WebUI cache stats display docs
1 parent 8a82aca commit 4fd44dd

2 files changed

Lines changed: 31 additions & 3 deletions

File tree

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# odek
22

3-
**The fastest, minimal, zero-dependency Go autonomous agent runtime.**
3+
**Minimal Go autonomous agent runtime — 5 deps, ~11 MB, instant startup.**
44

55
One binary. One loop. Zero frameworks. ReAct (Reasoning + Acting) — think, therefore act.
66

@@ -22,8 +22,8 @@ odek is not a framework. It's a **runtime** — the smallest possible surface ar
2222

2323
| | odek | Python agents (LangChain, CrewAI, etc.) |
2424
|---|---|---|
25-
| Dependencies | **Zero.** stdlib only | 200+ packages |
26-
| Binary size | ~5 MB static | 50-200 MB with venv |
25+
| Dependencies | **5.** stdlib, 2× 21no.de | 200+ packages |
26+
| Binary size | ~11 MB static | 50-200 MB with venv |
2727
| Startup | **Instant** | 2-10s (Python imports) |
2828
| Sandbox | `--sandbox` flag | Requires manual Docker setup |
2929
| Tool interface | One interface, one method | Class hierarchies + decorators |
@@ -147,6 +147,7 @@ odek run "@README.md what does this project do?"
147147
| Doc | Covers |
148148
|-----|--------|
149149
| [CLI Reference](docs/CLI.md) | All commands, subcommands, flags, error codes |
150+
| [Cheat Sheet](docs/CHEATSHEET.md) | CLI quick reference, key flags, config snippets |
150151
| [Configuration](docs/CONFIG.md) | Config files, env vars, priority chain, all sections |
151152
| [Programmatic API](docs/API.md) | **SDK Guide**: import, Agent lifecycle, Tool interface, multi-turn sessions, memory system, model profiles, complete examples |
152153
| [Providers & Models](docs/PROVIDERS.md) | Supported providers, thinking config, context windows |
@@ -157,6 +158,7 @@ odek run "@README.md what does this project do?"
157158
| [Security](docs/SECURITY.md) | Threat model, prompt injection defense, sandbox model |
158159
| [Sub-Agents](docs/SUBAGENTS.md) | Task decomposition, delegation tool, subagent protocol |
159160
| [Web UI](docs/WEBUI.md) | `odek serve`, WebSocket protocol, `@` resource resolution |
161+
| [Self-Learning](docs/LEARNING.md) | LLM-enhanced skill learning, pattern detection, auto-curation |
160162
| [Skills](docs/CLI.md#skills) | Trigger-matched skills, learning, import, curation |
161163
| [MCP](docs/MCP.md) | Serve tools to Claude Code + connect to external MCP servers |
162164
| [Development](docs/DEVELOPMENT.md) | Building, testing, contributing, project structure |

docs/CACHING.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,32 @@ agent.TotalCachedTokens() // OpenAI: cached prompt tokens
7070

7171
These are accumulated across all iterations of the most recent run. Zero values mean the provider didn't return cache metrics (either caching is not enabled, or the provider doesn't report them).
7272

73+
### UI Display
74+
75+
Cache stats appear automatically in both the **terminal** and **Web UI** — no extra flags needed:
76+
77+
**Terminal** — gray summary line after each final answer:
78+
```
79+
── 5,432 in · 890 out · 320 stored · 2,100 read
80+
```
81+
82+
Only non-zero metrics are shown. Labels:
83+
- `stored` — tokens written to populate the cache (Anthropic, first request)
84+
- `read` — tokens served from cache hit (Anthropic, subsequent requests)
85+
- `cached` — tokens matched by automatic prefix caching (OpenAI/DeepSeek)
86+
87+
**Web UI** — per-message stats at the bottom of each assistant bubble:
88+
```
89+
⚡ 2.4s · 5.4k in · 890 out · 320 stored · 2.1k read
90+
```
91+
92+
And session-level totals in the top bar:
93+
```
94+
∑ 8.2k in · 1.8k out · 3.4k read · 650 stored
95+
```
96+
97+
Hover over any stat for a tooltip explanation.
98+
7399
## How It Works
74100

75101
1. **Before each LLM call**, if `PromptCaching` is enabled, the loop calls `llm.ApplyCacheMarkers(messages)` which:

0 commit comments

Comments
 (0)