
nlsh
Junaid Mahmood · コーディング · その他
nlshは、平易な英語を実際に動くシェルコマンドへ変換するオープンソースのコマンドラインツールだ。オプションや構文を覚える代わりに、やりたいことを説明すれば、nlshがターミナルに合った正しいコマンドを見つけてくれる。macOSとLinuxで動作し、Python 3.8以降が必要で、選んだAIプロバイダーに接続する。自分のAPIキーと履歴を自分で管理できる。

nlsh について
nlshとは
nlshは自然言語シェルだ。「すべてのpythonファイルを一覧表示」と入力すれば、find . -name "*.py" を返し、そのまま実行できる。このプロジェクトが存在するのは、多くの人がいざという時にシェル構文を忘れてしまうからだ。正しいオプションを検索結果から探し回るのは、本来の問題に使うべき時間の無駄になる。nlshはあなたとbashの間に立ち、意図をコマンドに変える。
ターミナルで暮らしているが、そのために情報科学の学位は欲しくない、という人向けに作られている。初心者には緩やかな入口を、経験豊富な開発者にはうろ覚えのコマンドへの近道を与える。ツールはオープンソースでローカルに動くため、AIプロバイダーへ送るプロンプト以外はマシンから出ていかない。機密ファイルを扱うなら、この点は重要だ。
最大の制約はプラットフォームとプロバイダーだ。Windowsは非対応で、内蔵のAPI設定は現状Geminiで動く。さらに自分のAPIキーが必要になる。nlshはアカウントもホスト型バックエンドも同梱しないからだ。それでも、一つの仕事をきちんとこなす無料ツールとしては、注意点は短いリストで済む。
はじめかた
- macOSまたはLinuxで、Python 3.8以降が入っていることを確認する。
- ワンラインのスクリプトでインストールする:
curl -fsSL https://raw.githubusercontent.com/junaid-mahmood/nlsh/main/install.sh | bash。 - ターミナルで
nlshと入力してセッションを開始する。 !apiコマンドでLLMプロバイダーのAPIキーを設定する。- やりたいことを平易な英語で説明し、実行前に提案されたコマンドを確認する。
!help で全コマンド一覧を表示し、!cmd で生のシェルコマンドを直接実行し、Ctrl+D で終了する。
AIツール情報
nlshの料金、対応プラットフォーム、性能を簡単に確認できます。
こんな人におすすめ
このツールが最も力を発揮するユーザー、タスク、シーン。
ユーザー
- 空のプロンプトの前で固まってしまい、平易な英語を実際のコマンドに変換する必要があるターミナル初心者。
- コマンドの存在は知っているが正確なオプションを思い出せず、手早い近道を求める経験豊富な開発者。
タスク
- 「ポート3000のプロセスをkillして」のようなタスクを、検索に寄り道せず `lsof -t -i
- gitコミットを書いたり、行数を数えたり、ファイルを探したりするとき、構文ではなく目的を説明する。
シーン
- GUIに頼れず、調べるたびに勢いを失う、SSH経由のリモートLinuxサーバーでの作業。
- 個人のMacでbashを学ぶ場面。実行前にコマンドを確認するため、間違えても代償は小さい。
主な機能
平易な英語からシェルコマンドへ
nlshの中核は翻訳だ。日常の言葉で仕事を説明すれば、それを実行するbashコマンドと、各部分の意味を短く説明して返す。ファイル一覧、gitの変更のステージング、ディスク使用量の確認といった一般的なタスクを網羅する。作業の途中で検索エンジンへタブを切り替える必要はもうない。
キーワードではなく意図を理解する
「commit with message fixed bug」と頼めば、その言い回しを git commit -m "fixed bug" に対応させる。正確な表現よりも意図がものを言うので、自分のコンピューターと話すためだけにクエリ言語を覚える必要はない。
自分のキーでローカルに動く
nlshはあなたのマシンで動き、設定したAIプロバイダーにプロンプトを送るだけだ。作るアカウントも、コマンド履歴を集めるサーバーもない。!api コマンドでAPIキーを安全に差し替えられる。データがどこへ行くか知りたい?行き先はあなたのプロバイダーだけだ。
生コマンドへの逃げ道
!cmd コマンドはシェルコマンドを直接実行し、自然言語の段階を飛ばす。何が欲しいか正確に分かっていて助けが要らない時に使うもので、通常のターミナル作業とアシスタントを同じセッションで混ぜられる。自分で打ちたいだけの時もある。
オープンソースで無料
プロジェクト全体はGitHubの junaid-mahmood/nlsh リポジトリでオープンソースだ。有料プランも、利用上限も、追加販売もない。払うのは接続したAIプロバイダーだけで、しかも実際に送ったリクエスト分のみ。軽く使うならコストは読みやすい。既定値が自分の働き方に合わなければ、フォークし、中を覗き、変えればいい。
メリットとデメリット
メリット
- 曖昧な意図を正確なシェルコマンドに変え、正しい構文を探す時間を削る。
- 無料でオープンソース。アカウントも購読も、ロックされた機能もない。
- ローカルで動き、履歴を第三者のサーバーに残さない。
- 生成したコマンドを説明するため初心者に優しい。暗号のような文字列を渡すだけではない。
デメリット
- Windowsは非対応なので、それが唯一のマシンなら選択肢にならない。
- 内蔵のAPI設定は現状Geminiのみに対応し、プロバイダーの選択が限られる。
- 独自のAPIキーが必要で、動くまでに設定の手間と1リクエストごとの少額のコストがかかる。
- 結局は各コマンドを自分で確認して実行する必要があり、シェルの知識を完全に置き換えるものではない。
よくある質問
はい。nlshは無料でオープンソース、有料プランはない。払うのは自分が行うAPI呼び出しに対するAIプロバイダーへの分だけで、多くのプロバイダーは軽い利用をまかなう無料枠を用意している。
関連コンテンツ
nlshに関連するツール、スキル、記事を探す。
nlshの代替ツール
Base Code
Base44 (Wix) · コーディング · 生産性向上Base CodeはBase44の共有クラウド開発環境だ。既存のGitHubリポジトリに対する変更をチャットで伝え、プレビューで確認し、プルリクエストとして返せる。
Google EmbeddingGemma 2
Google DeepMind · ライティング · 画像 · コーディングGoogle EmbeddingGemma 2 は 7 億 4000 万パラメータのオープンなモデルで、テキスト、コード、画像、音声、動画フレームを同じ 768 次元空間のベクトルに変え、スマートフォンやノート PC 上で動く。
GitGlow
GitGlow · コーディング · 生産性向上GitGlow は自分のコードと AI エージェントの変更を一つのレビューにまとめるデスクトップ Git クライアントだ。出荷前に、マシンから何が出ていくのかを確かめられる。
