Problem
synapto search from the terminal is fine for one-shot queries, but daily memory hygiene (browsing recent additions, approving consolidations, fixing trust) requires switching to psql or the future web UI. devs who live in the terminal want a TUI. competitor byterover-cli proved this with their React/Ink TUI — it is what makes brv feel like a daily-driver tool, not a library.
Proposed Solution
opt-in TUI shipped as synapto[tui] extra (not default — keep base install lean).
tech
- Textual (rich TUI, async-native, mouse + keyboard)
- launched via
synapto (no args) when extra is installed; falls back to current REPL otherwise
views
| view |
keys |
purpose |
| dashboard |
(default) |
recent memories, decay alerts, pending consolidations |
| search |
/ |
incremental hybrid search, preview pane shows full content + entities |
| graph |
g |
ascii-rendered entity neighborhood; arrow keys to walk |
| review queue |
r |
approve/reject pending consolidations, contradictions |
| trust |
t (on selected) |
thumbs up/down on the focused memory |
| forget |
x (with confirm) |
soft-delete |
why textual specifically
- async-native — fits existing codebase
- ssh-safe (works over remote terminals)
- doesn't compete with web UI; complements it (some devs prefer terminal)
Trade-offs
- scope overlap with web UI (P1.1 issue): TUI = terminal-native, daily-driver. webui = visual graph, sharing screenshots. both are valid.
- maintenance: two UIs. mitigation: shared service layer (both consume the same query/mutation API).
- dependency weight: textual is ~5MB. mitigated via extra (
pip install synapto[tui]).
Out of scope
- tmux pane management
- vim-mode keybindings (use textual defaults)
Success criteria
pip install synapto[tui] && synapto opens dashboard
- 100% functionality reachable without leaving keyboard
- works over SSH on a 80x24 terminal
References
- byterover TUI: React/Ink in
src/tui/ — proves the pattern
Problem
synapto searchfrom the terminal is fine for one-shot queries, but daily memory hygiene (browsing recent additions, approving consolidations, fixing trust) requires switching to psql or the future web UI. devs who live in the terminal want a TUI. competitor byterover-cli proved this with their React/Ink TUI — it is what makesbrvfeel like a daily-driver tool, not a library.Proposed Solution
opt-in TUI shipped as
synapto[tui]extra (not default — keep base install lean).tech
synapto(no args) when extra is installed; falls back to current REPL otherwiseviews
/grt(on selected)x(with confirm)why textual specifically
Trade-offs
pip install synapto[tui]).Out of scope
Success criteria
pip install synapto[tui] && synaptoopens dashboardReferences
src/tui/— proves the pattern