Add way to suppress the bell character for end of interaction when a prompt is scheduled
- 主要言語
- Shell
- スター
- 11.2k
- フォーク
- 1.9k
- 平均マージ
- 14時間 16分
- マージ済み PR(30日)
- 6
説明
### 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_
コントリビューションガイド
調査の方向性
まず、インタラクションの終了時に harness がどのようにベルを鳴らすか、また manage_schedule、/every、/after を通じてスケジュールされたプロンプトがどのように処理されるかを追跡します。カスタム hook である agentStop の動作を確認し、提案されている3つの抑制アプローチを比較します。ポーリングプロンプトが誤解を招くベルを鳴らさなくなり、ユーザーの注意が必要なインタラクションは引き続きそれを通知できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- shell
- 領域
- cli
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 45/100