General Introduction
Zev is an easy-to-use command line interface (CLI) tool that helps users quickly query and generate terminal commands in natural language. Instead of memorizing complex command syntax, Zev generates terminal commands by describing requirements in everyday language. Based on OpenAI API or native Ollama model, Zev supports a variety of operational scenarios, such as file management, process viewing, network inspection and Git operations. Zev is designed to lower the threshold of command line usage, suitable for developers and novices. Users need to configure an OpenAI API key or a local Ollama environment to use it. zev's code is open-sourced on GitHub, allowing users to freely contribute and customize it.
Function List
- Generate terminal commands in natural language, such as "show current directory disk usage".
- A variety of operational scenarios are supported, including file manipulation, process management, network inspection, and Git commands.
- Integration with OpenAI API to provide intelligent command generation.
- Supports native Ollama models and allows offline operation.
- Provides API key management function for users to update settings.
- Open source code, support for community contributions and feature extensions.
Using Help
Installation process
Zev is a Python-developed CLI tool with a simple installation and configuration process. Here are the detailed steps:
- clone warehouse
Open a terminal and run the following command to clone Zev's GitHub repository:git clone https://github.com/dtnewman/zev.git
Once the cloning is complete, go to the project directory:
cd zev
- Installation of dependencies
Zev depends on a Python 3.6+ environment. Make sure Python is installed, then install the required dependencies:pip install -r requirements.txt
Dependencies include OpenAI's Python client libraries, which can be found in the
requirements.txt
View in. - Configuring OpenAI API Keys
The first time you run Zev, you will be prompted for an OpenAI API key. Users need to register an account on the OpenAI website and create a key. Run the following command to start the configuration:python zev.py
Enter the key as prompted and the key will be saved to the local configuration file.
If you need to update the key, run:zev --update-key
- (Optional) Configuring the Ollama Model
If you wish to run Zev locally, you can install Ollama and configure a local model:- Visit the Ollama website to download and install Ollama.
- Start the Ollama service and select the model, for example:
ollama run llama3
- Enable Ollama mode in the Zev configuration, run:
zev --use-ollama
This will allow Zev to use a local model, which is suitable for users without a networked environment or who are privacy conscious.
- Run Zev
After installation and configuration is complete, run the following command to start Zev:python zev.py
Main Functions
The core function of Zev is to generate terminal commands through natural language. Here's how it works:
- Query Terminal Commands
In the terminal, typezev
followed by a natural language description. For example, to see all running Python processes:zev 'show all running python processes'
Zev returns something like
ps aux | grep python
commands. Users can directly copy the execution. - file operation
Find recently modified files, for example:zev 'find all .py files modified in the last 24 hours'
The output command may be:
find . -type f -name "*.py" -mtime -1
- System Information Inquiry
View disk usage:zev 'show disk usage for current directory'
Output commands such as:
du -sh .
- network check
Test network connectivity, for example:zev 'check if google.com is reachable'
The output command may be:
ping -c 4 google.com
- Git Operations
View uncommitted changes in Git:zev 'show uncommitted changes in git'
Output commands such as:
git status
Featured Function Operation
- Local Ollama Model Support
Running Zev with Ollama is completely offline and protects data privacy. Once configured, Zev automatically calls the local model to generate commands without the need for an Internet connection.
Example:zev --use-ollama 'list all files in current directory'
Output command:
ls -la
- API Key Management
Users can update their OpenAI key or switch models at any time. Run:zev --update-key
Enter the new key as prompted and the configuration takes effect immediately.
Handling Precautions
- Ensure that your network is stable to use the OpenAI API. if you are using Ollama, you need to start the modeling service in advance.
- The natural language description of the input is as clear and specific as possible to avoid ambiguity. For example, "list documents" might generate
ls
and "List all hidden files" generates thels -a
The - The commands generated by Zev are for informational purposes only, and it is recommended that you check that the commands meet expectations before executing them.
Advanced Use
- Custom Command Generation
Users can fork Zev's GitHub repository to modify the code to support specific scenarios. For example, to add custom command templates or to support other AI models. - batch operation
Zev does not currently support batch command generation, but users can invoke Zev from a script, for example, by writing a shell script that loops through thezev
command to handle multiple tasks.
application scenario
- Developer Debugging Environment
For developers who frequently use terminal commands when debugging code, such as checking the status of a process or a file, Zev saves time by allowing commands to be generated quickly in natural language. For example, if you type "find processes on port 8080", Zev generates the commandlsof -i :8080
The - Learning the command line as a novice
Newcomers to the command line are often frustrated by their inability to memorize complex syntax, so Zev lowers the barriers to learning through natural language input. For example, type "show all file sizes in current folder" and Zev generatesls -lh
, helping users get up to speed quickly. - System administrator routine maintenance
For system administrators who need to check the status of a server or perform network diagnostics, Zev supports the quick generation of commands such as "check disk space" to generate a "check disk space" command.df -h
, to improve efficiency.
QA
- What operating systems does Zev support?
Zev supports macOS, Linux and Windows (Python environment required). Some commands may need to be adjusted manually due to system differences. - Is it mandatory to use the OpenAI API?
Not required.Zev supports local Ollama models for those who use them offline or don't want to rely on cloud services. - How do I contribute code?
interviewshttps://github.com/dtnewman/zev
For more information on how to contribute to the repository, see the repository'sCONTRIBUTING.md
The - Are the commands generated by Zev safe?
The commands generated by Zev are based on user input and model reasoning. It is recommended to check the content of the commands before execution to avoid potential risks.