SHELL-AI について
SHELL-AIは、ツールを使うエージェントを通じてローカルのOllamaモデルを操作するコマンドラインクライアントです。端末やファイルの作業に加え、MCPサーバーで機能を拡張したいユーザー向けで、推論はローカルで実行します。
主な機能
- 01ローカルOllamaモデルとの対話
- 02タスク用ツールを使うReActエージェント
- 03ファイルとシェルの操作
- 04MCPサーバーのツール検出
- 05インタラクティブログビューア
活用シーン
- 01エージェントにファイルの確認や編集を依頼
- 02確認後にシェルコマンドを実行
- 03MCPサーバーでエージェントのツールを拡張
- 04ログビューアでエージェントの動作を監視
MCP 対応
SHELL-AIはHTTP、SSE、STDIO経由で外部MCPサーバーに接続でき、複数の認証方式に対応します。サーバーのツールを検出し、エージェントのツールレジストリに追加します。
詳細
Shell AI
Ollamaを通じたローカルAIモデルによって駆動される、強力でインテリジェントなシェルアシスタント。Shell AIは高度なAI機能をターミナルに直接もたらし、ファイルシステム、シェルコマンド、開発ワークフローとの自然言語による相互作用を実現します。
ローカルAIモデル(Ollamaによって駆動)と相互作用するための強力で軽量なコマンドラインインターフェース。このプロジェクトはGoogleのGemini-CLIから着想を得ており、ローカルで実行するように適応させ、強力なエージェント機能で拡張されています。
機能
- 🧠 インテリジェントエージェント: ReAct(Reason-Act)エージェントモデルを利用し、リクエストについて推論し、複雑なタスクを完了するためにツールのセットを使用できます。
- 🔗 Model Context Protocol(MCP)統合: 外部MCPサーバーに接続して、カスタムツールとサービスで機能を拡張します。
- 🎯 ゼロネットワーク推論: Ollamaを使用してマシン上で完全に実行され、プライバシーとオフライン機能を確保します。
- 🛠️ 豊富なツールセット: ファイルシステム操作、シェルコマンド実行、ウェブ検索など、豊富なツールセットが付属しています。
- 📊 強化されたログ機能: リアルタイムフィルタリングとナビゲーション機能を備えたインタラクティブログビューアーで、より優れたデバッグと監視を実現します。
- ⚙️ TypeScriptサポート: TS 5.xで完全に型付けされた堅牢な開発環境です。
- 📦 モジュラーワークスペース: クリーンなアーキテクチャと保守性のために分離された
coreとcliパッケージです。
目次
https://github.com/user-attachments/assets/12a96147-797e-48a2-9fa3-3824d5b050fe
インストール
npm install -g @shell-ai/cli
またはnpxで直接実行します:
npx @shell-ai/cli
Ollamaがインストールされており、モデルがプルされていることを確認してください:
ollama pull gpt-oss
使用方法
# Start an interactive chat session
shell-ai
# Use a specific model
shell-ai --model mistral
オプション
| オプション | 説明 |
|---|---|
-m, --model <model> | Ollamaモデルを指定します。 |
-t, --temperature <temp> | モデルの温度を設定します。 |
-s, --system <prompt> | カスタムシステムプロンプトを提供します。 |
-h, --help | ヘルプを表示します。 |
インタラクションモード
インタラクティブチャット
引数なしでshell-aiを実行して、インタラクティブセッションを開始します。AIとチャットでき、AIはツールを使用して質問に答えたりタスクを実行したりします。
$ shell-ai
> What is the current directory?
... agent thinking ...
> The current directory is /home/user/project. It contains 5 files and 2 directories.
> /help
... shows help menu ...
スラッシュコマンド
インタラクティブチャット内では、特定のアクションに対してスラッシュコマンドを使用できます:
| コマンド | 説明 |
|---|---|
/help | 利用可能なコマンドとツールを表示します。 |
/model | 利用可能な Ollama モデル間を切り替えます。 |
/info | エージェントについての統計情報を表示します。 |
/clear | 現在の会話履歴をクリアします。 |
/exit | 現在のセッションを終了します。 |
利用可能なツール
エージェントは以下のツールにアクセスしてタスクを実行できます:
| ツール | 説明 |
|---|---|
file-read | ファイルの内容を読み取ります。 |
file-write | ファイルに内容を書き込みます。 |
file-edit | 特定の行を編集するか、検索と置換を実行します。 |
file-search | ファイル内のテキストパターンを検索します。 |
shell-exec | シェルコマンドを実行します。ユーザーの確認が必要です。 |
directory-list | パス内のファイルとディレクトリを一覧表示します。 |
current-directory | 現在の作業ディレクトリとその内容を取得します。 |
web-search | Web 検索を実行します。 |
wikipedia-search | Wikipedia で記事を検索します。 |
memory-add | エージェントの長期メモリに事実を追加します。 |
memory-retrieve | エージェントのメモリから事実を取得します。 |
search-file-content | ファイル内のコンテンツを検索するための強力な grep のようなツール。 |
Model Context Protocol (MCP) インテグレーション
Shell AI は Model Context Protocol (MCP) をサポートしており、外部 MCP サーバーに接続することで機能を拡張できます。これにより、データベース、API、カスタムツール、サードパーティサービスとの統合が可能になります。
MCP 設定
~/.shell-ai/mcp.json に設定ファイルを作成して、MCP サーバーを定義します:
{
"servers": [
{
"name": "github-server",
"enabled": true,
"http": {
"url": "https://api.github.com/mcp",
"auth": {
"type": "bearer",
"token": "your_github_token"
}
},
"description": "GitHub MCP server integration"
}
],
"globalTimeout": 30000,
"maxConcurrentConnections": 10,
"enableAutoReconnect": true
}
サポートされているトランスポートタイプ
- HTTP: 認証サポート付きの標準 HTTP 接続
- SSE: リアルタイム通信のためのサーバー送信イベント
- STDIO: 開発用のローカルプロセス通信
認証方式
- Bearer Token: OAuth2 と API トークン用
- Basic Auth: ユーザー名/パスワード認証
- API Key: カスタム API キーヘッダー
- OAuth2: 完全な OAuth2 フロー対応
利用可能な MCP ツール
接続後、MCP サーバーは自動的にそのツールを Shell AI エージェントに公開します。ツールは動的に検出され、既存のツールレジストリに統合されます。
ロギングとデバッグ
Shell AI には、エージェント操作を監視およびデバッグするための包括的なロギングシステムが含まれています:
インタラクティブログビューア
/logs スラッシュコマンドを使用してログビューアにアクセスできます。ビューアは以下を提供します:
- リアルタイムログ更新: ログが生成されるにつれて表示されます
- レベルフィルタリング: ログレベル(info、warn、error、debug)でフィルタリングできます
- キーボード操作:
- 矢印キー: ログをナビゲートします
- Page Up/Down: 複数ページをスクロールします
- 数字キー(1-5): レベル別の高速フィルタリング
- 'c': すべてのログをクリアします
- 'q' または Escape: ビューアを終了します
ログレベル
- Info: オペレーションに関する一般的な情報
- Warn: 実行を停止しない警告メッセージ
- Error: 失敗したオペレーションのエラーメッセージ
- Debug: 詳細なデバッグ情報
ログエントリにはタイムスタンプ、ソース情報、包括的なデバッグ用の構造化詳細が含まれています。
設定
ホームディレクトリの .shell-ai-config ファイルでデフォルトを設定できます。
開発
リポジトリは npm ワークスペースを使用したモノレポです。
# Install dependencies
npm install
# Build all packages
npm run build
# Run tests
npm test
# Development mode
npm run dev
パブリッシング
# Build and test before publishing
npm run prepublishOnly
# Publish the CLI package
npm publish --workspace @shell-ai/cli --access public
# Publish the core package
npm publish --workspace @shell-ai/core --access public
貢献
イシューとプルリクエストを歓迎します。詳細は CONTRIBUTING.md ガイドをご覧ください。
- リポジトリをフォークします。
- フィーチャーブランチを作成します。
- テストとリントを実行します。
- プルリクエストを開きます。
ライセンス
Apache-2.0 © 2025 Shell AI Team
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。