Take it to the next level, integrate the chatbot into a browser extension side panel. Let people navigate to websites that contain the information.
This will work. It will allow the chatbot to provide up to the minute data and information from the source. It will allow the user to maintain context -- like a popup dialog allows the user to maintain visual context. And, it will incentivize content creators to curate and provide information and data as people will be visiting their websites.
If anyone thinks this might be a good idea also, I've already laid down the foundation approaching a browser extension side panel as a framework like Electron or Playwright and did the grunt work. [0]
I put the VSCode IPC and other core libraries into this project. The IPC is important because a browser extension with this use case requires looking at a browser as a distributed system of javascript processes that communicate a a dozen different ways
> Environments: Node.js main process, Node.js child process, Node.js worker thread, browser main thread (window), iframe, dedicated Web Worker, Shared Worker, Service Worker, AudioWorklet.
> Communication: fetch/XMLHttpRequest, WebSocket, RTCDataChannel, EventSource, BroadcastChannel, SharedArrayBuffer + Atomics, localStorage storage events, MessageChannel/MessagePort, postMessage/onmessage, Worker.postMessage/worker.onmessage, parentPort.postMessage/parentPort.on('message'), ChildProcess.send/process.on('message'), stdin/stdout streams.
and VSCode provides a protocol interface with only `onMessage` and `send` so I can define my own that are not provided creating a consistent API for communication.
Regardless, I have it working but it needs to be completely rewritten.
[0]https://github.com/adam-s/doomberg-terminal