From ee19c11cc3274fdba4ac55a135969ef771766036 Mon Sep 17 00:00:00 2001 From: William Valentin Date: Mon, 2 Feb 2026 20:45:14 -0800 Subject: [PATCH] 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 --- docs/plans/2026-02-02-flynn-design.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/plans/2026-02-02-flynn-design.md b/docs/plans/2026-02-02-flynn-design.md index 92014df..958e9c8 100644 --- a/docs/plans/2026-02-02-flynn-design.md +++ b/docs/plans/2026-02-02-flynn-design.md @@ -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.