ShellGPT:一款基于人工智能的命令行生产力工具
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 命令生成
通过使用 --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 模式
REPL(读取-求值-打印循环)模式允许用户与 GPT 模型进行交互式对话。使用 --repl
选项可以启动 REPL 会话:
sgpt --repl temp
函数调用
ShellGPT 支持函数调用,这是 OpenAI 提供的一个强大功能。用户可以定义自己的函数并让 LLM 执行它们,以完成各种任务。
角色定制
用户可以创建自定义角色,用于生成代码、shell 命令或满足特定需求。使用 --create-role
选项可以创建新角色。
请求缓存
ShellGPT 提供了请求缓存功能,可以通过 --cache
(默认)和 --no-cache
选项进行控制。
结语
ShellGPT 是一个功能强大的命令行工具,它利用人工智能技术简化了许多日常任务。无论是生成 shell 命令、编写代码还是进行对话式交互,ShellGPT 都能为用户提供有价值的帮助。随着持续的开发和社区贡献,ShellGPT 有望成为开发者和系统管理员的得力助手。