项目介绍:Magic CLI
Magic CLI 是一个命令行工具,旨在通过使用大型语言模型(LLM)来提高命令行使用效率。这个项目受到了 Amazon Q(旧称 Fig terminal) 和 GitHub Copilot for CLI 等项目的启发。Magic CLI 利用 orch 这个库来进行 LLM 交互,包括执行、编排和模型对齐等。
功能特色
Magic CLI 提供了一系列实用功能,包括:
-
命令建议:Magic CLI 可以根据输入提示给出运行命令的建议,适合不记得命令参数或顺序但知道大概方向的情况,尤其在使用像
ffmpeg
或kubectl
这样的 CLI 工具时。 -
命令生成:用户可以通过输入任务描述,让模型生成完成任务的命令,并在必要时进一步提示执行相应命令。
-
语义搜索:在用户的 shell 历史记录中进行命令的语义搜索,以帮助快速找到曾经使用过的命令。
-
本地或远程 LLM 支持:Magic CLI 支持使用本地或远程的大型语言模型,目前支持的供应商有 ollama 和 OpenAI。
安装方法
Magic CLI 提供了多种安装方式:
-
Shell:使用 curl 下载并安装。
curl -LsSf https://github.com/guywaldman/magic-cli/releases/download/0.0.6/magic-cli-installer.sh | sh
-
Homebrew:通过 Homebrew 软件包管理器安装。
brew install guywaldman/tap/magic-cli
-
PowerShell:在 PowerShell 中运行安装脚本。
powershell -c "irm https://github.com/guywaldman/magic-cli/releases/download/0.0.6/magic-cli-installer.ps1 | iex"
不仅如此,用户还可以在 releases 页面 上下载适合自己平台的二进制文件进行安装。
使用建议
用户可以通过在 ~/.bashrc
或 ~/.zshrc
中添加函数来简化终端中的提示格式。例如:
function mcs {
model_prompt="$*"
magic-cli suggest "$model_prompt"
}
配置管理
Magic CLI 的配置文件存储在 ~/.config/magic_cli/config.json
中,用户可通过 magic-cli config
命令进行配置管理,包括设置、获取、列出和重置配置项等。
未来规划
项目的未来计划包括:
- 增加 Windows 系统的支持。
- 支持更多的 LLM 提供商(如 Anthropic)。
- 改进本地嵌入索引的存储方式。
- 增加测试覆盖率。
安全与隐私
尽管 Magic CLI 重视安全性,但当前项目在用户家目录中处理的敏感数据包括 OpenAI API 密钥和 Shell 历史记录的嵌入数据。将来计划通过系统的安全密钥存储来处理这些敏感数据。
贡献指南
项目欢迎各种形式的贡献,希望贡献者在提交 pull request 之前能先与对应的问题相关联,以避免因为缺乏背景或必要性而不被接受。
Magic CLI 项目仍处于早期开发阶段,可能会有重大更改和 bug,欢迎用户反馈和帮助改进。