mcpField
L
llm-cli

llm-cli

github.com/glebisAgent 工作流401231 次安装1 天前更新
代码仓库

关于 llm-cli

llm-cli 是通过 `llm` 命令行工具调用多种大模型提供方的技能,可处理文本和多媒体输入。它支持单次请求、管道或文件输入,以及交互式对话和模型选择。

主要功能

  1. 01支持 OpenAI、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)无缝交互。它可处理文本和多媒体信息,并支持一次性执行和交互式对话模式。

何时使用此技能

在以下情况下触发此技能:

  • 用户希望使用 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. 输入处理
  • 接受 stdin/管道输入
  • 处理文件路径(检测:.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)
  • 处理 stdin、文件路径或内联文本
  • 返回内容字符串
execute_llm(content, model, interactive=False)
  • 使用适当的参数调用 llm CLI
  • 管理交互模式的 stdin/stdout
在 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

评论

支持 Markdown