Skip to content

Agent Configuration — How Everything Connects

This document maps out the Zweistein Agent Configuration Panel — how the different options interact, which settings unlock others, and how the data flows from the UI to the AI engine.

Source file: zweistein-dev/admin/src/common/agents/AgentDetailsForm.tsx (1,311 lines)


The Big Picture

The agent configuration has 6 sections. The key insight is that many options are conditional — selecting one option unlocks or hides others. The diagram below shows every dependency.

flowchart TB
    subgraph CONFIG["🤖 AGENT CONFIGURATION PANEL"]
        direction TB

        subgraph S1["1️⃣ BASIC INFO"]
            NAME["Name"]
            DESC["Short Description"]
            WELCOME["Welcome Message"]
            THUMB["Thumbnail"]
            LONGDESC["Long Description"]
            WHEN["When to use"]
        end

        subgraph S2["2️⃣ TOOLS — The Heart of the Agent"]
            direction TB

            subgraph DOCTOOLS["📄 Document Analysis"]
                SMART["Talk to Your Files\n(Smart Data Agent)"]
                FILEREADER["File Reader"]
                PDFFILLER["PDF Filler"]
            end

            subgraph KNOWLEDGE["🔍 Knowledge & Search"]
                KB["Zweistein Knowledge Base"]
                SEARCH["Internet Search"]
                YT["YouTube"]
                URL["URL Loader"]
                DEEP["Deep Research"]
            end

            subgraph IMGTOOLS["🖼️ Image Tools"]
                VLM["Image Understanding\n(BlinkIn VLM)"]
                OVHM["Image Understanding\n(OVH Mistral)"]
                OVHQ["Image Understanding\n(OVH Qwen)"]
                FLUX["Image Generation\n(Flux.1)"]
                GPTIMG["Image Generation\n(GPT-image-1)"]
                NANO["Image Generation\n(Nano 🍌)"]
            end

            subgraph MEDIATOOLS["🎤 Media & Communication"]
                VIDEO["Video Analyzer"]
                TTS["Text to Speech\n(ElevenLabs)"]
                EMAIL["Email Sender"]
            end

            subgraph ADVTOOLS["⚙️ Integrations"]
                MCP["Model Context Protocol"]
                ENFORCE["Enforce Tool Usage"]
            end
        end

        subgraph S3["3️⃣ REASONING"]
            RMODE["Reasoning Mode"]
            REFLECT["Self-Reflection"]
        end

        subgraph S4["4️⃣ DATA CONTROLS"]
            DCTOGGLE["Enable Data Controls"]
        end

        subgraph S5["5️⃣ MODEL & PARAMETERS"]
            LLM["LLM Model Selection"]
            PARAMS["Model-Specific Parameters"]
        end

        subgraph S6["6️⃣ PUBLISHING"]
            PUBLISH["Visibility Mode"]
            ELEVEN["ElevenLabs API"]
        end
    end

    style CONFIG fill:#f8fafc,stroke:#e2e8f0,stroke-width:2px
    style S1 fill:#eff6ff,stroke:#bfdbfe
    style S2 fill:#fef3c7,stroke:#fde68a
    style S3 fill:#f0fdf4,stroke:#bbf7d0
    style S4 fill:#fdf4ff,stroke:#f0abfc
    style S5 fill:#fff1f2,stroke:#fecdd3
    style S6 fill:#f0f9ff,stroke:#bae6fd
    style DOCTOOLS fill:#fff,stroke:#e2e8f0
    style KNOWLEDGE fill:#fff,stroke:#e2e8f0
    style IMGTOOLS fill:#fff,stroke:#e2e8f0
    style MEDIATOOLS fill:#fff,stroke:#e2e8f0
    style ADVTOOLS fill:#fff,stroke:#e2e8f0

The Dependency Map — What Unlocks What

This is the most important diagram. It shows how selecting one option enables, disables, or changes other options.

