Integrate GigaChat (Sber AI) with OpenClaw via gpt2giga proxy
Integrate GigaChat (Sber AI) with OpenClaw via gpt2giga proxy.
GigaChat API Access:
GIGACHAT_API_PERS (free tier) or GIGACHAT_API_CORP (paid)Python & gpt2giga:
pip3 install gpt2giga
Environment File:
Create ~/.openclaw/gigachat-new.env:
CLIENT_ID="your-client-id-here"
CLIENT_SECRET="your-client-secret-here"
# Auto-generate credentials (base64 of CLIENT_ID:CLIENT_SECRET)
GIGACHAT_CREDENTIALS=$(echo -n "$CLIENT_ID:$CLIENT_SECRET" | base64)
GIGACHAT_SCOPE="GIGACHAT_API_PERS"
/openclaw/skills/gigachat/scripts/start-proxy.sh
Output:
Starting gpt2giga proxy on port 8443...
✅ gpt2giga started successfully (PID: 12345)
Log: ~/.openclaw/gpt2giga.log
Endpoint: http://localhost:8443/v1/chat/completions
gpt2giga handles OAuth token generation and refresh internally using the GIGACHAT_CREDENTIALS environment variable.
Run the patch script (backs up your config first):
/openclaw/skills/gigachat/scripts/patch-config.sh
Or add manually to openclaw.json:
{
"models": {
"providers": {
"gigachat": {
"baseUrl": "http://127.0.0.1:8443",
"apiKey": "not-needed",
"api": "openai-completions",
"models": [
{
"id": "GigaChat-Max",
"name": "GigaChat MAX",
"contextWindow": 32768,
"maxTokens": 8192
},
{
"id": "GigaChat-Pro",
"name": "GigaChat Pro",
"contextWindow": 32768,
"maxTokens": 4096
},
{
"id": "GigaChat",
"name": "GigaChat Lite",
"contextWindow": 8192,
"maxTokens": 2048
}
]
}
}
}
}
curl -s -X POST http://localhost:8443/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "GigaChat-Max",
"messages": [{"role": "user", "content": "Привет!"}]
}' | jq -r '.choices[0].message.content'
Expected output:
Привет! Как дела?
Add a GigaChat-powered agent to openclaw.json:
{
"agents": {
"list": [
{
"id": "ruslan",
"name": "Ruslan",
"emoji": "🐻",
"model": "gigachat/GigaChat-Pro",
"workspace": "/root/.openclaw/agents/ruslan/workspace"
}
]
}
}
Create agent workspace:
mkdir -p /root/.openclaw/agents/ruslan/workspace
IDENTITY.md:
# IDENTITY.md
- Name: Ruslan
- Creature: Российский AI-ассистент
- Vibe: Дружелюбный, знает русский контекст
- Emoji: 🐻
SOUL.md:
# SOUL.md — Кто ты
Ты Руслан. Российский AI-ассистент на базе GigaChat.
Говоришь на русском, знаешь русский контекст (кухня, культура, реалии).
Отвечаешь кратко и по делу. Без лишней вежливости.
gpt2giga handles OAuth token generation and refresh automatically using the GIGACHAT_CREDENTIALS environment variable. No manual token management is needed.
If the proxy loses its token (e.g. after a long idle period), restart it:
/openclaw/skills/gigachat/scripts/start-proxy.sh
Cause: Token expired or invalid credentials
Fix: Restart proxy script (generates fresh token)
Cause: Quota exhausted for that model
Fix: Try a different model or wait for quota reset
Cause: gpt2giga crashes but holds port
Fix:
fuser -k 8443/tcp
/openclaw/skills/gigachat/scripts/start-proxy.sh
OpenClaw → http://localhost:8443/v1/chat/completions
↓
gpt2giga (proxy, env-var auth)
↓
Sber GigaChat API (OAuth token auto-managed)
Flow:
scripts/start-proxy.sh — Start proxy with env-var credentialsscripts/start.sh — Alternative start (nohup)scripts/stop.sh — Stop proxyscripts/status.sh — Check proxy statusscripts/setup.sh — Install gpt2giga from PyPIscripts/patch-config.sh — Add GigaChat provider to openclaw.json (backs up config first)SKILL.md — This file/etc/ssl/certs/sber-ca.crt to enable~/.openclaw/gigachat-new.env with chmod 600ZIP package — ready to use