Terax:Warpを超えるAIターミナルをたった一人で開発したエンジニア

BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술

Transcript

00:00:00これはTeraxです。Tauri2とRustで構築されたオープンソースのAIネイティブターミナルで、
00:00:05マルチタブターミナル、コードエディタ、ファイルプレビューサイドバー、ウェブブラウザを、わずか7メガバイトの
00:00:12アプリに詰め込み、300ミリ秒未満で起動します。さらに、コードベース全体を読み込み、
00:00:17コマンドを実行し、レビュー可能な差分として編集を提案する独自のAIエージェントまで備えています。しかし、GitHubで5万8000以上の
00:00:24スターを獲得しているWarpや、エージェントベースの通知をサポートするCmoxがある中で、個人が開発したこの小さなアプリは
00:00:28本当に時間をかける価値があるのでしょうか?チャンネル登録して確かめてみましょう。
00:00:36TeraxはKrinterという開発者によって作られました。彼がこれをサイドプロジェクトとして始めたのは、
00:00:40Warpよりも高速で軽量なバージョンを求めていたからで、コーディング用のAIがあと付けではなく最初から組み込まれていることを目指しました。
00:00:46Teraxはそのすべてを実現しています。VS Codeと同じくWebGPUを使用したXterm.jsで本格的なターミナルを実装し、
00:00:53CodeMirror 6による本格的なコードエディタ、そしてVercelのAI SDKを使用した本格的なAIエージェントを搭載しており、
00:01:00ローカルモデルを含む、ほぼあらゆるモデルで使用可能です。
00:01:04しかし、これらすべてをこれほど小さなフットプリントでどのように統合しているのでしょうか?
00:01:08Tauri2をElectronの代わりに使っているため、Chromiumがバンドルされず、200メガバイトを節約しています。
00:01:14RustバックエンドがOSに触れるすべて(Pty、ファイルシステム、プロセス管理)を処理し、
00:01:20ReactフロントエンドはUIを描画するだけです。そのため、全体で約7メガバイトとなっています。
00:01:25もし私がCmoxについて取り上げた動画を見ていたなら、Teraxとどう比較されるのか気になるかもしれません。
00:01:29詳細な比較は動画の後半で行いますが、まずはTeraxを使ってみましょう。
00:01:34Teraxをインストールして最初に目を引くのは、左側にあるファイルメニューです。
00:01:39これを見てください。CDで移動すると、即座に正しい場所が表示されるため、LSコマンドを使う必要がありません。
00:01:45別のボルトやディレクトリに移動するとすぐに表示されますし、元の場所にもすぐに戻れます。
00:01:51最近のターミナルのように、新しいタブを作成したり、閉じたり、分割したりすることも可能です。
00:01:57パッケージのUIディレクトリに移動してfile-service-app.tsxファイルを開くと、Teraxコードエディタが即座に立ち上がります。
00:02:05ほとんどの言語でシンタックスハイライトが効いています。
00:02:08もし望むなら、Helixのようなターミナルベースのファイルエディタを使い、もちろんClaude CodeのようなAIコーディングツールを使うこともできます。
00:02:14しかし、Teraxエディタを使う利点もいくつかあります。
00:02:17右下隅を見るとOpenAIエージェントボタンがあり、モデルを選択できるようになっています。
00:02:23今のところ、OpenAIとClaudeのAPIキーを入力してあり、これらはOSのネイティブキーリングに保存されています。
00:02:29ここから、開いているファイルについて「なぜuse-effectフックにこれほど多くの関数があるのか?」といった質問を投げかけられます。
00:02:34そうすると、エージェントがファイルを検索して回答してくれます。
00:02:37ご覧の通り、どれくらいのコンテキストを使用したか確認でき、使用するエージェントの種類を変更することも可能です。
00:02:43また、前回のセッションに移動してフォローアップの質問をすることもできます。
00:02:46Teraxには現在、2つのサブコマンドしかありません。
00:02:48Planを実行するとプランモードに入り、ここに表示されます。
00:02:51もう一度Planを実行すると、ビルドモードに戻ります。
00:02:54そしてInitを実行するとプロジェクト全体をスキャンし、ClaudeやAgentsのMDファイルに似たTerax MDファイルを作成します。
00:03:00そうするとコードの差分が表示され、もちろん受け入れるか拒否するかを選択できます。
00:03:04すでにTerax MDファイルがあるので、ここでは拒否することにします。
00:03:08しかし、特定のファイルに変更を加えるように頼むことも可能です。
00:03:12変更がある場合は、何が削除され何が追加されるかを示す見やすい差分が表示され、同様に受け入れるか拒否するかを選択できます。
00:03:18Teraxでは他にもクールなことができます。
00:03:21これを見てください。
00:03:21このボタンを押すとプライバシーページが開かれ、そのタブがAIから隠されます。
00:03:26新しいエディタウィンドウを開いてファイルを作成したり、ブラウザを開いたりもでき、一般的なポートのリストまで表示してくれます。
00:03:33ですから、アプリを実行して適切なポートに移動すれば、ツールを行き来することなく、片方のタブでアプリを操作しながらもう片方でコードを変更できます。
00:03:41設定では、エディタのテーマを変更したり、Vimモードを有効にしたり(これは気に入っています)、エージェントを調整したり、カスタム指示や再利用可能なプロンプトを指定したりできます。
00:03:49ただ、Teraxには気に入らない点もいくつかあります。
00:03:52今のところ、Helixでプロジェクトを開くのは問題ありません。
00:03:55しかし、NeoVimで同じことをしようとすると、なんとなくクラッシュしてしまいます。
00:03:58これがNixを使っているせいなのか、変なNix fishシェルの設定のせいなのかは分かりませんが、NeoVimはWesternでは問題なく動作します。
00:04:04左のサイドバーをキーボードで操作する方法が見つけられませんでした。
00:04:08ディレクトリの移動はできても、ファイルを開こうとしてもTeraxのopenコマンドがないか、サイドバーへのキーボードショートカットが見当たりません。
00:04:15Command+Bでサイドバーの開閉はできますが、ファイルを開くにはマウスでクリックする必要があり、これはターミナルでは期待する挙動ではありません。
00:04:24また、Command+でズームインもできません。何らかの理由で有効になっていないようです。
00:04:28ブラウザでローカルホスト以外のサイトに行こうとするとX-Frame-Optionsエラーが出ます。セキュリティ上は仕方ないのですが、使えるようになるといいですね。
00:04:38正直なところ、JavaScriptを中心に構築されたものとしては信じられないほどパフォーマンスが高いです。
00:04:43ターミナルにlibghostyを使わないと決めた作者には懐疑的でした。
00:04:47でも、これがオープンソースで、どんなコードで構築されたかを知らなかったら、システム言語が使われていると思ったでしょう。
00:04:54まあ、TauriはRustなのである意味そうですが、意味は伝わると思います。
00:04:57基本的に、今日ではAIと多くのオープンソースツールを使うことで、一人の開発者がこれだけのことを成し遂げられるのは驚異的です。
00:05:04会社全体で構築されVCからの資金提供を受けているWarpに、ほぼ匹敵するレベルです。
00:05:09おまけにTeraxはまだ1.0バージョンですらありません。
00:05:12ですから、今後さらに多くの機能や修正が盛り込まれていくはずです。
00:05:16では、CMUXとはどう違うのでしょうか?
00:05:18TeraxはWarpのようなエージェント的な開発環境ですが、CMUXは全く別のツールです。
00:05:24CMUXはエージェントにターミナル内のすべてを制御する能力を与えます。
00:05:28新しいペインやタブを作成したり、サイドバーを制御したり、名前を変更したりといったことが可能で、
00:05:32マルチエージェントのワークフローには最適です。
00:05:34一方Teraxでは、エージェントの範囲はコードとファイルを見ることに限定されています。
00:05:39つまり、新しいタブや分割ペインを作成することはできません。
00:05:42サイドバーの制御もできませんが、コード自体には変更を加えられます。
00:05:45ですので、ブラウザを開いたり、ウェブを巡回したり、サブエージェントを立ち上げさせたいならCMUXを試してみてください。
00:05:51しかし、ターミナルでコーディングし、エージェントに変更を加えさせ、ブラウザでその変更を確認したいなら、Teraxを使うべきです。
00:05:58個人的には、開発の大半ではWest TermとNeoVimを使い続けるつもりです。
00:06:01なぜ私がGhostyではなくResTermを選んでいるのかを知りたい方は、こちらの動画をチェックしてください。

