AI in the command line.
You just need to write a comment or variable name and the AI will write the corresponding code.
This is a ZSH plugin that enables you to use AI powered code completion in the command line. It now supports both OpenAI's Codex and Google's Generative AI (Gemini). OpenAI Codex is the AI that also powers GitHub Copilot, while Gemini is Google's advanced language model.
- Install the OpenAI package or the Google package.
pip3 install openaior
pip3 install google-generativeai- Download the ZSH plugin.
git clone https://github.com/benjaminls/zsh_codex.git ~/.oh-my-zsh/custom/plugins/zsh_codex - Add the following to your
.zshrcfile.
Using oh-my-zsh:
plugins=(zsh_codex)
bindkey '^X' create_completionWithout oh-my-zsh:
# in your/custom/path you need to have a "plugins" folder and in there you clone the repository as zsh_codex
export ZSH_CUSTOM="your/custom/path"
source "$ZSH_CUSTOM/plugins/zsh_codex/zsh_codex.plugin.zsh"
bindkey '^X' create_completion- Create a file called
openaiapircin~/.configwith your SECRET_KEY.
[openai]
secret_key = ...or
Create a file called geminiapirc in ~/.config with your SECRET_KEY.
[gemini]
api_key = ...You can also optionally specify: organization, base_url, model and temperature.
- Set the LLM which you are going to use (you can choose between
openaiandgemini).
nano ~/.oh-my-zsh/custom/plugins/zsh_codex/zsh_codex.plugin.zshSet the api variable to openai or gemini.
-
Run
zsh, start typing and complete it using^X! -
If you use virtual environments you can set
ZSH_CODEX_PYTHONto python executable whereopenaiorgoogle-generativeaiis installed. e.g. forminicondayou can use:
export ZSH_CODEX_PYTHON="$HOME/miniconda3/bin/python"zsh-syntax-highlighting: unhandled ZLE widget 'create_completion'
zsh-syntax-highlighting: (This is sometimes caused by doing `bindkey <keys> create_completion` without creating the 'create_completion' widget with `zle -N` or `zle -C`.)
Add the line
zle -N create_completion
before you call bindkey but after loading the plugin (plugins=(zsh_codex)).
fatal: destination path '~.oh-my-zsh/custom/plugins'
Try to download the ZSH plugin again.
git clone https://github.com/tom-doerr/zsh_codex.git ~/.oh-my-zsh/custom/plugins/zsh_codex


