🎉

スマホからスキマ時間で開発するためにClaude Code専用のSSHターミナルアプリを作った話

に公開
2

3秒まとめ

  • MiniPC + Claude Code + スマホSSHでモバイルから自然言語で開発を進める体験が革命的だった
  • AndroidのSSHアプリは日本語入力がまともに使えないので自分で作った
  • SFTPファイラーとシンタックスハイライト付きプレビューで、AIが書いたコードをその場で確認できる

どんな人向けの記事?

  • Mac MiniやMiniPCでClaude Codeを常時稼働させている/させたい人
  • Claude Codeを使っていて、外出先からも操作したい人
  • AndroidのSSHアプリで日本語入力に不満を感じたことがある人

MiniPCでClaude Codeを動かす時代が来てる

https://www.apple.com/jp/mac-mini/

最近、Twitterとか見てるとMac MiniやMiniPCを常時稼働させて、Claude CodeやOpenCrawを回してる人がめちゃくちゃ増えてますよね。

ぼくもその流れに乗って、MiniPCをセットアップしてClaude Codeの開発環境にしました。自宅にコンパクトなマシンが1台あって、そこにSSHでつなげばどこからでもClaude Codeが使える。PCの前に座ってなくても開発が進む。

で、実際にスマホからSSHでつないで、日本語でClaude Codeに指示を出して、コードが生成されていくのを眺めたとき——正直、革命だと思いました。

電車の中で「このAPIエンドポイント追加して」って日本語で打つ。数分後にClaude Codeが実装を終える。ファイラーで生成されたコードを確認する。問題なければ「テストも書いて」と追加で指示を出す。スマホだけでプロジェクトが進んでいく。

電車の中だけじゃありません。スキマ時間すべてが開発の時間になるんです。

これ、体験してみないとなかなか伝わらないんですが、自然言語で指示を出すだけで開発が進むって、今までの「スマホでコーディング」とは完全に別物なんです。コードを手打ちするんじゃない。やりたいことを言葉で伝えるだけ。MiniPC + SSH + Claude Codeの組み合わせで、開発の概念が変わったと本気で思っています。

......ただ、ここで1つ問題がありまして。

きっかけはその体験の中にあった

ぼくが普段使ってるのはAndroid。MiniPCにSSHで接続して、Claude Codeに日本語で指示を出そう——と思ったんですが、既存のアプリをいくつか試してみたら......日本語が打てない。

いや、正確に言うと、そもそも日本語キーボードを出せなかったり、入力した文字が正常に送信されなかったり。AndroidのSSHアプリ、いくつか試したけど全滅。Claude Codeでせっかく日本語でプロンプトを送れるのに、これは致命的でした。

iOSのSSHアプリだと日本語入力ができるものもあるんですが、ぼくが普段使ってるのはAndroid。せっかくMiniPCで最高の環境を組んだのに、スマホからの入り口で詰まってる。自分が困ってるんだから、自分で解決するしかない。

「じゃあ作るか」と。

まぁ、毎度おなじみの流れですね。不便を感じたら自分で作る。エンジニアの業です。

SSH Term、リリースしました🎉

https://apps.apple.com/us/app/ssh-term-x/id6759213045
https://play.google.com/store/apps/details?id=com.obuto.sshterm

ということで、SSH TermというSSHターミナルアプリをiOS/Androidの両方でリリースしました!

Claude CodeをはじめとするCLIベースのAIコーディングエージェントをスマホから操作することに特化したターミナルクライアントです。

「特化した」と書いたけど、もちろん普通のSSHクライアントとしても使えます。サーバー管理とか、ログの確認とか、そういう用途でも全然OK。ただ、Claude Codeを日本語で使うという体験を最優先で設計しています。

Androidで日本語入力、ちゃんとできます

Android使いのぼくが一番伝えたいポイント。

SSH Term にはIMEモードを搭載しています。切り替えるだけで、日本語テキストをターミナルにそのまま送信できる。Claude Codeへの指示、gitのコミットメッセージ、設定ファイルの日本語コメント——あらゆる場面で日本語が使えます。

