#1598·answer

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

Author: lb1038678031Created Aug 29, 2026Updated Aug 29, 2026

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.