Skip to main content

Chat with LLM in your terminal, be it shell generator, story teller, linux-terminal, etc.

Project description

ShellGPT

Chat with LLM in your terminal, be it shell generator, story teller, linux-terminal, etc.

Install

pip install -U shgpt

Or install latest version

pip install --force-reinstall -U git+https://github.com/jiacai2050/shellgpt.git

This will install two commands: sg and shellgpt, which are identical.

After install, use sg --init to create required directories(mainly ~/.shellgpt).

Usage

ShellGPT has three modes to use:

  • Direct mode, sg [question] or pipeline like echo question | sg.
  • REPL mode, sg -r, chat with LLM.
  • TUI mode, sg -t, tailored for infer shell command.

Model

By default, shellgpt uses Ollama as its language model backend, requiring installation prior to usage.

Alternatively, one can set up shellgpt to utilize OpenAI compatible API endpoints:

export SHELLGPT_API_URL=https://api.openai.com
export SHELLGPT_API_KEY=<token>
export SHELLGPT_MODEL='gpt-3.5-turbo'

# or Cloudflare Worker AI
export SHELLGPT_API_URL=https://api.cloudflare.com/client/v4/accounts/<account-id>/ai
export SHELLGPT_API_KEY=<token>
export SHELLGPT_MODEL='@cf/meta/llama-3-8b-instruct'

See conf.py for more configs.

TUI

There are 3 key bindings to use in TUI:

  • ctrl+j, Infer answer
  • ctrl+r, Run command
  • ctrl+y, Yank command

TUI screenshot

System contents

There are some built-in system contents in shellgpt:

  • default, used for ask general questions
  • typo, used for correct article typos.
  • slug, used for generate URL slug.
  • code, used for ask programming questions
  • shell, used for infer shell command
  • commit, used for generate git commit message, like git diff | sg -c commit

Users can define their own content in ~/.shellgpt/contents.json, it a JSON map with

  • key being content name and
  • value being content body

Or you can just copy contents.json to play with, it's generated from Awesome ChatGPT Prompts.

$ sg -c linux-terminal pwd
/home/user

$ sg -c javascript-console 0.1 + 0.2
0.3

Users can share their customized contents in discuss section.

License

GPL-3.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shgpt-0.5.1.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

shgpt-0.5.1-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file shgpt-0.5.1.tar.gz.

File metadata

  • Download URL: shgpt-0.5.1.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.0

File hashes

Hashes for shgpt-0.5.1.tar.gz
Algorithm Hash digest
SHA256 0524c743577764e30b99d893f540afc4f5f876df1aa87dad4511f1245f10b66a
MD5 fb4719e3f07e4dcb5a1cdbfad5eae3a4
BLAKE2b-256 51be54806d3c62df570f4545bb1527f0ececf9c190c3163d615766b430a25f0c

See more details on using hashes here.

File details

Details for the file shgpt-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: shgpt-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.0

File hashes

Hashes for shgpt-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e15672d2c7e2057fbc61ee384cfabf776f0b73e3c27fb0ea11026c72eaa54343
MD5 c69fafaf6b4f47ecf4e76ce10d6ce9f3
BLAKE2b-256 ba4b58dbadee24f5e5c244b8e8192623ad7f6ac7eb9c2ed27ff7c67c3b9a27a2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page