「いやいや、そんなの当たり前でしょ?」と思うかもしれないけど、AndroidのSSHアプリで日本語入力がまともに動くものって、びっくりするほど少ない。 試した人ならわかると思う。あの絶望感。ぼくは3つくらいアプリを入れて全部ダメで、もういいや自分で作ろうってなりました。

iOSだと日本語入力自体はできるアプリもあるんですが、そこから先——Claude Codeが生成したコードをパッと確認する体験が圧倒的に足りない。次のセクションで書きますが、ファイラーとシンタックスハイライトの存在がここで効いてきます。

AIが書いたコード、その場で読めます

ここがiOSユーザーにも刺さるポイントだと思っています。

Claude Codeに「この機能を実装して」と指示を出す。数分待つ。完了した。

......で、生成されたコード、どうやって確認する?

catコマンドでターミナルに流す?スマホの小さい画面で?シンタックスハイライトなしで?

正直、読めたもんじゃない。

SSH Term にはSFTPファイラーがビルトインされています。SSH接続中のサーバーのファイルをそのまま閲覧できる。しかも、40以上の言語に対応したシンタックスハイライト付きプレビューがある。Dart、Python、JavaScript/TypeScript、Go、Rust、Shellなど、だいたいの言語はカバーしています。

Claude Codeが生成したコードをファイラーで開いて、ハイライト付きで読んで、必要な部分をワンタップでコピー。iPadだと2ペイン表示で、ファイル一覧とプレビューを同時に見られるので、これがまた快適。

Claude Codeって、ときどきけっこうな量のファイルを一気に生成・変更するじゃないですか。ターミナルの出力だけ見ても「なんかいっぱい変わったな......」くらいしかわからない。ファイラーで変更されたファイルをパッと開いて、シンタックスハイライト付きで中身を確認できるのは、日本語入力とは別次元の安心感がある。iOS使いの人でも、この部分だけでSSH Termを使う価値があると思っています。

よく確認するディレクトリはブックマークしておけば、ワンタップで飛べます。プロジェクトのsrcフォルダとか、ログディレクトリとか。

そう、ちまちま cd コマンドを打つ必要もないってわけです!

バックグラウンドでも接続を切らない

Claude Codeの処理って、数分かかることがざらにあるじゃないですか。

その間ずっとアプリを開いてるの、さすがにしんどい。LINEの返信もしたいし、Twitterも見たい(正直に言います)。

SSH Term はバックグラウンドでもSSH接続を維持します。アプリを切り替えて戻ってきても、セッションが生きてる。Claude Codeが処理を終えていれば、そのまま結果を確認できます。

ネットワークが切れても自動で再接続を試みるので、移動中のWi-Fi切り替えでもセッションが途切れにくい。電車でトンネルに入っても、出たらまたつながる。

さらに、アプリを切り替えたときに任意で生体認証もしくはPINで認証できる画面ロック機能も搭載しています。

複数セッション、地味に便利

タブ切り替えで複数のSSH接続を同時に管理できます。

ぼくの使い方だと、1つ目のタブでClaude Codeを動かしつつ、2つ目のタブでサーバーのログをtail -fしてる、みたいな。Claude Codeが何か壊してないか、リアルタイムで監視できるのは安心感がある。

鍵の生成からサーバー登録まで、スマホで完結

公開鍵認証を使いたいけど、PCを開くのが面倒......みたいなこと、ありませんか?

SSH Term ではアプリ内で鍵ペアを生成できます。Ed25519(推奨)、RSA 2048、RSA 4096に対応。公開鍵はワンタップでクリップボードにコピーできるので、そのままサーバーのauthorized_keysに貼り付けるだけ。

スマホだけで公開鍵認証のセットアップが完結するの、地味にうれしい。

認証方式はパスワード認証、公開鍵認証、キーボードインタラクティブ認証の3種類に対応しています。

ターミナルの見た目、こだわれます

長時間ターミナルを眺めるなら、見た目は大事。

