7 个版本
0.1.0 |
|
---|---|
0.0.20 | 2023 年 3 月 22 日 |
#1 in #gpt-3
每月 123 次下载
48KB
780 行
gpt-cli
Linux 终端中 GPT3 集成,具有跳过描述和其他可读性差的废话的杀手级提示。它显示可以执行的命令 ENTER
。
示例
你输入
p show me my graphic cards
你将看到
lspci -k | grep -A 2 -E "(VGA|3D)"
在 ENTER
之后,你将看到
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
Subsystem: CLEVO/KAPOK Computer Device 65f5
Kernel driver in use: i915
--
01:00.0 VGA compatible controller: NVIDIA Corporation GA106M [GeForce RTX 3060 Mobile / Max-Q] (rev a1)
Subsystem: CLEVO/KAPOK Computer Device 67f5
Kernel driver in use: nvidia
每天更加强大
从 v0.0.8 版本开始,它支持上下文覆盖。默认系统上下文是
想象你是一个 Linux 终端命令选择器。我将描述任务,而你将只使用 Linux 命令进行响应,不带描述,不带解释。
默认后处理模式是 confirm
。它显示答案并询问是否执行。
但您也可以在其他用例中使用它。用于翻译文本
GPT_SYSTEM_PROMPT="I am translator from polish to english. I need to translate this text." GPT_POST=copy p Witaj świecie
您可以将它重定向到文件,并设置以下环境变量为永久。
export GPT_SYSTEM_PROMPT="I am translator from polish to english. I need to translate this text."; export GPT_POST=out;
然后使用
p "$(cat polish.txt)" > english.txt
返回默认设置
unset GPT_SYSTEM_PROMPT; unset GPT_POST
可能的值
GPT_SYSTEM_PROMPT
-任何解释 gpt3 如何行为的字符串。GPT_POST
- confirm - 默认,将在终端中询问是否执行输出
- copy - 将您的答案复制到终端剪贴板
- out - 将答案打印到标准输出 - 有助于进一步处理
安装
有几个选项
Shell
wget -qO- https://raw.githubusercontent.com/gustawdaniel/gpt-cli/main/install.sh | bash
它将在 /usr/local/bin
中保存 gpt-cli
和别名 p
,因此它需要 sudo。
Cargo
cargo install gpt-cli
ln -s ~/.cargo/bin/gpt-cli ~/.cargo/bin/p
Docker
alias p="docker run -v ~/.gpt-cache.json:/.gpt-cache.json -e GPT3_API_KEY=${GPT3_API_KEY} gustawdaniel/gpt-cli"
在 Docker 中,您不能使用 GPT_POST
标志,并且它自动设置为 out
。这意味着您不能通过 ENTER
确认命令,并且命令将不会复制到您的剪贴板。
从源代码安装
git clone https://github.com/gustawdaniel/gpt-cli && cd gpt-cli
cargo build --release
sudo cp ./target/release/gpt-cli /usr/local/bin/p
配置
将您的 GPT3_API_KEY
复制到环境变量。您的 .profile
、.bashrc
或 .zshrc
文件。
export GPT3_API_KEY=sk-xxx
您需要输入自己的 OpenAI API 密钥。以下是如何获取一个的方法
- 前往 https://openai.com/api/login
- 创建账户或登录到您现有的账户
- 前往 https://platform.openai.com/account/api-keys 或
价格:$0.002 每个令牌
。单条命令大约50个令牌。所以1美元的价格大约有 10.000
条命令。在 gpt-3.5-turbo
之前的模型工具成本是10倍。
用法
你在终端输入的内容 | 你可以通过按“ENTER”键执行的答案 |
---|---|
显示显卡信息 | lspci -k | grep -A 2 -E "(VGA|3D)" |
使用jq命令通过连字符连接包名和版本 | jq '.name + "-" + .version' |
使用最高内存使用率的三个进程 | ps aux --sort=-%mem | head -n 4 |
备份名为docs的mysql数据库 | mysqldump docs > docs_backup.sql |
设置配置了typescript的jest | npm install --save-dev jest @types/jest ts-jest |
生成ed密钥 | openssl genpkey -algorithm ed25519 -out privatekey.key |
显示以base64编码的Cargo.toml的内容 | base64 Cargo.toml |
显示以base64编码的Cargo.toml的内容,单行显示 | cat Cargo.toml | base64 -w 0 |
显示每秒更新的计时器 | watch -n 1 date +%T |
从10到15的数值范围 | seq 10 15 |
在文件env.conf中替换所有以"CFG_"开头的行到以"CONFIG_"开头的行 | sed -i 's/^CFG_/CONFIG_/g' env.conf |
写一行代码来检测文件中的电子邮件 | grep -Eio '\b[A-Za-z0-9._%+-]+@A-Za-z0-9.-+.[A-Z|a-z]{2,}\b' filename |
crontab行,每周一晚上7点执行/bin/task | 0 19 * * 1 /bin/task |
逐一运行rust测试 | cargo test -- --test-threads=1 |
我是谁,我是否仍然需要 | whoami 和是的,你仍然需要。 <-- 哈哈,这是一个真实的GPT3回答 |
功能
- 交互式命令
- 颜色
- 实时流
- 覆盖系统上下文(
GPT_SYSTEM_PROMPT
环境变量) - 确认、复制和标准输出模式(
GPT_POST
环境变量) - 易于安装(进行中)
- 从源代码编译
- 像nvm一样通过bash安装
- docker
- snap
- aur
- apt
- dnf
异常
如果命令包含 export
或 $
,则无法从子进程正确传递到父进程。因此,应用了回退机制,如果需要通过确认执行这些命令,则将它们复制。
示例
p change terminal language to english
Text 'export LANG=en_US.UTF-8' was copied to your clipboard
p show my current shell
Text 'echo $SHELL' was copied to your clipboard
约束
当然,GPT3没有幽默感...
p say mooo as cow that have colors of rainbow
将不会工作。正确的答案是
cowsay mooo | lolcat
对于
p show my train in terminal
答案是
Sorry, I do not understand. Can you please provide more details about what you want me to do?
而不是
sl
星历史
替代方案
Stars于2023年3月14日更新
本项目 | |
---|---|
语言 | rust |
易于安装 | 否(进行中) |
流式传输 | 是 |
Stars | 4 |
发布 | 13-03-2023 |
最后更新 | 14-03-2023 |
引擎 | gpt-3.5-turbo |
目标 | 如果你不记得CLI命令,节省输入CLI命令的时间 |
gpt3-cli | https://github.com/CrazyPython/gpt3-cli |
---|---|
语言 | python |
易于安装 | medium |
流式传输 | 是 |
Stars | 50 |
发布 | 23-03-2021 |
最后更新 | 22-04-2021 |
引擎 | 所有在gpt-3.5-turbo之前的 |
目标 | OpenAI的GPT-3的轻量级命令行界面。 |
ai-cli | https://github.com/abhagsain/ai-cli |
---|---|
语言 | typescript |
易于安装 | 是 |
流式传输 | 否 |
Stars | 935 |
发布 | 15-11-2022 |
最后更新 | 09-12-2022 |
引擎 | 所有在gpt-3.5-turbo之前的 |
目标 | 从终端获取GPT3的CLI命令答案 |
heygpt | https://github.com/fuyufjh/heygpt |
---|---|
语言 | rust |
易于安装 | 是 |
流式传输 | 是 |
Stars | 40 |
发布 | 06-03-2023 |
最后更新 | 12-03-2023 |
引擎 | gpt-3.5-turbo |
目标 | ChatGPT API 的简单常用命令行界面。 |
caos | https://github.com/dabumana/caos |
---|---|
语言 | go |
易于安装 | 否 |
流式传输 | 否 |
Stars | 5 |
发布 | 22-01-2023 |
最后更新 | 13-03-2023 |
引擎 | 所有在gpt-3.5-turbo之前的 |
目标 | 为 OpenAI 服务提供高级、可配置的对话助手。 |
gptsh | https://github.com/shorwood/gptsh |
---|---|
语言 | javascript |
易于安装 | 是 |
流式传输 | 否 |
Stars | 99 |
发布 | 27-12-2020 |
最后更新 | 18-01-2022 |
引擎 | 所有在gpt-3.5-turbo之前的 |
目标 | 将自然语言问题和请求转换为 shell 命令。 |
rusty | https://github.com/zahidkhawaja/rusty |
---|---|
语言 | rust |
易于安装 | 否 |
流式传输 | 否 |
Stars | 272 |
发布 | 05-09-2022 |
最后更新 | 07-02-2023 |
引擎 | text-davinci-003 |
目标 | 帮助您记住 bash 命令。 |
cgpt | https://github.com/MagicCube/cli-gpt |
---|---|
语言 | typescript |
易于安装 | 是 |
流式传输 | 否 |
Stars | 18 |
发布 | 07-03-2023 |
最后更新 | 15-03-2023 |
引擎 | gpt-3.5-turbo |
目标 | 使用 ChatGPT 将人类语言翻译成命令行。 |
linux-command-gpt | https://github.com/asrul10/linux-command-gpt |
---|---|
语言 | go |
易于安装 | 否 |
流式传输 | 是 |
Stars | 54 |
发布 | 12-03-2023 |
最后更新 | 19-03-2023 |
引擎 | gpt-3.5-turbo |
目标 | 利用 ChatGPT 的力量,用自然语言获取 Linux 命令。 |
GNU 与 MUSL 版本
在编译过程中,您可以使用静态链接(musl)或动态链接(gnu)。要使用 terminal-clipboard
,需要动态链接,但它只能在典型的使用 libc 的 Linux 系统上运行。为了使 Docker 镜像小巧(12 MB),提供了 musl
版本。
因此,为了能够使用所有功能(支持 GPT_POST=copy),建议使用标准的 gnu
,但如果您需要 Docker 或在 Alpine 上运行,则使用 musl
。
支持
我正在寻找具有 rust + typescript + 高级数学的具有挑战性的远程工作,因此如果您欣赏这个项目,您可以分享它,留下星标,并推荐我获得就业佣金。
依赖关系
~10–26MB
~429K SLoC