aethersdr / aethersdr/AetherSDR
Add an in-app AI Help Agent for general operating support
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 221
- Forks
- 117
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 299
Description
Request preparation
- I used an AI assistant to help structure this request
- I checked for existing issues covering the same feature
What would you like?
What
Add a conversational AI help panel inside AetherSDR that users can ask general "how do I..." and troubleshooting questions during a live session — e.g. "why is my TX audio distorted," "how do I set up DAX for WSJT-X," "what does the TNF button do" — and get an answer without leaving the app or hunting through the wiki.
This is distinct from the existing 💡 AI-Assisted Issue Reporter (Help → Submit your idea…), which only helps draft a GitHub bug report or feature request for submission upstream. This request is for real-time operating/support help, not issue authoring.
Why
New users (and experienced users on unfamiliar features) currently have three options when something isn't obvious: dig through the GitHub wiki, ask in Discussions, or file an issue. All three take the user out of their operating session and require a round trip to someone else. A built-in help agent would let users get unstuck immediately, using context AetherSDR already has on hand (current radio model, connected mode, active applets, recent log entries) to give more relevant answers than a generic web search would.
How Other Clients Do It
- SmartSDR has no in-app AI assistant; support is via FlexRadio's community forum and PDF manuals.
- GQRX and SDR++ likewise rely on external wikis/Discord/forums with no in-app help surface.
- Outside the SDR space, apps like JetBrains IDEs (AI Assistant chat) and Notion (Q&A panel) embed a chat pane that can answer product questions using the product's own docs as grounding — a reasonable model for what this could look like.
Suggested Behavior
- New menu item: Help → Ask AetherSDR… (or a persistent chat icon in the title bar, alongside the existing 💡 lightbulb) opens a dockable chat panel, similar in spirit to
AppletPanel. - The panel is a simple scrollable message list + text input, styled to match the existing dark theme.
- On send, the app assembles a context block similar to what the existing "File an Issue" support bundle already gathers (Aether version, connected radio model, active DSP/NR engine, current mode, redacted settings) and sends it along with the user's question and the contents of the built-in help docs (
resources/help/*.md) to an AI backend. - Response streams into the chat panel as plain text; no automatic actions are taken on the user's behalf (read-only assistant, not an agent that changes settings).
- A "Copy conversation" button lets the user paste the exchange into a bug report if it turns out to be a real bug — bridging to the existing 💡 reporter rather than duplicating it.
- Should work whether or not a radio is connected (e.g. Demo Mode), since much of the value is answering "how do I configure X" questions independent of a live session.
- Needs a clear opt-in/setting (e.g. in Radio Setup → General) since this implies network calls to a third-party AI API, and a way to disable it entirely for privacy-conscious or offline users.
Protocol Hints
Not a FlexLib/SmartSDR protocol feature — this is purely client-side UI plus a call to an external AI API (or an optional user-supplied API key, given the project's existing multi-provider AI tooling for the issue reporter). No TCP/UDP command changes needed. Unknown — needs research on how to package/ship the local help-doc corpus for grounding, and whether to reuse the same provider-selection UI as the 💡 reporter.
Acceptance Criteria
- A help/chat entry point exists in the Help menu (and/or title bar) distinct from the existing 💡 AI-Assisted Issue Reporter
- User can type a free-text question and receive a streamed AI response without leaving AetherSDR
- The assistant is read-only — it never changes settings, sends radio commands, or takes action without explicit user confirmation
- Feature is opt-in and can be fully disabled via a setting
- No radio credentials, tokens, or unredacted serials are sent to the AI backend (reuse the existing log/settings redaction logic from the support-bundle flow)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the existing Help → AI-Assisted Issue Reporter, its multi-provider AI tooling, and the support-bundle flow that gathers and redacts context. Review AppletPanel and resources/help/*.md to assess the chat UI and help-document grounding. Done means an opt-in, disableable, read-only streamed help panel with redacted context and no radio commands.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- ai, desktop, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100