Key Takeaway

Teraxは、Tauri 2を活用して軽量なフットプリントで動作し、AIエージェントによるコード編集機能とターミナル環境をシームレスに統合した次世代の開発ツールである。

Highlights

  • TeraxはTauri 2とRustを使用して構築され、わずか7MBのアプリサイズで300ミリ秒未満の起動を実現している。

  • VS Codeと同様の技術であるWebGPU使用のXterm.jsとCodeMirror 6を採用し、本格的なターミナルとコードエディタ環境を提供する。

  • 内蔵のAIエージェントはOpenAIやClaudeのAPIを使用し、OSのネイティブキーリングにAPIキーを安全に保存できる。

  • Initコマンドを実行することでプロジェクト全体をスキャンし、AIが提案するコードの変更内容を差分として確認、承認、拒否することが可能。

  • プライバシーページ機能により、特定のタブをAIエージェントのアクセス対象から隠すことができる。

  • JavaScriptベースでありながらシステム言語で構築されたツールに匹敵するパフォーマンスを備えている。

Timeline

Teraxの概要と設計思想

  • マルチタブターミナル、エディタ、ブラウザを7MBのサイズに集約している。
  • Tauri 2を使用し、Electronと比較してChromiumをバンドルしないことで200MBの容量を削減した。
  • RustがバックエンドのOS操作を処理し、ReactがフロントエンドUIを描画する分離構造を採用している。

開発者のKrinterがWarpよりも高速かつ軽量なAIネイティブターミナルを目指して開発したオープンソースツールである。OSレベルの処理をRustに任せることで、メモリ消費と起動時間を極限まで抑えた設計となっている。

機能とAIエージェントの活用

  • 左側のサイドバーでディレクトリ移動時に即座にファイルツリーが表示される。
  • 右下隅のボタンからAIエージェントを呼び出し、開いているコードについて質問や編集依頼が可能である。
  • PlanおよびInitサブコマンドを使用してプロジェクト全体のスキャンやAIによる計画実行を行える。

ターミナルとエディタを切り替えることなく、シームレスなコーディング環境を提供する。AIエージェントはファイルの内容を解析し、具体的なコード差分を提示して、ユーザーが受け入れか拒否かを選択するワークフローを実現している。

課題と今後の展望

  • NeoVimとの併用時にアプリがクラッシュするなど、特定のツール環境で動作不安定が見られる。
  • ファイルを開くためのキーボードショートカットやサイドバーのキーボード操作が不足している。
  • ブラウザ機能においてセキュリティ制限によりX-Frame-Optionsエラーが発生するケースがある。

現時点ではバージョン1.0未満であり、キーボード操作のUI改善やセキュリティ設定の調整などが今後の課題である。一方で、一人の開発者がVC資金提供のある競合製品に匹敵する機能を実現している点は特筆に値する。

Community Posts

No posts yet. Be the first to write about this video!

Write about this video