mirror of
https://github.com/qwibitai/nanoclaw.git
synced 2026-06-04 10:14:47 +08:00
feat(v2): OpenCode agent provider
- Add OpenCodeProvider (SSE, session resume, MCP via mcp-to-opencode) - Register opencode in factory; AGENT_PROVIDER passthrough from DB - Host: XDG mount, NO_PROXY merge, OPENCODE_* env for opencode sessions - Dockerfile: opencode-ai CLI; docs checklist + architecture diagram - Skill add-opencode for v2; AgentProviderName in src/types.ts Made-with: Cursor
This commit is contained in:
@@ -31,7 +31,7 @@ flowchart TB
|
||||
subgraph Session["Per-Session Container (Docker / Apple Container)"]
|
||||
direction TB
|
||||
PollLoop["Poll Loop<br/>(container/agent-runner)"]
|
||||
Provider["Claude Agent SDK<br/>(providers: claude, mock, todo: codex/opencode)"]
|
||||
Provider["Agent providers<br/>(claude, opencode, mock; todo: codex)"]
|
||||
MCP["MCP Tools<br/>send_message, send_file, edit_message,<br/>add_reaction, send_card, ask_user_question,<br/>schedule_task, create_agent,<br/>install_packages, add_mcp_server, request_rebuild"]
|
||||
Skills["Container Skills<br/>(container/skills/)"]
|
||||
InDB[("inbound.db<br/>host writes<br/>even seq<br/>messages_in<br/>destinations<br/>processing_ack")]
|
||||
@@ -88,7 +88,7 @@ sequenceDiagram
|
||||
R->>IDB: INSERT messages_in (even seq)
|
||||
R->>C: wake container (docker run / already running)
|
||||
C->>IDB: poll messages_in
|
||||
C->>C: format xml, stream to Claude SDK
|
||||
C->>C: format xml, stream to selected provider
|
||||
C->>ODB: INSERT messages_out (odd seq)<br/>parse <message to="name"> blocks
|
||||
D->>ODB: 1s poll (active) / 60s (sweep)
|
||||
D->>D: hasDestination() re-validate
|
||||
|
||||
@@ -34,7 +34,7 @@ Status: [x] done, [~] partial, [ ] not started
|
||||
- [x] Mock provider (testing)
|
||||
- [x] Provider factory
|
||||
- [ ] Codex provider
|
||||
- [~] OpenCode provider
|
||||
- [x] OpenCode provider
|
||||
|
||||
## Channel Adapters
|
||||
|
||||
|
||||
Reference in New Issue
Block a user