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"

编辑推荐精选

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

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

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

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

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

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

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

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

iTerms

iTerms

企业专属的AI法律顾问

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

SimilarWeb流量提升

SimilarWeb流量提升

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

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

Sora2视频免费生成

Sora2视频免费生成

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

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

下拉加载更多