mcpField
L
llm-cli

llm-cli

github.com/glebisエージェントワークフロー401231 回インストール1 日前に更新
リポジトリ

llm-cli について

llm-cli は、`llm` コマンドラインツールで複数の LLM プロバイダーを利用するスキルです。テキストやマルチメディアを処理し、単発の実行やファイル入力、対話型チャットに対応します。

主な機能

  1. 01OpenAI、Anthropic、Gemini、Ollamaに対応
  2. 02モデルとプロバイダーの別名
  3. 03テキスト、ファイル、マルチメディア入力
  4. 04単発実行と対話モード
  5. 05プロバイダー検出と設定保存

活用シーン

  1. 01指定モデルで文書を要約
  2. 02パイプ入力したテキストを処理
  3. 03ローカルのOllamaモデルと対話

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/glebis/claude-skills --skill llm-cli

インストール後、Claude Code で/llm-cliを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

executor.py
FILES.md
GROQ_INTEGRATION.md
IMPLEMENTATION_SUMMARY.md
input_handler.py
INSTALL.md
llm_skill.py
models.py
OPENROUTER_INTEGRATION.md
providers.py
QUICK_REFERENCE.md
QUICKSTART.md
README.md
requirements.txt
START_HERE.md
.claude-plugin/
plugin.json

詳細

LLM CLI スキル

目的

このスキルを使うと、llm CLI ツールを通じて複数の LLM プロバイダー(OpenAI、Anthropic、Google Gemini、Ollama)とシームレスにやり取りできます。1 回限りの実行と対話型の会話モードの両方に対応し、テキスト情報とマルチメディア情報を処理します。

このスキルを使用するタイミング

次のような場合に、このスキルを呼び出します:

  • ユーザーが LLM でテキストやファイルを処理したい場合
  • ユーザーが利用可能な複数の LLM から選択する必要がある場合
  • ユーザーが LLM と対話型の会話をしたい場合
  • ユーザーが処理のために LLM にコンテンツをパイプしたい場合
  • ユーザーが特定のモデルエイリアス(例:「claude-opus」、「gpt-4o」)を使いたい場合

ユーザーのリクエスト例:

  • 「このファイルを Claude で処理して」
  • 「利用可能な最速のモデルでこのテキストを分析して」
  • 「OpenAI との対話型チャットを開始して」
  • 「Gemini を使ってこのドキュメントを要約して」
  • 「ローカルの Ollama インスタンスでチャットモードを使って」

対応プロバイダーとモデル

OpenAI
  • 最新モデル(2025):
    • gpt-5 - 最も高度なモデル
    • gpt-4-1 / gpt-4.1 - 最新の高性能モデル
    • gpt-4-1-mini / gpt-4.1-mini - 小型で高速なバージョン
    • gpt-4o - マルチモーダルなオムニモデル
    • gpt-4o-mini - 軽量なマルチモーダルモデル
    • o3 - 高度な推論モデル
    • o3-mini / o3-mini-high - 推論モデルのバリエーション

エイリアス:openai、gpt

Anthropic
  • 最新モデル(2025):
    • claude-sonnet-4.5 - 最新のフラッグシップモデル
    • claude-opus-4.1 - 複雑なタスクに特化したモデル
    • claude-opus-4 - コーディングに特化したモデル
    • claude-sonnet-4 - バランスの取れた性能
    • claude-3.5-sonnet - 前世代モデル
    • claude-3.5-haiku - 高速で効率的

エイリアス:anthropic、claude

Google Gemini
  • 最新モデル(2025):
    • gemini-2.5-pro - 最も高度なモデル
    • gemini-2.5-flash - デフォルトの高速モデル
    • gemini-2.5-flash-lite - 速度に最適化
    • gemini-2.0-flash - 前世代モデル
    • gemini-2.5-computer-use - UI 操作用

エイリアス:google、gemini

Ollama(ローカル)
  • 人気モデル:
    • llama3.1 - Meta の最新モデル(8b、70b、405b)
    • llama3.2 - コンパクトなバージョン(1b、3b)
    • mistral-large-2 - Mistral のフラッグシップモデル
    • deepseek-coder - コードに特化したモデル
    • starcode2 - コードモデル

