Skip to content

Add examples/claw — E2E example for ADK Elixir (#83)#7

Merged
zeroasterisk merged 1 commit intomainfrom
examples/claw
Mar 9, 2026
Merged

Add examples/claw — E2E example for ADK Elixir (#83)#7
zeroasterisk merged 1 commit intomainfrom
examples/claw

Conversation

@zeroasterisk
Copy link
Copy Markdown
Owner

What

examples/claw/ — a minimal but real AI assistant (mini OpenClaw) that exercises the full ADK Elixir stack end-to-end.

Features demonstrated

Feature Implementation
Multi-agent Router agent + coder + helper sub-agents
Tool use 3 tools: datetime, read_file, shell_command (sandboxed)
Session persistence JsonFile store (priv/sessions/)
Callbacks Claw.Callbacks — logs all LLM calls
A2A server Available at /a2a
Phoenix LiveView Chat UI at / using ADK.Phoenix.ChatLive
Model gemini-2.0-flash-lite (cheapest)

Status

  • ✅ Compiles cleanly
  • ✅ 10 tests, all passing
  • ✅ README with setup instructions

ADK Elixir feedback (found while building)

See README.md for detailed notes. Key findings:

  1. No ReflectRetry plugin exists yet
  2. Session store config is global (can't vary per runner)
  3. ChatLive uses deprecated phx-update="append" — should use streams
  4. Runner doesn't pass session_store through to sessions
  5. Sub-agent routing/delegation not yet wired up automatically
  6. A2A Server creates new ETS table on every init/1
  7. Anonymous fns in tools can't be used in compile-time plug config (had to wrap A2A in a controller)

Closes #83

- Multi-agent architecture (router + coder + helper sub-agents)
- 3 tools: datetime, read_file, shell_command (sandboxed)
- Session persistence via JsonFile store
- LLM call logging callback
- A2A server endpoint at /a2a
- Phoenix LiveView chat UI at /
- Uses gemini-2.0-flash-lite model
- 10 tests, all passing
- README with setup instructions and ADK Elixir feedback

Closes #83
@zeroasterisk zeroasterisk merged commit 94ed7f4 into main Mar 9, 2026
0 of 4 checks passed
@zeroasterisk zeroasterisk deleted the examples/claw branch March 18, 2026 01:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant