推荐一个好用的命令行工具ShellGPT

推荐一个好用的命令行工具ShellGPT

💡 原文中文,约4200字,阅读约需10分钟。
📝

内容提要

ShellGPT是一个开源软件,可以帮助用户快速生成shell命令、代码片段和文档。它支持多种操作系统和主流Shell,并且可以与openai接口配合使用。ShellGPT的功能包括聊天、写命令并执行,以及函数调用和角色管理。它是一个功能强大的工具,可以提高编程和系统管理的效率。

🔎

延伸解读

ShellGPT 的配置要点与安全考量

ShellGPT 安装简单,但配置依赖 OpenAI API 密钥,需设置环境变量 OPENAI_API_KEY。配置文件 ~/.config/shell_gpt/.sgptrc 提供多项参数,如 DEFAULT_EXECUTE_SHELL_CMD 控制是否自动执行 shell 命令,作者建议设为 false,因为当前 GPT 生成的 shell 命令准确性有限,最好人工复核。此外,可调整 DEFAULT_MODEL 以节省成本,或修改 API_BASE_URL 使用兼容 OpenAI 接口的其他模型。

聊天功能的两种模式:单轮与多轮

ShellGPT 支持在命令行中与 GPT 交互。单轮聊天直接输入 sgpt "问题" 即可。若需多轮对话,可使用 --repl 参数开启循环响应模式,并指定自定义聊天 ID(如 chat1),后续可通过该 ID 继续对话。若不想进入循环模式,也可用 --chat 参数单次接续之前的聊天记录,方便在复杂问题中保持上下文。

命令生成与执行:便捷与风险并存

通过 sgpt -s "需求",ShellGPT 可生成对应的 shell 命令,并提示用户选择执行、解释或放弃。用户确认后命令直接运行,无需复制粘贴。若将 DEFAULT_EXECUTE_SHELL_CMD 设为 true,还可自动执行。但作者提醒,当前 GPT 生成的命令准确性有限,建议保持人工复核,避免误操作。

高级功能:函数调用与角色管理

ShellGPT 允许 LLM 调用系统函数,实现更复杂操作,如播放音乐、打开网页。在 macOS 下,执行 sgpt --install-functions 可安装官方函数,也可在 ~/.config/shell_gpt/functions 自定义。角色管理类似 OpenAI 的 GPTS,通过 --create-role 创建自定义角色,存储于 ~/.config/shell_gpt/roles,使用 --role 指定角色执行指令,例如将时间戳转换为可读格式。

❓

Q&A

ShellGPT是什么?

ShellGPT是一个开源软件,帮助用户快速生成shell命令、代码片段和文档。

如何安装ShellGPT?

可以通过命令pip install shell-gpt简单安装,但配置相对复杂,需要设置openai的API KEY。

ShellGPT支持哪些操作系统和Shell?

ShellGPT支持Linux、macOS、Windows等操作系统,并兼容PowerShell、CMD、Bash、Zsh等主流Shell。

ShellGPT的聊天功能是如何工作的?

用户可以在命令行中与GPT进行单轮或多轮聊天,使用sgpt命令即可实现。

ShellGPT如何执行生成的命令?

用户可以通过sgpt命令生成并确认执行shell命令,甚至可以设置自动执行。

ShellGPT的角色管理功能有什么用?

角色管理功能允许用户创建自定义角色,以满足特定需求,如生成代码或执行命令。

🏷️

标签

➡️

继续阅读