apache / apache/answer

Feature proposal: TDesign React Chat UI, homepage chat entry, and admin-configurable AI assistant content

Aperta
#1,598 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Go
Stelle
15.7k
Fork
1.4k
Merge medio
3g 8h
PR unite (30g)
7

Descrizione

## Is your feature request related to a problem? Please describe

We self-host Answer as a community FAQ assistant. The current AI assistant works, but:

- The chat UI is minimal: no thinking-process display, no starter-question entry points, plain text bubbles.
- The assistant's opening content (welcome text, starter questions) is hardcoded in the frontend and cannot be adjusted by admins.
- The default system prompt advertises a `semantic_search` tool even when no vector search plugin is installed, so the model may call a tool that does not exist.
- Visitors cannot use the assistant without an account, even when the admin would like to allow it on a public community site.

## Describe the solution you'd like

1. **New chat UI built on TDesign React Chat** (`@tdesign-react/chat`, MIT-licensed): streaming markdown answers, a collapsible thinking block for reasoning models, tappable suggestion chips, and a sender with a stop button. Answer's backend contract (`/answer/api/v1/chat/completions`, SSE) stays unchanged — a thin adapter maps `delta.content` to a markdown block and `delta.reasoning_content` to a thinking block, and keeps per-message voting/replay working.

2. **Admin switches on the AI settings page**
- *Show AI assistant on homepage*: a floating chat entry that reuses the same component.
- *Allow guests to use the homepage AI assistant*: chat completions moves behind a guest gate; guest conversations stay client-side only and voting is disabled for them.

3. **Admin-configurable assistant content** (AI settings page)
- Welcome text shown when a conversation starts.
- A suggested-questions list (one per line) rendered as chips; empty falls back to built-in i18n defaults.
- The system prompt (zh/en, `%s` as the question placeholder). The backend already stores `prompt_config`; only the admin UI is missing. Saving the form will also stop silently resetting stored prompts to the built-in defaults.

4. **Small related fix**: strip the `semantic_search` line from the default prompt when no vector search plugin is enabled.

## Describe the alternatives you've considered

Incrementally extending the existing custom UI. That is possible, but a maintained chat component library provides streaming, thinking and suggestion primitives out of the box and reduces the custom code Answer has to maintain. Vision/image input is intentionally out of scope for this feature.

I have a working implementation on my fork and will submit a PR referencing this issue.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia dalla pagina delle impostazioni di AI e dall’endpoint SSE /answer/api/v1/chat/completions, quindi esamina la assistant UI esistente e i requisiti di integrazione di TDesign React Chat. Il lavoro è completato quando l’accesso dalla homepage, il comportamento per gli ospiti, il testo di benvenuto configurabile, suggestions e prompts, la visualizzazione di streaming/thinking, il comportamento delle votazioni e il fallback di semantic_search funzionano senza modificare il contratto del backend.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
go, react, typescript
Ambito
ai, api, backend, frontend
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.