ShellGPT 是一个由大型语言模型(LLM)驱动的命令行生产力工具。它能够简化 shell 命令、代码片段和文档的生成过程,无需依赖外部资源(如 Google 搜索)。该工具支持 Linux、macOS 和 Windows 系统,并兼容所有主要的 Shell,如 PowerShell、CMD、Bash 和 Zsh 等。
用户可以通过 pip 安装 ShellGPT:
pip install shell-gpt默认情况下,ShellGPT 使用 OpenAI 的 API 和 GPT-4 模型。用户需要一个 API 密钥,可以在 OpenAI 的网站上生成。首次使用时,系统会提示输入密钥,并将其存储在 ~/.config/shell_gpt/.sgptrc 文件中。
值得注意的是,用户也可以选择使用本地托管的开源模型,这些模型是免费的。要使用本地模型,需要运行自己的 LLM 后端服务器,如 Ollama。
ShellGPT 设计用于快速分析和检索信息。它适用于从技术配置到一般知识的直接请求。例如:
sgpt "What is the fibonacci sequence"ShellGPT 接受来自标准输入和命令行参数的提示。用户可以通过管道传输输入或直接将其指定为参数。例如,可以轻松地根据 git diff 生成提交信息:
git diff | sgpt "Generate git commit message, for my changes"通过使用 --shell 或 -s 选项,用户可以快速生成并执行所需的 shell 命令。例如:
sgpt --shell "find all json files in current folder"ShellGPT 会根据用户的操作系统和使用的 shell 提供特定的命令。
使用 --code 或 -c 参数,用户可以专门请求纯代码输出。例如:
sgpt --code "solve fizz buzz problem using python"ShellGPT 提供了聊天模式,允许用户保持对话的连续性。使用 --chat 选项followed by a unique session name可以启动一个对话:
sgpt --chat conversation_1 "please remember my favorite number: 4"sgpt --chat conversation_1 "what would be my favorite number + 4?"REPL(读取-求值-打印循环)模式允许用户与 GPT 模型进行交互式对话。使用 --repl 选项可以启动 REPL 会话:
sgpt --repl tempShellGPT 支持函数调用,这是 OpenAI 提供的一个强大功能。用户可以定义自己的函数并让 LLM 执行它们,以完成各种任务。
用户可以创建自定义角色,用于生成代码、shell 命令或满足特定需求。使用 --create-role 选项可以创建新角色。
ShellGPT 提供了请求缓存功能,可以通过 --cache(默认)和 --no-cache 选项进行控制。
ShellGPT 是一个功能强大的命令行工具,它利用人工智能技术简化了许多日常任务。无论是生成 shell 命令、编写代码还是进行对话式交互,ShellGPT 都能为用户提供有价值的帮助。随着持续的开发和社区贡献,ShellGPT 有望成为开发者和系统管理员的得力助手。