#deepseek
1 messages · Page 1 of 1 (latest)
Hey! 🦐 Du kannst DeepSeek als Modell in Clawdbot einbinden! Es gibt zwei Wege:
1. Über OpenRouter (empfohlen)
{
"agents": {
"defaults": {
"models": {
"openrouter/deepseek/deepseek-r1:free": {}
},
"model": {
"primary": "openrouter/deepseek/deepseek-r1:free"
}
}
}
}
Oder als Fallback:
{
"agents": {
"defaults": {
"model": {
"fallbacks": ["openrouter/deepseek/deepseek-r1:free"]
}
}
}
}
2. CLI-Befehl
clawdbot models set openrouter/deepseek/deepseek-r1:free
Wichtig: Du brauchst einen OpenRouter API Key in deiner Auth-Konfiguration. Das geht über:
clawdbot configure→ OpenRouter auswählen, oderOPENROUTER_API_KEYUmgebungsvariable setzen
Weitere DeepSeek-Modelle bei OpenRouter findest du auf openrouter.ai/models (suche nach "deepseek").
Willst du更多 Details zu einem bestimmten DeepSeek-Modell? 🦐
aber ich habe über deepseek ein konto nicht openrouter
Ah, verstehe! DeepSeek hat eine OpenAI-kompatible API, also kannst du sie als Custom Provider einbinden:
{
env: { DEEPSEEK_API_KEY: "deine-deepseek-api-key" },
agents: {
defaults: {
model: { primary: "deepseek/deepseek-chat" },
models: { "deepseek/deepseek-chat": {} }
}
},
models: {
mode: "merge",
providers: {
deepseek: {
baseUrl: "https://api.deepseek.com/v1",
apiKey: "${DEEPSEEK_API_KEY}",
api: "openai-completions",
models: [
{
id: "deepseek-chat",
name: "DeepSeek Chat",
reasoning: false,
input: ["text"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 128000,
maxTokens: 4096
}
]
}
}
}
}
Oder über den Wizard:
clawdbot onboard --auth-choice moonshot-api-key
...dann änderst du die Base URL auf https://api.deepseek.com/v1 und den Provider-Namen auf deepseek.
Wichtig: DeepSeek API Key holst du dir hier: https://platform.deepseek.com/api-keys
Modelle die verfügbar sind:
deepseek-chat(DeepSeek-V3)deepseek-reasoner(DeepSeek-R1)
Hilft das? 🦐
🚨 STOP! API Key öffentlich!
Sofort machen:
- Gehe auf https://platform.deepseek.com/api-keys
- Lösche diesen Key sofort → "Delete"
- Erstelle einen neuen Key
Der Key sk-9654... ist jetzt kompromittiert und sollte nicht mehr verwendet werden!
Danach kannst du den neuen Key sicher einrichten:
.env oder Clawdbot Config:
export DEEPSEEK_API_KEY="neuer-key-hier"
Oder im Wizard:
clawdbot onboard --auth-choice moonshot-api-key
...dann fragt er nach dem API Key (den neuen).
Tut mir leid für die Aufregung, aber besser der Key ist weg als dass ihn jemand missbraucht! 🦐
also geht nicht
Was geht nicht? 🤔
- Wurde der Key gelöscht/rotiert auf DeepSeek?
- Oder klappt die Clawdbot-Einrichtung nicht?
Wenn der Key noch aktiv ist, versuch's so:
# Key als Umgebungsvariable setzen
export DEEPSEEK_API_KEY="dein-neuer-key"
# Dann Clawdbot starten oder Gateway neu laden
Oder in deiner ~/.clawdbot/clawdbot.json:
{
env: { DEEPSEEK_API_KEY: "dein-neuer-key" },
agents: {
defaults: {
model: { primary: "deepseek/deepseek-chat" },
models: { "deepseek/deepseek-chat": {} }
}
}
}
Was passiert wenn du versuchst zu starten? Fehlermeldung? 🦐
moonshot/kimi-k2-0905-preview
Ah, ich verstehe! Du hast den moonshot-Wizard probiert — aber das ist für Moonshot, nicht DeepSeek.
Für DeepSeek geht's so:
Du musst die Config manuell anpassen. Editier deine ~/.clawdbot/clawdbot.json:
{
env: { DEEPSEEK_API_KEY: "dein-neuer-key" },
models: {
mode: "merge",
providers: {
deepseek: {
baseUrl: "https://api.deepseek.com/v1",
apiKey: "${DEEPSEEK_API_KEY}",
api: "openai-completions",
models: [
{
id: "deepseek-chat",
name: "DeepSeek V3",
reasoning: false,
input: ["text"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 128000,
maxTokens: 4096
}
]
}
}
},
agents: {
defaults: {
model: { primary: "deepseek/deepseek-chat" },
models: { "deepseek/deepseek-chat": {} }
}
}
}
Dann Gateway neu laden:
clawdbot gateway restart
Kein Wizard für DeepSeek — musst du leider von Hand eintragen. 🦐
⚠️ Agent failed before reply: Unknown model: deepseek/deepseek-chat. Check gateway logs for details.
Der Fehler "Unknown model: deepseek/deepseek-chat" bedeutet, dass DeepSeek kein nativ unterstützter Provider in Clawdbot ist.
Option 1: DeepSeek über OpenRouter nutzen
OpenRouter unterstützt DeepSeek-Modelle. So geht's:
- OpenRouter API Key besorgen (https://openrouter.ai)
- In Clawdbot konfigurieren:
clawdbot configure set auth.openrouter "$(cat ~/api-keys/openrouter.txt)"
- Modell nutzen über OpenRouter:
/model openrouter/deepseek/deepseek-chat
Option 2: Verfügbare Modelle prüfen
clawdbot models list --all
# oder für OpenRouter spezifisch:
clawdbot models list --provider openrouter
Option 3: OpenRouter Free Models scannen
clawdbot models scan --provider openrouter --set-default
Laut Doku sind die unterstützten Provider: OpenAI, Anthropic, Bedrock, Moonshot, MiniMax, OpenRouter, GLM, Z.AI, Qwen, Vercel AI Gateway, OpenCode Zen.
DeepSeek selbst ist nicht gelistet – der OpenRouter-Weg ist deine beste Option.
https://docs.clawd.bot/providers
https://docs.clawd.bot/concepts/models
nein ich will deepseek api das hast du mir gestern vorgeschlagen
Stimmt, du hast recht! DeepSeek ist kein built-in Provider, aber kann als Custom Provider via models.providers eingebunden werden (OpenAI-kompatibles API).
DeepSeek als Custom Provider konfigurieren:
Füge dies zu deiner ~/.clawdbot/clawdbot.json hinzu:
{
"env": {
"DEEPSEEK_API_KEY": "dein-deepseek-api-key"
},
"agents": {
"defaults": {
"model": {
"primary": "deepseek/deepseek-chat"
}
}
},
"models": {
"mode": "merge",
"providers": {
"deepseek": {
"baseUrl": "https://api.deepseek.com/v1",
"apiKey": "${DEEPSEEK_API_KEY}",
"api": "openai-completions",
"models": [
{ "id": "deepseek-chat", "name": "DeepSeek Chat" }
]
}
}
}
}
Oder mit der CLI:
clawdbot gateway call config.patch --params '{
"raw": "{\n env: { DEEPSEEK_API_KEY: \"sk-...\" },\n agents: { defaults: { model: { primary: \"deepseek/deepseek-chat\" } } },\n models: { mode: \"merge\", providers: { deepseek: { baseUrl: \"https://api.deepseek.com/v1\", apiKey: \"${DEEPSEEK_API_KEY}\", api: \"openai-completions\", models: [{ id: \"deepseek-chat\", name: \"DeepSeek Chat\" }] } } }\n}",
"baseHash": "<hash-von-config.get>"
}'
Base URL check: DeepSeek's API Endpoint ist https://api.deepseek.com/v1 – bitte verifizieren, falls das nicht funktioniert!
https://docs.clawd.bot/concepts/model-providers#providers-via-models-providers-custombase-url
Ich sehe das Problem! Deine Config hat zwei Fehler:
- JSON ist fehlerhaft – die
modelsSektion ist falsch formatiert - Kein
models.providersdefiniert – Clawdbot weiß nicht, wie es DeepSeek erreichen soll
Hier die korrigierte Config:
{
"env": {
"DEEPSEEK_API_KEY": "dein-api-key"
},
"auth": {
"profiles": {
"openrouter:default": {
"provider": "openrouter",
"mode": "api_key"
},
"deepseek:default": {
"provider": "deepseek",
"mode": "api_key"
}
}
},
"agents": {
"defaults": {
"workspace": "/home/clawdbot/clawd",
"model": {
"primary": "deepseek/deepseek-chat"
}
}
},
"models": {
"providers": {
"deepseek": {
"baseUrl": "https://api.deepseek.com/v1",
"apiKey": "${DEEPSEEK_API_KEY}",
"api": "openai-completions",
"models": [
{ "id": "deepseek-chat", "name": "DeepSeek Chat" },
{ "id": "deepseek-reasoner", "name": "DeepSeek Reasoner" }
]
}
}
}
}
Wichtig:
models.providersdefiniert den Custom Provider mit baseUrl- Die
agents.defaults.models(deine Aliase) brauchst du nur wenn du eine Allowlist willst – die kannst du weglassen wenn du alle Modelle nutzen willst
Probier's damit! 🦐
was ersetzte ich mit dem
Hier ist die komplette, korrigierte Config – ersetz deine gesamte ~/.clawdbot/clawdbot.json damit:
{
"wizard": {
"lastRunAt": "2026-01-20T22:40:02.283Z",
"lastRunVersion": "2026.1.20",
"lastRunCommand": "onboard",
"lastRunMode": "local"
},
"auth": {
"profiles": {
"openrouter:default": {
"provider": "openrouter",
"mode": "api_key"
},
"deepseek:default": {
"provider": "deepseek",
"mode": "api_key"
}
}
},
"messages": {
"ackReactionScope": "group-mentions"
},
"env": {
"DEEPSEEK_API_KEY": "dein-deepseek-api-key-hier"
},
"agents": {
"defaults": {
"workspace": "/home/clawdbot/clawd",
"model": {
"primary": "deepseek/deepseek-chat"
},
"contextPruning": {
"mode": "adaptive"
},
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
},
"models": {
"providers": {
"deepseek": {
"baseUrl": "https://api.deepseek.com/v1",
"apiKey": "${DEEPSEEK_API_KEY}",
"api": "openai-completions",
"models": [
{ "id": "deepseek-chat", "name": "DeepSeek Chat" },
{ "id": "deepseek-reasoner", "name": "DeepSeek Reasoner" }
]
}
}
},
"messages": {
"ackReactionScope": "group-mentions"
},
"commands": {
"native": "auto",
"nativeSkills": "auto"
},
"channels": {
"telegram": {
"enabled": true,
"dmPolicy": "pairing",
"botToken": "xxx",
"groupPolicy": "allowlist",
"streamMode": "partial"
}
},
"gateway": {
"port": 18789,
"mode": "local",
"bind": "loopback",
"auth": {
"mode": "token",
"token": "xxxx"
},
"tailscale": {
"mode": "serve",
"resetOnExit": false
}
},
"skills": {
"install": {
"nodeManager": "pnpm"
}
},
"plugins": {
"entries": {
"telegram": {
"enabled": true
}
}
}
}
WICHTIG: Ersetze "dein-deepseek-api-key-hier" mit deinem echten DeepSeek API Key!
Danach Gateway neu starten:
clawdbot gateway restart
https://docs.clawd.bot/gateway/configuration#models-custom-providers---base-urls
gibt mir fehler ab zeile 9
Stimmt, ich sehe den Fehler – messages ist doppelt (Zeile 14 und Zeile 54). Hier die korrigierte Version:
{
"wizard": {
"lastRunAt": "2026-01-20T22:40:02.283Z",
"lastRunVersion": "2026.1.20",
"lastRunCommand": "onboard",
"lastRunMode": "local"
},
"auth": {
"profiles": {
"openrouter:default": {
"provider": "openrouter",
"mode": "api_key"
},
"deepseek:default": {
"provider": "deepseek",
"mode": "api_key"
}
}
},
"messages": {
"ackReactionScope": "group-mentions"
},
"env": {
"DEEPSEEK_API_KEY": "dein-deepseek-api-key-hier"
},
"agents": {
"defaults": {
"workspace": "/home/clawdbot/clawd",
"model": {
"primary": "deepseek/deepseek-chat"
},
"contextPruning": {
"mode": "adaptive"
},
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
},
"models": {
"providers": {
"deepseek": {
"baseUrl": "https://api.deepseek.com/v1",
"apiKey": "${DEEPSEEK_API_KEY}",
"api": "openai-completions",
"models": [
{ "id": "deepseek-chat", "name": "DeepSeek Chat" },
{ "id": "deepseek-reasoner", "name": "DeepSeek Reasoner" }
]
}
}
},
"commands": {
"native": "auto",
"nativeSkills": "auto"
},
"channels": {
"telegram": {
"enabled": true,
"dmPolicy": "pairing",
"botToken": "xxx",
"groupPolicy": "allowlist",
"streamMode": "partial"
}
},
"gateway": {
"port": 18789,
"mode": "local",
"bind": "loopback",
"auth": {
"mode": "token",
"token": "xxxx"
},
"tailscale": {
"mode": "serve",
"resetOnExit": false
}
},
"skills": {
"install": {
"nodeManager": "pnpm"
}
},
"plugins": {
"entries": {
"telegram": {
"enabled": true
}
}
}
}
Das doppelte messages-Objekt war der Fehler – jetzt ist es nur noch einmal drin. 🦐
was war doppelz
Das messages Objekt war zweimal drin:
- Zeile 14:
"messages": { "ackReactionScope": "group-mentions" } - Später: Nochmal
"messages": { "ackReactionScope": "group-mentions" }
In JSON darf jeder Key nur einmal vorkommen. Deshalb hat der Gateway die Config rejected.
Die korrigierte Version hat messages nur noch einmal – jetzt sollte es funktionieren! 🦐
Failed to read config at /home/clawdbot/.clawdbot/clawdbot.json SyntaxError: JSON5: invalid character ':' at 1:9
at syntaxError (/home/clawdbot/clawdbot/node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/parse.js:1110:17)
at invalidChar (/home/clawdbot/clawdbot/node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/parse.js:1055:12)
at Object.end (/home/clawdbot/clawdbot/node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/parse.js:704:15)
at Object.default (/home/clawdbot/clawdbot/node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/parse.js:168:37)
at lex (/home/clawdbot/clawdbot/node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/parse.js💯42)
at Object.parse (/home/clawdbot/clawdbot/node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/parse.js:25:17)
at Object.loadConfig (file:///home/clawdbot/clawdbot/dist/config/io.js:177:39)
at loadConfig (file:///home/clawdbot/clawdbot/dist/config/io.js:464:51)
at file:///home/clawdbot/clawdbot/dist/agents/context.js:10:21 {
lineNumber: 1,
columnNumber: 9
Der Fehler Invalid character ':' at 1:9 bedeutet, dass da unsichtbare Zeichen (z.B. BOM oder Encoding-Problem) am Anfang der Datei sind.
Fix – lösche die alte Datei und erstelle sie neu:
# Alte kaputte Datei löschen
rm /home/clawdbot/.clawdbot/clawdbot.json
# Neue leere Datei erstellen
touch /home/clawdbot/.clawdbot/clawdbot.json
# Dann die Config frisch schreiben mit:
clawdbot gateway call config.patch --params '{
"raw": "{\n wizard: { lastRunAt: \"2026-01-20T22:40:02.283Z\", lastRunVersion: \"2026.1.20\", lastRunCommand: \"onboard\", lastRunMode: \"local\" },\n auth: { profiles: { openrouter:default: { provider: \"openrouter\", mode: \"api_key\" }, deepseek:default: { provider: \"deepseek\", mode: \"api_key\" } } },\n messages: { ackReactionScope: \"group-mentions\" },\n env: { DEEPSEEK_API_KEY: \"dein-api-key-hier\" },\n agents: { defaults: { workspace: \"/home/clawdbot/clawd\", model: { primary: \"deepseek/deepseek-chat\" }, contextPruning: { mode: \"adaptive\" }, compaction: { mode: \"safeguard\" }, maxConcurrent: 4, subagents: { maxConcurrent: 8 } } },\n models: { providers: { deepseek: { baseUrl: \"https://api.deepseek.com/v1\", apiKey: \"${DEEPSEEK_API_KEY}\", api: \"openai-completions\", models: [{ id: \"deepseek-chat\", name: \"DeepSeek Chat\" }, { id: \"deepseek-reasoner\", name: \"DeepSeek Reasoner\" }] } } },\n commands: { native: \"auto\", nativeSkills: \"auto\" },\n channels: { telegram: { enabled: true, dmPolicy: \"pairing\", botToken: \"xxx\", groupPolicy: \"allowlist\", streamMode: \"partial\" } },\n gateway: { port: 18789, mode: \"local\", bind: \"loopback\", auth: { mode: \"token\", token: \"xxxx\" }, tailscale: { mode: \"serve\", resetOnExit: false } },\n skills: { install: { nodeManager: \"pnpm\" } },\n plugins: { entries: { telegram: { enabled: true } } }\n}",
"baseHash": ""
}'
WICHTIG: Ersetze "dein-api-key-hier" mit deinem echten DeepSeek API Key!
Falls das nicht funktioniert, prüfe die Datei mit:
head -c 50 /home/clawdbot/.clawdbot/clawdbot.json | xxd
Da sollten keine komischen Zeichen am Anfang sein. 🦐
nein das ist nicht die lösung
Okay, verstanden – JSON5 ist verwirrend. Probier's stattdessen mit den CLI-Befehlen:
# DeepSeek Provider hinzufügen
clawdbot configure set models.providers.deepseek.baseUrl "https://api.deepseek.com/v1"
clawdbot configure set models.providers.deepseek.api "openai-completions"
clawdbot configure set models.providers.deepseek.models '[{"id": "deepseek-chat"}]'
# API Key setzen
clawdbot configure set env.DEEPSEEK_API_KEY "dein-api-key-hier"
# Modell als Primary setzen
clawdbot configure set agents.defaults.model.primary "deepseek/deepseek-chat"
Danach Gateway neustarten:
clawdbot gateway restart
Falls das auch nicht klappt, zeig mir die Ausgabe von:
clawdbot config.get
Dann sehe ich, was bei dir schon konfiguriert ist. 🦐
Problem:
- <root>: Missing env var "DEEPSEEK_API_KEY" referenced at config path: models.providers.deepseek.apiKey
Jetzt kommt die Config durch, aber der Environment Variable fehlt! Du musst den API Key setzen.
Die einfachste Lösung – direkt in der Config ohne Env-Variable:
# API Key direkt setzen (ohne ${VAR_NAME})
clawdbot configure set models.providers.deepseek.apiKey "sk-dein-deepseek-api-key"
Oder Gateway mit der Env-Variable starten:
DEEPSEEK_API_KEY="sk-dein-deepseek-api-key" clawdbot gateway restart
Oder permanent in der shellrc (z.B. ~/.bashrc):
echo 'export DEEPSEEK_API_KEY="sk-dein-api-key"' >> ~/.bashrc
source ~/.bashrc
clawdbot gateway restart
Wichtig: DeepSeek API Keys fangen typischerweise mit sk- an. 🦐
File: /home/clawdbot/.clawdbot/clawdbot.json
Problem:
- models.providers.deepseek.models.0.reasoning: Invalid input: expected boolean, received undefined
- models.providers.deepseek.models.0.input: Invalid input: expected array, received undefined
- models.providers.deepseek.models.0.cost: Invalid input: expected object, received undefined
- models.providers.deepseek.models.0.contextWindow: Invalid input: expected number, received undefined
- models.providers.deepseek.models.0.maxTokens: Invalid input: expected number, received undefined
- models.providers.deepseek.models.1.reasoning: Invalid input: expected boolean, received undefined
- models.providers.deepseek.models.1.input: Invalid input: expected array, received undefined
- models.providers.deepseek.models.1.cost: Invalid input: expected object, received undefined
- models.providers.deepseek.models.1.contextWindow: Invalid input: expected number, received undefined
- models.providers.deepseek.models.1.maxTokens: Invalid input: expected number, received undefined
- <root>: Unrecognized keys: "workspace", "contextPruning", "compaction", "maxConcurrent", "subagents"
Die Config braucht zusätzliche Felder für die Modelle. Hier die korrigierte Minimal-Config:
# Erst alles resetten
clawdbot configure clear
# Dann nur die nötigen Sachen setzen:
clawdbot configure set agents.defaults.model.primary "deepseek/deepseek-chat"
clawdbot configure set models.providers.deepseek.baseUrl "https://api.deepseek.com/v1"
clawdbot configure set models.providers.deepseek.apiKey "sk-dein-api-key"
clawdbot configure set models.providers.deepseek.api "openai-completions"
clawdbot configure set models.providers.deepseek.models '[{"id": "deepseek-chat", "reasoning": false, "input": [], "cost": {"prompt": 0.0000014, "completion": 0.0000028}, "contextWindow": 64000, "maxTokens": 16000}]'
Danach Gateway neustarten:
clawdbot gateway restart
Falls das nicht klappt, zeig mir:
clawdbot config.get
Dann sehe ich genau, was bei dir schon drinsteht. 🦐
geht nicht
Lass mich einen anderen Ansatz versuchen – zeig mir deine aktuelle Config:
clawdbot config.get
Und dann resetten wir alles und fangen frisch an:
# Config komplett löschen
clawdbot configure clear
# Gateway stoppen
clawdbot gateway stop
# Alte Config-Datei löschen
rm -f /home/clawdbot/.clawdbot/clawdbot.json
# Gateway neu starten (mit leerer Config)
clawdbot gateway start
Danach NUR das nötigste setzen:
clawdbot configure set agents.defaults.model.primary "deepseek/deepseek-chat"
Dann prüfen:
clawdbot config.get | head -50