AI Shell Completions:
Like Navi, but with DSPy under the hood.
Ask, Get a CLI command, Done.
Generates CLI commands from natural language descriptions.
-
Can generate multiple commands in sequence.
-
It's context-aware, considering previous commands in the pipeline.
-
Provides multilingual support depending on the LLM use.
-
Compatible with major providers like OpenAI, Gemini, Anthropic, and Ollama.
-
Includes an optimizer to refine accuracy.
-
Rate limits to manage API quotas.
-
Configurable via interactive tool or config file.
Describe the desired action and press the shortcut (default ctrl+e).
Multiple command completion:
(in the example sum numbers→paste -sd+ | bc)
Language support:
(Depending on the LLM)
Sometimes it fails:
($9 instead of $11 or $NF)
Permissions:
chmod +x dspick(Maybe) Add to path
ln -s "$(pwd)/dspick" ~/bin/
# or .local/bin
ln -s "$(pwd)/dspick" ~.local/bin/
Load dspick in your shell.
Load
source $(dspick bash)
# or in the same directory
source dspick.bashOr add to .bashrc
if [ -x "$(command -v dspick)" ]; then
source "$(dspick zsh)"
fiLoad
source $(dspick zsh)
# or in the same directory
source dspick.zshOr add to .zshrc
if [ -x "$(command -v dspick)" ]; then
source "$(dspick zsh)"
fiLoad
source $(dspick fish)
# or in the same directory
source dspick.fishCreate a .env file with your LLM provider API Keys.
(Not required if using Ollama.)
ANTHROPIC_API_KEY=xxxxxx
GOOGLE_API_KEY=xxxxxx
GROQ_API_KEY=xxxxxx
MISTRAL_API_KEY=xxxxxx
OPENAI_API_KEY=xxxxxx
...Manual: config.toml
Or execute the config tool:
dspick configOptions:
- Cache: LLM responses will be cached.
- Throttling: Enable limit
request per minuteto avoid LLM Quotas.
The optimizer tool improves result accuracy by generating an optimized.pkl file.
This file is automatically used if present.
DSPy can refine prompts and examples to improve LLM responses. The optimization method may vary depending on the LLM being used.
-
Resumable Process: Can be restarted if interrupted and some steps completed successfully.
-
Throttling: Handles rate limits efficiently (see Throttling).
To run the optimizer:
dspick optimize


