All checks were successful
Tests / unit-tests (push) Successful in 51s
- Login sa session cookie autentifikacijom - Lista projekata iz filesystem-a - Chat sa Claude CLI preko WebSocket-a - Streaming NDJSON parsiranje iz CLI stdout-a - Sesija zivi nezavisno od browsera (reconnect replay) - Sidebar sa .md fajlovima i markdown renderovanjem - Dark tema, htmx + Go templates - 47 unit testova Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
56 lines
1.3 KiB
Markdown
56 lines
1.3 KiB
Markdown
# Claude Web Chat
|
|
|
|
Web aplikacija za chat sa Claude CLI kroz browser. Go + htmx, bez JS frameworka.
|
|
|
|
## Pokretanje
|
|
|
|
```bash
|
|
# Kopiraj config
|
|
cp config.json.example config.json
|
|
# Edituj config.json — podesi username, password, session_secret
|
|
|
|
# Build i pokreni
|
|
go build -o claude-web-chat && ./claude-web-chat
|
|
```
|
|
|
|
Aplikacija sluša na portu 9100 (podešava se u config.json).
|
|
|
|
## Konfiguracija
|
|
|
|
`config.json` (gitignored):
|
|
|
|
| Polje | Opis | Default |
|
|
|-------|------|---------|
|
|
| port | HTTP port | 9100 |
|
|
| mode | Mod rada: "cli" ili "api" | cli |
|
|
| projects_path | Putanja do projekata | /root/projects |
|
|
| username | Korisničko ime za login | (obavezno) |
|
|
| password | Lozinka za login | (obavezno) |
|
|
| session_secret | Secret za potpisivanje sesija | (obavezno) |
|
|
| api.key | Anthropic API ključ (za api mod) | |
|
|
| api.model | Model za API mod | claude-sonnet-4-20250514 |
|
|
|
|
## Funkcionalnosti (Faza 1 — CLI mod)
|
|
|
|
- Login sa session cookie auth
|
|
- Lista projekata iz filesystem-a
|
|
- Chat sa Claude CLI kroz WebSocket
|
|
- Streaming odgovori (NDJSON parsiranje)
|
|
- Sesija živi nezavisno od browser-a (reconnect replay)
|
|
- Sidebar sa .md fajlovima projekta
|
|
- Markdown renderovanje (goldmark)
|
|
- Dark tema
|
|
|
|
## Testovi
|
|
|
|
```bash
|
|
go test ./... -v -count=1
|
|
```
|
|
|
|
## Tech stack
|
|
|
|
- Go 1.23+
|
|
- htmx 2.0.4 (vendored)
|
|
- gorilla/websocket
|
|
- goldmark (Markdown)
|