- Architecture comparison (OpenClaw daemon vs AgentCore serverless) - Component compatibility analysis - Fargate analysis - AgentCore rebuild plan (Telegram, zero always-on compute) - Memory strategy: AgentCore Memory + factbase as structured KB - Serverless relay patterns per channel - All open questions resolved - OpenClaw feature delta March→May 2026 - Build phases and cost estimates
49 lines
1.8 KiB
Markdown
49 lines
1.8 KiB
Markdown
# Framework & Runtime Notes
|
|
|
|
## OpenClaw's Agent Framework
|
|
|
|
OpenClaw does **not** use any mainstream agent framework. No LangChain, LangGraph, CrewAI, Strands, or similar.
|
|
|
|
### Custom Stack: pi-mono
|
|
|
|
The agent runtime is built on **pi-mono** by Mario Zechner (`@mariozechner`), a custom TypeScript agent runtime:
|
|
|
|
| Package | Role |
|
|
|---|---|
|
|
| `@mariozechner/pi-agent-core` | Core agent loop: LLM call → tool parse → execute → loop |
|
|
| `@mariozechner/pi-ai` | LLM provider abstraction (Bedrock, Anthropic, OpenAI, Ollama, etc.) |
|
|
| `@mariozechner/pi-coding-agent` | Coding agent runtime (Codex/Claude Code style sub-agents) |
|
|
| `@mariozechner/pi-tui` | Terminal UI for interactive sessions |
|
|
|
|
### OpenClaw Owns Everything Else
|
|
|
|
On top of pi-mono, OpenClaw implements:
|
|
- Session management (JSONL transcripts, compaction, pruning)
|
|
- Channel routing (inbound message → agent → response → channel)
|
|
- Tool wiring (exec, read, write, edit, browser, canvas, nodes, message, etc.)
|
|
- Context engine (system prompt construction, bootstrap file injection)
|
|
- Heartbeat / Cron scheduling
|
|
- Device pairing and trust
|
|
- Config management and hot-reload
|
|
- Multi-agent routing
|
|
- Webhook/hook system
|
|
|
|
### Observability
|
|
|
|
No LangSmith, LangFuse, Arize, or OpenTelemetry integration.
|
|
- Internal JSONL session transcripts
|
|
- stdout/stderr logging (CloudWatch-compatible)
|
|
- `openclaw logs --follow` for live tailing
|
|
- Control UI for session inspection
|
|
|
|
### Implications for AgentCore
|
|
|
|
- No off-the-shelf framework adapter for AgentCore (unlike LangGraph/Strands starters)
|
|
- Would need custom `/invocations` + `/ping` HTTP wrapper around pi-mono
|
|
- LLM provider layer (`pi-ai`) could potentially be swapped for direct Bedrock SDK calls
|
|
- Tool definitions would need to be re-expressed as AgentCore-compatible tool schemas
|
|
|
|
---
|
|
|
|
*Added 2026-03-10*
|