🐙

macのClaude Code / Codexをスマホから操作できるアプリ「CC Pocket」を作った

に公開
22

はじめに

Claude CodeやCodexなどのAIコーディングエージェントを使っていると、エージェントの承認依頼や作業完了のたびにmacを開くのが億劫になります。
業務なら仕方ないですが、個人開発では散歩中やベッドでゴロゴロしながらでもAIに返事したいものです。
こういった用途のアプリはターミナル操作系やClaude Codeの /remote-control がありますが、操作性が好きになれなかったりしたので自分なりにモバイルに最適化したアプリ CC Pocket を作りました。(/remote-control に関してはCC Pocketに慣れてから公開されたので、そもそも使ってないのですが…)

CC Pocketの画面一覧

こだわりポイント

  • 承認系のUI
  • アプリから新しいセッションを作れる
  • プロンプトの書きやすさ
  • cliのrename機能を活用した名前でのセッション履歴管理
  • 画像を含めたdiff Viewer
  • 通知機能
  • 途中からCC PocketでCC Pocketの開発を行っている

承認系のUI

Claude Codeをスマホから使う上で一番頻度が高い操作が「承認」です。
CC Pocketではセッション一覧画面にツール承認やプラン承認のUIを直接表示しているので、セッションを開かなくてもワンタップで承認できます。
複数セッションを並行して動かしている場合でも、一覧から次々と承認を捌けるのがポイントです。

セッション一覧からの承認UI

アプリから新しいセッションを作れる

macで作ったセッションを復元するだけでなく、アプリから新しいセッションを作れます。
プロジェクト選択、Permission Mode、モデル選択に加えて、git worktreeの作成もセッション開始時に同時に行えます。
ブランチを切ってworktreeを作ってセッションを始める、という一連の流れをスマホだけで完結できます。

新しいセッション作成画面

プロンプトの書きやすさ

スマホとはいえプロンプトは妥協したくないので、入力補助にはかなり力を入れてます。

  • スラッシュコマンド補完: 入力バーの/ボタンをタップするか、テキスト入力で/を打つとコマンド一覧がオーバーレイ表示されます。
  • ファイルメンション: 入力バーの@ボタンをタップするか、テキスト入力で@を打つとファイル一覧が表示され、パスを手打ちせずにファイルを参照できます
  • 箇条書き補助: 改行すると自動で-が挿入され、インデント/デインデントボタンでネストも操作できます。markdownぽいプロンプトを書く人には便利なはず
  • プロンプト履歴: 過去に使ったプロンプトをSQLiteに保存していて、頻度順・お気に入りで検索できます。繰り返し使うプロンプトの再入力が不要になります

リッチなプロンプト入力

cliのrename機能を活用した名前でのセッション履歴管理

Claude Codeのセッション一覧はIDベースなので、後から見返すとどれがどれかわかりません。
CC Pocketではcliの/renameの仕組みを流用し、アプリからセッションに名前をつけられます。
セッション一覧では名前付きのセッションだけにフィルタリングもできるので、重要なセッションを探しやすくなります。

画像を含めたdiff Viewer

エージェントが行ったファイル変更をスマホで確認するためのdiff画面を用意してます。
テキストファイルはunified diff形式で追加行・削除行をハイライト表示します。

画像ファイルの差分は3つのモードで比較できます:

  • サイドバイサイド: 変更前後を横並びで表示
  • スライダー: ドラッグで境界を動かして比較
  • オーバーレイ: 透過度を調整して重ね合わせ比較

diff画面からhunk単位で選択してチャットに添付する機能もあり、「この変更についてこうして」といった指示がしやすくなってます。

diff Viewer

途中からCC PocketでCC Pocketの開発を行っている

最低限Claude Codeを使えるようにしてからは、CC Pocketの開発自体をCC Pocketで行ってます。
自分で使うことで「ここの操作が面倒」「この情報が足りない」といった不満が見つかり、それを即座にCC Pocket自身で修正する、というサイクルが回ってます。

使い方

1. tailscaleでmacとスマホを接続する

macとスマホ間はtailscale等で繋いでいることを前提としています。
moshiとかで導入済みな人が多いはず?

https://tailscale.com/

家で使うだけなら同じWifiで繋がっていればOKなので、このステップは不要です。

2. ブリッジサーバーをmacで起動

mac上でclaude sdkやcodex app-serverを制御するCC Pocket用のサーバーです
以下のコマンドで起動できます
起動後はQRコードや接続先が表示されます

npx @ccpocket/bridge@latest

Bridge起動

(BRIDGE_DEMO_MODEを有効にするとTailscale IPやAPIキーがQRコードから除外されるので、デモ動画の撮影時などに便利です)

追記
Tailscale IP別に隠さなくていいらしいです(ニワカだった…)

3. CC Pocketをブリッジサーバーに接続しセッションを始める

起動画面にQRコードの読み取りボタンがあるので、ブリッジサーバーに表示されているQRコードを読み込むと接続できるはずです。
その後は+ボタンで新しいセッションを始めるか、mac上で作ったセッションの履歴が表示されているはずなのでそちらからセッションを再開します。

起動画面と接続直後画面

インストール方法

Storeで公開中です!(iOS審査やたら時間かかった…)

https://apps.apple.com/us/app/cc-pocket-dev-agent-remote/id6759188790

https://play.google.com/store/apps/details?id=com.k9i.ccpocket

リポジトリも公開してるので、よかったらスターください

https://github.com/K9i-0/ccpocket

まとめ

iPhone Fold欲しい

GitHubで編集を提案
22
この記事に贈られたバッジ
Thank you
Thank you

Discussion

ログインするとコメントできます
22