What happens
The capability matrix lists seven chat capabilities as missing from any screen. On re-reading the development tip, they split three ways.
Built, but only in the companion, not on the /chat page
- Voice in (
ch-voice-in) and voice out (ch-voice-out). The companion on every Nextcloud page dictates and speaks. nextcloud-vue 2.55.1's CnAiInput posts to /api/speech/transcriptions and CnAiChatPanel to /api/speech/speech, both served by SpeechController (routes.php:540-542). They follow the per-agent engine choice from AgentFormModal.vue:252-297 through normalizeAgentSpeechPolicy(selectedAgent).
- hermiq's own chat page,
src/views/Chat.vue, has no microphone and no read-aloud control. A user who configures an agent's voice settings and opens /chat finds no way to use them.
The matrix rows read "no, nothing reaches it" because they only searched src/. They should read "partial, reached from the companion".
Built in the companion, broken in the backend
Not built at all
No backend and no screen. These are missing features, not dead code:
- Image generation (
ch-image-gen). No Text2Image TaskProcessing provider is registered in Application.php.
- Search past conversations (
ch-search-history). No query parameter on the session routes and no search box in Chat.vue. Memory full-text search is a different feature.
- Share a conversation by link (
ch-share-link). No token or public share in SessionController. Colleagues can only join through a shared Talk room.
- Schedules in plain language (
sc-nl). ScheduleFormModal offers once, interval and a raw cron field; nothing turns "every weekday at nine" into a schedule.
Fix direction
- Bring the companion's dictation and read-aloud into Chat.vue, or reuse
CnAiInput there, so /chat and the companion behave the same. Then correct ch-voice-in and ch-voice-out.
- Treat the four unbuilt items as backlog candidates, each needing its own OpenSpec change. Plain-language schedules is the smallest: the agent can already produce a cron expression from text, and the form can preview the next runs.
Live check
- Open any Nextcloud page, open the companion and press the microphone. Dictation works (with a speech backend configured).
- Open /apps/hermiq/chat. There is no microphone.
- For the four unbuilt items, look for the control in Chat.vue, the companion and ScheduleFormModal. None exists.
Matrix rows: ch-voice-in, ch-voice-out, ch-attach, ch-image-gen, ch-search-history, ch-share-link, sc-nl.
What happens
The capability matrix lists seven chat capabilities as missing from any screen. On re-reading the development tip, they split three ways.
Built, but only in the companion, not on the /chat page
ch-voice-in) and voice out (ch-voice-out). The companion on every Nextcloud page dictates and speaks. nextcloud-vue 2.55.1'sCnAiInputposts to/api/speech/transcriptionsandCnAiChatPanelto/api/speech/speech, both served bySpeechController(routes.php:540-542). They follow the per-agent engine choice fromAgentFormModal.vue:252-297throughnormalizeAgentSpeechPolicy(selectedAgent).src/views/Chat.vue, has no microphone and no read-aloud control. A user who configures an agent's voice settings and opens /chat finds no way to use them.The matrix rows read "no, nothing reaches it" because they only searched
src/. They should read "partial, reached from the companion".Built in the companion, broken in the backend
ch-attach). The companion shows a paperclip, and the upload 404s. Filed separately as The companion's attach button fails on every file, because hermiq has no attachments endpoint #950.Not built at all
No backend and no screen. These are missing features, not dead code:
ch-image-gen). No Text2Image TaskProcessing provider is registered inApplication.php.ch-search-history). No query parameter on the session routes and no search box in Chat.vue. Memory full-text search is a different feature.ch-share-link). No token or public share inSessionController. Colleagues can only join through a shared Talk room.sc-nl).ScheduleFormModaloffers once, interval and a raw cron field; nothing turns "every weekday at nine" into a schedule.Fix direction
CnAiInputthere, so /chat and the companion behave the same. Then correctch-voice-inandch-voice-out.Live check
Matrix rows:
ch-voice-in,ch-voice-out,ch-attach,ch-image-gen,ch-search-history,ch-share-link,sc-nl.