|
| 1 | +# odek as Your Daily Worker — Integration Proposals |
| 2 | + |
| 3 | +## Strengths Comparison |
| 4 | + |
| 5 | +| Capability | Hermes (you) | odek | |
| 6 | +|---|---|---| |
| 7 | +| **Coding (refactor, debug, build)** | ✅ via `delegate_task` / tools | 🏆 Go-native, 3ms startup, sub-agent farm | |
| 8 | +| **Platform integration** (Telegram, email, GitHub, Notion) | 🏆 Native | ❌ None | |
| 9 | +| **Browser / Vision / TTS** | 🏆 Native | ❌ None | |
| 10 | +| **Sub-agent isolation** | Goroutine + context | 🏆 Real OS processes, `exec.Command` | |
| 11 | +| **Memory** | Per-session + persistent | 🏆 3-tier (facts, buffer, episodes) + vector | |
| 12 | +| **Skills auto-learning** | Manual skills | 🏆 Auto-detect patterns, trie-based trigger | |
| 13 | +| **Docker sandbox** | Manual | 🏆 Wired into agent loop | |
| 14 | +| **Cron / scheduling** | 🏆 Native | ❌ None | |
| 15 | +| **Web UI** | ❌ | 🏆 `odek serve` | |
| 16 | +| **MCP bidirectional** | Client only (native-mcp) | 🏆 Server + Client | |
| 17 | + |
| 18 | +## Proposed Integration: Hermes Orchestrates, odek Builds |
| 19 | + |
| 20 | +Top 3 patterns, ordered by value: |
| 21 | + |
| 22 | +--- |
| 23 | + |
| 24 | +### 1. Direct CLI delegation — `odek run` for coding tasks |
| 25 | + |
| 26 | +Best for: focused coding work (refactor, implement, debug) |
| 27 | + |
| 28 | +``` |
| 29 | +You: "Refactor the auth module to use context-based middleware" |
| 30 | +
|
| 31 | +Hermes: |
| 32 | + 1. Spawn → odek run --session "Refactor auth to context-based middleware" |
| 33 | + 2. odek reads files, plans, rewrites, tests |
| 34 | + 3. Hermes receives result, verifies, reports back to you |
| 35 | +``` |
| 36 | + |
| 37 | +**Setup:** none — odek is already installed. Just call from terminal. |
| 38 | + |
| 39 | +**Pros:** Zero infra, odek's full power, session persistence |
| 40 | +**Cons:** No Hermes tool access during task (no browser, no search) |
| 41 | + |
| 42 | +--- |
| 43 | + |
| 44 | +### 2. MCP bridge — share tools bidirectionally |
| 45 | + |
| 46 | +Best for: giving odek access to Hermes' unique tools (browser, search, vision) during coding |
| 47 | + |
| 48 | +``` |
| 49 | + ┌─────────────┐ MCP stdio ┌─────────────┐ |
| 50 | + │ Hermes │◄──────────────────►│ odek │ |
| 51 | + │ │ │ │ |
| 52 | + │ Telegram │ │ shell/file │ |
| 53 | + │ Browser │ │ sub-agents │ |
| 54 | + │ Vision │ │ sandbox │ |
| 55 | + │ Cron │ │ skills │ |
| 56 | + └─────────────┘ └─────────────┘ |
| 57 | +``` |
| 58 | + |
| 59 | +**Setup:** |
| 60 | +```bash |
| 61 | +# In one terminal (or background): |
| 62 | +odek mcp # odek serves its tools via MCP |
| 63 | + |
| 64 | +# Configure Hermes to connect as MCP client: |
| 65 | +# ~/.hermes/config.yaml |
| 66 | +mcp_servers: |
| 67 | + odek: |
| 68 | + command: odek |
| 69 | + args: [mcp] |
| 70 | +``` |
| 71 | + |
| 72 | +Then Hermes can call `odek__shell`, `odek__readFile` etc. when it needs odek's sub-agent or sandbox features. |
| 73 | + |
| 74 | +**Pros:** Bidirectional tool access, no context switching |
| 75 | +**Cons:** More moving parts, latency from MCP serialization |
| 76 | + |
| 77 | +--- |
| 78 | + |
| 79 | +### 3. odek serve — Web UI for long-running sessions |
| 80 | + |
| 81 | +Best for: complex multi-hour coding tasks you want to monitor visually |
| 82 | + |
| 83 | +```bash |
| 84 | +odek serve --port 3001 |
| 85 | +# Open http://localhost:3001 in browser |
| 86 | +# odek runs autonomously, shows live token stats, tool calls |
| 87 | +``` |
| 88 | + |
| 89 | +You can start it alongside Hermes and switch between Telegram (Hermes) and the Web UI (odek) for the same task. |
| 90 | + |
| 91 | +**Pros:** Visual debugging, per-message token stats, drag-drop files |
| 92 | +**Cons:** Separate window, no Telegram integration |
| 93 | + |
| 94 | +--- |
| 95 | + |
| 96 | +### 4. Hybrid: Hermes + odek sub-agent farm (recommended daily driver) |
| 97 | + |
| 98 | +Combine all three: |
| 99 | + |
| 100 | +``` |
| 101 | +┌─────────────────────────────────────────────────────┐ |
| 102 | +│ Hermes │ |
| 103 | +│ │ |
| 104 | +│ Telegram DM ◄──► You │ |
| 105 | +│ │ |
| 106 | +│ delegate_task ──► Spawns odek sub-agents via: │ |
| 107 | +│ 1. odek run "Implement feature X" │ |
| 108 | +│ 2. odek run "Fix bug in Y" │ |
| 109 | +│ 3. odek run --sandbox "Test Z safely" │ |
| 110 | +│ │ |
| 111 | +│ odek skills dir shared: ~/.odek/skills/ │ |
| 112 | +│ odek memory shared: ~/.odek/memory/ │ |
| 113 | +└─────────────────────────────────────────────────────┘ |
| 114 | +``` |
| 115 | + |
| 116 | +**Setup:** |
| 117 | +```bash |
| 118 | +# Ensure odek is on PATH |
| 119 | +which odek || go install github.com/BackendStack21/kode/cmd/odek@latest |
| 120 | + |
| 121 | +# Optionally share the skills directory |
| 122 | +ln -s ~/.odek/skills ~/.hermes/skills # optional |
| 123 | +``` |
| 124 | + |
| 125 | +Then create a Hermes skill for it: |
| 126 | + |
| 127 | +<skill name="odek-delegate"> |
| 128 | +Trigger: user asks to refactor / implement / debug code |
| 129 | +Steps: |
| 130 | + 1. Read the relevant files for context |
| 131 | + 2. Call: odek run --session "task description with full context" |
| 132 | + 3. Capture result, verify files were modified |
| 133 | + 4. Report back to user |
| 134 | +</skill> |
| 135 | + |
| 136 | +--- |
| 137 | + |
| 138 | +## What I Recommend |
| 139 | + |
| 140 | +Start with **Pattern 1** (direct CLI delegation). It's zero-setup and gives you immediate value: |
| 141 | + |
| 142 | +```bash |
| 143 | +# Example — I'd use this daily: |
| 144 | +odek run --session "Add E2E tests for the YOLO mode config" |
| 145 | +odek run "Refactor shell.go to extract a helper function" |
| 146 | +odek run --sandbox "Run the full test suite" |
| 147 | +``` |
| 148 | + |
| 149 | +Add **Pattern 4** (shared skills/memory) when you want odek to learn from repeated tasks. Add **Pattern 2** (MCP bridge) when you need odek to use browser/vision during a coding task. |
| 150 | + |
| 151 | +Want me to implement Pattern 1 as a Hermes skill right now? |
0 commit comments