aaeb116ecb6a8dfc4bb515693efb44b2cda1c8e3
Goaichat
Goaichat is a terminal-based AI chat client written in Go. It connects to OpenAI-compatible APIs using configuration supplied via config.yaml
and environment variables.
Features
- Config-driven startup: Loads defaults from
config.yaml
with environment overrides. - Interactive chat loop: (In progress) command-driven conversation with persistent history.
- Extensible architecture: Structured packages under
internal/
for config, app wiring, chat, storage, OpenAI client, UI, and telemetry.
Getting Started
Prerequisites
- Go 1.23 or later
- Access to an OpenAI-compatible API endpoint
Installation
go install github.com/stig/goaichat/cmd/goaichat@latest
Alternatively, clone the repository and build locally:
git clone https://github.com/stig/goaichat.git
cd goaichat
go build ./cmd/goaichat
Configuration
Create config.yaml
in the project root or pass --config
to specify a path. A minimal configuration looks like:
api:
url: "https://api.openai.com/v1"
key: "${GOAICHAT_API_KEY}"
model:
name: "gpt-4o-mini"
temperature: 0.7
stream: true
ui:
show_timestamps: true
logging:
level: "info"
Environment variables override several fields:
GOAICHAT_API_URL
GOAICHAT_API_KEY
Running
go run ./cmd/goaichat --config path/to/config.yaml
The current build logs startup/shutdown messages while core services are implemented. Upcoming milestones include the chat loop, persistence, OpenAI integration, and Bubble Tea UI.
Development
- Run tests with
go test ./...
. - Follow the roadmap in
dev-plan.md
for milestone progression.
License
TBD
Languages
Go
100%