ShellGPT

ShellGPT

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

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

ShellGPT命令行工具GPT-4交互终端对话开源项目Github

ShellGPT

[ <img src="https://github.com/mattvr/ShellGPT/assets/4052466/9ba871c8-451c-4178-9035-645142b617d9" /> Discord ] · [ <img src="https://user-images.githubusercontent.com/4052466/230916740-3ca70970-67fd-45f2-9a22-c0e51e4292fc.svg" /> 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"

编辑推荐精选

潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

下拉加载更多