Web chat sa Claude CLI kroz browser
|
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> |
||
|---|---|---|
| .gitea/workflows | ||
| static | ||
| templates | ||
| .gitignore | ||
| auth_test.go | ||
| auth.go | ||
| claude_cli_test.go | ||
| claude_cli.go | ||
| config_test.go | ||
| config.go | ||
| config.json.example | ||
| files_test.go | ||
| files.go | ||
| fragments_test.go | ||
| fragments.go | ||
| go.mod | ||
| go.sum | ||
| main.go | ||
| projects_test.go | ||
| projects.go | ||
| README.md | ||
| sessions_test.go | ||
| sessions.go | ||
| templates_test.go | ||
| templates.go | ||
| TESTING.md | ||
| ws_test.go | ||
| ws.go | ||
Claude Web Chat
Web aplikacija za chat sa Claude CLI kroz browser. Go + htmx, bez JS frameworka.
Pokretanje
# 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
go test ./... -v -count=1
Tech stack
- Go 1.23+
- htmx 2.0.4 (vendored)
- gorilla/websocket
- goldmark (Markdown)