Skip to main content

Shell copilot - sh shell AI copilot

Project description

Shy.sh

Sh shell AI copilot

image_cover

Install

pip install shy-sh

Configure your LLM

shy --configure

Supported providers: openai, anthropic, google, groq, aws, ollama

Help

Usage: shy [OPTIONS] [PROMPT]...

Arguments prompt [PROMPT]

Options

  • -x Do not ask confirmation before executing scripts
  • -e Explain the given shell command
  • --configure Configure LLM
  • --push-config $name Backup current config
  • --pull-config $name Restore config from backup
  • --list-configs List available configs
  • --del-config $name Delete a config
  • --help Show this message and exit.

Settings

shy --configure
 Provider: ollama
 Model: llama3.2
 Agent Pattern: flow
 Temperature: 0.0
 Language: klingon
 Sandbox Mode: Yes

Configurable settings

  • Provider: The LLM provider to use [OpenAI, Anthropic, Google, Groq, AWS Bedrock, Ollama(local)].
  • API Key: The API key for the LLM provider. (Format for aws bedrock: region_name acces_key secret_key)
  • Model: The LLM model to use.
  • Agent Pattern: flow or react or function_call. It defines how the agent will interact with the LLM.
  • Temperature: The LLM model's temperature setting.
  • Language: The language for the LLM's final answers.
  • Sandbox Mode: When enabled, no commands or scripts will be executed on your system; you will only receive suggestions. This feature is recommended for beginners.

All the settings are saved in ~/.config/shy/config.yml

Examples

> shy find all python files in this folder

🛠️ find . -type f -name '*.py'

Do you want to execute this command? [Yes/no/copy/explain/alternatives]:

./src/chat_models.py
./src/agent/tools.py
./src/agent/__init__.py
./src/agent/agent.py
./src/settings.py
./src/main.py

🤖: Here are all the Python files found in the current folder and its subfolders.
> shy -x convert aaa.png to jpeg and resize to 200x200

🛠️ convert aaa.png -resize 200x200 aaa.jpg

🤖: I converted the file aaa.png to JPEG format and resized it to 200x200 pixels.
> shy resize movie.avi to 1024x768 and save it in mp4

🛠️ ffmpeg -i movie.avi -vf scale=1024:768 -c:v libx264 output.mp4

Do you want to execute this command? [Yes/no/copy/explain/alternatives]: c

🤖: Command copied to the clipboard!
> shy

✨: Hello, how are you?

🤖: Hello! I'm fine thanks

✨: how many files in this folder

🛠️ ls | wc -l

Do you want to execute this command? [Yes/no/copy/explain/alternatives]:

5

✨: exit

🤖: 👋 Bye!
> shy -e "find . -type f -name '*.py' | wc -l"

🤖: This shell command uses `find` to search for files (`-type f`) with the extension `.py` (`-name '*.py'`) in the current directory (`.`) and its subdirectories.
The results are then piped to `wc -l`, which counts the number of line.
In conclusion, the command presents the total count of Python files (*.py) located within the current directory and its subdirectories.

image_python

image_ascii

Chat commands

You can use these commands during the chat:

  • /chats to list all the chats
  • /clear to clear the current chat
  • /history to list the recent executed commands/scripts
  • /load [CHAT_ID] to continue a previous chat

Privacy

If you are not using Ollama as provider, please note that information such as the current path, your operating system name, and the last commands executed in the shell may be included in the LLM context.

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

shy_sh-1.3.1.tar.gz (23.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shy_sh-1.3.1-py3-none-any.whl (34.2 kB view details)

Uploaded Python 3

File details

Details for the file shy_sh-1.3.1.tar.gz.

File metadata

  • Download URL: shy_sh-1.3.1.tar.gz
  • Upload date:
  • Size: 23.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.11.13 Linux/6.11.0-1015-azure

File hashes

Hashes for shy_sh-1.3.1.tar.gz
Algorithm Hash digest
SHA256 d3e3d05d50b57de4ca493bac40f9a4cd4d2d8af7e55baace2f966155ce86da1e
MD5 66e7799a0c930177da7386afbabf6adb
BLAKE2b-256 ac229775dd426fa865e9d4853caeefb5cb5cf72663d8292dd9e6b100b7148c51

See more details on using hashes here.

File details

Details for the file shy_sh-1.3.1-py3-none-any.whl.

File metadata

  • Download URL: shy_sh-1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 34.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.11.13 Linux/6.11.0-1015-azure

File hashes

Hashes for shy_sh-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c543e140679ac95b4d6f8a09cd172cc6a9c9eb1d01cbf4359bb4db9c06e5fbd1
MD5 d98905d76d23bf406e5bda91a8709de0
BLAKE2b-256 2ce00e48cf088b992b12a37ce29f0513548e61a8480b7b80c0b9fbd8f9553afb

See more details on using hashes here.

Supported by

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