Skip to content

Web Manager

Denys Kashkovskyi edited this page Jun 5, 2026 · 1 revision

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.

Launching

threadnote manage              # start and open the browser
threadnote manage --no-open    # start and print the tokenized URL only
threadnote manage --ui-port 7777

It 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 & Doctor view

Threadnote web manager — Health and Doctor view

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.

Tabs

Memory

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.md index 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.

Sharing

Manage team share repos with full CLI parity: status, publish, sync, rename, change remote URL, remove, and preserve-local. See Sharing Memories.

Health

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.

Tools

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 .ovpack files.
  • Seed — run manifest seeding from the UI. See Seeding Repos and Skills.

Safety

  • 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.

Clone this wiki locally