Osewa – SSHとMoshのオープンソース代替
Osewa – An open-source alternative to SSH and Mosh (osewa.dev)
要約
Osewaは、SSHよりも高速でMoshのように接続を維持し、画面の乱れがない新しいターミナルプロトコルです。セッションはホスト上で維持され、エージェントが動作している間はラップトップやスマートフォンから任意のネットワークで接続できます。QUICまたはTCP over QUIC/TLS WebSocketを使用し、遅延の少ないキー入力エコーと高速な画面更新を提供します。
全文翻訳
ワイヤプロトコル v0 · オープンソース TLS 1.3 · 両端にEd25519キー · ポート 7322
sshより高速、
moshのように持続し、
決して乱れない。
エージェント時代のターミナルプロトコル。あなたのエージェントはホスト上で数時間実行されます。ラップトップや電話、あらゆるネットワークから接続できます。
$ history
1995 ssh devbox
2012 mosh devbox
2026 osewa attach devbox
$ ▍
▼ 下矢印キーを押すかスクロールして開始
§1 なぜ今か プロトコルを選択する
sshとmoshは、私たちがもはや持っていないネットワークのために構築されました。
ssh 1995
セッションはTCP接続そのものです。ネットワークが変わると切断され、各キー入力はダウンロードの後ろに待たされます。
ROAMING
ECHO / LOAD
FIDELITY
mosh 2012
ローミングには対応しますが、独自のエミュレーターが画面を乱す可能性があります。UDPのみで、フォワードやスクロールバックはありません。
ROAMING
ECHO / LOAD
FIDELITY
osewa 2026
セッションはGhosttyのエンジンと共にホスト上に存在します。フォワードとexecはQUICまたはTCP上で接続を共有します。
ROAMING
ECHO / LOAD
FIDELITY
§2 ベンチマーク ダウンロード実行中のキーエコー
ネットワークが悪い場合、キーエコーはsshの8〜100倍高速です。
Cellular
60 ms · deep buffer
osewa 138 ms
ssh 1,714 ms
12×COMBO
Wi-Fi
20 ms · 1% loss
osewa 44 ms
ssh 374 ms
8×COMBO
1 Mbit/s
100 ms · 1% loss
osewa 154 ms
ssh 15秒でエコーなし →
>100×COMBO
§3 World 2 · public internet タイ → 東京
タイから東京へ、パブリックインターネット経由。
CONNECT + RUN A COMMAND · LOWER WINS
osewa QUIC
311 ms
osewa WS
511 ms
ssh
1,337 ms
mosh
1,993 ms
§4 リソース アイドル時のメモリ。コストについて正直に。
ホストメモリ、アイドル時
低いほど良い
osewa
14.3 MB
mosh
20.6 MB
ssh
27.4 MB
クライアントメモリ、アイドル時
低いほど良い
osewa
6.9 MB
mosh
14.3 MB
ssh
8.2 MB
ホストCPU/MB、ログテール
50 kB/s · sshがここで勝つ
osewa
302 ms
mosh
434 ms
ssh
66 ms
ホストCPU/MB、フラッド
出力が来る速さで
osewa
6 ms
mosh
45 ms
ssh
12 ms
§5 クイックスタート LinuxとmacOSホスト
まずssh。その後osewa。
$ osewa login --service me@devbox # インストール、登録、サービスとして実行
$ osewa attach devbox # セッションにアタッチ(または作成)
$ osewa forward devbox 3000 # localhost:3000をフォワード
$ osewa exec devbox -- make test # コマンドを実行、ターミナルなし
$ osewa update devbox # osewa経由でホストをアップグレード
§6 ロードマップ 世界地図
どのターミナルでも使えるトランスポート、その上にマルチプレクサを。
✓
M0ワイヤプロトコル v0
✓
M1持続するセッション
✓
M2エージェント対応
M3
あなたはここにいますOsewa CLI
M4
次Moshiアプリ
M5
後マルチプレクサ
M6
後すべての画面
§7 仕組み
セッションとトランスポートを分離する。そして、それを殺しにくくする。
01 · ハイブリッドキャリア
QUICとTLS WebSocket、接続ごとに競合
QUICが300msの先行リードを得ます。UDPがブロックされた場合、WebSocketが勝ちます。設定不要。
02 · ホルダー
接続は出入りする。セッションは残る。
ホスト上のセッションごとに1つのプロセスがPTY、画面、未確認の入力を保持します。
03 · フライトコントロール
ダウンロードがエコーを埋もれさせることはない
キーストロークはバルクの前に進み、遅いリンクはバックログではなく最新の画面を取得します。
QUIC · UDP · 1 RTT
TLS WS · TCP · +300 ms
§8 エージェント 最終レベル
エージェントは働き続けます。必要に応じてチェックインします。
OSC 7501 · devbox:mainclaude-code ● 入力が必要 · 2分前 "ステージングでマイグレーションを実行しますか? [y/n]"
ALL LEVELS CLEAR.
osewaLV 00 / 08 · boot
paperdocs↑↓ · W S · 1–9QUIC 102 ms
0 / 9 cleareddocs · the paper →