Configuration 

LLM provider setup 

The Cowriter extension uses the nr-llm extension for LLM provider configuration. Configure your preferred provider in the nrllm:configuration-backend-module.

Supported providers 

  • OpenAI - GPT-5.x series, o-series reasoning models
  • Anthropic Claude - Claude 4.5 Opus, Sonnet, Haiku
  • Google Gemini - Gemini 3 Pro, Flash
  • OpenRouter - Access to 100+ models from multiple providers
  • Mistral - Mistral Large, Medium, and open models
  • Groq - Ultra-fast inference with Llama, Mixtral

Configuration steps 

  1. Navigate to Admin Tools > LLM Management
  2. Add a provider (e.g., OpenAI with your API key)
  3. Create a model configuration
  4. Create an LLM configuration and set it as default

RTE configuration 

There are two ways to configure the CKEditor integration:

Option 1: Using the shipped preset 

If you don't have a custom RTE configuration, point the RTE at the preset this extension registers:

  1. Go to your root page
  2. Open Page Properties > Page TSconfig
  3. Add this line:

    RTE.default.preset = cowriter
    Copied!

The preset is inherited by every page below, and brings all four toolbar items with it.

Page TSconfig configuration in TYPO3 v14

The Page TSconfig field with RTE.default.preset = cowriter.

Option 2: Custom RTE configuration 

If you have your own RTE configuration file (your_ext/Configuration/RTE/YourConfig.yaml), add the Cowriter module:

editor:
  config:
    importModules:
      - { module: '@netresearch/t3_cowriter/cowriter', exports: ['Cowriter'] }
    toolbar:
      items:
        - cowriter
        - cowriterVision
        - cowriterTranslate
        - cowriterTemplates
Copied!

The four toolbar items are:

cowriter
Main dialog — task-based content generation with preview
cowriterVision
Generate image alt text via LLM vision analysis
cowriterTranslate
Inline translation dropdown (10 languages)
cowriterTemplates
Open the Cowriter dialog with a task pre-selected

Task configuration 

The Cowriter dialog shows tasks from the nr-llm extension with category = 'content'. Default tasks (Improve, Summarize, Extend, Fix Grammar, Translate EN/DE) are seeded during installation.

Adding custom tasks 

  1. Navigate to Admin Tools > LLM Management
  2. Create a new task record with category = 'content'
  3. Set a descriptive name and identifier
  4. Write a prompt template using {{input}} as the placeholder for user content
Example prompt template
Rewrite the following text in a more engaging tone, suitable for
a marketing audience. Output ONLY the rewritten text without
explanations.

{{input}}
Copied!

Field suggestions 

The fields that get the Suggest values with AI button are set in the extension configuration (Admin Tools > Settings > Extension Configuration > t3_cowriter):

fieldSuggestions.fields
Type
string
Default
pages.seo_title,pages.description,pages.keywords,pages.slug

Comma-separated list of table.field. Only single-line text fields, plain-text areas (no rich text) and slug fields are supported. A field that does not exist is skipped, so pages.seo_title only gets the button when the system extension seo is installed. An empty value switches the button off.

fieldSuggestions.count
Type
int
Default
3

How many suggestions the button asks for, from 1 to 5. The server treats it as the upper bound: a request for more is answered with this many.

The list is extension configuration rather than page TSconfig because the button is added to the TCA, which is the same for the whole installation. After changing either setting, flush the caches so the TCA is rebuilt.

Rate limiting 

The Cowriter enforces a rate limit of 20 requests per minute per backend user. When the limit is exceeded, the API returns HTTP 429 with a Retry-After header.

Security considerations 

The Cowriter extension routes all LLM requests through the TYPO3 backend, ensuring that:

  • API keys are never exposed to the frontend
  • All requests are authenticated via TYPO3's backend session
  • Error conditions are logged for debugging

Troubleshooting 

Translation not working 

If the translate button shows "Translation failed", check:

  1. An LLM provider is configured and marked as default in Admin Tools > LLM Management
  2. The provider's API key is valid and not expired
  3. The provider supports the translation feature
  4. Check the TYPO3 system log for detailed error messages

No tasks in dropdown 

If the Tasks dropdown shows "No tasks configured":

  1. Navigate to Admin Tools > LLM Management > Tasks
  2. Create at least one task with category = 'content'
  3. Make sure the task record is not hidden or deleted
  4. Reload the page in the browser to refresh the task list

API key rejected 

If you see "The LLM provider rejected the API key":

  1. Check the provider configuration in the LLM module
  2. Verify the API key is correct and has not been revoked
  3. Some providers require specific permissions or billing setup

Rate limit exceeded 

The Cowriter allows 20 requests per minute per backend user. If you hit the limit, wait a moment and try again. The Retry-After response header indicates when the limit resets.