直接ターミナル
Phone / Pad ↔ 接続先ホスト
SSH、Mosh、SFTP は接続先ホストに直接接続します。その経路に入るのは、ユーザーが設定したプロキシまたは踏み台だけです。
詳細を表示
SSH、Mosh、SFTP は接続先ホストに直接接続します。その経路に入るのは、ユーザーが設定したプロキシまたは踏み台だけです。
まず Agent Inbox で対応し、完全な操作が必要になったら本物の SSH/Mosh ターミナルへ。
Apple と Android のワイドな Pad では、5項目の左レールと受信トレイ一覧を保ち、展開可能な tmux ライブプレビューをネイティブチャットの上に表示します。
検証済みの Agent 連携
その他 3 種は互換ワークフローとして検証済み
データ経路 · 曖昧さなし
DuckTerm は、ターミナルのデータ経路を、オプションの Agent、同期、音声サービスから分離しています。以下が現在のアプリが実際に使う経路です。
Phone / Pad ↔ 接続先ホスト
SSH、Mosh、SFTP は接続先ホストに直接接続します。その経路に入るのは、ユーザーが設定したプロキシまたは踏み台だけです。
SSH、Mosh、SFTP は接続先ホストに直接接続します。その経路に入るのは、ユーザーが設定したプロキシまたは踏み台だけです。
対話型: hookd ↔ 中継 ↔ アプリ · 通知: 中継 → APNs/FCM → アプリ
イベント、承認、返信、Live Preview のフォールバックは DuckTerm の中継を通る場合があり、通知は APNs/FCM 経由でアプリに届きます。利用できる場合、プレビューと画像のバイト列は LAN/P2P を優先し、P2P が TURN を使うこともあります。
イベント、承認、返信、Live Preview のフォールバックは DuckTerm の中継を通る場合があり、通知は APNs/FCM 経由でアプリに届きます。利用できる場合、プレビューと画像のバイト列は LAN/P2P を優先し、P2P が TURN を使うこともあります。
CloudKit · Keychain · KVS
CloudKit がサーバーメタデータとワークスペースを同期するのは、アプリ内同期を有効にした場合だけです。認証情報の同期はシステムの iCloud Keychain 設定で管理され、アプリ内同期スイッチの影響を受けません。ペアリング用 Bearer が使う Keychain + iCloud KVS も、このスイッチの影響を受けません。
CloudKit がサーバーメタデータとワークスペースを同期するのは、アプリ内同期を有効にした場合だけです。認証情報の同期はシステムの iCloud Keychain 設定で管理され、アプリ内同期スイッチの影響を受けません。ペアリング用 Bearer が使う Keychain + iCloud KVS も、このスイッチの影響を受けません。
Drive appDataFolder · Keystore
Drive 同期を有効にすると、プライベートな appDataFolder にボールト全体が保存されます。認証情報フィールドの暗号化はオプションで、初期設定はオフです。その他のボールトデータはファイル内で平文のままですが、Google が転送と保存を保護します。
Drive 同期を有効にすると、プライベートな appDataFolder にボールト全体が保存されます。認証情報フィールドの暗号化はオプションで、初期設定はオフです。その他のボールトデータはファイル内で平文のままですが、Google が転送と保存を保護します。
通知イベントの内容は、中継で受信してから約 60〜65 分後に削除される予定です。クリーンアップは 5 分ごととサービス起動時に実行されます。Live Activity の内容はフォロー停止後約 1 分で消去され、状態は最後のイベントから約 24 時間後に削除されます。ルーティングと配信のメタデータには、それとは別の保持期間が適用されます。
システム音声認識はプラットフォーム事業者のネットワークを使う場合があります。実験的な ChatGPT 音声は、一時的な音声クリップを中継とペアリング済みデーモン経由で OpenAI に送信します。
通知イベントの内容は、中継で受信してから約 60〜65 分後に削除される予定です。クリーンアップは 5 分ごととサービス起動時に実行されます。Live Activity の内容はフォロー停止後約 1 分で消去され、状態は最後のイベントから約 24 時間後に削除されます。ルーティングと配信のメタデータには、それとは別の保持期間が適用されます。
システム音声認識はプラットフォーム事業者のネットワークを使う場合があります。実験的な ChatGPT 音声は、一時的な音声クリップを中継とペアリング済みデーモン経由で OpenAI に送信します。
iCloud と Google Drive は相互に同期しません。保存、暗号化、削除、第三者による処理のさらなる詳細はプライバシーポリシーをご覧ください。
DuckTerm アプリが専用のセットアップコマンドを用意します。Agent が動くマシンへコピーするだけで、hookd 用の追加登録やクラウド管理画面は必要ありません。
「設定 → Agent 通知」を開き、macOS または Linux を選んで、専用のセットアップスニペットを長押ししてコピーします。
コピーしたスニペットを一度実行すると、hookd のインストール、1 回のペアリング、対応 Agent の Hook 設定、サービスの起動まで進みます。
`duckterm-hookd status` を確認し、アプリからローカルプッシュとプラットフォームプッシュをテストします。アップグレードやサービス再起動後もペアリングは保持されます。
できること
すべての Agent 状態をプッシュで受信。tmux 中継で通勤中も長時間セッションを維持し、弱いネットワークでも SSH を保ちます。無料版だけでも十分実用的で、Pro は長時間作業向けの機能をすべて開放します。
hookd 対応 12 種のステータス/セッションイベントと、対応 Agent の承認を Markdown 全文付きでひとつのフィードに。
長時間動く Agent にスマートフォンから再接続。libghostty のライブ PTY、ANSI カラー、マウス、スクロールバックに対応。
UDP 転送と予測エコー。Wi-Fi → 5G → 地下鉄 → カフェと移動しても Agent セッションは切れません。
パスワード + 秘密鍵 (.pem) + ProxyJump 踏み台 + HTTP/SOCKS5 プロキシ。本番ホストへすぐ接続。
ファイルの閲覧、プレビュー、書き込み。別の転送アプリへ移る必要はありません。
音声入力、カスタムテーマ、デバイス間 iCloud 同期をひとまとめに。
アカウント登録も広告もありません。少額のサブスクリプション、または一度きりの買い切りで、すべての機能を開放できます。
日常のメインツールとして十分実用的。
すべての機能を無制限に。
価格は米ドル表記で、購入したストア経由で請求されます(iOS は App Store、Android は Google Play)。サブスクリプションは各ストアのサブスクリプション設定からいつでも解約できます。買い切りは一度きりの支払いなので解約は不要です。購入は同じストアアカウントのデバイス間で復元できます。