llmhub — 自宅 GPU をいつでも使える OpenAI 互換 API に
状態:保守中 · 担当:単独開発 · コード:公開 · 最終更新:2026-10
なぜ作ったか
自宅に GPU マシンがあり、2C4G のクラウドサーバーもあります。スクリプト、アプリ、ボットからいつでもローカルモデルを呼びたい。ただし:
- クラウドサーバーに GPU はなく、推論できない
- 自宅マシンは常時起動ではなく、公衆 IP も変わる
- Ollama をそのままインターネットに公開するのは危険
llmhub の考え方は単純です。モデルは自宅、サーバーは玄関だけ。
1 | 呼び出し側(スクリプト / アプリ / Web / ボット) |
設計の要点
- 受信ポートゼロ:公開入口は Cloudflare Tunnel、自宅からサーバーへは ssh リバーストンネル。セキュリティグループをほぼ開けずに済む
- 自動フォールバック:one-api に2チャネル。ローカル Ollama が落ちるとクラウド API に切替
- 認証と使用量の統一:全呼び出し元が1つのゲートウェイを共有
- 秘密情報をリポジトリに入れない:実 IP、ドメイン、鍵は gitignore。
*.exampleテンプレートのみ公開
ハマった点
- Ollama のデフォルトは 4K コンテキスト。コーディング Agent の長いプロンプトが切れるため
OLLAMA_CONTEXT_LENGTHを上げる必要がある - qwen3 はデフォルトで思考内容を出力し、長いプロンプトでは1ターン5〜7分。
/no_think強制版で一桁高速化 - 半開きのリバーストンネルがポートを占有する。sshd の
Matchで転送を制限し、ClientAliveを設定する
制限
- 常時起動の VPS と安定したトンネルに依存。自宅が落ちるとクラウドにフォールバック
- 単一ユーザー構成。マルチテナントや課金は未対応
- ローカルモデルの品質と速度は GPU 次第。7B/8B は軽い用途向けで、最先端 API の代替ではない
- 公開サービスには常にリスクがある。最低限、認証・制限・ログを入れること
このブログのすべての記事は、CC BY-NC-SA 4.0 ライセンスの下で提供されており、特に明記されていない限り、すべての権利を留保します。転載時には出典を明記してください: lizhichao。