エイリアス:ollama、local

ワークフローの概要

User Input (with optional model)
    ↓
Check Available Providers (env vars)
    ↓
Determine Model to Use:
  - If specified: Use provided model
  - If ambiguous: Show selection menu
  - Otherwise: Use last remembered choice
    ↓
Load/Create Config (~/.claude/llm-skill-config.json)
    ↓
Detect Input Type:
  - stdin/piped
  - file path
  - inline text
    ↓
Execute llm CLI:
  - Non-interactive: Process & return
  - Interactive: Keep conversation loop
    ↓
Save Model Choice to Config

機能

1. プロバイダーの検出
  • API キーを環境変数から確認します
  • 初回実行時に利用可能な LLM プロバイダーを提案します
  • 次の変数を検出します:OPENAI_API_KEY、ANTHROPIC_API_KEY、GOOGLE_API_KEY、OLLAMA_BASE_URL
2. モデルの選択
  • モデルエイリアス(gpt-4o、claude-opus、gemini-2.5-pro)を指定できます
  • プロバイダーエイリアス(openai、anthropic、google、ollama)を指定できます
  • 選択が曖昧な場合は、対話型メニューを表示します
  • 最後に使用したモデルを ~/.claude/llm-skill-config.json に記憶します
3. 入力処理
  • 標準入力/パイプ入力を受け付けます
  • ファイルパスを処理します(.txt、.md、.json、.pdf、画像を検出します)
  • テキストを直接入力するプロンプトを処理します
  • 適切なエンコードを使ってマルチメディアファイルに対応します
4. 実行モード
非対話型(デフォルト)
llm "Your prompt here"
llm --model gpt-4o "Process this text"
llm < file.txt
cat document.md | llm "Summarize"
対話型モード
llm --interactive
llm -i
llm --model claude-opus --interactive
5. 設定

永続的な設定ファイルの場所:~/.claude/llm-skill-config.json

{
  "last_model": "claude-sonnet-4.5",
  "default_provider": "anthropic",
  "available_providers": ["openai", "anthropic", "google", "ollama"]
}

実装の詳細

コアファイル
  • llm_skill.py - スキルのメインオーケストレーション
  • providers.py - プロバイダーの検出と設定
  • models.py - モデル定義とエイリアス
  • executor.py - 実行ロジック(対話型/非対話型)
  • input_handler.py - 入力タイプの検出
主な関数
detect_providers()
  • 環境変数からプロバイダーの API キーをスキャンします
  • 利用可能なプロバイダーの辞書を返します
get_model_selector(input_text, provider=None)
  • 必要に応じてメニューを表示し、選択したモデルを返します
  • last_model の設定を優先します
load_input(input_source)
  • 標準入力、ファイルパス、またはテキストを直接入力した内容を処理します
  • コンテンツ文字列を返します
execute_llm(content, model, interactive=False)
  • 適切なパラメーターを指定して llm CLI を呼び出します
  • 対話型モードの標準入力/標準出力を管理します
Claude Code での使用方法

ユーザーがこのスキルを呼び出すと、Claude は次の処理を行います。

  1. 入力からモデルの指定(例:--model gpt-4o)を解析します
  2. コンテンツと省略可能なモデルパラメーターを指定してスキルを呼び出します
  3. 必要に応じてプロバイダー/モデルの選択を待ちます
  4. 実行して結果を返します
  5. インタラクティブモードでは、会話ループを維持します

エラー処理

  • 利用可能なプロバイダーがない場合:API キーのインストールを提案します
  • モデルが見つからない場合:選択したプロバイダーで利用可能なモデルを表示します
  • llm CLI がインストールされていない場合:pip install llm によるインストールを提案します
  • ファイルを読み取れない場合:インラインテキストとして扱うよう切り替えます

設定

ユーザーは設定を事前に構成できます。

{
  "last_model": "claude-sonnet-4.5",
  "default_provider": "anthropic",
  "interactive_mode": false,
  "available_providers": ["openai", "anthropic"]
}

スラッシュコマンドとの統合

/llm コマンドをサポートします。

/llm process this text
/llm --interactive
/llm --model gpt-4o analyze this

コメント