1
1
Fork
You've already forked kurama
0

Exibir status e output de agents rodando em tasks paralelas (como OpenCode) #6

Closed
opened 2026年07月09日 03:34:02 +02:00 by andeerc · 0 comments

Descrição

Quando agents são disparados em paralelo (via delegate_task ou sub-agents), não há visibilidade do que cada agent está fazendo — se está rodando, travou, ou qual o progresso.

Detalhamento Técnico

Como o paralelismo funciona atualmente

Coordenação: internal/agent/coordinator.go

  • Coordinator gerencia execução concorrente de sub-agents
  • DelegateTask() dispara agent em goroutine separada
  • Resultado retornado via canal — sem feedback intermediário

Delegate task tool: internal/agent/delegate_task.go

  • Tool delegate_task disponível para o model
  • Executa sub-agent em background
  • Retorna apenas resultado final

Agent exec: internal/agent/agent.go

  • Run() executa o loop principal do agent
  • Event system em internal/agent/event.go — eventos de streaming

O que falta

  1. Painel de status mostrando agents em execução (similar OpenCode):

    • Nome do agent
    • Status atual (starting/running/completed/error)
    • Tempo de execução
    • Output parcial em tempo real
  2. Streaming de output de cada sub-agent:

    • Conectar ao sistema de eventos (internal/agent/event.go)
    • Exibir tokens/tools sendo usados em tempo real
  3. Navegação entre outputs de diferentes agents paralelos

  4. Log persistente de execuções de sub-agents

Arquivos relevantes

Arquivo Propósito
internal/agent/coordinator.go Gerencia agents concorrentes
internal/agent/delegate_task.go Tool de delegação
internal/agent/agent.go Loop de execução do agent
internal/agent/event.go Eventos de streaming
internal/ui/ Interface do usuário
internal/db/ Persistência de logs

Caso de uso

```
agent 1: analisar código (rodando...)
agent 2: gerar testes (concluído)
agent 3: revisar docs (erro)
```

Contexto

Sem visibilidade não dá pra saber se um sub-agent travou ou está só demorando. Isso reduz a confiança ao usar paralelismo.

## Descrição Quando agents são disparados em paralelo (via delegate_task ou sub-agents), não há visibilidade do que cada agent está fazendo — se está rodando, travou, ou qual o progresso. ## Detalhamento Técnico ### Como o paralelismo funciona atualmente **Coordenação:** `internal/agent/coordinator.go` - `Coordinator` gerencia execução concorrente de sub-agents - `DelegateTask()` dispara agent em goroutine separada - Resultado retornado via canal — sem feedback intermediário **Delegate task tool:** `internal/agent/delegate_task.go` - Tool `delegate_task` disponível para o model - Executa sub-agent em background - Retorna apenas resultado final **Agent exec:** `internal/agent/agent.go` - `Run()` executa o loop principal do agent - `Event` system em `internal/agent/event.go` — eventos de streaming ### O que falta 1. **Painel de status** mostrando agents em execução (similar OpenCode): - Nome do agent - Status atual (starting/running/completed/error) - Tempo de execução - Output parcial em tempo real 2. **Streaming de output** de cada sub-agent: - Conectar ao sistema de eventos (`internal/agent/event.go`) - Exibir tokens/tools sendo usados em tempo real 3. **Navegação** entre outputs de diferentes agents paralelos 4. **Log persistente** de execuções de sub-agents ### Arquivos relevantes | Arquivo | Propósito | |---|---| | `internal/agent/coordinator.go` | Gerencia agents concorrentes | | `internal/agent/delegate_task.go` | Tool de delegação | | `internal/agent/agent.go` | Loop de execução do agent | | `internal/agent/event.go` | Eventos de streaming | | `internal/ui/` | Interface do usuário | | `internal/db/` | Persistência de logs | ### Caso de uso \`\`\` agent 1: analisar código (rodando...) agent 2: gerar testes (concluído) agent 3: revisar docs (erro) \`\`\` ### Contexto Sem visibilidade não dá pra saber se um sub-agent travou ou está só demorando. Isso reduz a confiança ao usar paralelismo.
Sign in to join this conversation.
No Branch/Tag specified
main
v1.0.2
v1.0.1
v1.0.0
v0.1.4
v0.1.3
v0.1.2
v0.1.1
v0.0.3
v0.0.2
v0.0.1
Labels
Clear labels
No items
No labels
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
andeerc/kurama#6
Reference in a new issue
andeerc/kurama
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?