# vvv-bots LLMフォールバックチェーン構築知見
## 最終フォールバックチェーン (llm_client.py v11)
```
NVIDIA NIM → Groq → Gemini 2.5 Flash(API) → Cerebras qwen-3-235b → Antigravity CLI → OpenClaw GPT-5.5 → Ollama
```
## 各プロバイダの詳細
| プロバイダ | エンドポイント | 無料枠 | キー変数 | 備考 |
|-----------|--------------|--------|---------|------|
| NVIDIA NIM | integrate.api.nvidia.com | あり | NVIDIA_API_KEY | メイン |
| Groq | api.groq.com | あり | GROQ_API_KEY | 2番手 |
| Gemini 2.5 Flash | generativelanguage.googleapis.com/v1beta/openai | 250RPD/1M TPM | GEMINI_API_KEY | CC不要・未設定時スキップ |
| Cerebras | api.cerebras.ai | 1M tokens/日 | CEREBRAS_API_KEY | qwen-3-235b-a22b-instruct-2507が現行最新 |
| Antigravity CLI | /usr/local/bin/antigravity | 無料 | 不要 | Gemini 3.5 Flash・subprocess呼び出し |
| OpenClaw GPT-5.5 | http://100.86.220.63:18791 | 無料 | 不要 | cure上のDockerラッパー |
| Ollama | localhost:11434 | 無料 | 不要 | 最終手段・qwen2.5:3b |
## Kimi K2.6 無効化
- APIキー失効(401)のため `KIMI_ENABLED=false` で無効化
- `llm_client.py` に `KIMI_ENABLED` フラグ実装済み。キー更新時は `KIMI_ENABLED=true` に戻すだけで復活
## 重要な実装知見
### Cerebrasモデル名 (2026-05-23時点)
- ✅ `qwen-3-235b-a22b-instruct-2507` (最高品質)
- ✅ `zai-glm-4.7`
- ✅ `llama3.1-8b`
- ✅ `gpt-oss-120b`
- ❌ `llama-4-scout-17b-16e-instruct` — 存在しない(404)
モデル一覧取得: `GET https://api.cerebras.ai/v1/models`
### Antigravity CLI組み込み方法
```python
import subprocess, shutil
result = subprocess.run(
["/usr/local/bin/antigravity", "-p", combined_prompt],
capture_output=True, text=True, timeout=timeout
)
content = result.stdout.strip()
```
- system + user メッセージを結合して `-p` に渡す
- `--print` / `-p` フラグで非インタラクティブ実行
- exit code 0 + stdout非空 = 成功
### Gemini API OpenAI互換エンドポイント
```
POST https://generativelanguage.googleapis.com/v1beta/openai/chat/completions
Authorization: Bearer {GEMINI_API_KEY}
```
- aistudio.google.com でCC不要でキー取得可能
### arcanaからshadowへの.env同期手順
```bash
# arcanaのキーを確認
ssh ubuntu@100.125.166.65 "grep 'KEY_NAME' /home/ubuntu/workspace/web/vvv-bots/.env"
# shadowに追記
echo 'KEY_NAME=value' >> /home/ubuntu/workspace/web/vvv-bots/.env
```
arcanaにあってshadowになかったキー(2026-05-23同期済み):
- `CEREBRAS_API_KEY` / `CEREBRAS_API_KEYS` (5キー) — vvv-bots/.env
- `AWS_REGION` / `AWS_BUCKET_NAME` / `AWS_ACCESS_KEY_ID_1,2` / `AWS_SECRET_ACCESS_KEY_1,2` — vvv-bots/.env
- `JK4_AWS_ACCESS_KEY_ID` / `JK4_AWS_SECRET_ACCESS_KEY` / `SOCKS5_PROXY_JK4_1,2` / `JK4_PROXY_API` — vvv/.env
## cure上のDiscord/n8n/OpenClaw構成 (2026-05-23)
### systemdサービス
| サービス | ファイル | 用途 |
|---------|---------|------|
| openclaw-api.service | /etc/systemd/system/ | OpenClaw HTTP wrapper (port 18791) |
| discord-bot.service | /etc/systemd/system/ | discord.py → n8n webhook転送 |
### n8nワークフロー
- ID: `e6XEofueUYkx4POD` "Discord Bot → OpenClaw GPT-5.5"
- webhook path: `discord-bot`
- OpenClaw URL: `http://172.18.0.1:18791` (Dockerブリッジ経由)
### Discordボット
- bot名: `ppp#9654` (ID: 1311319591015944292)
- guild: "ai" (ID: 1429604869177610264)
## トラブルシューティング記録
### n8n ワークフロー有効化
- `PATCH {"active": true}` では有効化されない
- 正解: `POST /rest/workflows/{id}/activate` + body `{"versionId": "..."}`
### DockerコンテナからホストへのURL
- `host.docker.internal` はLinuxでは解決されない
- 正解: `172.18.0.1` (docker network gateway IP)
- 確認: `docker network inspect bridge | grep Gateway`
### Moonshot (Kimi) 無料枠
- **無料枠なし**。最低$1チャージが必要
- 代替: Groq / Cerebras / Gemini API / Antigravity CLI がすべて無料
### Cerebrasキー
- arcana `vvv/.env` に `CEREBRAS_API_KEYS` として5キー保存済み
- shadow `vvv-bots/.env` には未設定だったため同期が必要だった
vvv-bots LLMフォールバックチェーン構築知見 (2026-05-23)