easy-llm-cli 是一个开源的命令行工具,基于 Google 的 Gemini CLI 开发,旨在帮助开发者通过简单命令调用多种大语言模型(LLM)。它支持 OpenAI、Gemini、Claude 等多种模型的 API,兼容任何遵循 OpenAI API 格式的模型。用户可以通过终端快速生成文本、分析代码、处理多模态输入(如图片或 PDF),甚至自动化复杂开发任务。工具轻量、模块化,支持自定义配置,适合开发者在本地或生产环境中使用。项目托管在 GitHub 上,社区活跃,文档详尽,易于上手。
功能列表
- 支持多种大语言模型,包括 Gemini、OpenAI、Claude、Qwen 等。
- 提供命令行接口,快速生成文本、回答问题或处理输入。
- 支持多模态输入,可分析图片、PDF 等非文本内容。
- 提供代码分析功能,生成代码注释或总结代码库变更。
- 支持自动化工作流,如处理 Git 提交、生成报告或图表。
- 允许自定义模型配置,通过环境变量灵活切换 LLM 提供商。
- 支持 MCP 服务器,连接外部工具以扩展功能。
- 开源项目,支持社区贡献和本地部署。
使用帮助
安装流程
要在本地使用 easy-llm-cli,需要完成以下安装步骤。确保你的系统满足最低要求:Node.js 20 或更高版本。
- 安装 Node.js
访问 Node.js 官网 下载并安装 Node.js(建议版本 20.x 或更高)。运行以下命令检查版本:node -v
2. **快速运行 CLI**
无需克隆仓库,可直接通过 npx 运行:
```bash
npx easy-llm-cli
这会自动下载并启动工具,适合快速试用。
3. 全局安装(推荐)
如果你计划长期使用,建议全局安装:
npm install -g easy-llm-cli
安装完成后,运行以下命令启动:
elc
- 从源码安装(可选)
如果需要自定义或贡献代码,可以克隆仓库:git clone https://github.com/ConardLi/easy-llm-cli.git cd easy-llm-cli npm install npm run start
- 配置 API 密钥
easy-llm-cli 需要配置 LLM 提供商的 API 密钥。例如,使用 OpenAI 的 API:export CUSTOM_LLM_PROVIDER="openai" export CUSTOM_LLM_API_KEY="sk-xxxxxxxxxxxxxxxxxxxx" export CUSTOM_LLM_ENDPOINT="https://api.openai.com/v1" export CUSTOM_LLM_MODEL_NAME="gpt-4o-mini"
将
sk-xxxxxxxxxxxxxxxxxxxx
替换为你的实际密钥。你可以在.bashrc
或.zshrc
中添加这些命令以持久化配置。 - Docker 安装(可选)
如果你更喜欢容器化部署,可以使用 Docker:docker build -t easy-llm-cli . docker run -d -p 1717:1717 --name easy-llm-cli easy-llm-cli
确保端口
1717
未被占用。
主要功能操作
easy-llm-cli 的核心是通过命令行调用大语言模型,完成文本生成、代码分析和自动化任务。以下是详细的操作说明:
1. 文本生成
运行以下命令生成文本:
elc "写一篇 200 字的 Python 简介"
- 操作说明:
elc
是工具的启动命令,后接提示词。默认使用配置的模型(例如 Gemini 或 OpenAI)。你可以通过环境变量切换模型。 - 输出:模型返回 200 字的 Python 简介,格式清晰。
2. 代码分析
在项目目录中运行以下命令,分析代码库:
cd my-project
elc "总结昨天的 Git 提交记录"
- 操作说明:工具会扫描当前目录的 Git 历史,生成提交记录的总结。
- 输出:返回按时间或功能分组的提交说明。
3. 多模态输入
easy-llm-cli 支持处理图片或 PDF。例如,提取 PDF 中的文本:
elc "提取 PDF 中的文本" -f document.pdf
- 操作说明:
-f
参数指定文件路径。支持的格式包括 PDF 和图片(JPEG、PNG 等)。 - 输出:返回提取的文本内容。
4. 自动化工作流
通过 MCP 服务器,工具可以连接外部系统。例如,生成 Git 历史图表:
elc "生成过去 7 天的 Git 提交柱状图"
- 操作说明:需要配置 MCP 服务器(如
@antv/mcp-server-chart
)。工具会调用模型生成图表数据,并通过 MCP 渲染。 - 输出:返回柱状图数据或可视化结果。
5. 自定义模型配置
你可以通过环境变量切换到其他模型,例如 Claude:
export CUSTOM_LLM_PROVIDER="openrouter"
export CUSTOM_LLM_API_KEY="your-openrouter-key"
export CUSTOM_LLM_MODEL_NAME="claude-sonnet-4"
elc "分析这段代码的功能" < myfile.py
- 操作说明:设置环境变量后,运行命令即可切换模型。
- 输出:返回 Claude 模型对代码的分析。
特色功能操作
1. 多模态支持
easy-llm-cli 支持处理图片、PDF 等多模态输入。例如,生成应用草稿:
elc "根据 sketch.jpg 生成 Web 应用代码" -f sketch.jpg
- 操作说明:上传设计草图,模型会生成对应的 HTML/CSS/JavaScript 代码。
- 输出:返回完整的 Web 应用代码框架。
2. 自动化任务
工具可以处理复杂的开发任务。例如,自动化 Git 操作:
elc "处理 GitHub Issue #123 的代码实现"
- 操作说明:工具会读取 Issue 描述,生成实现代码并提交 Pull Request。
- 输出:返回生成的代码和 PR 链接。
3. 程序化集成
开发者可以将 easy-llm-cli 集成到代码中。例如,使用 Node.js:
import { ElcAgent } from 'easy-llm-cli';
const agent = new ElcAgent({
model: 'gpt-4o-mini',
apiKey: 'your-api-key',
endpoint: 'https://api.openai.com/v1'
});
const result = await agent.run('生成销售数据的柱状图');
console.log(result);
- 操作说明:通过
ElcAgent
类调用模型,适合嵌入到自动化脚本中。 - 输出:返回处理结果,例如图表数据。
注意事项
- 确保 API 密钥有效,且网络连接稳定。
- 多模态功能需要模型支持(见官方测试表格)。例如,Gemini-2.5-pro 和 GPT-4.1 支持多模态,而部分模型如 DeepSeek-R1 不支持。
- 运行复杂任务时,检查
CUSTOM_LLM_MAX_TOKENS
是否足够(默认 8192)。 - 如果遇到问题,查看 troubleshooting 文档 或运行:
elc logs
应用场景
- 代码库分析
开发者可以在新项目中运行elc "描述系统架构"
,快速理解代码结构,适合接手陌生项目。 - 生成应用原型
设计师上传草图或 PDF,运行elc "生成 Web 应用"
,快速得到可运行的代码原型。 - 自动化 DevOps 任务
DevOps 工程师可以运行elc "生成最近 7 天的 Git 提交报告"
,自动整理团队工作进展。 - 文档处理
研究人员可以用elc "提取 PDF 中的关键信息" -f paper.pdf
,快速整理学术文档内容。
QA
- easy-llm-cli 支持哪些模型?
支持 Gemini、OpenAI、Claude、Qwen 等多种模型,以及任何遵循 OpenAI API 格式的自定义模型。详见官方测试表格。 - 如何处理多模态输入?
使用-f
参数上传图片或 PDF,例如elc "提取文本" -f file.pdf
。确保模型支持多模态(例如 Gemini-2.5-pro)。 - 是否需要付费 API?
远程模型需要有效的 API 密钥(例如 OpenAI 或 OpenRouter 的付费密钥)。本地模型如 Qwen2.5-7B-Instruct 无需额外费用。 - 如何调试错误?
运行elc logs
查看日志,或访问 troubleshooting 文档 获取帮助。