Other languages: 中文
This is a general-purpose AI agent designed for command-line usage, built from the ground up, with the exception of some optionally used MCP tools adapted from other open-source projects. t has been tested and confirmed to run on both macOS and Linux.
conda create -n hey python=3.10 -y
conda activate hey
pip install -e .Additionally, install the IPython kernel with:
python -m ipykernel install --userInstall and run Redis server in the background (for Inter-Process Communication) using:
bash install_redis_server.sh
nohup redis-server &In case you do not have root privileges, you can follow this instruction to work around the problem.
Configure your LLM API settings:
cp .env_template .env
vim .env # for access key
cp config.yml_template config.yml
vim config.yml # for LLM types and many othersRemember to set up your terminal proxy if required (in case you can neither do Google Search nor software downloading).
These examples showcase hey's capabilities - the possibilities are only limited by your imagination.
hey "Copy any text file located in the examples/doc directory that contains the theword 'agent' to a new folder named 'examples/new_doc'."Expected result:
- Before: In the folder
./examples/there is no sub-folder namednew_doc. - After: In the folder
./examples/there is a sub-foldernew_docwhich contains four files:1.txt,2.txt,3.txt, and4.txt.
hey "Copy the 'Sheet1' Product column of the file ./examples/Invoices.xlsx to 'Sheet2' and sort 'Sheet2''s Product column in ascending order."Expected result:
- Before: In the file
./examples/Invoices.xlsxthere is no sheet namedSheet2. - After: In the file
./examples/Invoices.xlsxthere is a sheet which has the nameSheet2and contains only one column titledProduct. From the top to the bottom cell of the column, there should be threeAlpine, fourCarlota, fiveMajestic, and fourquad.
hey "I have a task..."
# Could you please tell me the specific details of the task? For example, is it related to code development, system configuration, or something else?
# Your input (press Enter to indicate the end) >>
I want to know lines of code in every Python file under this directory, recursively. Please save the result in ./examples/line_count.txtExpected result:
- Before: In the file
./examplesthere is no file namedline_count.txt. - After: In the file
./examplesthere is a file namedline_count.txtwith statistics about the lines of code of every Python files in this project.
hey "Search to learn how to locally deploy deepseek-r1:1.5b on my machine using ollama and try to serve it in a background process so that another process can use it with Python library openai."Expected result:
- Before: In a separate shell,
python examples/test_deepseek.pycannot be successfully executed but raiseopenai.APIConnectionError: Connection error.. - After: In a separate shell,
python examples/test_deepseek.pycan be successfully executed and one can see a greeting from the deployed model as the output like:
<think>
</think>
Hello! How can I assist you today? 😊
Note: examples/test_deepseek.py simply connects to ollama's server and sends a "Hello" message to the deepseek-r1:7b model for validation.
After code changes, always run this command in the project directory:
pip uninstall hey -y && pip cache remove hey && pip install -e .If you need any help, please submit a Github issue, or contact Zhifeng Jiang via [email protected].
