>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
Go

IRIS — ターミナル自動補完の高速なFig代替ツール

macOSコンソールでFigのコマンド自動補完を使ったことがある方なら、2024年秋の変更を覚えているでしょう。プロジェクトは終了し、作業はAmazon Q Developerに統合されました。クラウドログインが必須で、インターフェースもヘビーなものになりました。

ターミナルでのIntelliSense形式の自動補完は、実際に便利です。ユーティリティ名の入力を始めると、メニューがポップアップで現れ、引数やGitブランチ、フラグが表示されます。この利便性にはすぐに慣してしまいます。

IRISプロジェクトの作者は、このコンセプトをゼロから再構築することにしました。Electronやサーバー依存なしで、Goのシングルバイナリを作成し、TTYに直接ポップアップ候補を描画します。

Ghostty terminal showcase

TTYがすべてを変える理由

Figのような従来のグラフィカルオーバーレイは、特定のOSやグラフィカルターミナルに強く依存しています。リモートLinuxサーバーのSSHセッションにFigのオーバーレイを転送したり、ベア骨の仮想コンソールで実行したりしようとすると、何も動作しません。

IRISは異なるアプローチを取っています。ターミナル出力(TTY)に直接インジェクトするため、多様な環境でネイティブに動作します:

  • macOSおよびLinuxのローカルターミナル
  • SSH越しのリモートセッション
  • tmux内のセッション
  • グラフィカルシェルなしのLinux仮想コンソール

サーバーでの環境構築は、ファイルを1つコピーするだけ簡単です。ZshやFishのプラグインストアをインストールしたり、テーマを探したり、何ギガバイトもの依存関係を引っ張ってきたりする必要はありません。

内部構造と動作原理

IRISはエイリアスとコマンド履歴をインデックス化します。入力開始すると、ツールは履歴またはコマンド仕様から最も関連性の高い候補を引っ張ってきます。

2つのビジュアルスタイルが利用可能です:ModernとClassicです。Modernスタイルはより柔らかく、Nerd Fontsアイコンを使用します。Classicはよりシンプルで、従来のTUIインターフェースに近いものです。

Modern and Classic themes

際立った機能はニューラルネットワークサポートです。文脈に応じた候補が必要な場合は、設定でAIプロバイダを有効にできます。標準でサポートしているのは:

  1. Groq(クラウドAPI経由で動作 免费キーでも可)
  2. Ollama(ローカルモデルを実行している場合、qwen2.5-coderなど)

入力デバウンスはdebounce_msパラメータで制御されます。高速入力に慣れている場合、AIはキー入力のたびにリクエストを投げつけません。

AI suggestions

設定ファイルはシンプルなTOML構造を使用し、~/.config/iris/config.tomlに配置されます。変更はリアルタイムで反映されるため、シェルを再起動する必要はありません。

[core]
mode = "last"
expand-alias = true

[ui]
style = "modern"
ghost-text = true
nerd-fonts = true

[ai]
enabled = false
provider = "ollama"

[ai.providers.ollama]
endpoint = "http://localhost:11434/v1/chat/completions"
model = "qwen2.5-coder"
timeout_ms = 5000

注意点とインストールヒント

ツールのインストール方法は複数あります。AURにはiris-autocompleteパッケージがあり、Homebrewにはversenilvis/iris/irisフォーミュラがあります。Nix Flakesユーザーはビルド済みパッケージを利用でき、GitHubリリースには通常のDebian用.debおよび.rpmパッケージもあります。

起動する前に、既存の自動補完プラグインを無効にしてください。zsh-autosuggestionsatuinなどのツールはキーの組み合わせを横取りし、画面に重複テキストを散乱させます。

Windowsはまだサポートされていません。このOSの開発者はWSL内でツールを実行する必要があります。

メニュー操作は馴染みのあるショートカットを使います:

  • Shift + Tab — メニューの非表示または表示
  • Tab — 選択したコマンドを挿入
  • Стрелка вправо — ゴーストテキスト候補を受け入れ
  • Ctrl + R — モード切り替え(履歴または仕様)

デバッグモードでは、iris -dがコンソールで入力したすべてをログに記録します。バグ報告を提出する際には、パスワードや秘密鍵を誤ってリークしないよう気をつけてください。

試す価値はあるか

Figが恋しい方や、十数台のサーバーで同じ自動補完プラグインを設定するのに疲れている方にとって、IRISは賢明な代替手段に見えます。登録も不要で、軽量で、素早く起動します。

プロジェクトは0BSDライセンスの下でオープンソースであり、コードは完全に自由に使用できます。

関連プロジェクト