# Add LLM Provider

Adds an LLM provider to DeepChat through reviewed source changes.

- Repository: https://github.com/ThinkInAIXYZ/deepchat (6384 stars)
- Category: Engineering
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add ThinkInAIXYZ/deepchat --skill add-provider -g -a claude-code -y`
Codex: `npx skills add ThinkInAIXYZ/deepchat --skill add-provider -g -a codex -y`
Cursor: `npx skills add ThinkInAIXYZ/deepchat --skill add-provider -g -a cursor -y`
Gemini CLI: `npx skills add ThinkInAIXYZ/deepchat --skill add-provider -g -a gemini-cli -y`

## Description

Add a DeepChat LLM provider through explicit reviewed source changes. Use when a developer asks Codex to add a provider, provider profile, upstream provider config, model catalog mapping, provider auth behavior, or a special provider adapter in this repository.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Add Provider

## Goal

Generate DeepChat provider integration changes against the current provider architecture. Keep
provider display data in `PublicProviderConf`, map runtime behavior to known transports, and use a
special provider implementation only when the API behavior requires one.

## Required Inputs

Collect or derive these before editing source:

- Provider ID in kebab case.
- Display name.
- API type or known transport family.
- Default base URL.
- Auth type: API key, no auth, OAuth, profile credentials, or provider-specific credential.
- Model metadata source: built-in config, provider-db, config-db, live model fetch, or custom only.
- Test model ID and check strategy.
- Official website, API key URL, docs URL, model list URL.
- Request quirks: headers, endpoint suffixes, route rewrites, streaming shape, tool-call support,
  reasoning support, image/audio/embedding endpoints, or proxy requirements.

## Supported Paths

### OpenAI-Compatible API

Use this when the provider supports OpenAI Chat Completions or Responses-compatible HTTP APIs.

Typical files:

- `src/main/provider/defaults.ts`
- `src/main/provider/providerId.ts`
- `src/main/provider/providerRegistry.ts` for runtime strategies and derived public catalog membership
- `test/main/**` provider registry or creation tests

### Existing Native Transport

Use this when the provider maps to an existing DeepChat transport such as Anthropic, Gemini, Vertex,
Azure, Bedrock, Ollama, or ACP.

Typical files:

- `src/main/provider/defaults.ts`
- `src/main/provider/providerRegistry.ts`
- Settings components only when the existing generic form lacks required fields
- Focused tests for provider creation and connection checks

### Special Provider

Use this when auth, request shape, streaming, discovery, or error handling differs from existing
transports.

Typical files:

The rest: https://github.com/ThinkInAIXYZ/deepchat/blob/HEAD/.agents/skills/add-provider/SKILL.md
