Configuration
ChEddi brings fourteen settings of its own. They sit in the extension settings under cheddi and are grouped into five categories.
The server address and the API key deliberately are not among them, they come from the AI Suite configuration. Unlike those, the chat settings have no per-backend-group overrides.
Inheritance: only stricter, never more permissive
Seven settings ship on “Inherit”. Each has a counterpart in the MCP server or in the AI Suite and then behaves exactly like it. That way ChEddi is consistent with the rest of the installation without a single setting being touched.
If you do set a value, a firm rule applies: it may only be stricter than the source, never more permissive. Specifically:
- The table lists are added to the MCP lists and never shorten them.
chatAllowRawHtmlWrite = Yescannot permit what MCP forbids.chatForceGdpa = Nocannot take the chat out of an installation-wide GDPR requirement.
The reasoning: the chat sits closer to the editor than an external MCP client. It should not be possible to be allowed more through the convenient route than through the technical one.
All settings at a glance
Chat
Model selection, data protection and the lifetime of conversations.
- GDPR compliant mode (chatForceGdpa)
-
Restricts the model selection to the models marked as GDPR-compliant on the AI Suite Server. Web search then runs through a search provider hosted in the EU, see Web research. “Inherit” follows the AI Suite setting
forceGdpa. If that one is set to “Yes”, the chat stays restricted even with “No” here.Default:
Inherit from AI Suite - Session lifetime in days (chatSessionLifetimeDays)
-
Days a conversation may stay inactive before the clean-up run marks it as deleted. Seven days later it is removed for good, together with its messages, its change log and its attachments. See Operation.
Default:
20
Writes
Where confirmed changes are written.
- Write mode (chatWriteMode)
-
Where confirmed changes are written. “Draft workspace” puts them in a draft, created automatically if needed, which requires
ext:workspaces. “Live” writes straight to the live site. “Inherit” followsmcpWriteMode. Set the value explicitly if the editorial chat should behave differently from headless MCP usage. See Draft or live.Default:
Inherit from MCP - Allow raw HTML write (chatAllowRawHtmlWrite)
-
Whether ChEddi may store raw markup verbatim in code editor fields, for instance in a content element of type “HTML”, which TYPO3 renders unfiltered. “Inherit” follows
mcpAllowRawHtmlWrite. Here too: only stricter, never more permissive. If MCP is set to “No”, a write from the chat stays rejected as well. A rejected write stores nothing, so the existing value survives.Default:
Inherit from MCP
Tools & tables
Which tools and tables ChEddi may see at all. All four lists are added to the MCP lists and never shorten them. TYPO3 backend permissions apply on top.
- Excluded tools (chatExcludedTools)
-
Tool names ChEddi must never offer, on top of a built-in block list. That list already covers bulk runs, media upload, workspace diff and server diagnostics, things a backend module exists for.
The list is applied identically on every turn. That is deliberate: a catalogue that changes from turn to turn destroys the provider's cache for the prompt prefix and was measured to cost more than it saves.
Default:
empty - Excluded tables (chatExcludedTables)
-
Tables ChEddi must never read or write, on top of the MCP list. Empty means exactly the MCP list. The exclusion also applies to administrators.
Default:
empty - Additional searchable tables (chatSearchAdditionalTables)
-
Additional tables the chat's full-text search sweeps, on top of the MCP list and the automatically detected child tables. Meant for standalone record tables that are not children of anything, such as the records of EXT:news. Excluded tables and backend permissions still apply.
Default:
empty - Exclude auto-detected tables from search (chatExcludeAdditionalTablesFromSearch)
-
Removes tables from the automatically detected set of child tables, to keep irrelevant hits out of the chat. Affects only the auto-detected ones: a table listed under “Additional searchable tables” is searched regardless. To block a table entirely, use “Excluded tables”.
Default:
empty
Web research
Settings for web research. They only take effect once the backend group holds the right enable_web_research, see Web research.
- Trusted sources (chatWebResearchAllowedDomains)
-
Domains web research is restricted to. Empty, the default, searches the open web and is the recommendation.
This is a hard filter, not a ranking preference: a question whose answer lives on none of the domains returns no sources at all, and an assistant without sources falls back on what it remembers. Use the list only where a subject really is confined to known sources, keep it short and review it regularly. A forgotten list narrows every research from then on. At most ten domains are sent.
Default:
empty - Excluded sources (chatWebResearchBlockedDomains)
-
Domains web research never returns. The safer instrument for most installations. Ignored while a trusted-source list is set, because both providers accept only one of the two lists. At most ten domains are sent.
Default:
empty - Country override (chatWebResearchCountry)
-
Two-letter country the results are localised for. Empty takes the region of the site's default language, which is right for almost every installation. Set it when the editorial team writes for a different market than the website itself.
Default:
empty - Searches per turn (chatWebResearchMaxSearches)
-
How many searches a single turn may run. 0 leaves the decision to the server. A higher value buys depth on comparison questions and costs a flat fee per search, a lower one caps a runaway research turn.
Logging
Logging of the chat.
- Verbose INFO log (chatLogVerbose)
-
Writes the verbose trace to
var/log/cheddi.log: chosen model, offered and called tools, charged credits. “Inherit” followsmcpLogVerbose. The warning log atvar/log/cheddi_warnings.logruns independently either way. Switch it off in production once monitoring is mature, that reduces write load and the amount of personal data in the log.Default:
Inherit from MCP - Log redaction patterns (chatLogRedactionPatterns)
-
Additional regular expressions whose matches are replaced with
[REDACTED]in the log. Bearer tokens, 64-character hex hashes and email addresses are built in already, as are the patterns from the MCP configuration. Yours are added on top.Default:
empty