github / github/copilot-cli

Any way for an extension to render a live panel in the terminal?

Ouverte
#3,979 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
area:plugins area:terminal-rendering
Langage dominant
Shell
Étoiles
11.2k
Forks
1.9k
Merge moyen
14 h 16 min
PR mergées (30 j)
6

Description

### 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_

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par examiner l’API d’extension exposée via @github/copilot-sdk/extension et la manière dont session.log et session.ui.* sont présentés dans la TUI. Définissez d’abord la plus petite API de snapshot de lignes structurées possible, puis vérifiez qu’une extension peut fournir les données demandées et que l’hôte les affiche sous forme de panneau de terminal fixe ; l’actualisation en direct et l’interaction sont explicitement des considérations ultérieures.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
github
Domaine
cli, developer-experience
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.