flowchart LR
    subgraph MASTER_SWITCH["🔀 MASTER SWITCH"]
        SMART["✅ Talk to Your Files\n(Smart Data Agent)"]
    end

    subgraph WHEN_ON["When ENABLED ✅"]
        direction TB
        ON1["Requires Gemini model"]
        ON2["Unlocks Smart Data sub-tools:\n• OCR Injection\n• Code Generation\n• Internet Search\n• URL Loader\n• Additional OCR Grounding"]
        ON3["File upload area appears\nfor agent documents"]
    end

    subgraph WHEN_OFF["When DISABLED ❌"]
        direction TB
        OFF1["File Reader tool available"]
        OFF2["PDF Filler tool available"]
        OFF3["Zweistein Knowledge Base available"]
        OFF4["Internet Search available"]
        OFF5["YouTube / URL Loader available"]
        OFF6["Deep Research available"]
        OFF7["Data Controls section visible"]
    end

    SMART -->|ON| WHEN_ON
    SMART -->|OFF| WHEN_OFF

    style MASTER_SWITCH fill:#fef3c7,stroke:#f59e0b,stroke-width:2px
    style WHEN_ON fill:#dcfce7,stroke:#86efac
    style WHEN_OFF fill:#fee2e2,stroke:#fca5a5

Model Selection → Parameter Cascade

Choosing a model unlocks specific parameter controls. No two models have the same set of parameters.

flowchart TB
    LLM["🧠 LLM Model Selection"]

    subgraph GPT5_FAMILY["GPT-5 / 5.1 / 5.2 / Mini / Nano"]
        GPT_REASON["Reasoning Depth\nNone | Low | Medium | High"]
        GPT_VERBOSE["Output Verbosity\nLow | Medium | High"]
    end

    subgraph CLAUDE_OPUS["Claude Opus 4.5 / 4.6 / Sonnet 4.5 / Haiku 4.5"]
        CLAUDE_THINK["Extended Thinking toggle"]
        CLAUDE_MODE["Thinking Mode\nSummarized | Interleaved"]
        CLAUDE_EFFORT["Effort Level\nNone | Low | Medium | High"]
        CLAUDE_CONTEXT["Context Editing toggle"]
        CLAUDE_THINK -->|ON| CLAUDE_MODE
    end

    subgraph CLAUDE37["Claude 3.7 Sonnet (Thinking)"]
        C37_BUDGET["Max Thinking Tokens\n(number)"]
    end

    subgraph GEMINI25["Gemini 2.5 Flash / Pro"]
        G25_BUDGET["Max Thinking Tokens\n(number)"]
    end

    subgraph GEMINI3["Gemini 3 Pro"]
        G3_THINK["Thinking Level\nHigh (default) | Low"]
        G3_MEDIA["Media Resolution\nAuto | Low | Medium | High | Ultra High"]
    end

    subgraph GEMINI31["Gemini 3.1 Pro"]
        G31_THINK["Thinking Level\nHigh (default) | Medium | Low"]
        G31_MEDIA["Media Resolution\nAuto | Low | Medium | High | Ultra High"]
    end

    subgraph GEMINI3F["Gemini 3 Flash"]
        G3F_THINK["Thinking Level\nHigh | Medium (default) | Low | Minimal"]
        G3F_MEDIA["Media Resolution\nAuto | Low | Medium | High | Ultra High"]
    end

    subgraph ALL_MODELS["All Models"]
        MAXOUT["Max Output Tokens\n(number)"]
    end

    LLM --> GPT5_FAMILY
    LLM --> CLAUDE_OPUS
    LLM --> CLAUDE37
    LLM --> GEMINI25
    LLM --> GEMINI3
    LLM --> GEMINI31
    LLM --> GEMINI3F
    LLM --> ALL_MODELS

    style LLM fill:#4f46e5,color:#fff,stroke:#4f46e5
    style GPT5_FAMILY fill:#eff6ff,stroke:#93c5fd
    style CLAUDE_OPUS fill:#faf5ff,stroke:#d8b4fe
    style CLAUDE37 fill:#faf5ff,stroke:#d8b4fe
    style GEMINI25 fill:#ecfdf5,stroke:#6ee7b7
    style GEMINI3 fill:#ecfdf5,stroke:#6ee7b7
    style GEMINI31 fill:#ecfdf5,stroke:#6ee7b7
    style GEMINI3F fill:#ecfdf5,stroke:#6ee7b7
    style ALL_MODELS fill:#f8fafc,stroke:#e2e8f0

Deep Research Provider → Settings Cascade

When Deep Research is enabled, the provider selection unlocks provider-specific settings.

