Status and roadmap
HelpChatAI is work in progress, developed in the open and already usable: the engine is complete and covered by tests, and the components work in real applications. This page says plainly what is done, what is verified, and what is not there yet — so you can decide whether it fits your project today.
What is done
| Area | State |
|---|---|
| Engine (store, worker pool, cancellation, persistence) | Complete, covered by tests |
Providers stub, docsearch, claude | Complete; claude with streaming, grounding and tool use |
| Documentation index and builder | Complete; tested on a real 38-page Italian manual |
TVclHelpChatAI | Complete: bubble, F1, help viewer, context, embedding, VCL styles, position memory |
| Documentation pages in the panel | Complete: a folder of Markdown pages rendered in the chat, with OnOpenLink for everything that leaves it |
| Dictation | Complete on VCL: the dictation of Windows, or the speech recognizer where it still transcribes |
TFmxHelpChatAI | Complete on Windows; the other platforms compile but are untested |
| Local transport (127.0.0.1) | Complete |
| HelpChatAI server and remote transport | Complete: sessions per user, memory or disk storage, application keys |
| Actions | Complete with the local engine, on claude, openai and gemini |
| Packages for Delphi 10.4, 11, 12, 13 | Built with each compiler |
| Installer (InnoSetup) | Complete |
| Providers | stub, docsearch, claude, openai (and with it Azure, Groq, OpenRouter, Mistral, Ollama...), gemini |
| Design time | Splash and About box, component editor with live preview and configuration check, property editors |
| Sample applications | The Windows 10 CRM of Embarcadero, in both frameworks, sharing one data module and one manual |
246 automated tests run without network on Win32 and Win64: the store, the runner (streaming, cancellation, shutdown with a stuck provider), the index scoring, the Markdown safety, the SSE parsing and request building of each of the three model providers, the documentation pages, the configuration check, both transports over real HTTP, and the actions from a real worker thread.
What is not there yet
- Actions with a remote engine. The model runs on the server and the actions live in the client: the definitions and the calls do not travel yet. The queue and the host channel are shaped for it.
- FMX on macOS, iOS and Android. The code compiles and uses the native web view of each platform, but only Windows has been tried. On Windows FireMonkey is now exercised by a sample application of its own, which is how two defects of that half were found.
- A retriever based on embeddings. The current one is deterministic keyword scoring behind
IHelpChatRetriever; a vector-based one can replace it without touching the providers. - Providers other than Anthropic. The provider contract is small and public — adding one is a unit plus a
RegisterProvidercall. - A dictation engine of our own. Windows offers two and neither is ideal: its own dictation types into the control and tells the application nothing, while
Windows.Media.SpeechRecognitionreports the text but on recent Windows 11 builds can hear a voice and transcribe nothing. The engine that drives Win+H is internal and has no public metadata, so it cannot be called. A cloud service or a local model would be a thirdTHelpChatVoiceEngine, behind the same interface. - Dictation on FMX. The microphone button is VCL only for now.
Milestones so far
| M1 | Engine, providers, tests, a console harness |
| M2 | Field test with the real Claude provider: streaming, grounding, screen context |
| M2b | Index builder: keywords, stemming, idf ranking, excerpts; tested on a real manual |
| M3 | Transport abstraction, local server, HTML/htmx panel, TVclHelpChatAI, bubble, F1, design-time package |
| M3b | VCL style theming, F1 through the Delphi help system, position memory, the chat as a control embeddable in any container |
| M4a | TFmxHelpChatAI, host commands through the server |
| M4b | HelpChatAI server (sessions per user, memory or disk), remote transport chosen in the configuration file, loopback host channel |
| M5 | Packages for Delphi 12, 11 and 10.4, InnoSetup installer |
| M6 | Actions: registered by the application, Anthropic tool use, execution on the application's thread with confirmation |
| M7 | Question dictation, the library in the splash and About box of the IDE, component editor with live preview and configuration check, property editors |
| M8 | The openai and gemini providers, streaming and tool use like claude |
| M9 | Caption and AssistantName, the assistant icon in the header of the panel, the FireMonkey bubble round and with its icon, and the CRM sample application in both frameworks |
| M10 | The FireMonkey demo complete: lead, proposal and draft windows, all three actions, F1 from every window |
Contributing
The repository is EtheaDev/Delphi-HelpChatAI. Issues and pull requests are welcome — in particular:
- trying FMX on macOS, iOS or Android and telling us what breaks;
- providers for other models (the three that ship cover Anthropic, Google and everything that speaks the OpenAI API, but not, say, a model behind your own gateway);
- translations of the interface strings (today English and Italian, in
HelpChatAI.Messages); - real-world feedback on what the retriever finds for your manual, which is the part that decides whether the answers are good.