JetBrains Junie CLI Beta と MCP・npm・GitHub がタイムアウトしがちなとき:2026 年、Clash の分流でターミナル出口を安定させる
2026 年春以降、JetBrains がターミナル向けに展開する Junie CLI の Beta は、IDE 内の補完エージェントとは別系統で、モデルへの長いセッション、Model Context Protocol(MCP) サーバーの起動、npm レジストリやキャッシュ、GitHub の clone/Release 取得、さらにプラグイン更新やアカウント連携に相当するホスト群までを短時間に叩きます。ブラウザや IDE 本体は快適なのに、CLI だけETIMEDOUT や取得ループが増える典型は、出口のポリシーと DNS の見え方がプロセス単位で割れているときに起こります。本稿は Claude Code と MCP の CLI 分流 や OpenCode CLI の npm/GitHub 束ね と棲み分けし、Junie CLI が踏みやすい経路を Clash のルール順と安定ノードで揃える実務手順に絞ります。職場方針と各サービスの利用規約は必ず順守してください。
なぜ「IDE は動くのに Junie CLI だけ不安定」になりやすいか
IDE は OS のプロキシ設定や JetBrains 製品の更新チャネルに沿いやすい一方、ターミナルから起動する CLI は HTTPS_PROXY や ALL_PROXY を見たり見なかったりします。Junie CLI のようなnodeベースのランチャーは、親シェルが通っていたはずの経路と、バックグラウンドの子プロセスの経路が一致しないと、画面ではなくログにだけ失敗が残ります。Beta 期は機能追加のペースが速く、ドメイン辞書が少しでも古いと「昨日まで通っていたのに今日だけ詰まる」という体感にもつながりやすいです。
- レジストリのリダイレクト連鎖:
registry.npmjs.orgから CDN 行へ飛ぶ一行が別ルールに吸われ、初回 TCP や TLS で頭打ちになる。 - GitHub のオブジェクト分散:
github.comは通るがobjects.githubusercontent.comだけ遅いと、git と Release 資産取得が途中で切れる。 - モデルとツールの二系統:推論やゲートウェイ、社内プロキシ行が混ざると、長いストリームが npm/GitHub の体感を悪化させる。
切り口
「モデル品質」の前に、Connections のホスト名と実 outbound を一行ずつ照合してください。同じノード名を選んでいても、当たっているルール行が違えば結果は別物です。
Junie CLI 周辺で束ねたいドメインバケット
製品版・リージョン・組織設定で増減しますが、ターミナルで JetBrains 系 CLI を動かすときは次のようなバケット分けが扱いやすいです。本番投入前に、必ず自ホストのログで実名を確認し、誤爆しやすい DOMAIN-KEYWORD は避けてください。
| バケット | 代表ホスト(例) | メモ |
|---|---|---|
| JetBrains 配布・認証 | jetbrains.com、downloads.jetbrains.com、plugins.jetbrains.com など |
IDE と CLI で参照セットが微妙に違うことがある |
| npm / JS レジストリ | registry.npmjs.org、CDN 系 |
プラグイン tarball・メタデータで同時接続が跳ねやすい |
| GitHub | github.com、raw.githubusercontent.com、objects.githubusercontent.com |
依存解決と large file でオブジェクト行が増える |
| モデル/ゲートウェイ | 利用する LLM 提供者の API ドメイン | 複数クラウドを跨ぐなら測定グループを分ける |
| MCP 周辺 | マニフェスト URL、追加ツールの配布元 | サーバー実装ごとに外部ホストが増減する |
マニフェストが任意 URL を指すと、上表に無いホストが一気に増えます。辞書を無限に広げるより、失敗 URL をログから逆引きして安全に 1 行ずつ足す方が事故が少ないです。リモートの rule-providers に頼る場合は、取得失敗と更新間隔 も合わせて確認してください。
分流ルールの順序:開発者出口を GEOIP より上へ
広い GEOIP や最終 MATCH の直前まで細かい行を置き忘れると、npm や GitHub だけ意図せず直結したり、遅いデフォルト出口へ吸われたりします。JetBrains・npm・GitHub・実際に使っているモデル API をまとめ、エンタメ向けの遅延測定グループとは別の低遅延・安定優先ポリシーへ流すのが実務的です。
# Illustrative snippet — replace PROXY_DEV with your policy group name
rules:
- DOMAIN-SUFFIX,jetbrains.com,PROXY_DEV
- DOMAIN-SUFFIX,npmjs.org,PROXY_DEV
- DOMAIN-SUFFIX,npm.community,PROXY_DEV
- DOMAIN-SUFFIX,github.com,PROXY_DEV
- DOMAIN-SUFFIX,githubusercontent.com,PROXY_DEV
# Add LLM / MCP manifest hosts you verified in logs
- GEOIP,CN,DIRECT
- MATCH,PROXY
最初は DOMAIN-SUFFIX とログで裏取りした DOMAIN 行から始めます。社内 Nexus / Verdaccio がある場合は、そのホストは DIRECT 固定が安全なことが多いです。
DNS・fake-ip と長接続
fake-ip では、アプリによって名前解決と実接続の見え方がズレ、再試行ループが増えます。CLI だけおかしいときはブラウザのセキュア DNS を一時オフにして検証経路を一本化し、切り分け後に元へ戻すのが定石です。詳細は DNS 漏れと fake-ip を参照してください。
- 二重解決:DoH と Clash 内 DNS が別回答を返すと、ルールと実接続の組み合わせがブレる。
- 長めの読み取りタイムアウト:ストリーム型 API と大きな tarball 取得が重なると、ノード側アイドル切断が表面化しやすい。
- IPv6:IPv4 だけ安定している出口に、AAAA が先行して失敗するケース。
コンプライアンス
企業ネットワークではプロキシ迂回が禁止されていることがあります。本稿は許可された環境での経路最適化を想定しています。
ノード選択:url-test のフラップを避ける
開発者向けポリシーは「帯域テストで一位のノード」より、小さな TLS ハンドシェイクが安定するノードを選びたい場面が多いです。url-test の間隔が短すぎると出口が頻繁に切り替わり、進行中の git / npm が張り替えられてタイムアウトに見えます。間隔と tolerance を緩め、フォールバック鎖の深さを抑えると改善することがあります。
シェル・Git・パッケージマネージャ全体の整合は ターミナル HTTP / Git プロキシ も参照し、「同じ出口」を語る前に環境変数の実値を揃えます。IDE 側の AI トラフィックは Cursor / AI 開発ネットワーク の観点と重なるため、ホストを二重管理しないよう整理してください。
TUN とプロセス名:Node 子プロセスを捕まえる
環境変数だけでは拾えないトラフィックは、Clash Meta(Mihomo)系の TUN と PROCESS-NAME / PROCESS-PATH で IDE 付属の node や MCP ランチャーを明示的にマークする手があります。プロセス名は OS ごとに異なるため、タスクマネージャや ps で実名を確認してからルール化してください。
npm / pnpm / yarn を安定させる観点
- レジストリミラーと Clash の組み合わせでループプロキシになっていないか。
strict-ssl周りのエラーが、実際は経路タイムアウトの二重表示になっていないか。- 社内 Nexus 行は
DIRECT固定を検討する。
Junie CLI と MCP:依存取得とセッションを分類する
MCP はローカル stdio サーバーからリモート SSE まで幅があり、起動時だけ npm へ出る実装と、セッション中も外部 API を叩く実装が混在します。後者は長接続とレート制限の両方に当たりやすいので、ログで「詰まっているのはモデル API か、レジストリか、GitHub か、JetBrains CDN か」を分類してください。
- npx 一発起動:毎回キャッシュミスでレジストリへ戻り、渋滞時に失敗しやすい。
- 複数 MCP の同時起動:同じ CDN 行に集中し、帯域ではなく同時 TCP 数が限界になる。
- マニフェスト URL:組織内レジストリを挟むと証明書チェーンが変わる。
Beta フィードバックを踏まえ、公式がドメイン一覧や推奨プロキシ手順を更新する可能性があります。固定覚えではなく、Connections に出たホストを正にしてメンテする運用が安全です。
よくある質問
IDE の Junie は快適なのに CLI だけ遅い
CLI が参照するホストが GEOIP より下に落ちている、またはプロキシ環境変数が空の可能性があります。Clash のログで実ホストと outbound を確認してください。
npm install は通るが git clone だけ失敗する
objects.githubusercontent.com などが未登録で、遅いデフォルト出口に流れているケースがあります。
MCP だけタイムアウトが増えた
そのサーバーが参照する追加ドメインをログから拾い、モデル API バケットとは別グループへ分離できるか検討してください。
チェックリスト
- IDE と CLI で、同一ホストの outbound が一致しているか確認する。
- JetBrains・npm・GitHub 系を
GEOIPより上に置く。 - DNS / fake-ip を切り分け、必要なら検証期間だけ経路を揃える。
- 開発者用ポリシーの
url-testがフラップしていないか見る。 - MCP ごとに「起動時のみ外部」「常時外部」を分類し、混在を避ける。
まとめ
ターミナル向け AI エージェントは、単一アプリの設定画面よりもシェル・子プロセス・レジストリ・Git・モデル APIの境界が多く、商用 VPN や簡易スイッチだけでは「どのホストがどの出口か」を安定して切り分けにくい場面があります。ルールが粗いままだと、Beta の急速な更新と相まってタイムアウトが再発しやすく、調査コストだけが積み上がります。
Clash はドメイン単位の分流、DNS と長接続の観測、ポリシーグループの切り替えを一つのクライアントに集約できるため、Junie CLI のような「短時間に多ホストへ散らばる CLI」の出口を意図どおり揃えやすいです。測定的なノード管理や MCP 併用時の分離にも、そのまま構造を載せ替えられます。
もしエディタ全体の通信設計まで含めて整えたい場合は、分流とログの運用が素直に伸びる Clash の導入も選択肢になります。詳細はダウンロードページから確認できます。 Clash を無料ダウンロードして、開発者ネットワークの切り分けから始める
Junie CLI と MCP の出口を分ける
JetBrains・npm・GitHub・モデル API を束ね、DNS とノードのフラップを抑えて Beta でも取り回しやすくします。
Clash をダウンロード