Project Icon

ShellGPT

终端中与GPT-4交互的强大命令行工具

ShellGPT是一款基于终端的命令行工具,支持与GPT-4进行长篇对话。该工具提供shell命令执行、输入输出管道和聊天历史管理等功能,还能生成图像、嵌入向量和自定义语言输出。ShellGPT采用Deno构建,具有良好的性能和安全性,适用于日常任务和编程辅助等多种场景。

ShellGPT

[ Discord ] · [ Introducing ShellGPT ]

A command-line tool that allows you to interact with GPT-4 directly from your terminal, including long form conversations via chat

https://github.com/mattvr/ShellGPT/assets/4052466/4a72a1b2-2d60-44ff-b491-8057146d71ae

Basic Usage

To use ShellGPT, simply run the command with your input message:

gpt "What is the meaning of life, the universe, and everything?"
# ... often humorously said to be the number 42 ...

You can also run shell commands with -x:

gpt -x "Undo my last git commit"
# git reset HEAD~1
# Are you SURE you wish to run the above command? (y/N): y

gpt -x "Download the wikipedia page for Capybaras with all images"
# wget -r -l 1 -H -t 1 -nd -N -np -A jpg,jpeg,gif,png -erobots=off https://en.wikipedia.org/wiki/Capybara

And pipe input and output, transforming files and commands (pass - to accept stdin):

cat mod.ts | gpt "Generate a helpful README file for this project" - > README.md

cat crash.log | gpt "Why is this crash occurring?" -

gpt "Output a CSV of 10 notable cities in Japan with their name in English & Japanese plus a fun fact enclosed in quotes" > japan.csv

Chat with gpt from the terminal

gpt --repl

> hello there
Hello! How can I assist you today?

>

Installation

  1. Install the Deno runtime.

  2. Run the following command to install ShellGPT:

deno run -rA https://deno.land/x/shellgpt/install.ts
  1. Ensure $HOME/.deno/bin is in your PATH.
export PATH="$HOME/.deno/bin:$PATH"

You can now use gpt [my request] - or whatever you named the script during installation

That's it!

Note: If you add that export line to your .bashrc or .zshrc (or equivalent), remember restarting your shell to get the updated PATH

Configuration

You must set the OPENAI_API_KEY environment variable in your current shell, using a key obtained from https://platform.openai.com/account/api-keys:

export OPENAI_API_KEY=...

You can also set OPENAI_CHAT_URL if you'd like to target a different OpenAI-compatible API endpoint (e.g. Local Llama, Anthropic, etc.).

To configure the specific ChatGPT model, system prompt used, and more, you can type gpt --config

Commands and Arguments

Global Commands

These commands are used for general ShellGPT-wide operations.

ArgumentAliasDescription
--helpShow help
--config--cfgConfigure the model and system prompt
--updateUpdate ShellGPT to the latest version
--history-hList all past conversations

Chat Commands

These commands are for specific chats, either new or existing.

ArgumentAliasDescription
-Read from stdin
--continue--cont, -cContinue the last conversation
--exec-xRun the output as a shell command
--codeReturns code as the response
--name-nName of chat from history to operate the command on
--descSort the history entries in descending order
--replEnters a REPL mode with continuous chat
--retry-rRegenerate the last assistant message
--rewrite--rw, -wRewrite the last user message & regenerate response
--print-pPrint the last message in the conversation
--popRemove the last message in the conversation
--slice-sRemove the first message in the conversation
--dump-dDump the entire chat history
--fast-fUse the GPT-3.5-turbo model
--system--sysSet a system prompt or context
--temperature--temp, -tControl the model's creativity
--wpmWords per minute, control the speed of typing output
--max_tokens--maxMaximum number of tokens to generate
--model-mManually use a different OpenAI model
--debugPrint OpenAI API information
--langSets written or programming language of output
--dimsSets the dimensions of the embedding (--embed only)

Other Commands

These commands perform non-textual tasks.

ArgumentAliasDescription
--img-iRespond with a generated image URL instead of text
--embedRespond with a vector embedding of the input string

Features

Shell-GPT has some useful and unique features:

  • Execute shell commands with a confirmation step (just pass -x).
  • Supports input/output piping for simple file creation and transformation (see Basic Usage).
  • Utility commands for convenient chat history viewing and editing.
  • Smooth, streaming output, resembling human typing rather than delayed or choppy responses.
  • Supports generating images, embeddings, and configurable languages.
  • Built in Deno for better performance, granular permissions, and easier script modification.

Examples

Continuing the conversation:

gpt "Give me 5 examples of auto-antonyms"
# Sanction, Bolt, Peruse, Trim, Overlook

gpt -c "Give 5 more"
# Cleave, Dust, Weather, Consult, Off

Regenerating the last assistant message:

gpt "Generate a tweet from the perspective of a cat"
# "Just spent 5 hours napping and now I can't decide if I should eat, stare out the window, or nap some more. #CatLife 🐾😽💤" ...

gpt -r
# Just knocked my hooman's coffee off the counter again... you'd think they'd learn by now nothing is safe at paw level 😹 #LivingLifeOnTheEdge #NineLives

Viewing and resuming past conversation history:

gpt --history
# shellgpt-demo-chat
# cat-tweets
# ...

gpt --history --desc
# ...
# cat-tweets
# shellgpt-demo-chat
# ...

gpt --name "cat-tweets" "Generate more, please"

gpt --dump # Dumps latest entry in the history

Viewing a specific history entry:

gpt --dump --name "2024-04-11_09-52-56"

---

tell me a joke

---

Why couldn't the bicycle stand up by itself? Because it was two-tired!

Setting a system prompt and custom temperature:

gpt --temp 0.85 --max 250 --sys "An AI personal trainer" "What exercises should I do for leg day?"

Increasing the speed of the output using GPT-3.5-turbo and custom WPM:

gpt --fast --wpm 1500 "How can I improve my programming skills?"

Output an image:

gpt --img "a corgi wearing cashmere pants hacking into myspace.com"

Output a vector embedding:

gpt --embed "The quick brown fox jumped over the lazy dog." --dims=1024 --model=text-embedding-3-large

Interactive coding session:

gpt --code --repl "Write a typescript function that prints the first 100 primes"

Development

To develop gpt, first clone the repo, make sure you have the Deno runtime installed (see Installation instructions), and then you can run the code with:

deno run -A mod.ts

For example, if you want to run an interactive chat session, you can do:

deno run -A mod.ts --repl "Write outline for ShellGPT's README.md file"
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号