Claude Code をやめてコスパ最強の OpenCode に乗り換える
はじめに
皆さん、Claude Code や Codex は使っていますか?私はヘビーユーザーで四六時中使っているのですが、まるで全知全能にでもなったかのような気分です。
ただ、これらのサービスは本当に高いですよね。この記事を書いている 2026年7月時点で、Claude Code を使うには最低でも月額 $20 (=3,238円) を払って Claude Pro プランに加入しなければなりません。しかも、自分みたいなヘビーユーザーだと Pro プランでは使用量の制限にすぐに引っかかってしまうので、月額 $110 (=17,810円) の Max プランに入らざるを得ません。年間で20万円強もかかります。たばこを毎日1箱吸う場合、1箱600円だと仮定すると年間で約22万円かかるようです。つまり、私はニコチン依存症でたばこを辞められない状態と同じということでしょうか……
さて、自分はこの現象に必死にあらがった結果、良い折衷案を思いつきました。この記事では、OpenCode Web モードと Cloudflare Zero Trust を組み合わせることで、非常にコスパよく Claude Code や Codex から脱する方法をご紹介します。スマホや他の PC からも快適に利用できて、セキュリティリスクも抑えることができるので、とてもおすすめしたい内容です。

何が嬉しいの?
これから紹介する環境を構築するメリットは主に2つあります。
- 特定のベンダに依存せず、圧倒的な低コストで賢いモデルを安全に使える
- 複数端末から利用する際のセキュリティリスクを低減できる
脱ベンダーロックインとコスパの良さ
OpenCode は OSS なので、Claude Code を提供する Anthropic 社や、Codex を作る OpenAI 社に生殺与奪の権を握られることがありません。
これらのベンダーによるプラン改定の影響でコスト監視が難しくなったり、障害が発生して使えなくなったりするケースは過去にもありました。
OpenCode はプロバイダを自由に選べるので、1つの会社にメンタルを揺さぶられることはありません。何なら Anthropic や OpenAI をプロバイダとして選択でき、Fable 5 や GPT-5.5 等の馴染みのあるモデルも使えます。ただ、最近はオープンソースの LLM を使う選択肢もあります。2026年7月時点の SWE-Bench Pro によると、GLM-5.2 や Qwen3.7 Max、MiniMax M3 等のモデルが性能が高そうです。また、ローカル LLM を動かしている場合でも OpenCode から利用できます。
高性能なモデルをセルフホストするのは現実的ではないので、代わりに OpenCode Go という格安のサブスクリプションを使うのがおすすめです。OpenCode Go は初月 $5 で利用でき、その後は月額 $10 で利用できます。Claude Opus 4.7 に匹敵するモデルをたったの月額 $10 で Claude Max Plan ($100) と同じぐらい動かせます。 具体的なコスパについては検証している方がいるので参考にしてみてください。
個人的な感触ですが、一般的なタスクなら DeepSeek V4 Flash を推論レベル Max で使うのがコスパ最強です。難しいタスクや画像処理は MiniMax M3 のコスパが良いです。提供されているモデルが本当に沢山あるので、ここは好みに応じて使い分けましょう。
OpenCode Go には LLM に入力したデータをモデル学習に使用しないポリシーが適応されるのも魅力の1つです。
このプランは主に海外ユーザー向けに設計されており、安定したグローバルアクセスのため、モデルは US、EU、Singapore でホストされています。各プロバイダーはデータを保持しないポリシーに従っており、お客様のデータをモデルのトレーニングに使用することはありません。
とはいえ、中国の国家情報法などにより DeepSeek を使うことに懸念はありました。エンタープライズ向けとは言えませんが、それでも個人で使う分には申し分ないと思っているため愛用しています。
ちなみに、以下の URL から契約すると $5 のクレジットが貰えます。
サブスクの使用量を万が一使い切ってもこのクレジットで延命できるので、契約を検討されている方はぜひご利用ください。
セキュリティリスクの低減
OpenCode をどこからでも使えるように Web UI をインターネットに公開しているのですが、Cloudflare Zero Trust を間に挟んで自分だけしか使えないようにしっかりと制限しています。自分で管理しているドメインの特定の URL を開くと、まずは GitHub での認証を求められます。そして、自分のアカウントでログインしたときに限り、OpenCode の Web UI が表示されます。
似たような方法として Tailscale + OpenCode の構成が紹介されていました。
この方法はセットアップが非常に簡単ですが、記事でも触れられている通り、OpenCode 自体がアプリケーション層での認証機能を持っていない (出来ても Basic 認証だけ) ため、Tailscale の ACL を適切に設計しないと、同一ネットワーク内のすべてのデバイスから Web UI に無条件でアクセスできてしまうリスクがあります。万が一、参加している端末のどれか 1 台でも乗っ取られた場合、そこを足がかりに OpenCode を悪用される危険性があります。
また、端末認証のみに頼ることになるため、多要素認証や定期的なセッション期限切れを強制したい場合には不向きです。それに、OpenCode を使いたいデバイスに Tailscale クライアントをインストールするのも面倒です。
逆に Tailscale を利用する端末が少なく、これらのリスクを受容できる場合は手軽な方法だと思います。自分は不特定多数のデバイスから利用したく、Tailscale 自体を何とかしてやめたいと考えているので Cloudflare Zero Trust を導入しました。
(まいという方の影響を勝手に受けています…笑)
環境構築
全体像
システム全体の構成を図示してみました。

私の場合は WSL2 上で Ubuntu 24.04 LTS を動かしていて、その上で OpenCode が動作しています。ただ、OpenCode が動作するサーバーなら何でも良いですし、Cloudflare Tunnel という仕組みで外向きにコネクションを張り続けるので、ファイアウォールの設定は外向きの通信さえ許可していれば外部から到達できます。
また、私は認証に GitHub を利用していますが、IdP は何でも設定できます。Email や Google アカウントによる認証にもできますし、複数指定もできます。今回は GitHub を使用する前提でセットアップ方法をご案内します。
OpenCode の設定
まずは OpenCode を動かしたいサーバーに OpenCode をインストールします。
インストール方法は環境に応じて異なるので、以下の公式ガイドに従ってください。ただし、Windows で利用したい場合は WSL を使うことが公式に推奨されています。
インストールが完了したら、まずは適当なディレクトリを作って cd して、opencode コマンドを実行すれば CLI から OpenCode を利用できます。細かい利用方法についてはここでは省略しますので、公式ドキュメントをご参照ください。
次に OpenCode を Web モードで起動します。OpenCode は基本的にユーザーインストールされるので、それに合わせて systemd のユーザーインスタンスとして登録しています。~/.config/systemd/user/opencode-web.service を作成し、以下のようにします。
[Unit]
Description=OpenCode Server Mode Service
After=network.target
[Service]
Type=simple
WorkingDirectory=/
Environment="PATH=%h/.opencode/bin:/usr/local/bin:/usr/bin:/bin"
Environment="OPENCODE_ENABLE_EXA=1"
ExecStart=%h/.opencode/bin/opencode serve --hostname 127.0.0.1 --port 4096
Restart=always
RestartSec=5
[Install]
WantedBy=default.target
保存したら、daemon-reload をして設定を反映させ、その後サービスを起動します。enable をして初回ログイン時にサービスが実行されるようにします。
systemctl --user daemon-reload
systemctl --user enable opencode-web.service
systemctl --user start opencode-web.service
list-dependencies で、実行ツリーにサービスが含まれていることを念のため確認しましょう。
systemctl --user list-dependencies
ここまで実行したら、http://localhost:4096 にアクセスして Web UI を利用してみましょう。
Cloudflare Zero Trust の設定
このままではローカルからしか OpenCode を利用できません。そこで、インターネットからアクセスできるように Cloudflare Zero Trust を導入します。
Cloudflare のダッシュボードの見た目は結構な頻度で更新されるので、これから説明する方法では設定できないかもしれません。ただ、基本的な概念や構成は変わっていないと思います。
Cloudflare ダッシュボードを開いて Protect & Connect > Zero Trust と進みます。すると Cloudflare One のダッシュボードが開きます。
ここで左下にある “Settings” を押すと Team name と Team domain が確認できます。Team name は自由に設定してください。変更後、<team-name>.cloudflareaccess.com という形式の Team domain を控えておきます。
GitHub OAuth Apps の作成
GitHub で OAuth Apps を作成します。以下の URL を開き、“New OAuth App” を選択します。
以下のように設定して、“Register application” を押します。
- Application name: 任意
- Homepage URL:
https://<team-name>.cloudflareaccess.com- 先ほど控えた
*.cloudflareaccess.com形式のドメインで置換
- 先ほど控えた
- Application description: 任意
- Authorization callback URL:
https://<team-name>.cloudflareaccess.com/cdn-cgi/access/callback
アプリケーションを作成した後、Client secrets の項目から “Generate a new client secret” を選択して、生成された Client secret を控えておきます。また、Client ID も表示されているので同様に控えます。
IdP の登録
次に Integrations > Identity providers を選択し、“Add an identity provider” を押します。ここから IdP を自由に選択できますが、今回は GitHub を例に紹介しますので GitHub を選択します。

すると App ID と Client secret が求められるので、先ほど控えておいた OAuth App の Client ID と Client secret をそれぞれ入力します。
Access controls Application の作成
Access controls > Applications を選択し、“Create new application” を押します。Self-hosted and private タブから Public DNS を選択し、“Continue with Self-hosted and private” と進みます。

