docs: describe prompt notifications

A prompt that waits on the human is announced after a grace period, and the
notification can carry the answer: allow / deny / review buttons for a
confirmation, a reply field for an `ask_user_line`. `doc/notifications.md` lays
out the two channels (the optional `desktop-notifier` extra, and OSC 777 / OSC 9
written to `/dev/tty` with no dependency), what each prompt kind offers, why the
reason line stays out by default, and the platform limits — no buttons where a
server does not render them, a reply field only under KDE, kitty left with the
bell.

The example config and the README config block gain the `[notify]` section, and
AGENTS.md documents the three prompt hooks and the rule that only the outermost
prompt of a nested read is announced.
This commit is contained in:
2026-10-21 20:03:36 +08:00
parent be8a0111ec
commit b197c98ce9
5 changed files with 131 additions and 2 deletions
+6 -2
View File
@@ -32,8 +32,10 @@
``@tool`` / tags / registry. History stays chat-completions-shaped.
- tools: Workspace file/process/VCS/chat/todo/net/skill tools + directory-access
grants (`access`); catalog; plugins; instance/session context and views.
- prompting: Shared ask/choose/form for CLI and tools.
- cli: Click entry, slash registry, REPL, one-shot chat.
- prompting: Shared ask/choose/form for CLI and tools; the hooks a host uses
to take over a prompt (output break, SIGINT guard, waiting notification).
- cli: Click entry, slash registry, REPL, one-shot chat; `notify` announces a
prompt that waits on the human.
- web: Web service (Phase H; not implemented).
Plugins (third-party entry points, allowlisted under ``[plugins]``): [plugins.md](./plugins.md).
@@ -41,4 +43,6 @@ Conversation units (a *round* = one request→response plus its tool batch, a
*turn* = a user message to the explicit stop): [turns-and-rounds.md](./turns-and-rounds.md).
Images (a turn's pictures, a tool result's pictures, what each wire surface
takes): [images.md](./images.md).
Prompt notifications (a prompt that waits on the human, and how it can be
answered from the notification): [notifications.md](./notifications.md).