quick start ai
Drupal AI Quick Start - 15 Minutes to First AI Agent
Time: 15 minutes Difficulty: Beginner Requirements: DDEV installed, GitLab account
Step 1: Install Drupal with AI Modules (5 min)
# Create DDEV project mkdir drupal-ai && cd drupal-ai ddev config --project-type=drupal --php-version=8.3 --database=postgres:16 ddev start # Install Drupal + AI modules ddev composer create drupal/recommended-project ddev composer require drupal/ai:^1.2.5 drupal/ai_agents:^1.2.1 drupal/eca:^2.0 drupal/key:^1.17 ddev drush site:install --account-name=admin --account-pass=admin -y ddev drush en ai,ai_agents,eca,key -y # Launch site ddev launch
Step 2: Configure GitLab AI Gateway (3 min)
# Create GitLab Personal Access Token # https://gitlab.com/-/user_settings/personal_access_tokens # Scopes: api, ai_gateway # Store token in Drupal ddev drush key:create gitlab_ai_gateway \ --key-type=authentication \ --key-provider=config \ --key-input=glpat-YOUR-TOKEN-HERE
Step 3: Enable GitLab AI Provider (2 min)
Admin UI: /admin/config/ai/providers
- Enable "GitLab AI Gateway" provider
- Select key:
gitlab_ai_gateway - Test connection should see " Connected"
- Save configuration
Step 4: Create Your First AI Agent (3 min)
Admin UI: /admin/ai/agents/add
Name: content-summarizer Description: Summarizes article content Provider: GitLab AI Gateway Model: claude-sonnet-4 System Prompt: | You are a content summarizer. Create 2-sentence summaries. Tools: - summarize_node (built-in) Save
Step 5: Test the Agent (2 min)
# Via Drush ddev drush ai:agent:execute content-summarizer \ "Summarize this: Drupal is a free and open-source content management system." # Output: # Agent executed successfully # Response: Drupal is a free CMS. It's open-source and widely used.
Or via Admin UI: /admin/ai/agents/content-summarizer/execute
Next Steps
Create ECA Workflow (Auto-Summary)
Admin UI: /admin/config/workflow/eca
- Click "Add Model"
- Event: "Node Pre-save" (article bundle)
- Condition: "Field is empty" (field_summary)
- Action: "AI Generate Text"
- Provider: GitLab AI Gateway
- Model: claude-sonnet-4
- Prompt:
Summarize: [node:title] - [node:body:summary] - Target: field_summary
- Save
Test: Create an article Summary auto-generated!
Add More AI Actions
- Auto Meta Description: Use
eca_ai:generate_textwith 150-char limit - Spam Detection: Use
eca_ai:classifyon comments - Auto Tagging: Use
eca_ai:extract_entitieson articles
Common Issues
"GitLab token invalid"
# Regenerate token with correct scopes: api, ai_gateway # Update key: ddev drush key:edit gitlab_ai_gateway
"Module not found"
# Clear cache ddev drush cr # Verify installation ddev drush pm:list --filter=ai
Full Example: AI-Powered Article Workflow
# ECA Model: complete-article-workflow events: article_created: plugin: 'node:insert' configuration: bundle: article actions: generate_summary: plugin: 'eca_ai:generate_text' configuration: prompt: "2-sentence summary: [node:body:value]" target: field_summary generate_meta: plugin: 'eca_ai:generate_text' configuration: prompt: "150-char meta: [node:title]" target: field_meta_description extract_tags: plugin: 'eca_ai:extract_entities' configuration: text: '[node:body:value]' entity_types: [topics, keywords] apply_tags: plugin: 'taxonomy:apply_terms' configuration: vocabulary: tags terms: '[ai_entities]' moderate_content: plugin: 'eca_ai:classify' configuration: text: '[node:body:value]' categories: [appropriate, spam, offensive] publish_if_appropriate: plugin: 'node:publish' condition: '[ai_category] == "appropriate"'
Result: Articles get AI-generated summaries, meta descriptions, tags, and moderation automatically!
Resources
- Architecture:
architecture/ai-architecture.md - GitLab AI Gateway:
integrations/gitlab-ai-gateway-drupal.md - ECA AI Actions:
integrations/eca-ai-actions-drupal.md - OSSA Bridge:
integrations/ossa-bridge-drupal.md