Feedback button (+ optional context-aware chat bot) #25
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Motstandskraft/spam#25
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
A lightweight, always-available feedback button so users can report bugs, request features, and react to specific features in context. Explore combining it with a context-aware "chat with a bot" experience (the user is already viewing some asset/page — the bot should know that).
What already exists (reuse)
internal/llmadvisory(OpenAI-compatible, pluggable Open WebUI / vLLM, AES-GCM encrypted keys, per-use-case settings, streaming viaConverseStream). Use cases today:advisory_summary,triage_verdict,finding_chat.web/src/lib/components/FindingChat.svelte→POST /api/triage/chat(asset_type, asset_id, message history, server-injected evidence). This is the template for a context-aware chat surface.internal/audit,internal/uiapi.Proposed design
Part A — Feedback capture (ship first, low risk)
webapp shell. On click: small form —type(bug / feature / general), free-text, optional screenshot, and auto-attached context: current route, asset in view (type+id), app version/commit, user (from session).POST /api/feedback→ newfeedbacktable{id, user_id, type, body, route, context_json, app_version, created_at, status}./api/admin/feedback, list + status: new/triaged/closed). Optionally fan afeedback.createdevent into the notifications epic so it can post to Slack.Part B — Context-aware bot (build on A)
llmadvisorywith a new use caseassistant_chat(separate system prompt, model, settings — admin-configurable like the others).triage_chatinjects finding evidence. So "why is this image in fix_now?" or "how do I suppress this?" can be answered with the user's actual data + product help.feedbackrow pre-filled with the conversation.Open questions / decisions
Tasks
feedbackmodel +POST /api/feedback+ auto-context capture/api/admin/feedback, statuses) + optionalfeedback.createdeventassistant_chatllmadvisory use case + admin settings entryRelates to: notifications epic (route
feedback.createdto Slack); LLM repo-check epic (sharedllmadvisoryplumbing).