HN 日本語サマリー

← 一覧へ戻る
プログラミング

GodotとRustベースのマルチプレクサ(ターミナルペインとその他)

Godot and Rust based multiplexer (terminal panes and more) (github.com)

83 pointsby 1nv1n42 コメント

要約

gPTYは、GodotとRustで構築されたPTY(擬似端末)基盤であり、ペイン(ターミナル、コード、ファイルツリーなど)のためのタイリンググリッドを提供します。AIエージェントや自動化ツールが、TUIをスクレイピングすることなくペインの生成、テキストの挿入、ターミナル出力の監視を行えるように、JSON-RPC/MCPコントロールサーフェスを備えています。これはクロスプラットフォームで動作し、スタンドアロンバイナリとして提供されます。

全文翻訳

私のサイドプロジェクトであるgPTYを共有したいと思います。これは、GodotとRustをプロジェクトで組み合わせるというアイデア(より深く学ぶために使いたいと思っていた2つのスタック)から始まりました。主なインスピレーションはtmuxで、複数のPTYを起動し、ユーザーが自由にグリッド表示やタイル表示できるようにすることです。

しかし、Godotゲームエンジンが利用できるため、FPSカウンターを追加したり、ユーザーが好みのFPSを設定できるようにしたりと、より興味深いことができます(アイデアとしては、ラップトップでバッテリー駆動中に低消費電力で動作させるのと、デスクトップで高/ネイティブFPSで動作させるのとでは、消費電力が異なる可能性があるということです)。現在の状態では、私はOh-my-Piを頻繁に使用しており、これはターミナルワークスペースへと進化しており、ドッグフーディングを通じて自律AIエージェントのオーケストレーションに使用できます(あるいは、gPTY内でherdrを実行することもできます。herdrはより優れたオーケストレーターであり、優れたソフトウェアです。このプロジェクトを開始した後に見つけましたが、今ではよく使うようになっています)。

また、ターミナルに限定されるわけではありません。Godotがあるので、基本的に2D(そして潜在的には3D)のキャンバスで遊ぶことができます。「ゼン」モードのためにアプリをフルスクリーン表示し、タスクバーなし、気を散らすものなしで表示できます。TUI愛好家は、メディアや他のアプリを完全にターミナルペイン内に配置できます。

Markdownを適切に表示するための基本的な作業は完了しており、次にローカル知識管理のためのWikiフレームワークのようなものを作成し、その後、より多くの種類のペイン(ターミナルペインの隣に配置されるネイティブオーディオ/ビデオを備えたメディアペインを想像してください)や、プロトタイピング用の簡単な2Dゲーム(スネークのような)を作成したいと考えています。詳細はROADMAPにあります。

容易ではないこと(そしておそらく実現しないこと)はブラウザです。すでにいくつかの(小さな)プロジェクトでElectronを使用していたため、Godot/Rust(学習曲線)を捨てたいという誘惑がありました(また、エコシステム、コンポーネントを簡単にプルしてWeb技術を使用できることなど、開発速度は間違いなく高くなるでしょう)。しかし一方で、今日私たちが享受している利用可能なLLMとAIサポートのすべてを考慮すると、それらにどれだけ依存するかによって速度は同等になると考えました。そして、私はそれに依存しました。

anyway、Godot/Rustは私の意図にとってより良い選択でした。「終わりだけでなく、旅そのものが重要である」という哲学に従っています。そのため、コードの多くを生成するためにLLMとAIを多用しています。しかし、私は単に感覚に頼るのではなく、積極的にレビューし、方向性を定めており、人間が作成した部分もいくつかあります。

エンドユーザーエクスペリエンスを向上させるためには、多くの洗練とQoL(Quality of Life)アイテムを実装する必要がありますが、それまでの間、ご意見や懸念事項をお聞かせください!

リポジトリ: https://github.com/godot-pty/gpty

ドキュメント/ブログ: https://godot-pty.github.io/gpty/