yetone/smart-suggestion — an open-source project — sits at 223 GitHub stars. Get AI-powered command suggestions **directly** in your zsh shell.
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
This project is a fork of zsh-copilot by Myzel394.
Get AI-powered command suggestions directly in your zsh shell. No complex setup, no external tools - just press CTRL + O and get intelligent command suggestions powered by OpenAI, Anthropic Claude, Google Gemini, or DeepSeek.
[!NOTE]
This project is still in its early stages, and some features may be immature and unstable. I appreciate your understanding.
🚀 Context-aware intelligent prediction: Predicts the next command you are likely to input based on context (history, aliases, terminal buffer)
🤖 Multiple AI Providers: Support for OpenAI GPT, Anthropic Claude, Google Gemini, and DeepSeek
🔧 Highly Configurable: Customize keybindings, AI provider, context sharing, and more
Questions
Why don't I use zsh-copilot and instead fork a separate version?
Because the context of zsh-copilot only includes history commands and does not include the terminal buffer (i.e., the stdout/stderr of history commands), it cannot achieve the context-aware intelligent prediction I want, this is the feature I want the most, and it's also the main reason why I forked. Additionally, since zsh-copilot is written in shell, it's very difficult to concatenate JSON and implement stdio interception. Therefore, I re-implemented almost all logic using Go, which made it too different from the original project to merge back.
Installation
Prerequisites
Make sure you have the following installed:
zsh shell
zsh-autosuggestions plugin
An API key for one of the supported AI providers
Method 1: Quick Install (Recommended)
The easiest way to install smart-suggestion is using our installation script:
You need an API key for at least one of the supported AI providers:
OpenAI (default)
export OPENAI_API_KEY="your-openai-api-key"
Azure OpenAI
export AZURE_OPENAI_API_KEY="your-azure-openai-api-key" # i.e. c0123456789012345678901234567890
export AZURE_OPENAI_RESOURCE_NAME="your-azure-openai-resource-name" # i.e. awesome-corp when your endpoint is https://awesome-corp.openai.azure.com
export AZURE_OPENAI_DEPLOYMENT_NAME="your-deployment-name" # i.e. gpt-4o
export AZURE_OPENAI_API_VERSION="2024-10-21" # Optional, defaults to 2024-10-21
export AZURE_OPENAI_BASE_URL="https://your-azure-openai-base-url" # Optional, default to https://$AZURE_OPENAI_RESOURCE_NAME.openai.azure.com
Anthropic Claude
export ANTHROPIC_API_KEY="your-anthropic-api-key"
Google Gemini
export GEMINI_API_KEY="your-gemini-api-key"
DeepSeek
export DEEPSEEK_API_KEY="your-deepseek-api-key"
Environment Variables
Configure the plugin behavior with these environment variables:
Variable
Description
Default
Options
SMART_SUGGESTION_AI_PROVIDER
AI provider to use
Auto-detected
openai, azure_openai, anthropic, gemini, deepseek
SMART_SUGGESTION_KEY
Keybinding to trigger suggestions
^o
Any zsh keybinding
SMART_SUGGESTION_SEND_CONTEXT
Send shell context to AI
true
true, false
SMART_SUGGESTION_PROXY_MODE
Enable proxy mode for better context
true
true, false
SMART_SUGGESTION_DEBUG
Enable debug logging
false
true, false
SMART_SUGGESTION_SYSTEM_PROMPT
Custom system prompt
Built-in
Any string
SMART_SUGGESTION_AUTO_UPDATE
Enable automatic update checking
true
true, false
SMART_SUGGESTION_UPDATE_INTERVAL
Days between update checks
7
Any positive integer
SMART_SUGGESTION_BINARY
Path to the smart_suggestion binary
Auto-detected
Any valid filepath to a valid smart_suggestion binary
If SMART_SUGGESTION_BINARY is not specified, we look for one in the following locations:
smart_suggestion beside the current smart-suggestion.plugin.zsh
To see all available configurations and their current values:
smart-suggestion
Usage
Start typing a command or describe what you want to do
Press CTRL + O (or your configured key)
Wait for the AI suggestion (loading animation will show)
Note: On first use, proxy mode will automatically start in the background to capture terminal context
The suggestion will appear as:
An autosuggestion you can accept with → (for completions)
A completely new command that replaces your input (for new commands)
How It Works
Input Capture: The plugin captures your current command line input
Proxy Mode (Default): Automatically starts a background shell recording session to capture terminal output for better context
Context Collection: Gathers rich shell context including user info, directory, command history, aliases, and terminal buffer content via proxy mode
AI Processing: Sends the input and context to your configured AI provider
Smart Response: AI returns either a completion (+) or new command (=)
Shell Integration: The suggestion is displayed using zsh-autosuggestions or replaces your input
Proxy Mode (New Default)
Smart Suggestion now automatically enables proxy mode by default, which provides significantly better context awareness by recording your terminal session. This mode:
Automatically starts when you first use smart suggestions
Records terminal output using the script command for maximum compatibility
Provides rich context to the AI including command outputs and error messages
Works seamlessly across different terminal environments
You can disable proxy mode if needed:
export SMART_SUGGESTION_PROXY_MODE=false
For advanced proxy configuration, see PROXY_USAGE.md.
Troubleshooting
Debug Mode
Enable debug logging to troubleshoot issues:
export SMART_SUGGESTION_DEBUG=true
Debug logs are written to /tmp/smart-suggestion.log.
Common Issues
"Binary not found" error: Run ./build.sh in the plugin directory
No suggestions: Check your API key and internet connection
Wrong suggestions: Try adjusting the context settings or system prompt
Key binding conflicts: Change SMART_SUGGESTION_KEY to a different key
Build Issues
If the build fails:
# Check Go installation
go version
# Clean and rebuild
rm -f smart-suggestion
./build.sh
Contributing
Contributions are welcome! Please feel free to submit issues and pull requests.
License
This project is open source. Please check the repository for license details.
How active is development on yetone/smart-suggestion?
The most recent commit recorded on yetone/smart-suggestion was 2 months ago, based on the GitHub push timestamp. The repository has 26 forks — one of the better signals of community interest.
How many stars does yetone/smart-suggestion have?
yetone/smart-suggestion has 223 GitHub stars — refresh the page for the live number, or check github.com/yetone/smart-suggestion. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
Is yetone/smart-suggestion open source?
TopGit's metadata for yetone/smart-suggestion does not record a license. Most public repositories on GitHub ARE open source, but the exact terms vary — verify by opening the LICENSE file directly.
What is yetone/smart-suggestion?
yetone/smart-suggestion (yetone/smart-suggestion) is a Go project on GitHub. From the project's own README: Get AI-powered command suggestions **directly** in your zsh shell.
What language is yetone/smart-suggestion written in?
yetone/smart-suggestion is written primarily in Go. GitHub's language field is based on the largest share of bytes in the default branch.
Where do I read more about yetone/smart-suggestion?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/yetone/smart-suggestion is the definitive source.
Read full README in the tab above.
Want a second opinion on smart-suggestion?
Ask an AI that can read this page — one click and you get its take on smart-suggestion.