8種類のテーマを用意しました。Dracula、Nord、Tokyo Night、Monokai、Solarized Dark、Gruvbox、Catppuccin Mocha、One Dark。ぼくはTokyo Nightが好き。目に優しい。

フォントも10種類のモノスペースフォントから選べる。Fira Code、JetBrains Mono、Source Code Proあたりが人気かな。日本語フォントもNoto Sans JPやM PLUS 1 Codeなど6種類に対応しているので、日本語の表示もきれいです。フォントサイズと行間もスライダーで自由に調整可能。

そして地味にうれしいポイントとして、いくつかのNerd Fontにも対応しています。Starshipとかoh-my-zshのPowerlevel10kとかでプロンプトをおしゃれにカスタマイズしてる人、いますよね? あのアイコンやリガチャがモバイルでもちゃんと表示されるんです。せっかくPCでかっこよくカスタマイズしたプロンプトが、スマホだと豆腐(□)になるのって悲しいじゃないですか。そこ、ちゃんとやってます。

入力アシストツールバー

スマホにはCtrlキーがない。Escapeキーもない。Tabキーもない。

これ、ターミナル操作において致命的なんですよね。

SSH Term には入力アシストツールバーがついていて、Ctrl+C、Tab、Escapeなどの特殊キーをワンタップで送信できます。矢印キー、F1〜F12、Home/End/PageUp/PageDownも搭載。物理キーボードがなくても、そこそこ快適に操作できます。

さらに、ショートカットの順番、ラベル、内容も自由にカスタマイズ可能。

tmux専用のセッション管理用ショートカットも使えば、簡単にセッションを追加しアタッチもデタッチも自由自在なのです。

実際の使い方

ぼくが一番よく使うパターンはこう。

  1. 自宅のMiniPCにClaude Codeを常時待機させておく
  2. 外出先からスマホでSSH接続
  3. 日本語で「この機能を追加して」と指示を出す
  4. Claude Codeが処理してる間、アプリをバックグラウンドに
  5. しばらくして戻ってきて、結果を確認
  6. ファイラーで生成されたコードをプレビュー
  7. 問題なければ次の指示を出す

電車の中で、自然言語だけでプロジェクトが進む。 冒頭にも書いたけど、これ本当に革命的な体験なんです。MiniPCを持ってる人はぜひ試してみてほしい。

まとめ

SSH Term は、「スマホからClaude Codeを日本語で操作する」という、わりとニッチだけど確実に需要のある体験を実現するために作ったアプリです。

もちろんClaude Code以外にも、普通のSSHクライアントとしてサーバー管理やログ確認にも使えます。日本語入力が快適に動くモバイルSSHアプリを探していた人には、ぜひ試してみてほしい。

iOS / Android ともにリリース済みです!

https://apps.apple.com/us/app/ssh-term-x/id6759213045
https://play.google.com/store/apps/details?id=com.obuto.sshterm

使ってみて「ここがもうちょっとこうだったらいいのに」みたいなフィードバックがあれば、めちゃくちゃうれしいのでぜひ送ってください🙌


おまけ

まだまだ寒い日が続きますね。2月なのに花粉はもう飛んでるという理不尽。

SSH Termは今後もアップデートを続けていく予定です。「こんな機能がほしい」「ここが使いにくい」みたいな声があればどんどん改善していきたいので、気軽に連絡くださいな~!

良かったらLikeください!! そのぶんだけ善行を積みます🙏

Discussion

かえかえ

ssh termぜひ購入したいのですが、タブレットにも対応しておりますでしょうか?
ちなみに製品名はXiaomi Pad 7 Proです。

はがくん@元薬剤師のFlutter/Goエンジニアはがくん@元薬剤師のFlutter/Goエンジニア

ご検討ありがとうございます!
手持ちのAndroidタブレットでは動作確認をしております。
むしろ画面が大きいのでPCライクで操作はしやすいと思います。

もし、動作が不完全であったり内容に納得いただけない場合は、こちらから払い戻しを行うことが出来ます!