Any way for an extension to render a live panel in the terminal?
- Lenguaje dominante
- Shell
- Estrellas
- 11.2k
- Forks
- 1.9k
- Merge medio
- 14 h 16 min
- PR fusionados (30 d)
- 6
Descripción
### Describe the feature or problem you'd like to solve
An extension has no way to render a live, refreshing panel in the terminal (e.g. a sub-agent progress dashboard) — `session.log` only appends scrolling text.
### Proposed solution
I'm building a CLI extension that runs a bunch of sub-agents in parallel and I want to show progress while they run. Something like:
```
my-run · explore · 3/5 done · 02:14
✓ auth-coverage done 45s 12.3K tok
✓ input-validation done 38s 10.1K tok
⠿ rate-limiting streaming 41s 3.2KB 8.7K tok
⠿ error-handling tool 41s (web_fetch)
· cors-policy pending 0s
```
ideally refreshing in place.
As far as I can tell there's no way to do this from an extension right now. The only output options are `session.log(..., { ephemeral: true })`, which is just scrolling text with no fixed region, and the modal `session.ui.*` dialogs. Since stdout is the JSON-RPC channel I can't draw to the terminal myself either.
I have all the data on the extension side (state, elapsed, tokens, current tool per agent) — I just have no surface to render it on.
Would you consider an API for extensions to render a panel like this in the TUI?
Even a read-only snapshot (no keyboard, no live push) would be enough to start — the extension hands the host some structured rows and the host draws them. Live updates could come later.
`@github/copilot` ~1.0.65, extension via `@github/copilot-sdk/extension`.
### Example prompts or workflows
_No response_
### Additional context
_No response_
Guía de contribución
Línea de trabajo
Comienza revisando la API de extensiones expuesta a través de @github/copilot-sdk/extension y cómo se muestran session.log y session.ui.* en la TUI. Define primero la API de instantáneas de filas estructuradas más pequeña posible; después verifica que una extensión pueda proporcionar los datos solicitados y que el host los renderice como un panel de terminal fijo; la actualización en vivo y la interacción se consideran explícitamente aspectos posteriores.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- github
- Área
- cli, developer-experience
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100