Skip to content

L1l1thLY/ShellHelper

Repository files navigation

ShellHelper

Stop googling flags. Describe what you want — get the exact command.

A cross-platform, bring-your-own-LLM Spotlight for your terminal. Press the hotkey, type a sentence, press Tab, and the command is on your clipboard.

license platform built with shells

Prefer 中文?阅读中文版

ShellHelper — English demo

The 10-second pitch

You need find . -type f -mtime -7 -not -path '*/node_modules/*' -size +10M. You already know what you want. You don't want to re-read the man page for the fourth time this week.

Hit the hotkey. Say "files changed this week over 10MB, skip node_modules". Press Tab. It's on your clipboard.

Highlights

  • Global hotkey, global reach — one keystroke from anywhere, no tab-switching, no context-switching.
  • Speaks your shell — zsh, bash, PowerShell, cmd. Switch targets from the tray menu and watch the same prompt generate a different command.
  • Chat back to refine — reply in natural language and the command mutates in place. No re-prompting from scratch.
  • Bring your own brain — any OpenAI-compatible or Anthropic-compatible endpoint works: OpenAI, Anthropic, Azure, Ollama, LiteLLM, your own gateway, whatever.
  • Private gateways welcome — attach custom HTTP headers per provider for auth, tenancy, routing.
  • Trilingual explanations — English, 简体中文, and 日本語 out of the box. Commands stay in shell syntax; the why is localised.
  • Native and tiny — Rust core, Tauri shell, boots in a blink, lives in the tray, stays out of your way.
  • Config you can read — everything is a single plain config.toml. No hidden database, no magic.

See it in your language

The explanation text follows your UI language. Everything else — the hotkey, the Tab-to-copy flow, the refinement loop — works identically.

English 中文
English demo 中文 演示

Installing

Grab the latest installer from Releases:

  • macOS.dmg
  • Windows.msi or .exe

Unsigned builds: on first launch macOS may refuse to open — right-click the app and choose Open. On Windows, SmartScreen may warn — click More info → Run anyway.

One-time setup

First launch opens the Settings window automatically because no providers are configured. Add at least one:

Provider Base URL Notes
OpenAI https://api.openai.com/v1 any chat-completions model
Anthropic https://api.anthropic.com any Claude model
Any compatible gateway your URL optional custom headers under Advanced

Pick one as active, set your shell, and you're done.

The config file lives at:

  • macOS~/Library/Application Support/ShellHelper/config.toml
  • Windows%APPDATA%\ShellHelper\config.toml

Keyboard reference

Key Where What happens
Cmd/Ctrl + Shift + G anywhere open the popup (configurable)
Tab description field generate the command
Tab command field copy to clipboard + close
Enter refine field send a follow-up to the LLM
Esc popup cancel and hide

Developing

Prerequisites: Rust stable, Node.js 20+, and the platform Tauri dependencies (macOS / Windows).

git clone <this-repo>
cd ShellHelper
npm --prefix frontend install
cargo tauri dev --project crates/app

Release build:

cargo tauri build --project crates/app

License

MIT

About

A cross-platform desktop utility (macOS + Windows) that turns natural-language descriptions into runnable shell commands(zsh、bash、pwsh、CMD), right from a global hotkey.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors