A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
KateChat is a universal chat bot platform similar to chat.openai.com. The platform supports multiple LLM providers, MCP
KateChat is a universal chatbot platform similar to chat.openai.com that can be used as a base for customized chatbots. The platform supports multiple LLM models from various providers and allows switching between them on the fly within a chat session.

Experience KateChat in action with our live demo:
To interact with all supported AI models in the demo, you'll need to provide your own API keys for:
📋 Note: API keys are stored by default locally in your browser and sent securely to our backend. See the Getting Started section below for detailed instructions on obtaining API keys.
localstack on local dev environment)AWS_BEDROCK_... or OPENAI_API_... settings are stored in local storage and sent to the backend as "x-aws-region", "x-aws-access-key-id", "x-aws-secret-access-key", "x-openai-api-key" headersThe project consists of several parts:
api/src/global-config.ts. Defaults are merged with an optional customization.json
placed in the API folder or its parent (use the provided api/customization.example.json as a template).DEEPSEEK_API_KEY)..env: PORT, NODE_ENV, ALLOWED_ORIGINS, LOG_LEVEL,
CALLBACK_URL_BASE, FRONTEND_URL, JWT_SECRET, SESSION_SECRET, RECAPTCHA_SECRET_KEY, OAuth client secrets,
DB/S3/SQS/AWS Bedrock/OpenAI/Yandex credentials.customization.json (current or parent folder; see client/customization.example.json) to override
brand colors, font family, app title, footer links, and the chat AI-usage notice without changing code.git clone https://github.com/artiz/kate-chat.git
cd kate-chat
npm install
npm run dev
App will be available at http://localhost:3000
There you can use your own OpenAI API key, AWS Bedrock credentials, or Yandex AI to connect to cloud models.
Local Ollama-compatible models can be added as Custom models.
Add the following to your /etc/hosts file:
127.0.0.1 katechat.dev.com
Then run the following commands:
export COMPOSE_BAKE=true
npm install
npm run build:client
docker compose up --build
App will be available at http://katechat.dev.com
To run the projects in development mode:
npm install
docker compose up redis localstack postgres mysql mssql -d
npm run dev
python -m venv document-processor/.venv
source document-processor/.venv/bin/activate
pip install -r document-processor/requirements.txt
npm run dev:document_processor
cd api-rust
diesel migration run
cargo build
cargo run
APP_API_URL=http://localhost:4001 APP_WS_URL=http://localhost:4002 npm run dev:client
docker compose up redis localstack postgres mysql mssql -d
npm run migration:generate <migration name>
npm run migration:run
NOTE: do not update more than one table definition at once, sqlite sometimes applies migrations incorrectly due to "temporary_xxx" tables creation. NOTE: do not use more than 1 foreign key with ON DELETE CASCADE in one table for MS SQL, or use NO ACTION as fallback:
@ManyToOne(() => Message, { onDelete: DB_TYPE == "mssql" ? "NO ACTION" : "CASCADE" })
npm run install:all
npm run build
docker build -t katechat-api ./ -f api/Dockerfile
docker run --env-file=./api/.env -p4000:4000 katechat-api
docker build -t katechat-client --build-arg APP_API_URL=http://localhost:4000 --build-arg APP_WS_URL=http://localhost:4000 ./ -f client/Dockerfile
docker run -p3000:80 katechat-client
All-in-one service
docker build -t katechat-app ./ -f infrastructure/services/katechat-app/Dockerfile
docker run -it --rm --pid=host --env-file=./api/.env \
--env PORT=80 \
--env NODE_ENV=production \
--env ALLOWED_ORIGINS="*" \
--env REDIS_URL="redis://host.docker.internal:6379" \
--env S3_ENDPOINT="http://host.docker.internal:4566" \
--env SQS_ENDPOINT="http://host.docker.internal:4566" \
--env DB_URL="postgres://katechat:katechat@host.docker.internal:5432/katechat" \
--env CALLBACK_URL_BASE="http://localhost" \
--env FRONTEND_URL="http://localhost" \
--env DB_MIGRATIONS_PATH="./db-migrations/*-*.js" \
-p80:80 katechat-app
Document processor
DOCKER_BUILDKIT=1 docker build -t katechat-document-processor ./ -f infrastructure/services/katechat-document-processor/Dockerfile
docker run -it --rm --pid=host --env-file=./document-processor/.env \
--env PORT=8080 \
--env NODE_ENV=production \
--env REDIS_URL="redis://host.docker.internal:6379" \
--env S3_ENDPOINT="http://host.docker.internal:4566" \
--env SQS_ENDPOINT="http://host.docker.internal:4566" \
-p8080:8080 katechat-document-processor
The app can be tuned for your needs with environment variables:
cp api/.env.example api/.env
cp api-rust/.env.example api-rust/.env
cp client/.env.example client/.env
Edit the .env files with your configuration settings.
KateChat includes an admin dashboard for managing users and viewing system statistics. Admin access is controlled by email addresses specified in the DEFAULT_ADMIN_EMAILS environment variable.
DEFAULT_ADMIN_EMAILS environment variable in your .env file:
DEFAULT_ADMIN_EMAILS=admin@example.com,another-admin@example.com
Create an AWS Account
Enable AWS Bedrock Access
Create an IAM User for API Access
Generate Access Keys
Configure Your Environment
.env file in the api directoryAWS_BEDROCK_REGION=us-east-1 # or your preferred region
AWS_BEDROCK_ACCESS_KEY_ID=your_access_key_id
AWS_BEDROCK_SECRET_ACCESS_KEY=your_secret_access_key
Verify AWS Region Availability
AWS_BEDROCK_REGION to a region that supports your desired modelsCreate an OpenAI Account
Generate API Key
Configure Your Environment
.env file in the api directoryOPENAI_API_KEY=your_openai_api_key
OPENAI_API_URL=https://api.openai.com/v1 # Default OpenAI API URL
Note on API Usage Costs
KateChat supports connecting to any OpenAI-compatible REST API endpoint, allowing you to use services like Deepseek, local models running on Ollama, or other third-party providers.
Custom models are configured per-model through the GraphQL API or database. Each custom model requires the following settings:
https://api.deepseek.com/v1)deepseek-chat, llama-3-70b)OPENAI_CHAT_COMPLETIONS - Standard OpenAI chat completions APIOPENAI_RESPONSES - OpenAI Responses API (for advanced features)Deepseek is a powerful AI model provider with an OpenAI-compatible API:
Get API Key
Configure Custom Model
apiProvider: CUSTOM_REST_API
customSettings: {
endpoint: "https://api.deepseek.com/v1"
apiKey: "your_deepseek_api_key"
modelName: "deepseek-chat"
protocol: OPENAI_CHAT_COMPLETIONS
description: "Deepseek Chat Model"
}
For running local models with Ollama:
Install Ollama
ollama pull llama3ollama run llama3Configure Custom Model
apiProvider: CUSTOM_REST_API
customSettings: {
endpoint: "http://localhost:11434/v1"
apiKey: "ollama" # Ollama doesn't require real auth
modelName: "llama3"
protocol: OPENAI_CHAT_COMPLETIONS
description: "Local Llama 3 via Ollama"
}
OPENAI_CHAT_COMPLETIONS: Standard chat completions endpoint (/chat/completions)
OPENAI_RESPONSES: Advanced Responses API





git checkout -b feature/my-new-featuregit commit -am 'Add some feature'git push origin feature/my-new-featuremcp-language-server gives MCP enabled clients access semantic tools like get definition, references, rename, and diagnos
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
MCP server integration for DaVinci Resolve Studio