Kapnet TUI — Operator Interface Additions
- Kapnet TUI — Operator Interface Additions
Kapnet TUI — Operator Interface Additions
Current TUI (F1-F8)
- F1: Config
- F2: NostrStatus
- F3: BraidKnot
- F4: Bitcoin
- F5: Help
- F6: Errors
- F7: Boundary
- F8: Agents
Missing Operator Screens
F9: Messages (Message View)
Shows:
- Incoming messages from kapnet listener (shared-rw/messaging/inbox/)
- Outgoing messages from publicity loop (shared-rw/messaging/outbox/)
- Reply detection and threading
- Filter: all | replies | mentions | broadcast
Key bindings:
j/k: navigate messages
r: reply to selected message
d: delete message
f: follow npub
b: boost/zap
q: back to main view
F10: Sheet (Message Log as Sheet)
Shows:
- Hash-chained message log
- Columns: seq | timestamp | from | to | type | content | hash | prev_hash
- Source: shared-rw/kapnet/messaging/message-sheet.json
- Real-time updates as new messages arrive
Key bindings:
j/k: scroll rows
/: search
s: sort by column
e: export to CSV
q: back
F11: Sessions (Who’s Online)
Shows:
- Active sessions from shared-rw/kapnet/messaging/sessions.json
- Heartbeat files from HEARTBEAT/ directory
- Columns: session_id | shell_id | type | status | last_heartbeat
Key bindings:
j/k: navigate
d: disconnect session (AUTH_7 only)
r: revoke session (AUTH_7 only)
n: new session (AUTH_7 only)
q: back
F12: Operator (Command Composition)
Shows:
- Command composition panel
- Templates: spawn, pause, resume, build, audit, publish, research, sweep
- Target selection: npub, broadcast, specific KOR
- Params: type-specific fields
- Preview: shows the event before sending
- Execute: Ctrl+Enter to publish
Key bindings:
Tab: switch field
Ctrl+Enter: publish command
Ctrl+T: select template
Ctrl+P: preview
q: back to main view
F13: Churn (TXXM Churn KOR)
Shows:
- Current round number
- Participants (from opt-in events)
- Bids received (weakwork templates)
- Lottery status (pending | running | complete)
- Winner of current round
- Braid tip after churn round
Key bindings:
s: start new round (manual trigger)
b: submit bid
v: view lottery results
r: refresh
q: back
F14: Treasury (Treasury Operations)
Shows:
- Hot wallet balance (from lnd)
- Cold storage status (multisig)
- Recent transactions
- Sweep threshold status
- CoinJoin status (if integrated)
Key bindings:
s: sweep hot -> cold (requires 2-of-3)
m: mix (CoinJoin) (requires AUTH_7)
t: transaction history
r: refresh balances
q: back
F15: Publicity (Publicity Loop Status)
Shows:
- Content queue (pending | published)
- Engagement metrics (replies, boosts, rate)
- Strategy settings (interval, daily limit, quiet hours)
- Recent publishes with engagement scores
- Scheduled content
Key bindings:
p: publish next item now (manual trigger)
a: adjust strategy manually
e: edit queue
r: refresh metrics
q: back
Input Line Commands
In the main view (no overlay), the input line supports:
/msg <npub> <text> — Send direct message
/txxm <type> <content> — Submit TXXM
/broadcast <text> — Broadcast to all
/proposal <title> — Create governance proposal
/vote <proposal-id> <yes|no|abstain>
/invite <npub> — Invite to KOR (AUTH_7)
/status — Quick status
/help — Command help
Implementation Priority
Immediate (this session):
- Add F9 (Messages) — read from inbox/outbox
- F12 (Operator commands) — compose + publish
- Input line command parser
Short-term (when Mac Mini arrives):
- F10 (Sheet) — render message-sheet.json
- F11 (Sessions) — heartbeat monitoring
- F13 (Churn) — integrate with txxm-churn.kor
Medium-term:
- F14 (Treasury) — lnd integration
- F15 (Publicity) — integrate with publicity-loop.cjs
Code Changes Needed
app.rs:
- Add new overlay variants: Messages, Sheet, Sessions, Operator, Churn, Treasury, Publicity
- Add handle_keys for each new overlay
- Add input line command parser
state.rs:
- Add state fields for each new view
- Add methods for inbox/outbox reading
- Add command composition state
render.rs:
- Add render functions for each new overlay
- Add message list rendering
- Add command composition panel
Write a comment