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

**URL:** <https://meta.appinn.net/t/topic/53654>\
**Category:** 发现频道\
**Tags:** linux, appinned, windows, chatgpt\
**Created:** [2024 年3 月 9 日 01:27 UTC](https://meta.appinn.net/t/topic/53654 "2024-03-09T01:27:48Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![DBin\_K](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/dbin_k/32/53444_2.png) [@DBin\_K](https://meta.appinn.net/u/DBin_K)\
**Post date:** [2024 年3 月 9 日 01:27 UTC](https://meta.appinn.net/t/topic/53654/1 "2024-03-09T01:27:49Z")

</div>

## 软件名称

**ShellGPT**

## 应用平台

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

## 推荐类型

【用户自荐】

## 简介

今天发现一个有趣的项目 [ShellGPT](https://github.com/TheR1D/shell_gpt) | [中文介绍](https://github.com/DBinK/shell_gpt/blob/README-zh.md/README.md)

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

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

## 使用截图

 ![Pasted image 20240309020846](https://meta-edge.appinn.com/uploads/default/original/3X/a/7/a721f621c3ca46c657bd01c9f60416b8530621d8.png)

## 安装使用

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

```shell
pip install shell-gpt

```

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

我用的最多的命令:

```shell
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.](https://github.com/TheR1D/shell_gpt)

我翻译的: [shell\_gpt/README.md at README-zh.md · DBinK/shell\_gpt · GitHub](https://github.com/DBinK/shell_gpt/blob/README-zh.md/README.md)

> **运行 sgpt --help 后输出的内容**
>
> ```auto
> $ 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](https://referer.shadowai.xyz/r/1004760) 邀请链接注册。

 ![Pasted image 20240309005515](https://meta-edge.appinn.com/uploads/default/original/3X/8/1/81f4eff1f2abda15cb977282bb835a8fb9837cea.png)

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

---

<div class="post-metadata">

**Author:** ![Qingwa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qingwa/32/58632_2.png) [@Qingwa](https://meta.appinn.net/u/Qingwa)\
**Post date:** [2024 年3 月 9 日 12:58 UTC](https://meta.appinn.net/t/topic/53654/2 "2024-03-09T12:58:42Z")

</div>

这个东西，有点酷啊。

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

---

<div class="post-metadata">

**Author:** ![sigoden](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/sigoden/32/24142_2.png) [@sigoden](https://meta.appinn.net/u/sigoden)\
**Post date:** [2024 年3 月 10 日 11:32 UTC](https://meta.appinn.net/t/topic/53654/3 "2024-03-10T11:32:05Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![DBin\_K](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/dbin_k/32/53444_2.png) [@DBin\_K](https://meta.appinn.net/u/DBin_K)\
**Post date:** [2024 年3 月 10 日 12:28 UTC](https://meta.appinn.net/t/topic/53654/4 "2024-03-10T12:28:02Z")

</div>

哇，我试试
