关于 llm-cli
llm-cli 是通过 `llm` 命令行工具调用多种大模型提供方的技能,可处理文本和多媒体输入。它支持单次请求、管道或文件输入,以及交互式对话和模型选择。
主要功能
- 01支持 OpenAI、Anthropic、Gemini 和 Ollama
- 02模型与提供方别名
- 03文本、文件及多媒体输入
- 04单次执行与交互模式
- 05提供方检测与偏好保存
适用场景
- 01用指定模型总结文档
- 02通过管道输入文本进行处理
- 03与本地 Ollama 模型交互对话
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ glebis/ claude-skills --skill llm-cli安装后在 Claude Code 中输入/llm-cli确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
executor.pyFILES.mdGROQ_INTEGRATION.mdIMPLEMENTATION_SUMMARY.mdinput_handler.pyINSTALL.mdllm_skill.pymodels.pyOPENROUTER_INTEGRATION.mdproviders.pyQUICK_REFERENCE.mdQUICKSTART.mdREADME.mdrequirements.txtSTART_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)
- 使用适当的参数调用
llmCLI - 管理交互模式的 stdin/stdout
在 Claude Code 中的用法
当用户调用此技能时,Claude 应:
- 解析输入中的模型规格(例如,
--model gpt-4o) - 使用内容和可选的模型参数调用技能
- 如有需要,等待选择提供商/模型
- 执行并返回结果
- 对于交互模式,保持对话循环
错误处理
- 如果没有可用的提供商:建议安装 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