main
md 39 lines 1.87 KB
Rendered Raw
1 # Chat Naming Plugin DOX
2
3 ## Purpose
4
5 - Own manual and Utility Model-assisted naming for chats and scheduled-task rows.
6
7 ## Ownership
8
9 - `helpers/naming.py` owns user-message selection, name generation, and persistence.
10 - `extensions/python/monologue_end/` owns configured automatic naming.
11 - `api/chat_name.py` owns modal reads, generation, and manual saves.
12 - `webui/` and `extensions/webui/sidebar-row-actions-menu/` own the standard rename modal and row-menu action.
13 - `prompts/` owns the Utility Model naming instructions.
14 - `commands/` owns the plugin-contributed `/rename <new name|auto>` slash command.
15
16 ## Local Contracts
17
18 - Automatic naming reads scoped plugin config through the active chat agent.
19 - Automatic naming runs after the monologue completes, so it cannot delay the Main Model.
20 - Utility Model input contains the current name and user messages only; assistant work and tool results are excluded.
21 - The complete naming prompt must remain within 70% of the effective Utility Model context window, preserving the newest user context when trimming is required.
22 - `once` names only unnamed user chats from their first user message; `always` considers the latest user message plus recent user context.
23 - Generated names are concise and normalized before persistence.
24 - Renaming a parallel child updates both its context name and sidebar label.
25 - Manual task renames update both scheduler metadata and the task context name.
26 - `/rename auto` uses the same generation and persistence helpers as the rename modal; any other non-empty argument is saved as the custom chat name.
27
28 ## Work Guidance
29
30 - Keep this behavior plugin-local; do not restore naming prompts or naming hooks to core extensions.
31 - Use the shared modal stack and sidebar row-menu extension point.
32
33 ## Verification
34
35 - Run `pytest plugins/_chat_naming/tests tests/test_sidebar_row_actions.py`.
36
37 ## Child DOX Index
38
39 No child DOX files.