Files
agent-claw/framework-notes.md
daniel 0369a74ac1 Initial research: OpenClaw on AgentCore architecture
- 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
2026-05-04 08:28:52 -05:00

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*