Web chat sa Claude CLI kroz browser
Go to file
djuka 3122c5cba9
Some checks failed
Tests / unit-tests (push) Failing after 22s
Pojednostavljen chat na jedan terminal, dodata notifikacija kad Claude završi
Uklonjen multi-tab sistem — sada jedna PTY sesija po stranici.
Dodat idle detection: status "Završeno", flash animacija, browser
notifikacija i treptanje naslova kad je tab u pozadini.
CSS premešten iz inline stilova u style.css.
Dodat /api/projects endpoint i testovi za PTY sesije.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 07:20:55 +00:00
.gitea/workflows Inicijalna implementacija Claude Web Chat (Faza 1 - CLI mod) 2026-02-18 05:03:40 +00:00
static Pojednostavljen chat na jedan terminal, dodata notifikacija kad Claude završi 2026-02-18 07:20:55 +00:00
templates Pojednostavljen chat na jedan terminal, dodata notifikacija kad Claude završi 2026-02-18 07:20:55 +00:00
.gitignore Inicijalna implementacija Claude Web Chat (Faza 1 - CLI mod) 2026-02-18 05:03:40 +00:00
auth_test.go Inicijalna implementacija Claude Web Chat (Faza 1 - CLI mod) 2026-02-18 05:03:40 +00:00
auth.go Inicijalna implementacija Claude Web Chat (Faza 1 - CLI mod) 2026-02-18 05:03:40 +00:00
change_password_test.go Dodato kreiranje projekta kroz UI i change-password template 2026-02-18 06:27:10 +00:00
claude_cli_test.go Popravljen CLI mod: stream-json input, concurrent write fix, lepsi tool prikaz 2026-02-18 05:27:34 +00:00
claude_cli.go Ispravka dupliranja poruka i dodat Plan/Code mod 2026-02-18 05:49:46 +00:00
config_test.go Dodato kreiranje projekta kroz UI i change-password template 2026-02-18 06:27:10 +00:00
config.go Deadlock u promeni šifre i TERM za PTY 2026-02-18 06:14:28 +00:00
config.json.example Inicijalna implementacija Claude Web Chat (Faza 1 - CLI mod) 2026-02-18 05:03:40 +00:00
files_test.go Inicijalna implementacija Claude Web Chat (Faza 1 - CLI mod) 2026-02-18 05:03:40 +00:00
files.go Terminal UI stil, markdown tabele i prikaz troškova 2026-02-18 05:38:47 +00:00
fragments_test.go Ispravka dupliranja poruka i dodat Plan/Code mod 2026-02-18 05:49:46 +00:00
fragments.go Ispravka dupliranja poruka i dodat Plan/Code mod 2026-02-18 05:49:46 +00:00
go.mod Zamena chat UI sa pravim terminalom (xterm.js + PTY) 2026-02-18 05:54:40 +00:00
go.sum Zamena chat UI sa pravim terminalom (xterm.js + PTY) 2026-02-18 05:54:40 +00:00
main.go Pojednostavljen chat na jedan terminal, dodata notifikacija kad Claude završi 2026-02-18 07:20:55 +00:00
markdown_test.go Zamena chat UI sa pravim terminalom (xterm.js + PTY) 2026-02-18 05:54:40 +00:00
markdown.go Terminal UI stil, markdown tabele i prikaz troškova 2026-02-18 05:38:47 +00:00
projects_test.go Dodato kreiranje projekta kroz UI i change-password template 2026-02-18 06:27:10 +00:00
projects.go Dodato kreiranje projekta kroz UI i change-password template 2026-02-18 06:27:10 +00:00
pty_session_test.go Pojednostavljen chat na jedan terminal, dodata notifikacija kad Claude završi 2026-02-18 07:20:55 +00:00
pty_session.go Uklonjen autofocus sa modala koji prikazuje formu bez poziva 2026-02-18 06:56:13 +00:00
README.md Inicijalna implementacija Claude Web Chat (Faza 1 - CLI mod) 2026-02-18 05:03:40 +00:00
sessions_test.go Inicijalna implementacija Claude Web Chat (Faza 1 - CLI mod) 2026-02-18 05:03:40 +00:00
sessions.go Inicijalna implementacija Claude Web Chat (Faza 1 - CLI mod) 2026-02-18 05:03:40 +00:00
templates_test.go Inicijalna implementacija Claude Web Chat (Faza 1 - CLI mod) 2026-02-18 05:03:40 +00:00
templates.go Inicijalna implementacija Claude Web Chat (Faza 1 - CLI mod) 2026-02-18 05:03:40 +00:00
TESTING.md Pojednostavljen chat na jedan terminal, dodata notifikacija kad Claude završi 2026-02-18 07:20:55 +00:00
ws_test.go Zamena chat UI sa pravim terminalom (xterm.js + PTY) 2026-02-18 05:54:40 +00:00
ws.go Pojednostavljen chat na jedan terminal, dodata notifikacija kad Claude završi 2026-02-18 07:20:55 +00:00

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)