Skip to content

Commit c43af6c

Browse files
docs: document the browser ui
1 parent a25b6a9 commit c43af6c

7 files changed

Lines changed: 308 additions & 60 deletions

File tree

README.md

Lines changed: 52 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Zharwing Memory is a local-first project context manager for AI-assisted coding workflows. It is not the coding agent. External agents such as Codex, Claude Code, Gemini CLI, Ollama-based tools, LM Studio workflows, and future MCP-capable clients do the engineering work. Zharwing Memory provides their durable, project-scoped memory layer.
44

5-
The product keeps project knowledge, AI session history, context bundles, diagrams, decisions, commands, gotchas, and optional review proposals organized per project. A human can open the desktop app to understand current work, inspect AI context, inspect the graph, search previous work, and enable review workflows only when wanted.
5+
The product keeps project knowledge, AI session history, context bundles, diagrams, decisions, commands, gotchas, and optional review proposals organized per project. A human can open the local browser UI or native desktop app to understand current work, inspect AI context, inspect the graph, search previous work, and enable review workflows only when wanted.
66

77
> **Status: standalone personal developer preview.** The current product is
88
> intended for a trusted developer using a local, single-user environment. It
@@ -130,7 +130,7 @@ check.
130130

131131
```text
132132
apps/
133-
desktop/ Tauri + React human control plane
133+
desktop/ Shared React browser UI and Tauri human control plane
134134
daemon/ Localhost JSON-RPC daemon
135135
cli/ zharwing-memory command-line helper
136136
mcp-server/ MCP-style stdio adapter
@@ -150,6 +150,7 @@ packages/
150150
151151
docs/
152152
README.md Documentation index
153+
WEB_UI.md Local browser startup, auth, usage, and troubleshooting
153154
ARCHITECTURE.md System architecture
154155
DATA_MODEL.md Entities, storage, and metadata
155156
API_REFERENCE.md Daemon, CLI, and MCP surfaces
@@ -198,27 +199,52 @@ ZHARWING_MEMORY_AUTH_TOKEN=<local-random-token>
198199
VITE_ZHARWING_MEMORY_AUTH_TOKEN=<same-local-random-token>
199200
```
200201

201-
Start the daemon and browser UI:
202+
### Local Browser UI
203+
204+
The browser UI is a complete local interface for normal daily use, not a demo
205+
or a reduced documentation view. It exposes the same React pages and workflows
206+
as the native desktop window.
207+
208+
Start the daemon in the first terminal:
202209

203210
```bash
204211
corepack pnpm dev:daemon
212+
```
213+
214+
Start the browser UI in a second terminal:
215+
216+
```bash
205217
corepack pnpm dev:web
206218
```
207219

208-
For the native desktop app, run:
220+
Open `http://localhost:5174/`. Keep both processes running. The browser UI calls
221+
the daemon at `http://127.0.0.1:37841`; `dev:web` does not start it.
222+
223+
The values of `ZHARWING_MEMORY_AUTH_TOKEN` and
224+
`VITE_ZHARWING_MEMORY_AUTH_TOKEN` must match. Restart `dev:web` after changing
225+
Vite environment variables. Browser path fields accept typed or pasted
226+
absolute paths because browsers cannot expose arbitrary local folders.
227+
228+
See the dedicated [Browser UI guide](docs/WEB_UI.md) for the full setup,
229+
browser-versus-desktop comparison, local authentication, and troubleshooting.
230+
231+
### Native Desktop UI
232+
233+
For the native Tauri app, run:
209234

210235
```bash
211236
corepack pnpm dev:desktop
212237
```
213238

214239
In a source checkout, the desktop shell starts or reuses the local daemon
215240
automatically. A copied release executable reuses an already-running daemon or
216-
uses `ZHARWING_MEMORY_DESKTOP_DAEMON_COMMAND` when configured. Browser mode
217-
keeps the normal separate daemon + web server flow.
241+
uses `ZHARWING_MEMORY_DESKTOP_DAEMON_COMMAND` when configured. The native shell
242+
adds OS folder pickers; the core project, session, library, graph, and settings
243+
workflows are shared with the browser UI.
218244

