Add the agent scaffold, mobile web UI, voice auto-leave, and text notifications
This commit is contained in:
@@ -32,25 +32,32 @@ Ordered backlog. `CURRENT.md` tracks the live session state.
|
||||
|
||||
## Deferred
|
||||
|
||||
- Voice auto-leave, `stay @user`, invite-link joins, audio in and out, and video streaming. The
|
||||
plan is in `docs/voice.md`. The basic voice actions exist; auto-leave and audio do not.
|
||||
- `stay @user`, invite-link joins, audio in and out, and video streaming. The plan is in
|
||||
`docs/voice.md`. The basic voice actions exist; auto-leave and audio do not.
|
||||
- Client lightening. Low priority. The client must stay stable.
|
||||
- Web UI authentication and remote accounts.
|
||||
- Web UI authentication and remote accounts. Accepted for now: no auth, LAN or Tailscale only.
|
||||
|
||||
## Next
|
||||
|
||||
1. Voice auto-leave (`voiceLeaveDelaySeconds`) and the `stay @user` command.
|
||||
2. Live verification on the audio host: TTS local + API, ducking, capture, `voice.join`/
|
||||
`voice.leave` end to end, and a full QR approval.
|
||||
1. Voice auto-leave (owner-based) is implemented. `stay @user` is deferred.
|
||||
2. Live verification on the audio host: TTS local + API, ducking, capture, and `voice.join`/
|
||||
`voice.leave` end to end.
|
||||
3. Browser microphone puppeting: a mix sink so the browser mic and TTS share `veskslop_mic`, a
|
||||
`pacat` input path, and echo handling.
|
||||
4. Speech to text: Vosk (small CPU model in `poc/models/`) is wired and verified; add more
|
||||
languages or a larger model when needed. `VESKSLOP_STT_CMD`/`_API_URL` stay available.
|
||||
5. Notification parsing: edits, deletes, reactions, and message references.
|
||||
6. Reply-to-puppet counts as a trigger.
|
||||
7. Per-user rate limit and command cooldowns.
|
||||
8. Collector account: stripped-down read-only modules. Use it when the puppet cannot find a user's
|
||||
5. Notification parsing (edits, deletes, reactions, replies) and the reply-to-puppet trigger: done.
|
||||
6. Per-user rate limit and command cooldowns.
|
||||
7. Collector account: stripped-down read-only modules. Use it when the puppet cannot find a user's
|
||||
voice channel or the channel members.
|
||||
8. Local agent harness (`agent/`, Go + Eino): scaffold done and smoke-tested. Next: daemon task
|
||||
push (free-form triggers only; commands stay local), tool allowlist, per-conversation
|
||||
serialization with cancel-and-replace, delivery IDs, and tests against a fake model.
|
||||
9. Remote agent MCP path: a notification tool set for external systems, a documented LAN/Tailscale
|
||||
bind, and optional token auth on the MCP listener. See `docs/agent.md`.
|
||||
10. Mobile web UI: first draft at 390px with the four tabs (Users, Chat, Call, Activity) is
|
||||
implemented and rendered headless. Next: move the transcript into the Call tab, put the TTS
|
||||
box in the Call tab as in 1c, and verify with real data on a phone-width viewport.
|
||||
|
||||
## Web UI follow-ups
|
||||
|
||||
@@ -63,7 +70,7 @@ Ordered after the voice backend unless the owner asks first.
|
||||
- DM scope in the header (the guild picker becomes "Direct messages").
|
||||
- Message editing, deletion, reactions, and history pagination.
|
||||
- The remaining mockup screens: 7b/7c console details, 6b history window, 4b group chat, 2c state
|
||||
legend, 1c phone layout.
|
||||
legend.
|
||||
|
||||
## Open decisions
|
||||
|
||||
|
||||
Reference in New Issue
Block a user