Finalize design decisions

- Separate sessions per frontend with explicit transfer
- Automatic backend routing based on task type
- Text responses by default (voice is future)
- Immediate notification delivery

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
William Valentin
2026-02-02 20:45:14 -08:00
parent 8717153e48
commit ee19c11cc3
+7 -7
View File
@@ -55,7 +55,7 @@ Flynn is a self-hosted personal AI agent accessible via Telegram and a local TUI
**Flynn Daemon** - Long-running TypeScript/Node.js process exposing an internal API via WebSocket or Unix socket.
**Session Manager** - Shared sessions across frontends. Start a conversation on Telegram, continue in TUI. Persists to SQLite.
**Session Manager** - Separate sessions per frontend (Telegram, TUI). Sessions can be explicitly transferred via `/transfer` command. Persists to SQLite. Shared persistent memory (user preferences, summaries) across all sessions.
**Model Router** - Routes requests to the appropriate model based on task complexity:
- Local LLMs (Ollama/llama.cpp) for private tasks, triage, offline
@@ -89,7 +89,7 @@ Flynn is a self-hosted personal AI agent accessible via Telegram and a local TUI
- Hybrid mode: minimal readline by default, Tab to expand full-screen
- Minimal mode: simple prompt with streaming output
- Full-screen mode: conversation pane, status bar, tool output
- Shares session state with Telegram frontend
- Separate session from Telegram, with `/transfer` to move context between frontends
- Built with Ink (React for CLI)
## Tool System
@@ -331,12 +331,12 @@ Flynn takes OpenClaw's core value proposition (text your AI like a friend) and s
- MCP client integration
- llama.cpp support
## Open Questions
## Design Decisions
1. **Session sharing granularity** - Should Telegram and TUI share the exact same session, or have separate sessions that can be "transferred"?
1. **Session sharing** - Separate sessions per frontend. Explicit transfer via `/transfer telegram` or `/transfer tui`. Shared persistent memory (preferences, summaries) across sessions.
2. **Backend selection** - Automatic routing to backends based on task type, or explicit user choice via command?
2. **Backend selection** - Automatic routing based on task type. Native for simple queries/triage, Claude Code for code tasks, OpenCode as alternative.
3. **Voice response default** - When you send a voice message, should Flynn respond with voice by default, or text?
3. **Voice responses** - Text by default. Voice response is future consideration.
4. **Notification batching** - Should cron/webhook notifications batch or send immediately?
4. **Notification delivery** - Immediate by default. Per-cron batching configuration possible in future if needed.