219-
Open `http://localhost:5174/`, create a project, then link repos from
220-
Repositories. For multi-repo products, create the project first and add each Git
221-
repo root afterward.
245+
In either UI, create a project, then link repos from Repositories. For
246+
multi-repo products, create the project first and add each Git repo root
247+
afterward.
222248

223249
### Pointer Files
224250

@@ -286,9 +312,10 @@ restore, single-item permanent delete, selected permanent delete, and full empty
286312
## Architecture Summary
287313

288314
```text
289-
Desktop UI \
290-
CLI -> daemon API -> shared packages -> Markdown source of truth
291-
MCP adapter / \-> rebuildable indexes
315+
Browser UI \
316+
Desktop UI \
317+
CLI -> daemon API -> shared packages -> Markdown source of truth
318+
MCP adapter / \-> rebuildable indexes
292319
```
293320

294321
The daemon owns:
@@ -306,7 +333,7 @@ The daemon owns:
306333
- trash, restore, and permanent purge
307334
- optional assistant jobs
308335

309-
The desktop app, CLI, and MCP server are adapters.
336+
The browser UI, native desktop app, CLI, and MCP server are adapters.
310337

311338
## Memory Root Shape
312339

@@ -456,10 +483,12 @@ project administration, repository links, workstreams, document editing,
456483
imports, graph settings, backups, Trash, and other control-plane operations.
457484
See [API Reference](docs/API_REFERENCE.md) for both surfaces.
458485

459-
## Desktop UI
486+
## Browser And Desktop UI
460487

461-
The desktop app is the human control plane. The sidebar stays intentionally
462-
small:
488+
The local browser UI and native desktop app share the same React human control
489+
plane. The browser UI is often the fastest way to use Memory from a source
490+
checkout: run the daemon, run `dev:web`, and open `http://localhost:5174/`.
491+
The sidebar stays intentionally small:
463492

464493
- project switcher for selecting, creating, and deleting projects
465494
- Dashboard
@@ -478,12 +507,12 @@ Secondary pages live inside section tabs:
478507
- Settings: Project, Setup, Assistant, Backups
479508

480509
In the native Tauri desktop window, Setup, Repositories, and Import provide
481-
Browse buttons for selecting folders with the OS file picker. Browser dev mode
482-
keeps typed paths as a fallback because browsers do not expose arbitrary local
483-
folder paths to web apps.
510+
Browse buttons for selecting folders with the OS file picker. The browser UI
511+
provides the same underlying workflows but uses typed or pasted absolute paths
512+
because browsers do not expose arbitrary local folder paths to web apps.
484513

485-
See [Desktop UI](docs/DESKTOP_UI.md) for the current navigation and first-run
486-
flow.
514+
See [Browser UI](docs/WEB_UI.md) for startup and troubleshooting, and
515+
[Browser And Desktop UI](docs/DESKTOP_UI.md) for navigation and first-run flow.
487516

488517
The visual direction follows the Graphite + Copper theme from the product plan.
489518

@@ -498,7 +527,8 @@ Start here:
498527
- [Data Model](docs/DATA_MODEL.md)
499528
- [API Reference](docs/API_REFERENCE.md)
500529
- [User Flows](docs/USER_FLOWS.md)
501-
- [Desktop UI](docs/DESKTOP_UI.md)
530+
- [Browser UI](docs/WEB_UI.md)
531+
- [Browser And Desktop UI](docs/DESKTOP_UI.md)
502532
- [Graph Rules](docs/GRAPH_RULES.md)
503533
- [Diagrams](docs/DIAGRAMS.md)
504534
- [Operations](docs/OPERATIONS.md)

docs/DESKTOP_UI.md

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
# Desktop And Web UI
1+
# Browser And Desktop UI
22

