[2026-06-03] eagle: family/how-to/claude-python-cli-proxy.md family/how-to/hermes-eagle-mac.md personal/projects/personal-os/hermes-deployment-patterns.md

This commit is contained in:
Alexey Martemyanov
2026-06-03 16:30:41 +06:00
parent 2a9a9f4723
commit a1f5305fe4
3 changed files with 235 additions and 8 deletions
@@ -23,17 +23,21 @@ a different access model and client type.
**Where:** Eagle Mac M4 Max, native process (not Docker)
**Transport:** Zulip (Docker)
**Model backend:** `openclaw-claude-proxy` on port 3456 — wraps
`claude --print` as an OpenAI-compatible endpoint, preserving tool_use.
**Autostart:** launchd (`ai.claude-proxy.plist`)
**Model backend:** `claude-code-openai-wrapper` (Python) on port 8090 — uses
`claude-agent-sdk` to spawn the bundled `claude` CLI as a subprocess and
expose an OpenAI-compatible endpoint with real streaming support.
**Previous backend:** `openclaw-claude-proxy` (Node.js) on port 3456 —
still running as fallback but streaming broken since CLI ≥ 2.1.141.
**Autostart:** launchd (`com.openclaw.claude-proxy.plist`)
**Why native:** Mac file system access, MCP tools (obsidian-mcp), and the
cron wiki-curation job all need full host access. Docker would require
volume mounts for every integration.
**Key pitfall:** `claude-proxy` wrapper script must `source ~/.hermes/.env`
explicitly — launchd does not inherit login session env. See
[[tech/hermes-eagle-mac]].
**Key pitfall:** `claude-python-proxy-start.sh` must `source ~/.hermes/.env`
explicitly — launchd does not inherit login session env. Also `CLAUDE_CODE_OAUTH_TOKEN`
expires (access tokens are short-lived); when it does both proxies return 401.
See [[claude-python-cli-proxy]] for full details and token-refresh procedure.
## Pattern 2: Kraken Docker (RPi5)
@@ -64,7 +68,7 @@ See [[tech/hermes-kraken-api]].
| Dimension | Eagle Native | Kraken Docker | Kraken API |
|-----------|-------------|---------------|-----------|
| Model | claude-sonnet via proxy | Gemini/ORouter | Gemini/ORouter |
| Model | claude-sonnet via Python proxy (8090) | Gemini/ORouter | Gemini/ORouter |
| Transport | Zulip | Zulip | HTTPS REST |
| Clients | Cron, MCP tools | Zulip bot clients | Mobile / OpenAI SDK |
| External access | No | No | Yes (CF Tunnel) |