github / github/copilot-cli

Add way to suppress the bell character for end of interaction when a prompt is scheduled

Offen
#3,411 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area:configuration 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

If an interaction ends with a scheduled prompt, the harness still prints a bell despite not needing user interaction

### Proposed solution

There are a few ways to go about this:
1. Don't print a bell character if there is a prompt scheduled (unconditionally).
2. Add a parameter to `manage_schedule` (and `/every`, `/after`) to suppress bells so long as that prompt is still scheduled. (leave it up to the model to decide if a bell is needed)
3. Allow the `agentStop` custom hook to return a value to suppress the bell. (would allow a custom hook that looks for a sentinel phrase)

My preference is option 2, as it is the most flexible.

### Example prompts or workflows

Example workflow:
A custom agent that queues a release (that takes a long time), waits for it to finish, then runs tests against it.
Currently, the agent would queue the release, then check its status, then queue a follow-up prompt to check the status again. Bell. Then when the scheduled prompt runs, another bell will play when that interaction ends. This will repeat until the release finishes. When the release does finish, the agent continues with the workflow, which may require more user interaction, causing more bells that the user has been now trained to ignore.

Basically, any workflow where the agent is polling via scheduled prompts. Currently, with each poll, the harness plays the bell even if there is no reason to. If you have multiple polling sessions, it can get quite annoying and it makes it impossible to know when you hear a bell if it's just the polling or if the agent needs something from you (or is really done).

### Additional context

_No response_

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit nachzuverfolgen, wie der Harness am Ende einer Interaktion die Klingel ausgibt und wie geplante Prompts über manage_schedule, /every und /after behandelt werden. Überprüfe das Verhalten des benutzerdefinierten agentStop-Hooks und vergleiche die drei vorgeschlagenen Unterdrückungsansätze. Die Aufgabe ist erledigt, wenn Polling-Prompts keine irreführenden Klingeltöne mehr erzeugen, während Interaktionen, die Benutzeraufmerksamkeit erfordern, weiterhin darauf hinweisen können.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
shell
Bereich
cli
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

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