3-
The desktop/web UI is the human control plane for Zharwing Memory. It is not an
4-
agent. It lets a user create memory projects, link repos, import old notes,
5-
review context, inspect sessions, manage durable memory, and recover deleted
6-
items.
3+
The local browser UI and native desktop app are two runtime modes for the same
4+
React human control plane. Neither is an agent. Both let a user create memory
5+
projects, link repos, import old notes, review context, inspect sessions, manage
6+
durable memory, and recover deleted items.
77

88
## Runtime Modes
99

10-
Browser development mode:
10+
Browser mode uses two processes. Start them in separate terminals:
1111

1212
```text
1313
pnpm dev:daemon
@@ -38,6 +38,16 @@ The browser UI cannot browse arbitrary local folders. In browser mode, path
3838
fields accept typed or pasted absolute paths. In the Tauri window, Setup,
3939
Repos, and Import can use OS folder picker buttons.
4040

41+
| Behavior | Browser UI | Native Tauri app |
42+
| --- | --- | --- |
43+
| Pages and workflows | Full shared React UI | Full shared React UI |
44+
| Daemon | Start separately | Starts or reuses it in a source checkout |
45+
| Folder selection | Type or paste absolute paths | OS folder picker buttons |
46+
| Window | `http://localhost:5174/` | Native application window |
47+
48+
For browser environment variables, token matching, first startup, and common
49+
errors, see the dedicated [Browser UI guide](WEB_UI.md).
50+
4151
Setup also includes Agent MCP actions for automatic install, installing Codex,
4252
Claude Code, or Claude Desktop config, and checking the current MCP setup.
4353
These actions call the same installer as `zharwing-memory mcp install` and require

docs/MVP_WALKTHROUGH.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,19 @@ Browser UI:
2525
pnpm dev:web
2626
```
2727

28+
Run this in a second terminal while `pnpm dev:daemon` remains active, then open
29+
`http://localhost:5174/`. The local browser UI contains the complete React
30+
control plane. See [Browser UI](WEB_UI.md) for environment setup and
31+
troubleshooting.
32+
2833
Native Tauri window:
2934

3035
```text
3136
pnpm dev:desktop
3237
```
3338

34-
Use `dev:web` when you only need the browser app at
35-
`http://localhost:5174/`. Use `dev:desktop` when you need the Tauri desktop
36-
window and OS folder picker support.
39+
Use `dev:web` for daily browser-based use or development. Use `dev:desktop`
40+
when you want the same UI in a Tauri window with OS folder picker support.
3741

3842
## UI First Run
3943

docs/OPERATIONS.md

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,16 +98,37 @@ CLI:
9898
corepack pnpm dev:cli projects
9999
```
100100

101-
Browser UI:
101+
### Local Browser UI
102+
103+
The browser UI is a full local control plane for daily use. It renders the same
104+
React application as the Tauri window, but it does not manage the daemon
105+
process. Start the daemon first and keep it running:
106+
107+
```text
108+
corepack pnpm dev:daemon
109+
```
110+
111+
Then start the UI in a second terminal:
102112

103113
```text
104114
corepack pnpm dev:web
105115
```
106116

107-
The React/Vite dev server is pinned to `http://localhost:5174` so it does
117+
Open `http://localhost:5174/`. The React/Vite dev server is pinned to that port so it does
108118
not collide with other local product runtimes that commonly use Vite's default
109119
`5173`.
110120

121+
In token mode, the daemon and browser bundle must use the same local token:
122+
123+
```text
124+
ZHARWING_MEMORY_AUTH_TOKEN=<local-random-token>
125+
VITE_ZHARWING_MEMORY_AUTH_TOKEN=<same-local-random-token>
126+
```
127+
128+
Vite loads `.env` when the process starts. Restart `dev:web` after changing a
129+
`VITE_` value. See [Browser UI](WEB_UI.md) for complete setup and
130+
troubleshooting.
131+
111132
Desktop/web UI workflows currently include setup, project selection, project
112133
delete, repo links, import preview/commit, workstreams, sessions, docs, search,
113134
context preview, inbox, graph, backup management, and Trash restore/purge. The

docs/README.md

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,13 @@ This folder contains product and engineering documentation for the Zharwing Memo
3232
- [User Flows](USER_FLOWS.md)
3333
First-time setup, daily coding, project return, context preview, inbox review, assistant workflows, backup, and recovery.
3434

