Repolode
coder

coder/ghostty-web

GhosttyのWASM版VTパーサーを使った、xterm.js互換APIのブラウザー向けターミナルエミュレーター。

スター
2,980
フォーク
186
未解決の Issue
69
最終コミット
4 日前

これは何?

ghostty-webは、Ghosttyのターミナルエミュレーターをnpmパッケージとしてブラウザーで使えるようにします。パーサーはGhostty本体のソースコードからWebAssemblyにコンパイルされているため、JavaScriptで再実装したものではなく、ネイティブ版Ghosttyアプリと同じVT100実装を利用します。

xterm.jsとのAPI互換性を目指しており、`@xterm/xterm`から`ghostty-web`にimportを変更するだけで、既存のプロジェクトを移行できます。実行時依存関係はなく、約400KBのWASMバンドルを同梱しています。READMEによると、デーヴァナーガリー文字やアラビア語などの複雑な文字体系をより適切に扱えるほか、xterm.jsでは実装されていないXTPUSHSGR/XTPOPSGRにも対応しています。

このプロジェクトは、並列エージェント開発向けのデスクトップアプリMux用に作られましたが、幅広い用途を想定して設計されています。npxでデモを起動すると、ループバックアドレス上でローカルシェルが起動し、実行ごとに発行されるトークンで保護されます。

主な機能

  • 01GhosttyのソースコードからWebAssemblyにコンパイルされたパーサー
  • 02移行しやすいxterm.js互換API
  • 03実行時依存関係なし、約400KBのWASMバンドル
  • 04複雑な文字体系の書記素を適切に処理
  • 05XTPUSHSGR/XTPOPSGRエスケープシーケンスに対応

ユースケース

  • WebベースのターミナルやIDEのパネルでxterm.jsを置き換える
  • WebSocket経由でサーバーに接続するブラウザー向けシェルを構築する
  • Web技術で作られたデスクトップアプリにターミナルを組み込む
  • ラテン文字以外の複雑な文字体系を含むターミナル出力を描画する

トピック

よくある質問

ghostty-web とは?
GhosttyのWASM版VTパーサーを使った、xterm.js互換APIのブラウザー向けターミナルエミュレーター。 ghostty-webは、Ghosttyのターミナルエミュレーターをnpmパッケージとしてブラウザーで使えるようにします。パーサーはGhostty本体のソースコードからWebAssemblyにコンパイルされているため、JavaScriptで再実装したものではなく、ネイティブ版Ghosttyアプリと同じVT100実装を利用します。
ghostty-web は無料で使えますか?ライセンスは?
ghostty-web は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
ghostty-web は今もメンテナンスされていますか?
活発にメンテナンス中。ghostty-web の最終コミットは 2026年10月15日 です。
ghostty-web は何に使えますか?
WebベースのターミナルやIDEのパネルでxterm.jsを置き換える WebSocket経由でサーバーに接続するブラウザー向けシェルを構築する Web技術で作られたデスクトップアプリにターミナルを組み込む ラテン文字以外の複雑な文字体系を含むターミナル出力を描画する
ghostty-web はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/coder/ghostty-web

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト