Files
librechat-custom/librechat.yaml
T

166 lines
5.5 KiB
YAML

version: 1.3.1
# Voice: server-side STT/TTS via the co-op gateway (Tinfoil TEE).
# Server STT works in every browser (Firefox has no Web Speech API).
speech:
stt:
openai:
url: "https://gateway.inference.coop/v1/audio/transcriptions"
apiKey: "${GATEWAY_KEY}"
model: "tinfoil/whisper-large-v3-turbo"
tts:
openai:
url: "https://gateway.inference.coop/v1/audio/speech"
apiKey: "${GATEWAY_KEY}"
model: "tinfoil/voxtral-tts"
voices: ["neutral_female", "neutral_male", "casual_female", "casual_male", "cheerful_female"]
cache: true
# Inference Co-op gateway — PER-USER keys (production pattern): no server-side
# apiKey here, so each user pastes their own dashboard key once. Usage then
# bills to that member's own LiteLLM team/budget, exactly like the API path.
endpoints:
custom:
- name: "Inference Co-op"
iconURL: "/assets/logo-coop.png"
apiKey: "user_provided"
baseURL: "https://gateway.inference.coop/v1"
models:
fetch: true
default:
- greenpt/deepseek-v4.1-flash
- tinfoil/deepseek-v4-1-flash
- tinfoil/gpt-oss-120b
- tinfoil/glm-5.3
- greenpt/glm-5.3-flash
- greenpt/glm-5.3
- regolo/apertus-70b
- regolo/qwen3.5-122b
titleConvo: true
titleModel: "greenpt/glm-5.3-flash"
titleMethod: "completion"
# Web search via the co-op's self-hosted SearXNG (public URL, JSON enabled for OWUI already).
# scraperProvider keenable = keyless page-fetch, so members get one-click search
# with no Firecrawl prompt. (Production note: keenable is an external keyless
# service — if that offends self-host values, swap in a self-hosted Firecrawl.)
webSearch:
searchProvider: "searxng"
scraperProvider: "keenable"
searxngInstanceUrl: "${SEARXNG_INSTANCE_URL}"
searxngSearchOptions:
engines: "google,bing,duckduckgo"
language: "en"
timeout: 15000
# MCP: the co-op docs, opt-in per conversation (stdlib stdio server in /app/data).
mcpServers:
inference-docs:
type: stdio
command: python3
args:
- /app/data/inference-docs-mcp/server.py
# Emoji-ified model picker (same feature-tier convention as models.md / OWUI):
# 🌱 = renewable-powered (GreenPT + Regolo), 🔒 = TEE-architected private (Tinfoil).
# Utility models (audio STT/TTS, image generation) are excluded from chat.
modelSpecs:
enforce: true
prioritize: true
list:
- name: tinfoil-deepseek-v4-1-flash
iconURL: "/assets/logo-coop.png"
label: "🔒 tinfoil/deepseek-v4-1-flash"
softDefault: true
preset:
endpoint: "Inference Co-op"
model: "tinfoil/deepseek-v4-1-flash"
- name: tinfoil-gpt-oss-120b
iconURL: "/assets/logo-coop.png"
label: "🔒 tinfoil/gpt-oss-120b"
preset:
endpoint: "Inference Co-op"
model: "tinfoil/gpt-oss-120b"
- name: tinfoil-glm-5-3
iconURL: "/assets/logo-coop.png"
label: "🔒 tinfoil/glm-5.3"
preset:
endpoint: "Inference Co-op"
model: "tinfoil/glm-5.3"
- name: greenpt-deepseek-v4-1-flash
iconURL: "/assets/logo-coop.png"
label: "🌱 greenpt/deepseek-v4.1-flash"
preset:
endpoint: "Inference Co-op"
model: "greenpt/deepseek-v4.1-flash"
- name: greenpt-glm-5-3-flash
iconURL: "/assets/logo-coop.png"
label: "🌱 greenpt/glm-5.3-flash"
preset:
endpoint: "Inference Co-op"
model: "greenpt/glm-5.3-flash"
- name: greenpt-glm-5-3
iconURL: "/assets/logo-coop.png"
label: "🌱 greenpt/glm-5.3"
preset:
endpoint: "Inference Co-op"
model: "greenpt/glm-5.3"
- name: regolo-apertus-70b
iconURL: "/assets/logo-coop.png"
label: "🌱 regolo/apertus-70b"
preset:
endpoint: "Inference Co-op"
model: "regolo/apertus-70b"
- name: regolo-qwen3-5-122b
iconURL: "/assets/logo-coop.png"
label: "🌱 regolo/qwen3.5-122b"
preset:
endpoint: "Inference Co-op"
model: "regolo/qwen3.5-122b"
- name: regolo-qwen-image
iconURL: "/assets/logo-coop.png"
label: "🖼️ regolo/qwen-image"
preset:
endpoint: "Inference Co-op"
model: "regolo/qwen-image"
# Inference Cooperative branding
interface:
customWelcome: "Welcome to your co-op AI."
theme:
version: 1
name: inference
modes:
light:
colors:
rgb-surface-primary: '250 248 245'
rgb-surface-secondary: '241 237 230'
rgb-surface-tertiary: '232 227 217'
rgb-surface-hover: '236 234 217'
rgb-surface-submit: '91 140 90'
rgb-surface-submit-hover: '74 122 74'
rgb-accent-primary: '91 140 90'
rgb-accent-primary-hover: '74 122 74'
rgb-ring-primary: '91 140 90'
rgb-link: '74 122 74'
rgb-text-primary: '36 48 32'
rgb-text-secondary: '90 107 82'
rgb-border-light: '213 221 208'
dark:
colors:
rgb-surface-primary: '31 36 27'
rgb-surface-secondary: '38 45 34'
rgb-surface-tertiary: '46 54 40'
rgb-surface-hover: '49 57 45'
rgb-surface-submit: '122 184 122'
rgb-surface-submit-hover: '142 200 142'
rgb-accent-primary: '122 184 122'
rgb-accent-primary-hover: '142 200 142'
rgb-ring-primary: '142 200 142'
rgb-link: '142 200 142'
rgb-text-primary: '236 233 226'
rgb-text-secondary: '168 173 158'
rgb-border-light: '74 82 64'