AIGCS

AI Providers

Complete guide to configuring AI providers

Overview

AIGCS supports 16 built-in AI providers plus any OpenAI-compatible custom provider. Provider API keys are encrypted at rest at the site level using AES-256-GCM.

Global & Site-level Providers

AIGCS adopts a Global Control + Site Independent Configuration architecture:

  • Global AI Providers Management (/providers): Features a single "Enable / Disable" toggle switch for each provider (disabled by default). Global providers determine whether the AI option is enabled across sites.
  • Site AI Providers Management: Configure individual API keys, model names, endpoints, custom avatars, model display names, and sorting weights per site. Sites inherit global enable states automatically.

Multiple Model Configurations Per Provider

AIGCS supports adding multiple model configurations for the same AI provider within the same site.

For example, you can configure two separate AI model roles for OpenAI:

  1. Display Name: OpenAI (GPT-5.5), Model: gpt-5.5
  2. Display Name: OpenAI (GPT-5.6-sol), Model: gpt-5.6-sol

Rules & Notes:

  • Display Name: Each provider model configuration must have a unique Display Name per site to distinguish roles.
  • Frontend Widget Rendering: Once saved, the embedded comment widget renders all enabled AI model roles simultaneously and independently.

Built-in Providers

Native & Multi-Protocol Providers

OpenAI

FieldValue
Type Keyopenai
AuthBearer Token (API Key)
Default Modelgpt-5.5
Endpointhttps://api.openai.com/v1
{
  "type": "openai",
  "apiKey": "sk-...",
  "model": "gpt-5.5",
  "enabled": true
}

Google Gemini

FieldValue
Type Keygemini
AuthAPI Key (URL query param ?key=)
Default Modelgemini-3.6-flash
Endpointhttps://generativelanguage.googleapis.com/v1beta
Protocol ModesSupports 3 formats: interactions (Interactions API default), generateContent (Classic Native), openai (OpenAI Proxy)

Anthropic Claude

FieldValue
Type Keyclaude
Authx-api-key header
Default Modelclaude-sonnet-5
Endpointhttps://api.anthropic.com/v1
Protocol ModesSupports 2 formats: messages (Anthropic Messages API default), openai (OpenAI Proxy)

OpenAI-Compatible Providers

These providers use the OpenAI-compatible API format — configure with the same settings, just change the endpoint and model name.

ProviderType KeyDefault ModelEndpoint
Grok (xAI)grokgrok-4.5https://api.x.ai/v1
DeepSeekdeepseekdeepseek-v4-flashhttps://api.deepseek.com
Xiaomi MiMoxiaomimimo-v2.5https://api.xiaomimimo.com/v1
Doubaodoubaodoubao-seed-2.1-prohttps://ark.cn-beijing.volces.com/api/v3
Hunyuanhunyuanhy3https://api.hunyuan.cloud.tencent.com/v1
Qwen (千问)qwenqwen3.7-maxhttps://dashscope.aliyuncs.com/compatible-mode/v1
GLM (智谱)glmglm-5.2https://open.bigmodel.cn/api/paas/v4
MiniMaxminimaxminimax-m3https://api.minimax.ai/v1
Kimi (月之暗面)kimikimi-k3https://api.moonshot.cn/v1
Baidu Wenxinwenxinernie-5.1https://qianfan.baidubce.com/v2
iFlytek Sparksparkspark-x2https://spark-api-open.xf-yun.com/v1
Meituan LongCatlongcatLongCat-2.0https://api.longcat.meituan.com/v1

Local Providers

Ollama

FieldValue
Type Keyollama
AuthNone
Default Modelllama3
Endpointhttp://localhost:11434/v1

Custom Provider

Any unknown type key creates an OpenAI-compatible provider dynamically:

{
  "type": "custom-provider-name",
  "apiKey": "sk-...",
  "endpoint": "https://your-custom-endpoint/v1",
  "model": "your-model",
  "enabled": true
}

Custom Provider Avatars

AIGCS supports 3 methods to configure custom AI provider avatars:

  1. Paste Code: Paste raw inline <svg> vector code directly;
  2. CDN URL Reference: Enter external image CDN URLs (not limited to SVG, supports PNG/JPG/WebP/GIF, etc.);
  3. Upload Image: Upload local image files stored directly in AIGCS media storage (not limited to SVG).

Configured avatars are automatically synchronized and rendered in admin comment lists, preview modals, and the frontend widget.

Testing a Provider

After configuring a provider, click Test to run a sample connectivity test. Test results remain persistently visible (no auto-closing timer) to allow thorough inspection until manually dismissed via the button.

API Key Security

API keys follow this security flow:

User input → AES-256-GCM encrypt → Store in database

Generation time → Decrypt in memory → Send to API → Discard

The encryption key is derived from ENCRYPTION_KEY (or falls back to JWT_SECRET).

On this page