github / github/copilot-cli

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

Offen
#3,979 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area:plugins area:terminal-rendering
Vorherrschende Sprache
Shell
Sterne
11.2k
Forks
1.9k
Ø Merge
14 Std. 16 Min.
Gemergte PRs (30 T.)
6

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, die über @github/copilot-sdk/extension bereitgestellte Extension API zu prüfen und nachzuvollziehen, wie session.log und session.ui.* in der TUI sichtbar gemacht werden. Definiere zuerst die kleinstmögliche API für strukturierte Zeilen-Snapshots. Prüfe anschließend, ob eine Extension die angeforderten Daten bereitstellen kann und ob der Host sie als festes Terminal-Panel rendert; eine Live-Aktualisierung und Interaktion sind ausdrücklich spätere Überlegungen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
github
Bereich
cli, developer-experience
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.