Follow-ups Plugin
The Follow-ups plugin puts a one-click follow-up button under the latest finished answer in the web UI. Clicking it sends a stored prompt ("Fix the Hungarian", "Shorter", "Write tests for this") as a normal new message. The arrow next to it opens a menu with the user's other follow-ups, Edit before sending… and Manage follow-ups….
You configure the defaults. Each user can reorder, edit, add and delete entries for themselves under Settings → Extensions → Follow-ups, and reset back to your defaults.
Configuration
plugins:
- module: codumentor.plugins.follow_ups
class: FollowUpsPlugin
args:
defaults:
- id: fix_hu
label: "Javítsd a magyart"
prompt: >-
Javítsd a magyartalanságokat az előző válaszodban. A tartalmat,
a szerkezetet és a kódrészleteket ne változtasd, csak a nyelvezetet.
- id: shorter
label: { en: "Shorter", hu: "Rövidebben" }
prompt:
en: "Rewrite your previous answer more concisely."
hu: "Fogalmazd meg az előző válaszodat tömörebben."
max_items: 12
max_prompt_chars: 2000
| Parameter | Type | Default | Description |
|---|---|---|---|
enabled | bool | true | Whether the button and the settings page are shown. |
defaults | list | [] | The follow-ups every user starts with (see below). |
max_items | int | 12 | How many follow-ups a user's list may hold. Clamped to 1–50. |
max_prompt_chars | int | 2000 | Longest prompt a user may write. Clamped to 1–20000. |
Each defaults entry:
| Key | Required | Description |
|---|---|---|
id | yes | Stable identifier. Users' lists refer to it, and the usage log reports it. Letters, digits, _, ., -; must not start with u_. |
label | yes | Button text. A string, or a {locale: text} map. |
prompt | yes | The message that is sent. A string, or a {locale: text} map. |
mode | no | continue (the only value for now): the prompt is sent as a new turn. |
A {locale: text} map is resolved against the user's UI language, then en, then the first entry. Use a plain string when the text is the same in every language.
With no defaults, users start with an empty list and the button stays hidden until they add their own.
How your edits reach users
- A user who never changed their list sees your current
defaults. - An entry the user kept unchanged follows your config: reword its prompt and they get the new wording. Remove it and it disappears from their list.
- An entry the user edited becomes their own copy. Later config changes do not touch it.
Per-user lists are stored with the other per-user plugin settings (ui_events.sqlite3).
Measuring use
Every click writes one log line:
follow_ups.used id=fix_hu user=<user id> conversation=<conversation id>
Counting id=fix_hu before and after a prompt change (for example a custom instruction about language quality) shows whether the change reduced the need for the follow-up.
Notes
- Web UI only. The TUI has no follow-up control yet.
- The button shows only under the newest completed answer, and only where the user can send messages (not in shared views).
- The plugin adds nothing to the model's prompt.