ShellGPT: 用自然语言操作命令行 | 开源CLI软件

软件名称

ShellGPT

应用平台

几乎全平台 (依赖 Python 环境)

推荐类型

【用户自荐】

简介

今天发现一个有趣的项目 ShellGPT | 中文介绍

简单说可以让你在 命令行 里面使用 chatgpt , 需要自己提供 API key 或者自己搭建的本地 LLM 模型

体验下来, 我觉得它能实现的最好用的功能是 自然语言操作命令行 , 很适合我这种又菜又爱玩又经常记不住命令用法的人。提问完得到的命令可以一键执行, 免去了在 浏览器, 终端软件的 窗口来回切换复制粘贴切换中英文输入法 等过程, 体验非常丝滑

使用截图

安装使用

用起来也很简单, 有 Python 环境的话, 使用 pip 即可安装

pip install shell-gpt

装好后先在 shell 输入 sgpt 回车, 然后输入 key 就能用了
~/.config/shell_gpt/.sgptrc 有更具体的配置项目, 可以指定gpt模型或者更换api服务器域名什么的, 个人觉得 GPT3.5 的模型完全够用 (项目默认用 GPT4)

我用的最多的命令:

sgpt 你的提问语句        #直接提问, 如果提问语句有空格记得用'引号'包起来
sgpt -s 需要生成的命令   #我最喜欢的功能 -s 是 --shell 的缩写

直接写需要生成的命令 #然后按Ctrl+L键 可以直接生成命令 
#需要安装 Shell integration, 这是 bash, zsh 限定的功能

还有很多用法, 详情看官方项目主页

官方简介

一个由 AI 大型语言模型(LLM)驱动的命令行生产力工具。该命令行工具提供了对 shell 命令、代码片段、文档 的简化生成,消除了对外部资源(如 Google 搜索)的需求。支持 Linux、macOS、Windows,并与 PowerShell、CMD、Bash、Zsh 等主要 Shell 兼容。

相关链接

项目主页: GitHub - TheR1D/shell_gpt: A command-line productivity tool powered by AI large language models like GPT-4, will help you accomplish your tasks faster and more efficiently.

我翻译的: shell_gpt/README.md at README-zh.md · DBinK/shell_gpt · GitHub

运行 sgpt --help 后输出的内容
 $ sgpt --help

 Usage: sgpt [OPTIONS] [PROMPT]

╭─ Arguments ───────────────────────────────────────────────────────────────────────────────╮
│   prompt      [PROMPT]  The prompt to generate completions for.                           │
╰───────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ─────────────────────────────────────────────────────────────────────────────────╮
│ --model                         TEXT                       Large language model to use.   │
│                                                            [default: gpt-3.5-turbo]       │
│ --temperature                   FLOAT RANGE [0.0<=x<=2.0]  Randomness of generated        │
│                                                            output.                        │
│                                                            [default: 0.0]                 │
│ --top-p                         FLOAT RANGE [0.0<=x<=1.0]  Limits highest probable tokens │
│                                                            (words).                       │
│                                                            [default: 1.0]                 │
│ --md             --no-md                                   Prettify markdown output.      │
│                                                            [default: md]                  │
│ --editor         --no-editor                               Open $EDITOR to provide a      │
│                                                            prompt.                        │
│                                                            [default: no-editor]           │
│ --cache          --no-cache                                Cache completion results.      │
│                                                            [default: cache]               │
│ --version                                                  Show version.                  │
│ --help                                                     Show this message and exit.    │
╰───────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Assistance Options ──────────────────────────────────────────────────────────────────────╮
│ --shell           -s                        Generate and execute shell commands.          │
│ --interaction         --no-interaction      Interactive mode for --shell option.          │
│                                             [default: interaction]                        │
│ --describe-shell  -d                        Describe a shell command.                     │
│ --code            -c                        Generate only code.                           │
│ --functions           --no-functions        Allow function calls. [default: functions]    │
╰───────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Chat Options ────────────────────────────────────────────────────────────────────────────╮
│ --chat                 TEXT  Follow conversation with id, use "temp" for quick session.   │
│                              [default: None]                                              │
│ --repl                 TEXT  Start a REPL (Read–eval–print loop) session. [default: None] │
│ --show-chat            TEXT  Show all messages from provided chat id. [default: None]     │
│ --list-chats  -lc            List all existing chat ids.                                  │
╰───────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Role Options ────────────────────────────────────────────────────────────────────────────╮
│ --role                  TEXT  System role for GPT model. [default: None]                  │
│ --create-role           TEXT  Create role. [default: None]                                │
│ --show-role             TEXT  Show role. [default: None]                                  │
│ --list-roles   -lr            List roles.                                                 │
╰───────────────────────────────────────────────────────────────────────────────────────────╯

另外推荐一家 OpenAI API Key 代理商 (这不是软广), 前些天去充官方的怎么也充不上, 就找到了这家叫 CloseAI 的。看了一下, 价格基本和官方持平, 国内可直连, 可用国内支付方式。这几点真的让我省心太多了, 有需要的朋友可以走我的 aff 邀请链接注册。

如果是用这种第三方服务商, ShellGPT 需要在 .sgptrc 更改 base_url 的参数为服务商的域名。记得加上 /v1 , 比如: https://api.example.com/v1以及不要一次冲太多钱, 也不排除它会有倒闭跑路的可能性:rofl:

1 个赞

这个东西,有点酷啊。

shell 终于被革命了,哦不,智能了。

1 个赞

AIChat 也同样支持自然语言操作命令行。采用 Rust 编写,单个可执行文件,全平台通用。它更是支持 10 多个 AI 平台 (如 OpenAI(ChatGPT), Gemini, Claude, Mistral, LocalAI, Ollama, VertexAI, 文心一言,通义千问等)。

1 个赞

哇,我试试