flowchart LR
    DEEP["🔬 Deep Research\ntoggle ON"]

    DEEP --> PROVIDER["Research Provider"]

    PROVIDER --> GEMINI_DR["Gemini Deep Research\n(no extra settings)"]
    PROVIDER --> CLAUDE_DR["Claude Opus 4.6\n(Extended Thinking)"]
    PROVIDER --> GPT5_DR["GPT-5.2 Deep Research"]
    PROVIDER --> SONAR_DR["Sonar Deep Research\n(Perplexity)\n(no extra settings)"]
    PROVIDER --> KIMI_DR["Kimi K2.5 Agent Swarm"]

    CLAUDE_DR --> C_BUDGET["Thinking Budget\n4K | 8K | 16K | 32K tokens"]
    CLAUDE_DR --> C_VERBOSE["Report Verbosity\nConcise | Detailed | Comprehensive"]

    GPT5_DR --> G_EFFORT["Reasoning Effort\nLow | Medium | High"]
    GPT5_DR --> G_SOURCE["Sourcing Depth\nLow | Medium | High"]

    KIMI_DR --> K_EFFORT["Reasoning Effort\nLow | Medium | High"]
    KIMI_DR --> K_SOURCE["Sourcing Depth\nLow | Medium | High"]

    style DEEP fill:#f59e0b,color:#fff,stroke:#f59e0b
    style PROVIDER fill:#fef3c7,stroke:#fbbf24
    style CLAUDE_DR fill:#faf5ff,stroke:#d8b4fe
    style GPT5_DR fill:#eff6ff,stroke:#93c5fd
    style KIMI_DR fill:#ecfdf5,stroke:#6ee7b7

Reasoning Mode → Options Cascade

flowchart LR
    RMODE["🧭 Reasoning Mode"]

    RMODE --> AUTO["Auto\n'Let the agent decide'"]
    RMODE --> CUSTOM["Custom\n'I want to provide guidelines'"]
    RMODE --> PLAN["Plan\n'Prepare a plan first'"]

    CUSTOM --> GUIDELINES["Reasoning Guidelines\n(bullet editor)"]
    PLAN --> GUIDELINES
    PLAN --> PHINTS["Planning Hints\n(bullet editor)"]
    PLAN --> PMODE["Planning Mode\n• Plan and Execute\n• LLM Compiler"]

    subgraph SELFREF["Self-Reflection (independent)"]
        TOGGLE_REF["Self-Reflection toggle"]
        TOGGLE_REF -->|ON| REF_GUIDE["Reflection Guidelines\n(bullet editor)"]
    end

    style RMODE fill:#16a34a,color:#fff,stroke:#16a34a
    style AUTO fill:#f0fdf4,stroke:#86efac
    style CUSTOM fill:#f0fdf4,stroke:#86efac
    style PLAN fill:#f0fdf4,stroke:#86efac
    style SELFREF fill:#f0fdf4,stroke:#86efac

Text-to-Speech Settings

flowchart LR
    TTS["🔊 Text to Speech\ntoggle ON"]

    TTS --> VOICE_ID["Voice ID\n(e.g. TX3LPaxmHKxFdv7VOQHJ)"]
    TTS --> STABILITY["Stability\n0.0 — 1.0"]
    TTS --> SIMILARITY["Similarity Boost\n0.0 — 1.0"]
    TTS --> STYLE["Style\n0.0 — 1.0"]
    TTS --> SPEED["Speed\n0.25 — 4.0"]
    TTS --> BOOST["Use Speaker Boost\ntoggle"]

    style TTS fill:#7c3aed,color:#fff,stroke:#7c3aed

Image Tool Mutual Exclusions

flowchart TB
    subgraph IMAGE_UNDERSTAND["Image Understanding (pick one or more)"]
        VLM["BlinkIn VLM"]
        OVHM["OVH Mistral"]
        OVHQ["OVH Qwen"]
    end

    subgraph IMAGE_GENERATE["Image Generation (avoid combining Flux + GPT)"]
        FLUX["Flux.1"]
        GPTIMG["GPT-image-1"]
        NANO["Nano 🍌"]
    end

    OVHM <-.->|"⚠️ Can't use both\n(auto-disables other)"| OVHQ
    FLUX <-.->|"⚠️ Warning if both\nenabled simultaneously"| GPTIMG

    style IMAGE_UNDERSTAND fill:#eff6ff,stroke:#93c5fd
    style IMAGE_GENERATE fill:#fef3c7,stroke:#fbbf24

