Repolode
mrnugget

mrnugget/jev-shell-history

最近の履歴をTypeSafe Jev APIで順位付けし、fish風の自動候補表示を行うZshプラグイン。

スター
119
フォーク
10
未解決の Issue
4
最終コミット
先月

これは何?

jev-shell-historyは、zshにfish風の自動候補表示を追加します。入力中のテキストに対し、直近の履歴から重複を除いた項目を対象に、入力を続ける可能性が最も高いものをTypeSafe Jev APIに問い合わせます。最上位の候補はスコアとともにカーソルの後ろにグレーで表示され、右矢印、^E、またはEndキーで確定できます。

このプラグインは2つのモードで動作します。prefixモードでは、入力したテキストで始まる過去のコマンドがある場合、そのコマンドだけを候補として最上位のものを表示します。fuzzyモードでは、prefixに一致するものがない場合、直近の履歴全体から可能性の高いコマンドをAPIに選ばせ、スコアが設定可能なしきい値を超えたときだけ候補を表示します。キー入力ごとにバックグラウンドでリクエストを1回送信し、入力バッファが変わった場合は古いレスポンスを破棄します。

利用にはzsh 5.9以降、Node 22以降、TypeSafe APIキーが必要です。履歴の上限、最小文字数、しきい値、ハイライトのスタイル、モデルなどの動作は環境変数で設定できます。

主な機能

  • 01入力中に、zshの最近の履歴からグレーのインライン候補を表示します。
  • 02emacsおよびviのキーマップで、右矢印、^E、またはEndキーを押して候補を確定できます。
  • 03TypeSafe Jev APIで候補を順位付けし、スコアを表示します。
  • 04入力で始まる履歴項目がない場合は、fuzzyマッチングに切り替えます。
  • 05リクエストをバックグラウンドで実行し、プロンプトをブロックしません。

ユースケース

  • 以前実行した長いコマンドや、多数のフラグを含むコマンドを呼び出す。
  • 過去の項目と異なる文字列で始まるコマンドを補完する。
  • 個人のマシンで、AIによる順位付けを使ったシェル候補表示を試す。

クイックスタート

  1. 1

    リポジトリを ~/.zsh/jev-shell-history にクローンします

    git clone <this repo> ~/.zsh/jev-shell-history
  2. 2

    npm の依存関係をインストールします

    cd ~/.zsh/jev-shell-history && npm install
  3. 3

    ~/.zshrc に TypeSafe API キーを設定します

    export TYPESAFE_API_KEY=...
  4. 4

    ~/.zshrc でプラグインを source します

    source ~/.zsh/jev-shell-history/zsh/jev-shell-history.plugin.zsh

使う前に知っておきたいこと

  • 有料プランの TypeSafe API キーが必要です。また、コマンド履歴が Jev API に送信されます。
  • キー入力のたびに API リクエストが送信され、1 リクエストあたり約 0.7〜0.9 秒の遅延が発生します。
  • zsh 5.9 以降と Node 22 以降が必要です。
  • README にライセンスの記載がありません。

トピック

よくある質問

jev-shell-history とは?
最近の履歴をTypeSafe Jev APIで順位付けし、fish風の自動候補表示を行うZshプラグイン。 jev-shell-historyは、zshにfish風の自動候補表示を追加します。入力中のテキストに対し、直近の履歴から重複を除いた項目を対象に、入力を続ける可能性が最も高いものをTypeSafe Jev APIに問い合わせます。最上位の候補はスコアとともにカーソルの後ろにグレーで表示され、右矢印、^E、またはEndキーで確定できます。
jev-shell-history は無料で使えますか?ライセンスは?
jev-shell-history にはライセンスが明記されていません。コードは公開されていますが、ライセンスがない場合は再利用の許諾がないため、利用前に作者に確認することをおすすめします。
jev-shell-history は今もメンテナンスされていますか?
半年以内に更新あり。jev-shell-history の最終コミットは 2026年9月18日 です。
jev-shell-history は何に使えますか?
以前実行した長いコマンドや、多数のフラグを含むコマンドを呼び出す。 過去の項目と異なる文字列で始まるコマンドを補完する。 個人のマシンで、AIによる順位付けを使ったシェル候補表示を試す。
jev-shell-history のインストール方法は?
リポジトリを ~/.zsh/jev-shell-history にクローンします: git clone <this repo> ~/.zsh/jev-shell-history npm の依存関係をインストールします: cd ~/.zsh/jev-shell-history && npm install ~/.zshrc に TypeSafe API キーを設定します: export TYPESAFE_API_KEY=... ~/.zshrc でプラグインを source します: source ~/.zsh/jev-shell-history/zsh/jev-shell-history.plugin.zsh
jev-shell-history はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/mrnugget/jev-shell-history

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

関連プロジェクト