DuckDuckGO-chat-CLI is a command-line interface for interacting with DuckDuckGo's AI chat service directly from their terminal.
- Interactive command-line interface for AI chat
- Support for multiple AI models:
- GPT-4o mini
- Claude 3 Haiku
- Llama 3.1 70B
- Mixtral 8x7B
- Real-time streaming of AI responses
- Colored output for better readability
- Terms of Service acceptance prompt
You can download the latest pre-built executable from the Releases page.
Alternatively, you can use the following commands to download the latest release:
curl -LO $(curl -s https://api.github.com/repos/benoitpetit/duckduckGO-chat-cli/releases/latest | grep -oP 'https.*linux_amd64' | head -1)
curl -LO $(curl -s https://api.github.com/repos/benoitpetit/duckduckGO-chat-cli/releases/latest | grep "browser_download_url.*darwin_amd64" | cut -d '"' -f 4)
Invoke-WebRequest -Uri ((Invoke-RestMethod -Uri "https://api.github.com/repos/benoitpetit/duckduckGO-chat-cli/releases/latest").assets | Where-Object name -like "*windows_amd64.exe").browser_download_url -OutFile duckduckgo-chat-cli_windows_amd64.exe
Start-Process -FilePath .\duckduckgo-chat-cli_windows_amd64.exe -Wait -NoNewWindow
After downloading, make the file executable (for Unix-based systems):
chmod +x ./duckduckgo-chat-cli_*
If you prefer to build from source:
-
Ensure you have Go installed on your system. If not, you can download it from golang.org.
-
Clone this repository:
git clone https://github.com/benoitpetit/duckduckGO-chat-cli.git
-
Navigate to the project directory:
cd duckduckGO-chat-cli
-
Install dependencies:
go mod tidy
-
Build the project:
go build -o duckduckgo-chat-cli main.go
If you built from source, run the executable in the project directory:
./duckduckgo-chat-cli
-
Accept the Terms of Service when prompted.
-
Choose an AI model from the available options.
-
Start chatting! Type your messages and press Enter to send them to the AI.
-
To exit the chat, type 'exit' and press Enter.
This project is inspired by duckduckgo-ai-chat. The original concept has been refactored into Go, with improvements to the streaming functionality and overall code structure.
This project is not officially affiliated with or endorsed by DuckDuckGo. It is an independent implementation that interacts with DuckDuckGo's AI chat service. Please use responsibly and in accordance with DuckDuckGo's terms of service.