Skip to content

Latest commit

Β 

History

History
86 lines (61 loc) Β· 4.6 KB

File metadata and controls

86 lines (61 loc) Β· 4.6 KB

me serve

Run a local web UI for viewing and managing memories.

Prefer a hosted option with nothing to install? The same web UI is available at api.memory.build β€” sign in with GitHub or Google. me serve runs that UI locally against your CLI session instead.

Usage

me serve [--port <port>] [--host <host>] [--no-open]

Description

Starts a local HTTP server that:

  • Serves a React-based UI for browsing, searching, viewing, editing, and deleting memories.
  • Proxies JSON-RPC calls from the browser to the server, injecting the resolved bearer credential (your session or ME_API_KEY) so it never reaches the browser.

By default the server binds to 127.0.0.1:3000; if 3000 is busy it tries 3001, 3002, … up to 3019 before giving up. Passing --port explicitly is strict β€” it does not auto-increment.

The browser opens automatically on startup unless --no-open is passed. Press Ctrl+C to stop.

The UI talks to whichever space is active for the current server β€” same resolution as every other me command (--server flag > ME_SERVER env > stored default server; within the server, the active space is picked via me space use). Run me whoami to confirm.

Options

Option Description
--port <port> Port to bind. Default 3000, auto-incrementing only when the default is busy.
--host <host> Host to bind. Default 127.0.0.1 (loopback only).
--no-open Do not auto-open the browser after the server starts.

Global Options

Option Description
--server <url> Server URL (overrides ME_SERVER env and stored default)
--json Output the startup banner as JSON instead of text
--yaml Output the startup banner as YAML instead of text

UI overview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Search  [Simple | Advanced]  [Clear]                         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                    β”‚  tree breadcrumb [Copy] [Edit] …         β”‚
β”‚   TreeView         β”‚                                          β”‚
β”‚    . (root)        β”‚   rendered markdown / Monaco editor      β”‚
β”‚      β”œβ”€β”€ work      β”‚                                          β”‚
β”‚      β”‚    └── πŸ“„ … β”‚                                          β”‚
β”‚      └── personal  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                    β”‚  id, embedding, timestamps (read-only)   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  • Tree (left): tree paths as collapsible nodes, memories as leaves. Right-click a node for a context menu (delete memory / delete subtree).
  • Search (top): simple hybrid search by default; flip to Advanced for every field accepted by memory.search (semantic, fulltext, grep, tree, meta, metaPredicate, temporal, limit, candidateLimit, semanticThreshold, weights, orderBy).
  • Viewer / Editor (right): rendered Markdown with syntax highlighting, or the Monaco editor with YAML frontmatter + body. The copy button copies the Markdown source with frontmatter. Save is disabled until you make a valid change. The read-only metadata panel sits below.
  • URL state: filter fields and the selected memory id are reflected in the URL, so any view can be shared or bookmarked.

Security notes

  • The server binds to 127.0.0.1 only β€” no LAN exposure. The browser never sees your session token; me serve injects it into RPC calls on the way out.
  • No authentication is required on the local server. Do not --host 0.0.0.0 or tunnel the port unless you understand the implications.

Examples

# Simplest invocation β€” picks a port, opens the browser.
me serve

# Use a specific port and skip auto-open (handy when iterating in dev).
me serve --port 8080 --no-open

# Point at a specific server.
me serve --server https://api.memory.build

See also

  • me space use β€” pick the active space that me serve will connect to.
  • me memory search β€” the CLI equivalent of the UI's search bar.