-
Notifications
You must be signed in to change notification settings - Fork 0
Web Manager
threadnote manage opens a local web UI for browsing and managing your memory store without typing CLI commands. It is a React/TypeScript app served by the CLI over a Node HTTP server bound to 127.0.0.1 with a per-session bearer token — nothing is exposed off the machine.
Everything the manager does has a CLI or MCP equivalent. It is a convenience surface over the same viking:// store, not a separate source of truth.
threadnote manage # start and open the browser
threadnote manage --no-open # start and print the tokenized URL only
threadnote manage --ui-port 7777It binds to 127.0.0.1 on a random free port (override with --ui-port) and prints a tokenized URL. The token is issued per session; restarting manage mints a new one.

Health is the default tab and runs doctor automatically when you open or re-activate it. The left panel is the memory tree; the tabs across the top switch between Memory, Sharing, Health, and Tools.
Browse and edit the viking:// store directly.
- Resizable, independently scrollable tree with caret indicators and a filter box. A "show system files" toggle reveals the
.abstract.md/.overview.mdindex nodes. - Markdown memories open in Preview (react-markdown + GFM) by default, with Edit for raw file changes. Preview renders the memory body, not the metadata header.
- Create new memories with editable metadata (kind / project / topic). Metadata fields are read-only for existing records and selected folders, since changing them there is not persisted as metadata.
- File and folder checkboxes drive bulk archive / publish / forget. Folder selection targets only currently visible, non-system descendants, and hidden selections are pruned before any destructive action so a filtered-away file is never silently hit. Bulk runs show a blocking overlay and per-item OK/FAIL output, clear the selection on full success, and keep failed URIs selected for retry.
- Remove personal (non-root) folders with confirmation.
Manage team share repos with full CLI parity: status, publish, sync, rename, change remote URL, remove, and preserve-local. See Sharing Memories.
The default tab. Runs doctor on open and re-activation. Buttons: Run Doctor, Start OpenViking, Repair Dry Run, Repair. The actions share a busy state, disable the Health controls while running, and stream doctor/repair output into a capped, independently scrollable pane. See Troubleshooting.
The non-memory operations:
-
Recall / Read — search the store and open a returned
viking://URI. See Recall and Read. - Compact — scoped memory-hygiene dry-runs; output is prefixed with a scope summary so empty plans are explainable. See Memory Lifecycle.
- Consolidation — AI-assisted dedup: a local non-interactive Codex or Claude CLI drafts a merge, you confirm, and the backend applies the writes/removals. Generation is draft-only; nothing changes without confirmation.
-
Import / Export pack — move local context through
.ovpackfiles. - Seed — run manifest seeding from the UI. See Seeding Repos and Skills.
- Binds to loopback only with a per-session token; no external exposure and no telemetry.
- Destructive bulk actions prune hidden selections first and are confirmation-gated.
- Publishing runs the same secret scrubber as the CLI. See Safety and Security.
See also: CLI Reference, Memory Lifecycle, Sharing Memories, Recall and Read, Troubleshooting.
GitHub · npm · walkthrough deck · OpenViking · AGPL-3.0-or-later
Start here
Concepts
Workflows
Reference