一覧に戻る

ニュース

Tactic Remote 1.6.1: ターミナルのネイティブ文字選択と、より速い初回接続

長押しでターミナル出力をネイティブに選択できるようになり、`npx tacticremote` で新しいマシンに素早く接続できるようになりました。サーバー側の安全性も強化しています。

公開日 タグ: リリースニュース / announcement / ios
ニュース

このカテゴリのプロダクト/開発アップデートを確認できます。

カテゴリを見る

1.6.1 は、第一印象を左右する 2 つの領域に絞ったリリースです。ターミナルの操作感と、初回接続のしやすさ。狙いはシンプルで、iPhone 上のターミナルをよりネイティブに感じられるようにし、新しいマシンの接続を長い手順書なしで完了できるようにすることでした。

ターミナルのネイティブ文字選択

今回もっとも体感しやすい変更です。

これまで Tactic Remote のターミナル出力は静的に描画されていて、読むことはできても、選択やコピーはできませんでした。Claude がコマンドや URL、あるいはそのまま使いたいコードスニペットを出力したとき、そこが明確な摩擦になっていました。

今では、ターミナル上の任意の場所を長押しするだけで文字選択を開始できます。iOS 標準の選択ハンドルが表示され、他の iOS アプリと同じ感覚でコピーでき、Messages や Notes、好きなエディタに貼り付けられます。

実装面では、ターミナルレンダラーを作り直す必要がありました。以前は SwiftUI の Text ビューを使っていて、レイアウトの自由度はあるものの、文字選択には対応できませんでした。新しいレンダラーは UIKit の UITextView と自前の ANSI エスケープコードパーサーで構成されています。16 色、256 色、さらに 24-bit truecolor まで扱えるので、シンタックスハイライトや色付き diff も正しく表示され、しかも完全に選択可能です。

30 秒で始める

もう 1 つの大きな変更は、新しいサーバーへの接続方法です。

サーバーがまだ 1 台もない状態でサーバー一覧を開くと、「コンピュータを接続」カードが表示されます。そこには実行すべきコマンド npx tacticremote がアプリ内にそのまま出るので、パッケージ名を探したり覚えたりする必要はありません。Mac か Linux でそのコマンドを実行すると、サーバーが起動し、ターミナルに QR Code が表示されます。

その QR Code を Tactic Remote で読み取ると、サーバーは自動で保存されます。これで完了です。

v1.6.0 で導入した CLI の流れと組み合わせると、引導線は「1 回コマンドを実行する、1 回 QR Code を読む、接続する」だけです。アカウント作成も、IP アドレスの手入力も不要です。ローカルネットワーク外から接続したい場合だけ、ポート転送を検討すれば十分です。

すでにサーバーを追加済みなら、このカードは邪魔をしません。サーバー一覧が空のときだけ表示されます。

セキュリティ強化

今回のリリースでは、サーバー側にもいくつかの強化を入れています。

  • git_info のパス検証を厳格化し、ワーキングディレクトリ外への path traversal を防止。
  • アップロードの同時実行数を制限し、並列アップロードによるリソース枯渇を防止。
  • hook script の入力を shell に渡す前にサニタイズ。

セキュリティ関連の変更全体は、1.6.1 の変更履歴 を参照してください。

バグ修正

  • Chat 画面を離れたあと、マイクのアクセスが正しく解放されるようになりました。以前は、画面遷移後もマイクセッションが残り、iOS のステータスバーに使用中インジケータが出続けることがありました。
  • サーバーを素早く切り替えたとき、接続状態が正しく同期されるようになりました。切り替え後も UI に古い接続状態が残る race condition がありました。

v1.6.1 は /download から入手できます。CLI の流れを使う場合は、npx tacticremote を再実行すると、初回は対応するバイナリをダウンロードし、その後はローカルキャッシュを再利用します。

Tactic Remote を試す

スマートフォンからコーディングエージェントを操作

Mac、Windows、Linux 上の Claude Code や Codex などに接続。iPhone や iPad で進捗を確認し、次の指示を送れます。