Proposal: Auto-discover agents from backends (<htt...
# proj-agent-canvas
c
Proposal: Auto-discover agents from backends (PR #422) Following up on the multi-select backend work in https://openhands-ai.slack.com/archives/C06QT0AGY4W/p1778686194092719 — this proposes how we surface conversations from all agents (OpenHands, Claude Code, Codex) in a single unified conversation list. The idea: instead of adding new API endpoints, the SDK connects to ACP agents at startup, calls
list_sessions()
on each, and merges discovered sessions into its existing conversation list. The frontend just reads the existing
GET /api/conversations
— which now includes
agent_id
on each conversation.
Copy code
SDK (agent-server)
├── Config: acp_agents = [openhands, claude-code, codex]
├── Calls list_sessions() on each ACP agent
├── Merges into existing conversation list
└── GET /api/conversations → everything, tagged with agent_id
The proposal includes a before/after mockup of the conversation panel showing OH, Claude Code, and Codex sessions mixed together — including CLI-started sessions (
claude
,
openhands
,
codex
CLI) that are automatically discovered and resumable. 📖 View the full proposal (rendered HTML with architecture diagrams, conversation UI mockups, and code examples) Looking for feedback on: (1) changes to the agent-canvas user flow, (2) SDK startup config vs. API-driven agent registration, (3)
list_sessions()
polling strategy, and (4) how session resumption should work. 🙏
cc @strong-ice-84145 @limited-student-10747 since this is also related to sdk stuff