35-
- [Desktop UI](DESKTOP_UI.md)
36-
Browser and Tauri runtime modes, lightweight sidebar model, first-run setup,
37-
import workflow, opt-in session graph visibility, and Trash behavior.
35+
- [Browser UI](WEB_UI.md)
36+
Complete local browser startup, daemon and token configuration, daily use,
37+
browser-versus-desktop differences, and troubleshooting.
38+
39+
- [Browser And Desktop UI](DESKTOP_UI.md)
40+
Shared navigation, browser and Tauri runtime modes, first-run setup, import
41+
workflow, opt-in session graph visibility, and Trash behavior.
3842

3943
- [Diagrams](DIAGRAMS.md)
4044
Mermaid diagrams: architecture, UML class diagram, ERD, sequence diagrams, state machines, user flow, context pipeline, storage layout, and backup flow.
@@ -68,18 +72,19 @@ This folder contains product and engineering documentation for the Zharwing Memo
6872
2. Read [Architecture](ARCHITECTURE.md).
6973
3. Review [Diagrams](DIAGRAMS.md) for system shape.
7074
4. Use [User Flows](USER_FLOWS.md) to understand behavior.
71-
5. Use [Desktop UI](DESKTOP_UI.md) when operating the browser or Tauri app.
72-
6. Use [API Reference](API_REFERENCE.md) when wiring clients.
73-
7. Use [Agent Protocol](AGENT_PROTOCOL.md) when wiring agents or generating agent-specific instructions.
74-
8. Use [MCP Setup](MCP_SETUP.md) when connecting Codex, Claude, or another MCP client.
75-
9. Use [Agent Automation](AGENT_AUTOMATION.md) when configuring bootstrap files or the generic skill.
76-
10. Use [Repositories](REPOSITORIES.md) when linking multiple repos to one memory project.
77-
11. Use [Workstreams](WORKSTREAMS.md) when grouping multi-day topics.
78-
12. Use [Importing](IMPORTING.md) when bringing in existing Markdown memory or session folders.
79-
13. Use [Graph Rules](GRAPH_RULES.md) when imported memory needs better graph hubs.
80-
14. Use [Semantic Graph Analysis](SEMANTIC_GRAPH.md) when enabling AI-reviewed relationships.
81-
15. Use [Testing With AI Providers](AI_TESTING.md) when checking LM Studio, session TLDR generation, or another model-backed provider.
82-
16. Use [Operations](OPERATIONS.md) when running or packaging the app.
75+
5. Use [Browser UI](WEB_UI.md) to run Memory in a browser.
76+
6. Use [Browser And Desktop UI](DESKTOP_UI.md) for the shared navigation and workflows.
77+
7. Use [API Reference](API_REFERENCE.md) when wiring clients.
78+
8. Use [Agent Protocol](AGENT_PROTOCOL.md) when wiring agents or generating agent-specific instructions.
79+
9. Use [MCP Setup](MCP_SETUP.md) when connecting Codex, Claude, or another MCP client.
80+
10. Use [Agent Automation](AGENT_AUTOMATION.md) when configuring bootstrap files or the generic skill.
81+
11. Use [Repositories](REPOSITORIES.md) when linking multiple repos to one memory project.
82+
12. Use [Workstreams](WORKSTREAMS.md) when grouping multi-day topics.
83+
13. Use [Importing](IMPORTING.md) when bringing in existing Markdown memory or session folders.
84+
14. Use [Graph Rules](GRAPH_RULES.md) when imported memory needs better graph hubs.
85+
15. Use [Semantic Graph Analysis](SEMANTIC_GRAPH.md) when enabling AI-reviewed relationships.
86+
16. Use [Testing With AI Providers](AI_TESTING.md) when checking LM Studio, session TLDR generation, or another model-backed provider.
87+
17. Use [Operations](OPERATIONS.md) when running or packaging the app.
8388

8489
## Documentation Policy
8590

0 commit comments

Comments
 (0)