@supanadit/morse-web 0.12.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,7 +1,13 @@
1
1
  # @supanadit/morse-web
2
2
 
3
- **Morse in your browser, as one npm package.** It serves the same Angular frontend and drives the same
4
- [Pi](https://github.com/earendil-works/pi) coding agent as the VS Code extension — no VS Code required.
3
+ [![npm](https://img.shields.io/npm/v/@supanadit/morse-web)](https://www.npmjs.com/package/@supanadit/morse-web)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/supanadit/morse/blob/master/LICENSE)
5
+ [![Node.js](https://img.shields.io/badge/node-%E2%89%A520-brightgreen)](https://nodejs.org)
6
+
7
+ **Morse in your browser, as one npm package.** It serves the same Angular chat UI and drives the same
8
+ [Pi](https://github.com/earendil-works/pi) coding agent as the VS Code extension — no editor required. Start it,
9
+ open the URL, and you get your existing pi models, credentials, tools and sessions in a real interface instead
10
+ of a terminal TUI.
5
11
 
6
12
  ```bash
7
13
  npm install -g @supanadit/morse-web
@@ -21,10 +27,40 @@ morse start
21
27
 
22
28
  Then open <http://127.0.0.1:4399/>. The server keeps running in the background; stop it with `morse stop`.
23
29
 
30
+ ![Morse in the browser](https://raw.githubusercontent.com/supanadit/morse/master/docs/assets/demo-web.gif)
31
+
32
+ ## Why
33
+
34
+ - **Your Pi, not a hosted service.** Morse spawns `pi --mode rpc` on your machine and reads the same `~/.pi`
35
+ sessions. Nothing is re-implemented and no API key is stored by Morse.
36
+ - **No editor needed.** A small NestJS host serves the UI on `127.0.0.1`, so you can drive the agent from any
37
+ browser — on a headless box, over SSH port-forwarding, or beside a remote dev machine.
38
+ - **One package.** The frontend is prebuilt and the `@morse/*` libraries are inlined into a single bundle, so
39
+ there is nothing else to install beyond Node and `pi`.
40
+
41
+ ## Features
42
+
43
+ - **A chat that streams** — answers, thinking and tool calls as they arrive, a compact expandable tool tree
44
+ (with a one-click legacy timeline), paged history and context compaction.
45
+ - **Sessions kept warm across projects** — one `pi` process per session (LRU-capped, `MORSE_HOT_SESSIONS`
46
+ default 4); reloading the page reattaches and replays the transcript instead of respawning.
47
+ - **The browser host's own tools** — a **git panel** (commit list, branch graph, staged/unstaged changes, pull /
48
+ push / commit / branch switch), a file **Explorer** with read-only previews and diff views, and a **bottom
49
+ panel** with real terminals that survive a reload.
50
+ - **Manage MCP servers** — list every server pi sees for the project (state, tools, errors) and add, remove,
51
+ enable or disable one, with per-project overrides.
52
+ - **Model & thinking control that follows Pi** — the thinking picker mirrors exactly the levels the current model
53
+ supports in Pi's TUI, and a model added to `models.json` appears when you open the picker (no restart).
54
+ - **Attach context anywhere** — drag, drop and paste files or images; uploaded files land next to the session as
55
+ `@mentions`, and a picked line range travels as `path:start-end`.
56
+ - **A proper shell** — session and file tabs, a resizable Explorer, and a command palette (`Ctrl+Alt+K`) over
57
+ commands, tabs, sessions, projects, files and the model.
58
+ - **Optional notifications** — be told when a run finishes while the tab is elsewhere (off until you opt in).
59
+
24
60
  ## Requirements
25
61
 
26
- - Node.js 20+ (developed on 24).
27
- - The `pi` CLI on your `PATH` and already authenticated (`pi --version`), or a path via `MORSE_PI_PATH`.
62
+ - **Node.js 20+** (developed on 24).
63
+ - The **`pi` CLI** on your `PATH` and already authenticated (`pi --version`), or a path via `MORSE_PI_PATH`.
28
64
  Morse reuses your existing pi configuration: models, credentials, tools and sessions under `~/.pi`.
29
65
 
30
66
  ## Commands
@@ -68,8 +104,8 @@ MORSE_UI_DIR Override the served frontend directory
68
104
 
69
105
  ## Security
70
106
 
71
- `morse start` binds `127.0.0.1` by default. `--lan` exposes an **unauthenticated** chat UI to your network:
72
- only do it on a trusted network, or put a TLS reverse proxy with auth in front of it.
107
+ `morse start` binds `127.0.0.1` by default. `--lan` exposes an **unauthenticated** chat UI to your network: only
108
+ do it on a trusted network, or put a TLS reverse proxy with auth in front of it.
73
109
 
74
110
  ## How the single package is built
75
111
 
@@ -81,10 +117,9 @@ dist/cli.mjs the `morse` lifecycle CLI
81
117
  dist/ui/ the built Angular frontend, served as static assets
82
118
  ```
83
119
 
84
- The `@morse/*` packages are private workspace libraries, so they cannot be installed from npm — bundling
85
- them into `server.mjs` is what makes a single publishable artifact possible. The NestJS runtime
86
- (`@nestjs/*`, `rxjs`, `ws`, `reflect-metadata`) stays external and is installed normally from
87
- `dependencies`.
120
+ The `@morse/*` packages are private workspace libraries, so they cannot be installed from npm — bundling them
121
+ into `server.mjs` is what makes a single publishable artifact possible. The NestJS runtime (`@nestjs/*`, `rxjs`,
122
+ `ws`, `reflect-metadata`) stays external and is installed normally from `dependencies`.
88
123
 
89
124
  ## Uninstall
90
125
 
@@ -93,3 +128,11 @@ morse stop
93
128
  npm uninstall -g @supanadit/morse-web
94
129
  rm -rf ~/.morse # state and logs
95
130
  ```
131
+
132
+ ## Links
133
+
134
+ - [Repository and full README](https://github.com/supanadit/morse)
135
+ - [VS Code extension](https://marketplace.visualstudio.com/items?itemName=supanadit.morse)
136
+ - [Configuration](https://github.com/supanadit/morse/blob/master/docs/CONFIGURATION.md)
137
+
138
+ [MIT](https://github.com/supanadit/morse/blob/master/LICENSE) © 2026 Supan Adit Pratama