Go to file
b1ek bab5cdaf2e
use sessions instead of cache
2024-10-22 13:43:47 +10:00
.github/workflows run github workflow only if an actual change has happened 2024-05-19 22:53:20 +10:00
src use sessions instead of cache 2024-10-22 13:43:47 +10:00
.gitignore init repo 2024-04-12 01:09:00 +10:00
Cargo.lock 0.1.1 version 2024-05-05 16:40:16 +10:00
Cargo.toml 0.1.1 version 2024-05-05 16:40:16 +10:00
LICENSE init repo 2024-04-12 01:09:00 +10:00
README.md Update README and config.rs to mark GPT4o as the newer model 2024-08-04 02:20:51 +01:00
flake.lock add flake 2024-06-07 17:06:24 +02:00
flake.nix add flake 2024-06-07 17:06:24 +02:00
hey-demo.cast add asciinema source file 2024-05-17 14:35:36 +10:00
hey-demo.gif add an asciinema gif preview 2024-05-17 14:33:37 +10:00

README.md

hey!

hey is a command line tool to contact DuckDuckGo Chat API from your terminal. based on this article

demo:

a gif demostrating a prompt about a bedtime story

disclaimer

to clarify, as of may 17 2024, using a third party client does not violate the ToS.

by using this client, you acknowledge that you will be liable for any ToS violations as per GPLv3

this project is not intended for API scraping purposes, and actually has a soft protection against it.

installation

if you run linux or macos,

git clone https://git.blek.codes/blek/hey.git
cd hey
cargo b -r
sudo cp target/release/hey /usr/bin/hey,

if you are on windows, download the binary file or compile it yourself if you have the knowledge

via a package manager

arch (AUR) - paru -S hey-duck

download the binary file

prebuilt binaries are available on the releases page for macOS, Linux and Windows

development version

look around on github actions, select the latest one, scroll all the way down and then download an artifact for your platform

note for packagers

to avoid name conflicts, packages should be named hey-duck or its form in a different naming convention.
please submit an issue or a PR if you have packaged this to a distro, or email one of the maintainers.

configuration & cache

there is a config file in ~/.config/hey/conf.toml and a cache file in ~/.cache/hey/cache.json

you can set their paths and filenames via HEY_CONFIG_PATH, HEY_CONFIG_FILENAME and HEY_CACHE_PATH, HEY_CACHE_FILENAME.

config file reference

model = "Claude" # or "GPT4OMini"
tos = false # whether if you agree to ddg chat tos

cache file reference

cache file stores the last VQD used. it is (probably) there so that the ai model would remember your history. read more about duckduckgo chat api

if you want to reset the VQD, just delete the file.