A Go-based terminal user interface (TUI) for interacting with LLMs.
- Interactive TUI with chat history.
- Markdown rendering in the terminal.
- Clipboard support (
/clip). - File attachment support (
/file <path> [prompt]). - Run shell commands and use their output as context (
-run <command>). - Supports input redirection (piping).
- Go 1.24+
wl-paste(Linux only, for clipboard image support on Wayland)- Client certificates (
client.crtandclient.key) are required for the TLS connection to the proxy server.
go build -o ask .If you are on Linux and want to build for your brother on Mac (Intel or Apple Silicon):
# For Apple Silicon (M1/M2/M3)
GOOS=darwin GOARCH=arm64 go build -o ask-mac-arm64 .
# For Intel Macs
GOOS=darwin GOARCH=amd64 go build -o ask-mac-intel .You MUST provide your own client certificates in the same directory as the ask binary:
client.crtclient.key
By default, the program looks for these files in its own directory.
Note: These certificates are NOT included in this repository to prevent credential leaks.
./ask./ask "What is the capital of France?"cat main.go | ./ask "Explain this code"./ask -run "ls -la" "What are the files in this directory?"Enter: Send messageAlt+Enter: New lineTab: Switch between conversation list and chatCtrl+N: New conversationCtrl+R: Rename conversationCtrl+X: Delete conversationQ: Back to list or quit