forked from bots-garden/ori
| 🛟 Updated. | 1 | # Managed by IssueSpec. Hand edits are welcome; keep the schema valid. |
| 2 | id: 19 | |
| 3 | title: Start and monitor agents from Ori | |
| 4 | state: open | |
| 5 | author: | |
| 6 | name: k33g | |
| 7 | email: ph.charriere@gmail.com | |
| 8 | createdAt: 2026-09-18T00:00:00.000Z | |
| 9 | updatedAt: 2026-09-18T00:00:00.000Z | |
| 10 | labels: | |
| 11 | - feature | |
| 12 | - enhancement | |
| 13 | - agents | |
| 14 | body: | | |
| 15 | Add the ability to start multiple independent agents from Ori and monitor their progress in real-time. | |
| 16 | ||
| 17 | ## Use Cases | |
| 18 | ||
| 19 | - Start parallel agents with different tasks: "agent bob: write a story about X" and "agent rikker: write a story about Y" | |
| 20 | - Monitor multiple long-running agents simultaneously | |
| 21 | - Track agent progress, tool calls, and outputs in separate views | |
| 22 | - Stop/pause/resume individual agents | |
| 23 | - Review agent results when complete | |
| 24 | ||
| 25 | ## Requirements | |
| 26 | ||
| 27 | ### Agent Lifecycle | |
| 28 | - Command syntax: `agent <name>: <task>` or `/agent <name> <task>` | |
| 29 | - Each agent gets a unique identifier/name | |
| 30 | - Agents run independently in parallel (like Task tool with run_in_background) | |
| 31 | - Agents persist across Ori sessions (survive page refresh) | |
| 32 | - Clear indication when agent starts, is running, completes, or errors | |
| 33 | ||
| 34 | ### Monitoring & Visibility | |
| 35 | - Real-time display of what each agent is doing | |
| 36 | - Stream agent thoughts, tool calls, and outputs as they happen | |
| 37 | - Show agent status: queued, running, paused, completed, failed | |
| 38 | - Visual distinction between agents (colors, avatars, icons) | |
| 39 | - Ability to expand/collapse agent views | |
| 40 | - Notification when agent completes or encounters error | |
| 41 | ||
| 42 | ### Control & Interaction | |
| 43 | - Pause/resume individual agents | |
| 44 | - Stop/terminate agents | |
| 45 | - Respond to agent questions/prompts individually | |
| 46 | - View full agent conversation history | |
| 47 | - Export/save agent results | |
| 48 | - Restart failed agents | |
| 49 | ||
| 50 | ## Implementation Considerations | |
| 51 | ||
| 52 | ### Backend | |
| 53 | - Extend ACP protocol or use existing Task tool capabilities | |
| 54 | - Each agent needs its own ACP session or isolated execution context | |
| 55 | - Agent state persistence (in-memory or file-based) | |
| 56 | - Agent output streaming (SSE, WebSocket, or polling) | |
| 57 | - Resource limits per agent (memory, CPU, timeout) | |
| 58 | - Queue management if too many agents requested | |
| 59 | ||
| 60 | ### Frontend UI Options | |
| 61 | ||
| 62 | **Option 1: Tabbed Agent Panel** | |
| 63 | - Each agent gets its own tab | |
| 64 | - Active tab shows streaming output | |
| 65 | - Tab indicators show agent status (spinner, checkmark, error icon) | |
| 66 | - Similar to browser tabs or VS Code terminal tabs | |
| 67 | ||
| 68 | **Option 2: Split View** | |
| 69 | - Vertical or horizontal splits | |
| 70 | - Each pane shows one agent | |
| 71 | - Resize panes to focus on specific agents | |
| 72 | - Similar to tmux or terminal multiplexers | |
| 73 | ||
| 74 | **Option 3: Agent Dashboard** | |
| 75 | - Grid or list view of all active agents | |
| 76 | - Cards show agent name, status, last output | |
| 77 | - Click card to expand to full view | |
| 78 | - Similar to task/process managers | |
| 79 | ||
| 80 | **Option 4: Unified Stream with Filtering** | |
| 81 | - All agent outputs in single stream | |
| 82 | - Color-coded or labeled by agent name | |
| 83 | - Filter controls to show/hide specific agents | |
| 84 | - Similar to multi-tail log viewers | |
| 85 | ||
| 86 | ### ACP Integration | |
| 87 | - Leverage existing ACP streaming capabilities | |
| 88 | - Use Task tool with run_in_background: true | |
| 89 | - Poll TaskOutput for agent progress | |
| 90 | - Or implement new ACP commands: `start_agent`, `list_agents`, `stop_agent` | |
| 91 | ||
| 92 | ## User Experience Flow | |
| 93 | ||
| 94 | ``` | |
| 95 | User: agent bob: write a story about Jean-Luc Picard | |
| 96 | User: agent rikker: write a story about Seven of Nine | |
| 97 | ||
| 98 | UI: Shows two agent cards/tabs: | |
| 99 | [Bob] ⏳ Writing story... (thought: searching for Picard references) | |
| 100 | [Rikker] ⏳ Writing story... (thought: analyzing Seven's character arc) | |
| 101 | ||
| 102 | User: *clicks Bob's card to expand* | |
| 103 | UI: Shows full streaming output of Bob's work | |
| 104 | ||
| 105 | User: *Bob completes* | |
| 106 | UI: [Bob] ✓ Complete - picard-story.md created | |
| 107 | ||
| 108 | User: /agents list | |
| 109 | UI: | |
| 110 | - bob: completed (2 min ago) - picard-story.md | |
| 111 | - rikker: running (3/5 tasks complete) | |
| 112 | ``` | |
| 113 | ||
| 114 | ## Related Features | |
| 115 | ||
| 116 | - Could integrate with `/btw` command for agent-specific context | |
| 117 | - Agent results could appear in file tree automatically | |
| 118 | - Terminal panel could show agent bash commands | |
| 119 | - Could support agent-to-agent communication (advanced) | |
| 120 | ||
| 121 | ## Open Questions | |
| 122 | ||
| 123 | - Maximum number of concurrent agents? | |
| 124 | - Should agents share workspace context or be isolated? | |
| 125 | - How to handle agent conflicts (both editing same file)? | |
| 126 | - Should agents see each other's outputs? | |
| 127 | - Pricing/cost implications of multiple parallel agents? | |
| 128 | - Should agent names be user-defined or auto-generated? | |
| 129 | - Persist agent history across Ori restarts? | |
| 130 | - Should there be agent templates/presets? | |
| 131 | ||
| 132 | ## Technical Challenges | |
| 133 | ||
| 134 | - Resource management with multiple Claude API calls | |
| 135 | - State synchronization between backend and frontend | |
| 136 | - File system conflicts when multiple agents write | |
| 137 | - Error handling and recovery for individual agents | |
| 138 | - Performance impact of streaming multiple outputs | |
| 139 | ||
| 140 | ## Priority | |
| 141 | ||
| 142 | High - This would be a differentiating feature for Ori as a multi-agent orchestration tool | |
| 143 | ||
| 144 | ## Related Work | |
| 145 | ||
| 146 | - Claude Code's Task tool with run_in_background | |
| 147 | - Aider's architect mode | |
| 148 | - AutoGPT/BabyAGI multi-agent systems | |
| 149 | - LangChain agent executors |