Complete Data Flow: Config → Query Engine

This shows how the configuration you set in the admin panel ultimately affects how the agent behaves at runtime.

sequenceDiagram
    participant Admin as 👤 Admin Panel
    participant Server as 🖥️ NestJS Server
    participant DB as 🗄️ PostgreSQL
    participant QE as 🐍 Query Engine

    Admin->>Server: POST /api/agents (save config)
    Server->>DB: Save AgentEntity (all fields as JSON columns)

    Note over Admin,DB: — Later, when a user chats with this agent —

    QE->>DB: Load agent config by ID
    DB-->>QE: AgentEntity (all settings)

    Note over QE: Build agent based on config:

    alt Talk to Your Files = ON
        QE->>QE: Initialize Smart Data Agent (Gemini)
        QE->>QE: Load uploaded files
        QE->>QE: Enable OCR / Code Gen / Search sub-tools
    else Talk to Your Files = OFF
        alt Knowledge Base = ON
            QE->>QE: Connect to Qdrant vector search
        end
        alt Internet Search = ON
            QE->>QE: Enable Tavily/Exa search tool
        end
        alt Deep Research = ON
            QE->>QE: Initialize research provider
            QE->>QE: Set thinking budget & verbosity
        end
    end

    QE->>QE: Configure LLM with selected model
    QE->>QE: Apply model parameters (thinking, effort, tokens)
    QE->>QE: Set reasoning mode (auto/custom/plan)
    QE->>QE: Enable self-reflection if toggled

    alt Reasoning Mode = Plan
        QE->>QE: Create execution plan first
        QE->>QE: Then execute step-by-step
    end

    QE-->>Admin: Agent ready for conversations

All Available LLM Models

Provider Model Key Feature
OpenAI GPT-4o General purpose
GPT-4o mini Fast & cheap
GPT o3-mini Reasoning
GPT o1 Advanced reasoning
GPT 4.1 Upgraded GPT-4
GPT-5 Latest generation
GPT-5.1 Improved GPT-5
GPT-5.2 Latest OpenAI
GPT-5 Mini Smaller GPT-5
GPT-5 Nano Smallest GPT-5
Anthropic Claude 3.5 Sonnet Balanced
Claude 3.7 Sonnet Extended thinking
Claude 3.7 (Thinking) Built-in thinking budget
Claude Opus 4.5 Extended thinking + effort levels
Claude Sonnet 4.5 Extended thinking + effort levels
Claude Haiku 4.5 Fast + extended thinking
Claude Opus 4.6 Latest Claude
Google Gemini 2.0 Flash Fast
Gemini 2.5 Flash Thinking budget
Gemini 2.5 Pro Thinking budget
Gemini 3 Pro Thinking levels + media resolution
Gemini 3.1 Pro 3 thinking levels + media resolution
Gemini 3 Flash 4 thinking levels + media resolution
Bosch Gemini 2.5 Flash (Bosch) Org-restricted
Gemini 2.5 Pro (Bosch) Org-restricted
OVH OVH/GPT-OSS-120B Open-source

Quick Reference: Form Section Visibility Rules

Condition What Changes
Smart Data Agent = ON Hides: File Reader, PDF Filler, Knowledge Base, Search, YouTube, URL Loader, Deep Research, Data Controls. Shows: Smart Data sub-tools (OCR, Code Gen, etc.)
Smart Data Agent = ON + non-Gemini model Shows warning: "requires Gemini-based model"
Deep Research = ON Shows: Provider selector + provider-specific settings
Knowledge Base = ON Shows: Knowledge Space dropdown
MCP = ON Shows: MCP server integration multi-select
Text to Speech = ON Shows: Voice ID, Stability, Similarity, Style, Speed, Speaker Boost
PDF Filler = ON Shows: Single file upload
Reasoning = Custom Shows: Reasoning guidelines editor
Reasoning = Plan Shows: Guidelines + Planning hints + Planning mode
Self-Reflection = ON Shows: Reflection guidelines editor
Data Controls = ON Shows: Control selection multi-select
Claude Extended Thinking = ON Shows: Thinking mode (Summarized/Interleaved)
isInternalAgent = ON Shows: Default execution action dropdown
Nano Image Gen = ON Shows: Aspect ratio, image size, reference images
OVH Mistral = ON Auto-disables OVH Qwen (and vice versa)