ここでアプリケーションの詳細を入れていくのですが、まずは Public hostnames の設定をします。

*.workers.dev ドメインが自動的に付与されるので活用しましょう。サブドメインは必要に応じて任意で設定してください。独自ドメインを利用したい場合はここで指定できます。
次に Access policies の設定をします。“Create new policy” を押して新しいポリシーを作成します。

Policy rules には Emails を選択し、GitHub のアカウントに紐づいているメールアドレスを指定します。

Policy Name は任意に設定し、Action は “Allow” に設定します。その他の設定は変更せず、“Save policy” で保存します。
Authentication では先ほど登録した IdP である GitHub を選択します。

最後に最も重要な設定をします。Details から Session Duration を 24 hours に指定します。 これによって24時間おきに GitHub での認証が求められるようになるため、セキュリティリスクが低下します。

以上で Cloudflare Access の設定は完了しました。インターネットから指定した URL を開くと Cloudflare のエッジサーバにリダイレクトされ、GitHub での認証が行われます。
Cloudflare Tunnel の作成
現時点では Cloudflare のエッジサーバーから OpenCode のサーバーに到達できません。そこで専用の通信経路を確立します。Cloudflare Tunnel と呼ばれる仕組みを使用します。
まずは Cloudflare One から Networks > Connectors と遷移し、“Create a tunnel” を選択します。
トンネルの種類は Cloudflared を選択しましょう。

トンネル名は “opencode” など、自由に設定して “Save” を押してください。
すると cloudflared をサーバーにインストールするように求められます。サーバーの OS とアーキテクチャを選択すると、それに応じたセットアップ方法が案内されるので従ってください。cloudflared service install ... のようなコマンドを実行するように案内されます。トンネルが確立されると次の画面に遷移できるようになります。
次にアクセスされたドメインをローカルのどのポートに流すかを設定します。Public Hostname の項目には、先ほど Access controls Application で設定した Public hostnames と全く同じものを指定します。*.workers.dev や独自ドメインがこれに該当します。また、Service Type は HTTP、URL は localhost:4096 に設定します。
これで全ての環境が整いました。さっそく手元のスマホや PC からブラウザで https://<設定した Public hostnames> にアクセスしてみましょう。すると GitHub でのログインが求められます。ログイン後、GitHub に紐づいているメールアドレスがポリシーに一致すると認証されます。その後、サーバーで動いている OpenCode の Web UI に自動的に遷移します。
備考1: iPhone から快適に使う
OpenCode の Web UI は PWA に対応しており、iPhone や Android からアプリのように使うことができます。iPhone の Safari で OpenCode の URL を開いて、共有メニューから「ホーム画面に追加」をタップすることで利用できます。


これが本当に快適で、出先でも簡単に操作できるのが嬉しいポイントです。寝る前に布団の中でスマホから OpenCode を操作して、時間のかかるタスクを寝ている間にしてもらうことも多いです。また、推論が完了したときにプッシュ通知が届くので、ずっと画面を見ている必要が無くて助かっています。
備考2: 私の個人的な用途
- Google カレンダーと乗換案内サービスを連携して旅行の計画を立てる
- Google Calendar の MCP やジョルダン乗換案内オープン API、ナビタイムの乗換検索 API 等と連携すればできる
- DeepResearch
- 買いたい物を安く買う方法を徹底比較
- 自分の予定が空いている時間帯をカレンダーから取得して、その時間で予約可能な話題で美味しい飲食店を調べる
- (各 Web サービスの利用規約の範囲内に収まるように制御)
- reverse-skill で CTF チャレンジを解く
- セキュリティタスクに強い reverse-skill という Skills が話題なので検証中
- Windows イベントログ + Hayabusa で脅威ハンティング
- 自分の PC にサイバー攻撃の兆候が無いか調査する Skills を書いた
- フォレンジックの練習も兼ねられて嬉しい
おわりに
今回は、高騰し続ける AI コーディングアシスタントのサブスク費用に対抗すべく、OpenCode と Cloudflare Zero Trust を用いた自分専用の開発環境の構築方法をご紹介しました。
この環境のメリットを振り返ると以下の通りです。
- コスパが良い: Anthropic や OpenAI の価格改定や使用量制限に怯えることなく、OpenCode Go (月額 $5 から) やお好みのモデルを快適に導入できる
- 強固なセキュリティ: Cloudflare Access のセッション管理により、不特定多数のネットの脅威からローカルサーバーを完全に隠蔽できる。Tailscale のように端末間がフラットに繋がるリスクもない
この方法で安全に低コストで Claude Code や Codex から移行できます。ローカル LLM を動かす際のエンドポイントとしても非常に優秀です。
「AI の賢さには頼りたいけれど、毎月2万円近い固定費を払い続けるのはちょっと……」と悩んでいるエンジニアの方々の、良い選択肢になれば幸いです。