企業の開発者向けリモート開発コンソール社内サーバーに設置デスクトップ · スマートフォン

開発者の Claude Code を、
自社サーバー経由でどこからでも。

SSemBridge は、企業の開発者向けのClaude Code リモート開発コンソールです。企業が自社サーバーに中継サーバーを置くと、開発者はそれぞれの Mac の tmux で起動した Claude Code セッションを、そのサーバー経由でデスクトップのブラウザーとスマートフォンから確認・操作できます — プロンプトの送信 · 権限の承認 · 質問への回答 · 中断まで。

社内サーバーに設置 · 各 Mac は macOS + tmux · Claude Code 2.1.x で動作確認 · デスクトップのブラウザーとスマートフォン (ホーム画面アプリ)

SSemBridge接続済み 応答が必要 2タスク 1使用量管理設定新規セッション
セッション4 件 · ホスト 2 台
api-server実行中
Mac Studio · Claude 1 · sonnet-5-5
決済金額を最小単位に変換中
✻ Refactoring… 1:12
todo-app承認待ち
MacBook · Claude 1 · opus-5-5
これからテストを実行します。
docs-site入力待ち
MacBook · Claude 2 · haiku-4-5
インストールガイドの 3 ページを修正しました。
ml-notebook実行中
Mac Studio · Ollama · qwen3-coder
データ整理スクリプトを確認中
サブエージェント 2 個実行中 · 全 3 個
api-server 実行中
Mac Studio · Claude 1 · sonnet-5-5 · ~/work/api-server · main
■ 中断ファイルsonnet-5-5 · high権限: 自動⋯
決済金額を通貨ごとの最小単位に変換して、同じ注文が二重に決済されないようにして
金額変換関数を作成し、決済の呼び出しに冪等キーを追加します。
変更src/payments/charge.ts +2 −1
31 export async function charge(order: Order) {32- const res = await gateway.pay(order.total);32+ const amount = toMinorUnits(order.total, order.currency);33+ const res = await gateway.pay(amount, { key: order.id });34 if (!res.ok) throw new PaymentError(res.code);
Bashnpm test -- payments
PASS src/payments/charge.test.ts ✓ 円は小数点なしで送信する (3 ms) ✓ 同じ注文を二重に決済しない (5 ms)さらに +14 行を表示
テスト 18 件がすべて通過しました。返金側も同じ方法で変更します。
✻ Refactoring… 1:12 · ↓ 2.8k トークン中断 (Esc)
モデル・effort/compact/clear/cost/status
api-server へのメッセージ
⌘↵ で送信 · ファイルはドロップまたは ⌘V で貼り付け

承認待ち 1

todo-app · 権限リクエスト · Bash
npm test -- login
許可拒否

エージェントホスト

MacBookセッション 2 · 12ms
Mac Studioセッション 2 · 18ms

Hook イベント

14:02PermissionRequest · todo-app
14:01PostToolUse · api-server
13:58Stop · docs-site
13:57SubagentStop · ml-notebook
todo-app承認待ち
MacBook · opus-5-5 · xhigh · 権限: デフォルト
ログイン画面にパスワード表示ボタンを追加して、テストまで実行して
ボタンを追加しました。これからテストを実行します。
変更src/Login.tsx +9 −1
41 <input type={show ? "text" : "password"} />42 + <button onClick={toggle}>表示</button>
権限リクエスト · Bash
npm test -- login
許可このコマンドを常に許可拒否
Brewing… 42秒 · ↓ 1.2k トークン
todo-app へのメッセージ
セッション通知タスク使用量管理

デスクトップセッション一覧 · 会話 · 承認を 3 ペインで広く

スマートフォン同じセッションを片手で — 承認 · 回答 · 中断

自社サーバー上で動作します

SSemBridge は、企業が自ら運用するサーバーに設置します。開発者はそれぞれの Mac でこれまでどおり Claude Code を使い、そのセッションを自社サーバー経由で、席を離れても続けられます。

中継は自社サーバーで

Web コンソール · 中継 · 表示用の会話コピー · 会話のバックアップを、すべて自社サーバー 1 か所に置きます。リモート操作のために外部のクラウドサービスを経由することはありません。

アカウントの秘密情報は各 Mac だけに

Claude のログイン情報と Ollama のキーは、開発者の Mac にだけ保存します。Web からログインする場合も、サーバーは手続きを中継するだけで、秘密情報を保存しません。

Mac は外向きの接続のみ

各 Mac の Agent から自社サーバーへ接続します。Mac 側で開放するポートはなく、Agent の接続は社内ネットワーク (VPN) 内からのみ受け付けます。

リモート操作はすべて監査ログに

誰が · どのセッションで · 何を · その結果まで記録します。Web は ID · パスワードに加えて OTP を通過しないと開けません。

管理者画面

ホスト (開発者の Mac) の登録 · 解除、Mac ごとのアカウントのログイン状態、使用するモデルとデフォルト、使用量、サーバー設定と保存期間を、管理者が Web で管理します。

会話のバックアップ · 復元

各 Mac の会話記録を 10 分ごとに自社サーバーへバックアップします。管理者がバックアップされた会話を探して復元すると、新規セッションの「再開」から開けます。

Claude Code とモデルとの通信 (Anthropic API など) は、コンソールとは関係なく、これまでどおり各 Mac から直接行われます。

ひと目でわかる

ターミナルの前にいなくても、Claude の質問に答え、使用量を確認し、別の Mac へ作業を引き継げます。以下の画面は架空のサンプルデータで描いたイメージです。

Claude からの質問
デプロイ範囲
どこまで進めますか?
開発サーバーまで (Recommended)本番はリハーサルの後で
本番まで今夜のメンテナンス時間に
直接入力 — 選択肢の代わりにこのテキストで回答します
回答を送信回答しない
質問にすぐ回答Claude の質問をカードで表示します。単一選択・複数選択から直接入力まで、ターミナルと同じ形式の回答として渡します。
推定コスト
$412
▲ 18%
キャッシュヒット
96%
▼ 0.8%p
5 時間23%
週間71%
⚠ このペースだと金曜 14:00 に週間上限に達します
使用量と上限の予測アカウントの上限 (5 時間・週間) と現在のペースによる予測、API 単価で換算した推定コストを、モデル・プロジェクト・時間帯別に確認できます。
api-server → Mac Studio移動中
会話をエクスポート2.1 MB
作業フォルダーをまとめる38 MB
サーバーへアップロード62%
移動先の Mac で展開
再開
別の Mac へ移動会話を (必要なら作業フォルダーも) 別の Mac へ移して続けます。Web を閉じても処理は続き、再びアクセスすると進行状況が表示されます。
MacBook · シェルEscTab^CPgUpウィンドウを閉じる
dev@macbook:~/work/api-server$ git status -s M src/payments/charge.ts ?? src/payments/refund.ts dev@macbook:~/work/api-server$ npm test -- payments Tests: 18 passed, 18 total dev@macbook:~/work/api-server$
Web ターミナル開発者の Mac のシェルと、claude セッションの実際の tmux 画面を新しいウィンドウで開きます。その Mac で直接有効にした場合のみ開け、開く際に OTP をもう一度確認します。
プロンプトapi-server · 24 件 · 新しい順
#24 · 14:02↳
返金側も同じ方法で変更して、テストまで実行して
#23 · 13:41↳
決済金額を通貨ごとの最小単位に変換して、同じ注文が二重に決済されないようにして
#22 · 11:20 · 画像 1 枚↳
この画面のようにエラーメッセージを整理して
プロンプト一覧AI の作業の間に埋もれた自分の指示だけをまとめて表示します。↳ を押すと会話のその位置へ移動し、そこから読み返せます。
SSemBridge
한국어English日本語简体中文FrançaisEspañolBahasa IndonesiaTiếng Việtភាសាខ្មែរالعربية
10 言語Web コンソールをチームの言語で使えます。選んだ言語はブラウザーが記憶し、数値・日付もその言語の形式で表示されます。アラビア語は右から左へ。

デスクトップでは広く、スマートフォンでは片手で

同じコンソールをどの画面でも使えます。デスクトップのブラウザーではセッション一覧 · 会話 · 通知を 3 ペインに並べ、ファイルエディターと使用量ダッシュボードを広く表示します。スマートフォンでは下部のタブでセッション · 通知 · タスク · 使用量 · 管理を切り替えます。以下の画面も架空のサンプルデータで描いたイメージです。

3 ペインで広く、必要なら折りたたんで

左にセッション一覧 · 中央に会話 · 右に承認とホストを 1 画面にまとめます。両側のペインを折りたたむと、セッションは要約列 (状態 · 経過時間 · 承認数) に、通知はアイコン列になり、会話が広がります。

  • 変更したファイルは行番号付き diff、長い出力は折りたたみ
  • 折りたたみ状態はこのブラウザーが記憶
  • ⌘↵ で送信、ファイルはドロップ

横にスワイプしてご覧ください

ファイルエクスプローラーとエディター

セッションフォルダーをツリーで表示し、2 つのファイルを並べて開いて編集します。ロックを解除して編集したら ⌘S で保存し、Claude が変更したファイルはすぐに再読み込みします。

  • Markdown プレビュー · 画像表示
  • 名前を変更 · 複製 · ゴミ箱へ移動して削除 (完全削除なし)
  • .git · .claude の中は編集不可

横にスワイプしてご覧ください

使用量ダッシュボード

アカウントの上限と現在のペースによる予測、推定コスト · リクエスト · 出力 · キャッシュヒットを前の期間と比較します。日別・モデル別のバーと曜日 × 時間のヒートマップで、いつ · どこで使ったかを確認できます。

  • 期間: 今日 · 7 日 · 30 日 · 90 日 · 今月
  • 急増した日は ▲ で表示
  • コストは API 単価で換算した推定値

横にスワイプしてご覧ください

できること

ターミナルでの作業を Web でもそのまま行えます。原本は常に各 Mac の会話ファイルで、サーバーにあるのは表示用のコピーです。

会話をリアルタイムで表示

会話・ツール呼び出し・結果・サブエージェントを、ターミナルと同じ順序でリアルタイムに表示します。変更したファイルは行番号付きの diff で、長い出力は折りたたんで表示し、Markdown・mermaid 図・画像も描画します。セッションごとに実際に使っているアカウント (Claude・Ollama) も表示されます。

権限の承認 · 質問への回答

Claude がコマンドの実行権限を求めたり質問したりすると、Web・スマートフォンにカードが表示されます。ターミナルにも同じダイアログが表示されており、先に回答した方が適用されます。ターミナルにだけ表示される確認ダイアログ (例: 終了時のバックグラウンド作業の確認) も Web で選択できます。

プロンプト · ファイル · 中断

長い文章もそのまま送信でき、ファイルは入力欄にドロップまたは貼り付けるとセッションフォルダーにアップロードされ、@パス として挿入されます。進行状況を見ながら、Esc と同じように中断できます。

新規セッション · 再開

許可したフォルダー内で tmux により新規セッションを開き、終了した会話を再開します。ターミナルでしか使っていなかったフォルダーの会話も再開の一覧に表示され (claude --continue と同様)、別のアカウントで再開すると会話ファイルをそのアカウントへコピーして使います。

モデル · effort · 権限モード

セッション中にモデルと effort を変更し (デフォルトではこのセッションのみ)、5 つの権限モード (デフォルト・編集を自動承認・プラン・自動・すべて許可) を切り替えます。

セッションの移動

終了したセッションを別の Mac へ移して続けます。作業フォルダーも一緒に移動でき (再生成できるフォルダーは除外)、進行状況バーで各段階を確認できます。

ファイルエクスプローラー · エディター

セッションフォルダーを閲覧し、プレビューし、編集します。Claude が変更したファイルはすぐに反映され、削除はゴミ箱への移動のみです。新しいウィンドウで開けば、会話を見ながらファイルを確認できます。

Web ターミナル

開発者の Mac のシェルと、claude セッションの実際の tmux 画面を Web で開きます。スクロール・ドラッグ選択でのコピー・⌘K でのクリアをターミナルと同じように使え、保持する行数は設定で決めます。その Mac で直接有効にした場合のみ開けます。

プロンプト一覧

そのセッションで人が入力したプロンプトだけを新しい順にまとめて表示します。押すと会話のその位置へ移動してそこから確認でき、過去の記録 (サーバーの保存期間内) までさかのぼれます。

タスク — バックグラウンドエージェント

セッションをまたいで、実行中のバックグラウンドエージェントとワークフローを 1 画面で確認でき、直近 24 時間に終了したものも確認できます。

使用量ダッシュボード

アカウントの上限と現在のペースによる予測、コスト推定、日別・モデル別のバー、使用量の多いセッション、曜日×時間のヒートマップを確認できます。コストは API 単価で換算した推定値です。

ホスト · アカウントのリモート管理

「ホストを追加」で生成した 1 行のインストールコマンドで、開発者の Mac を接続します。Mac ごとに Claude · Ollama アカウントのログイン状態を確認して Web からログインでき、Agent は「今すぐ更新」でリモートから更新します。

会話のバックアップ · 復元

会話記録と、Claude が変更する前のファイルのコピーを 10 分ごとに自社サーバーへアップロードします。保管領域のサイズ · ディスクの空き容量 · ホストごとのバックアップ状態を確認し、選んで復元できます。

監査ログ · 保存期間のクリーンアップ · メトリクス

リモート操作は、誰が・どのセッションで・何を・その結果まで、すべて記録します。古い記録は設定した期間に従って整理し、トークンなどの機密値はマスクして表示します。ホストごとの接続遅延などのメトリクスも確認できます。

10 言語

Web コンソールは韓国語·English·日本語·简体中文·Français·Español·Bahasa Indonesia·Tiếng Việt·ភាសាខ្មែរ·العربية で利用できます。上部の 🌐 ボタンで選択でき、アラビア語は右から左へ表示されます。

導入後の使い方

1 台の自社サーバーに開発者の Mac を接続して使います。開発者はこれまでどおり tmux の中で claude を使うだけです。

自社サーバーに設置します

中継サーバー (Web アプリケーションサーバー · データベース) を社内サーバーに置きます。Web コンソールは自社の HTTPS プロキシの背後に、Agent の接続は社内ネットワーク内にだけ公開します。

開発者の Mac を接続します

管理者が「ホストを追加」で生成した 1 行のインストールコマンド (1 回限りの登録コード、15 分有効) を Mac のターミナルに貼り付けると、Agent がインストールされて接続されます。

どこからでも続けられます

tmux で起動した claude セッションが Web に表示されます。デスクトップやスマートフォンで進行状況を見ながら、承認 · 回答 · 次の指示 · 中断を行えます。

動作の仕組み

各 Mac の Agent が claude の会話ファイルと hook を読み取って自社サーバーへ送り、Web から送られたコマンドを tmux に入力します。Agent からサーバーへ接続するため、Mac 側で開放するポートはありません。

SSemBridge 構成図 左の各 Mac では claude が会話ファイルを書き込み、hook を Agent に送ります。Agent は会話ファイルを読み取り、中央の自社サーバーへ WebSocket を開きます。自社サーバーは Web アプリケーションサーバーとデータベースで構成され、右のブラウザーとスマートフォンが HTTPS と WebSocket でサーバーに接続します。 各 Mac (複数台) claude tmux 上で動く Claude Code 会話ファイル JSONL · 原本 SSemBridge Agent Go 単一バイナリ · launchd 書き込み 読み取り hook 自社サーバー Web Application Server SSemiYa F/W 中継 · ログイン · 監査 Database 表示用コピー · 設定 Web ブラウザ PC スマホ ホーム画面 WebSocket · Agent が先に接続 HTTPS·WS 社内サーバーに設置 ログイン + OTP を経て開く
横にスワイプしてご覧ください
  • 原本は各 Mac の会話ファイルです。サーバーにあるのは表示用のコピーなので、サーバーを再起動しても Agent が続きから再送して補います。
  • Agent → サーバーの一方向接続 — サーバーから Mac へ接続することはありません。コマンドも同じ接続で受け取り、tmux に入力します。
  • hook は 127.0.0.1 でのみ受け付けます。Agent が停止していても claude を遅くしません (1 秒以内に打ち切り)。
  • Web は自社の HTTPS プロキシの背後にあり、ログイン + OTP を経て初めて開けます。リモート操作はすべて監査ログに残ります。
Agent

Go 単一バイナリ

各 Mac に launchd で常駐。会話ファイルの tail · hook の受信 · tmux の制御 · リモート更新。

サーバー

SSemiYa F/W
Web Application Server

WebSocket による中継、REST、監査ログ、会話バックアップの保管。社内サーバーに設置。

Web

バニラ JS モジュール

ビルドツールなし、外部リソースなし。デスクトップ · スマートフォン、ライト · ダークテーマ。

DB

Database

表示用の会話コピー、アカウント・モデルのカタログ、使用量、監査ログ。

セキュリティの原則

開発者の Mac でリモートからコマンドを実行するツールであるため、守るべき一線を先に定めてから開発しました。

  • リモート操作のための中継 · 保存はすべて自社サーバーで — 外部のクラウドサービスを経由しません。
  • Mac は自社サーバーへの外向きの接続のみを開きます — 外部から入ってくるポートはありません。
  • アカウントの秘密情報 (Claude のトークン・Ollama のキー) は各 Mac にだけ保存します。サーバーには保存しません。
  • ホストの登録コード・トークンはハッシュとしてのみ保存し、登録コードは 1 回限り・15 分以内に使用します。
  • Agent 用の接続は外部プロキシで公開せず、社内ネットワーク (VPN) からのみ受け付けます。
  • Web には ID · パスワードに加えて OTP が必須で、管理作業 (ホスト · アカウント · 設定 · バックアップの復元) は管理者のみが行えます。
  • 新規セッションは許可したフォルダー内でのみ開き、ファイルパスは Agent が最終的に検査します (セッションフォルダーの外・.git・.claude は拒否)。
  • リモート操作はすべて監査ログに残します (誰が・どのセッションで・何を・結果)。
  • Web ターミナルはその Mac で直接有効にした場合のみ開け (Web からは有効にできません)、管理者が開くたびに OTP をもう一度確認します。開閉・バイト数は監査ログに残しますが、キー入力の内容は残さず、30 分間入力がなければ閉じます。
  • 画面や記録にトークンのような値が現れた場合は、マスクして表示します。
  • Web は外部のスクリプト・フォントを読み込まず (CSP)、アップロードはサイズ・パスを二重に検査します。

動作条件

SSemBridge の動作条件です。

  • 各 Mac に macOS と tmux が必要です。tmux 外 (通常のターミナル) で起動したセッションは閲覧のみで、Web の「tmux で再開」で開くと操作できるようになります。
  • 自社サーバーには Web アプリケーションサーバー (WAS) とデータベースが必要です。Web コンソールは自社の HTTPS プロキシの背後に置き、Agent の接続は社内ネットワーク (VPN) 内でのみ公開します。
  • Claude Code と Ollama のアカウントは、各 Mac で使っていたものをそのまま使います。アカウントと料金は、これまでどおり各サービスとの契約に従います。
  • Claude Code の記録形式 · hook · 画面はバージョンごとに変わります。動作確認したバージョン (現在 2.1.288~2.1.291) に合わせて Agent を更新し、更新は Web の「今すぐ更新」で各 Mac に配信します。
  • 使用量のコストは API 単価で換算した推定値です。サブスクリプション料金や実際の請求額ではありません。

SSemBridge の導入をご検討中ですか?

開発者の人数と、ご利用中の Mac · サーバー環境をお知らせいただければ、最適な構成をご案内します。価格と導入条件もお問い合わせにてご案内します。

導入のお問い合わせ

halo@levelupsoft.com

社内サーバーへの設置が基本です · Levelupsoft Inc.