コンテンツにスキップ
このページの翻訳は LLM によって生成されています。誤りに気づいた場合は GitHub で issue を開いてお知らせください。

Nagi での作業の進め方

Nagi は作業がある場所で動かし、どこからでもアタッチします。

Nagi はバックグラウンドのセッションサーバーと、1 つ以上のターミナルクライアントで構成されます。ペインはサーバー内で動き続けます。クライアントはアタッチ、デタッチし、セッションを描画します。

プロジェクトディレクトリから Nagi を起動します:

Terminal window
nagi

Nagi はローカルのバックグラウンドセッションを自動的に起動するか、それにアタッチします。ソケットを管理する必要はありません。ペインの中でシェル、サーバー、テスト、エージェントを普段どおり実行してください。

ctrl+b q でクライアントをデタッチします。ペインは動き続けます。

あとで再アタッチします:

Terminal window
nagi

セッションを終了してペインを停止したい場合は、サーバーを停止します:

Terminal window
nagi server stop

コードと認証情報のあるマシンに SSH して、そこで Nagi を実行します:

Terminal window
ssh you@server
nagi

これはターミナルマルチプレクサと同じように動作します。シェルはリモート、Nagi サーバーもリモート、エージェントとペインはリモートマシン上で動きます。ctrl+b q でデタッチして切断し、あとで SSH し直して再び nagi を実行してください。

すでに SSH シェルの中で作業している場合、スマートフォンやタブレットの SSH クライアントを使っている場合、あるいは最もシンプルな構成にしたい場合はこの方法を使ってください。

Nagi のモバイルアプリや Web ダッシュボードは不要です。スマートフォンに任意の SSH クライアントを入れ、エージェントが動いているマシンに接続して、そこで Nagi を起動するだけです:

Terminal window
ssh you@server
nagi

同じ永続 Nagi セッションがスマートフォンのターミナルに開きます。TUI は狭い画面に適応するので、SSH から離れることなくエージェントの確認、ワークスペースの切り替え、ペインのチェックができます。

iPhone では moshi のようなアプリがよく動作します。

スマートフォンで SSH 越しに表示した Nagi のエージェントセッション
SSH 越しのエージェントセッション
スマートフォンで表示した Nagi のレスポンシブ切り替えメニュー
レスポンシブな切り替えメニュー

ローカルターミナルからのリモート作業

Section titled “ローカルターミナルからのリモート作業”

先にシェルを開かずに SSH 越しでアタッチします:

Terminal window
nagi --remote workbox
nagi --remote ssh://you@server:2222

ローカルの Nagi はシンクライアントとして動作します。SSH 越しに接続し、リモートの Nagi サーバーを起動またはアタッチして、UI をローカルターミナルにストリーミングします。

リモートセッションをローカルのように感じたいときはこの方法を使ってください。クライアントは手元のマシンで動くので、画像クリップボードの貼り付けのようなローカルデスクトップ機能をリモートサーバーにブリッジできます。先に SSH してサーバー上で nagi を実行した場合、Nagi は完全にそのサーバー上で動くため、ローカルデスクトップのクリップボードは読めません。

繰り返し接続する相手は SSH config に登録しておきましょう:

Host workbox
HostName server.example.com
User you
Port 2222

その後はこれでアタッチできます:

Terminal window
nagi --remote workbox

ローカル作業には nagi を使います。リモートシェル上で Nagi を tmux のように使いたいときや、スマートフォンの SSH クライアントを使っているときは ssh you@server してから nagi を使います。リモートセッション用のローカルシンクライアントが欲しいとき (ローカルクリップボードの画像貼り付けブリッジを含む) は nagi --remote <host> を使います。

リモートブートストラップの詳細、名前付きリモートセッション、カスタムバイナリ、ダイレクトターミナルアタッチ、--no-session については永続化とリモートアクセスを参照してください。