{"data":{"slug":"reid41-shell-pilot","name":"shell-pilot","tagline":"A lightweight shell script for interacting with various AI models from the terminal","github_url":"https://github.com/reid41/shell-pilot","owner":"reid41","repo":"shell-pilot","owner_avatar_url":"https://avatars.githubusercontent.com/u/25558653?v=4","primary_language":"Shell","stars":116,"forks":15,"topics":["deepseek","interact-with-system","linux","llm","localai","macos","mistral","mistralai","no-dependencies","ollama","openai","pure-shell","smart-cli-assistant","zhipu-api"],"archived":false,"github_pushed_at":"2025-01-28T01:52:46+00:00","maintenance_label":"Dormant","url":"https://www.graphcanon.com/tools/reid41-shell-pilot","markdown_url":"https://www.graphcanon.com/tools/reid41-shell-pilot.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/reid41-shell-pilot","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=reid41-shell-pilot","description":"A simple, lightweight shell script to interact with OpenAI or Ollama or Mistral AI or LocalAI or ZhipuAI from the terminal, and enhancing intelligent system management without any dependencies(pure shell).","homepage_url":null,"license":"MIT","open_issues":2,"watchers":3,"ai_summary":"Shell-Pilot is a simple, dependency-free tool that allows users to interact with different AI models like OpenAI and Ollama directly from their terminal without any external dependencies. It supports configuration via a shell script for parameters such as temperature and model selection.","readme_excerpt":"### Installation\n\n   - For setup `Ollama` environment, [Manual install instructions](https://github.com/ollama/ollama/blob/main/docs/linux.md), [ollama usage](https://github.com/ollama/ollama), and [Ollama model library](https://ollama.com/library)\n   ```sh\n   curl -fsSL https://ollama.com/install.sh | sh\n\n   ollama pull llama2  # used llama2 by default\n   ```\n\n   - For setup `LocalAI` environment, [Manual](https://localai.io/), and [LocalAI github](https://github.com/mudler/LocalAI)\n   ```sh\n   docker run -p 8080:8080 --name local-ai -ti localai/localai:latest-aio-cpu\n   # Do you have a Nvidia GPUs? Use this instead\n   # CUDA 11\n   # docker run -p 8080:8080 --gpus all --name local-ai -ti localai/localai:latest-aio-gpu-nvidia-cuda-11\n   # CUDA 12\n   # docker run -p 8080:8080 --gpus all --name local-ai -ti localai/localai:latest-aio-gpu-nvidia-cuda-12\n   ```\n\n   - To install, run this in your terminal and provide your OpenAI API key when asked.\n   \n   ```sh\n   curl -sS -o spilot_install.sh https://raw.githubusercontent.com/reid41/shell-pilot/main/spilot_install.sh\n   bash spilot_install.sh\n   ```\n\n   - Set your local `Ollama` server ip in configuration file `spilot_common.sh` if not set during the installation\n   ```sh\n   OLLAMA_SERVER_IP=<ollama server ip address>\n   ```\n\n   - You can also set the other parameters in `spilot_common.sh` before using.\n   ```sh\n   e.g.\n   TEMPERATURE=0.6\n   MAX_TOKENS=4096\n   MODEL_OPENAI=gpt-3.5-turbo\n   MODEL_OLLAMA=llama2\n   CONTEXT=false\n   MULTI_LINE_PROMPT=false\n   ENABLE_DANGER_FLAG=false\n   ```\n\n---\n\n### Manual Installation\n\n  If you want to install it manually, all you have to do is:\n\n  - Download the shell-pilot project files in\n  ```shell\n  git clone https://github.com/reid41/shell-pilot.git\n\n  cd shell-pilot/\n  ```\n\n  - If you want to reset `the script path(/usr/local/bin/ by default)` or `output store path(~/spilot_files_dir by default)`, try below:\n  ```shell\n  # define the config dir if need to reset\n  new_config_path=\"/new/path/to/config/\"\n  # define the tmp or output files dir\n  new_files_dir=\"/new/path/to/files/\"\n\n  # create it if new\n  [[ ! -d ${new_config_path} ]] && mkdir ${new_config_path} -p\n  [[ ! -d \"${new_config_path}/plugins\" ]] && mkdir ${new_config_path}/plugins -p\n  [[ ! -d ${new_files_dir} ]] && mkdir ${new_files_dir} -p\n\n  # reset it\n  sed -i \"s|SHELL_PILOT_CONFIG_PATH=\\\"/usr/local/bin/\\\"|SHELL_PILOT_CONFIG_PATH=\\\"$new_config_path\\\"|\" s-pilot\n  sed -i \"s|SPILOT_FILES_DEFAULT_DIR=~/spilot_files_dir|SPILOT_FILES_DEFAULT_DIR=$new_files_dir|\" spilot_common.sh\n  \n  # add ollama server host\n  ollama_server_ip_address=<ip>\n  echo \"OLLAMA_SERVER_IP=${ollama_server_ip_address}\" >> spilot_common.sh\n\n  # add localai server host\n  localai_server_ip_address=<ip>\n  echo \"LOCALAI_SERVER_IP=${localai_server_ip_address}\" >> spilot_common.sh\n  ```\n\n  - set the permissions\n  ```shell\n  chmod +x s-pilot spilot_common.sh spilot_llm_rq_apis.sh plugins/*.sh\n  ```\n\n  - Move the files to the dir\n  ```shell\n  cp s-pilot spilot_common.sh spilot_llm_rq_apis.sh ${new_config_path}\n\n  cp plugins/*.sh ${new_config_path}/plugins\n  ```\n\n  - Add settings into the profile file\n  ```shell\n  # profile, e.g. .bash_profile\n  the_profile_file=$HOME/.bash_profile\n\n  # add the script/config path\n  echo \"export PATH\\=\\$PATH\\:${new_config_path}\" >> $the_profile_file\n\n  # add source alias for alias option\n  echo \"alias ss-pilot='source s-pilot'\" >> $the_profile_file\n\n  # openai/mistral key if need\n  # openai\n  openai_api_key_value=<key>\n  echo \"export OPENAI_KEY=${openai_api_key_value}\" >> $the_profile_file\n\n  # mistral ai\n  mistralai_api_key_value=<key>\n  echo \"export MISTRAL_API_KEY=${mistralai_api_key_value}\" >> $the_profile_file\n\n  # zhipuai ai\n  zhipuai_api_key_value=<key>\n  echo \"export ZHIPUAI_API_KEY=${zhipuai_api_key_value}\" >> $the_profile_file\n\n  # anthropic ai\n  anthropic_api_key_value=<key>\n  echo \"export ANTHROPIC_API_KEY=${anthropic_api_key_value}\" >> $the_profile_file\n\n  # moonshot ai\n  moonsho","github_created_at":"2024-04-14T08:01:42+00:00","created_at":"2026-07-11T10:40:18.493936+00:00","updated_at":"2026-07-12T05:42:00.81122+00:00","categories":[{"slug":"llm-frameworks","name":"LLM Frameworks","url":"https://www.graphcanon.com/categories/llm-frameworks","markdown_url":"https://www.graphcanon.com/categories/llm-frameworks.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/llm-frameworks"},{"slug":"inference-serving","name":"Inference & Serving","url":"https://www.graphcanon.com/categories/inference-serving","markdown_url":"https://www.graphcanon.com/categories/inference-serving.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/inference-serving"}],"tags":[{"slug":"interact-with-system","name":"interact-with-system"},{"slug":"linux","name":"linux"},{"slug":"mistralai","name":"mistralai"},{"slug":"mistral","name":"mistral"},{"slug":"deepseek","name":"deepseek"},{"slug":"llm","name":"llm"},{"slug":"macos","name":"macos"},{"slug":"localai","name":"localai"}],"trust":{"provenance":{"is_fork":false,"github_id":786359771,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-11T10:40:19.382Z","maintenance":{"label":"Dormant","score":18,"methodology":"github_public_v1","releases_90d":0,"days_since_push":529,"last_release_at":null},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T10:40:20.728Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-07-12T05:42:00.751Z"},"languages":{"value":["shell"],"source":"github.language","observed_at":"2026-07-12T05:42:00.751Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-07-12T05:42:00.751Z"}}}}