Codumentor logo Codumentor

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
ParameterTypeDefaultDescription
enabledbooltrueWhether the button and the settings page are shown.
defaultslist[]The follow-ups every user starts with (see below).
max_itemsint12How many follow-ups a user's list may hold. Clamped to 1–50.
max_prompt_charsint2000Longest prompt a user may write. Clamped to 1–20000.

Each defaults entry:

KeyRequiredDescription
idyesStable identifier. Users' lists refer to it, and the usage log reports it. Letters, digits, _, ., -; must not start with u_.
labelyesButton text. A string, or a {locale: text} map.
promptyesThe message that is sent. A string, or a {locale: text} map.
modenocontinue (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

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