Wiki / Core Features / Config Assistant

Config Assistant

Created by Maxime_48 · 2 hours ago · 5 views

A bot with thirty features has a lot of settings, and most of them only make sense next to another one. The Config Assistant reads your server's configuration and answers questions about it: what a setting does, what it currently holds, and what to change to get a different behaviour.

It can also propose a change — as a before/after list you read and apply yourself. Nothing is ever applied without your click.

✨ Where it is

A chat panel on your server's Feature configuration page. Open it with the 🛠 button in the bottom-right corner.

It belongs to your team, not to you personally. Everyone on the team sees the same conversations, so a teammate can pick up where you left off, and you can read what has already been asked instead of asking it again.

This is a second assistant, beside the Graph Assistant rather than instead of it. The graph one stays in the graph editor and keeps doing what it does; this one talks about your server's features. They share your team's model settings and nothing else — asking one a question never blocks the other.

📖 It reads your live configuration

Not the documentation, and not what the feature used to do: the settings that are in place on this server, right now.

For every enabled feature it is told each setting's label, its real key, its type, and the value you have in it. A setting you never filled in is described as not set rather than skipped, because "it does nothing because that field is empty" is usually the answer.

It also knows which features are not enabled. Ask about one of those and it says so, and tells you it has to be enabled on the Features page before its settings exist at all — rather than inventing an answer about settings that are not there.

Press ⟳ Re-read the configuration after you change something. The assistant is handed a fresh description with your next question, so it answers on what the server holds now.

✅ It proposes, you apply

When an answer involves changing something, it comes with Review changes. That opens a before/after list: the feature, the setting's name and its real key, the value now, and the value it suggests. A setting it names that already holds the right value is shown too, marked Already set to this, so nothing looks like a change that is not one.

Apply writes it, right then, to your server's settings — the same write the feature's own page performs, with the same checks and the same entry in your audit log. Discard turns it down. Asking again instead of applying also turns it down: the older proposal is marked Replaced by a later answer and its button goes away, so you can never apply the one that two better answers have since replaced.

The list is recomputed the moment you open it and again the moment you apply it, against the settings as they are at that instant. If a teammate changed something in between, you see their value in the before column — a proposal from an hour ago can never quietly put back what someone changed since.

All of it, or none of it. If any part of a proposal does not fit — a setting that does not exist, a value the field will not take — the whole batch is refused and nothing is written. It is told exactly what was wrong and tries again, and you see the reason in the thread.

There are things it cannot propose at all:

  • Turning a feature on or off. That stays on the Features page. It will tell you to go there.
  • Any credential. It cannot see them and it cannot write them (see below).
  • Features with a page of their own rather than a settings form — Moderation, Automod, Leveling, Reaction Roles, Server Logs, Discord Reports and Discord Tickets. It knows to send you there instead.

Who may apply

Reading a proposal and applying it are two different rights. Anyone who can use the assistant sees the full before/after list; applying it needs permission to configure the server — the same one the settings form needs. Without it the list is still yours to read, and the button is simply not available.

🙈 It never sees your credentials

Several features hold secrets: an API key for AI responses, an S3 secret for audio recording, tokens for social alerts. Those values are replaced with •••••••• before the assistant is told anything.

It is told that the value is hidden and why, so it can still say "this feature has a key configured" or "this one is missing its key" — the useful half of the answer — without the secret ever leaving the panel. A setting you never filled in stays visibly empty rather than masked, so "configured" and "not configured" never look the same.

It cannot recover a masked value, and it is instructed never to ask you to paste one into the chat.

🏷 Names, not raw ids

Discord stores channels and roles as long numbers, and a configuration read out in ids is unreadable. Wherever the panel knows the name, it is written beside the id — 123456789 (#announcements), 987654321 (@Moderator) — so an answer can name the channel you actually recognise.

💬 Several conversations

Each subject gets its own thread. Start one with + whenever you change topic: a conversation's history is all the assistant sees, so an unrelated earlier discussion cannot confuse the answer.

Threads are titled from your first question and sorted by their last message. The 🗑 button deletes one with everything said in it, and everyone on the team sees it go. The last remaining thread cannot be deleted — the panel always needs somewhere to write — and neither can the one the assistant is currently working in.

⏳ One request at a time

While the assistant is working, the composer is disabled for the whole team, in every conversation, and everyone sees whose request it is running. A team shares one model and one bill; two questions at once would cost twice and answer over each other.

The 🛠 button carries the same state when the window is closed, so you can see the team is busy before opening anything.

A graph question and a configuration question do not block each other. They are separate queues on purpose.

👀 Watching it think

Each answer carries the assistant's reasoning, folded under Show reasoning. Open it when an answer surprises you — it usually says which setting it read to get there, which is faster than checking them one by one.

Questions are labelled with who asked them, because the thread is shared.

🧠 What the bot remembers here

If AI Memory is on for your server, the bot notes things it learns about the server from conversations on Discord. The assistant can be handed those notes along with your question.

That is off until you turn it on, and it is the same switch you set in the Graph Assistant's ⚙ panel — it is yours, not the window's. Someone who allowed that source meant the source, not one particular screen. When it is on, the chat says so above your first message.

What it receives is bounded the same way there: the server you have open and no other, notes about the server itself and never the ones recorded about an individual member, a fixed number of the most recent, each cut to a reasonable length. They are given to it as background, never as instructions.

👥 Who can use it

Two things are needed: permission to see the server, and the team's AI assistant permission. Both are checked on every request and again on the live connection, so a link shared with someone outside the team gives them nothing.

⚙️ Which model it uses

The same one as the Graph Assistant: the platform's model by default, or your team's own — its own API key, its own model, or its own OpenAI-compatible endpoint. It is set once on your team settings page, under Assistant model, and both assistants follow it.

If nothing is configured at all, the window says so instead of failing on your question.

💡 Getting a good answer

Ask about behaviour, not about the database:

  • "Why doesn't the welcome message appear when someone joins?"
  • "What does the level-up announcement currently say, and where is it posted?"
  • "Which of my enabled features write to a channel that no longer exists?"
  • "I want the automod to warn instead of deleting — what do I change?"

Then read the reasoning, and either open the page it names or review the change it proposes.

If an answer claims it has already enabled or saved something, it is wrong about itself. A change only exists once you have seen it in the before/after list and clicked Apply — and once you have, it appears in your audit log under your name.