@mmmbuto/nexuscrew 0.8.2 → 0.8.4

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
@@ -16,7 +16,7 @@ panes, windows. tmux does the work; the browser is just a faithful client.
16
16
 
17
17
  ---
18
18
 
19
- ## What it is (v0.8.2 "Simple Federated Hydra")
19
+ ## What it is (v0.8.4 "Simple and Clean")
20
20
 
21
21
  - Runs a small server on the host where your tmux sessions live.
22
22
  - Each attach spawns a real PTY running `tmux attach` and bridges its bytes over a WebSocket
@@ -27,9 +27,10 @@ panes, windows. tmux does the work; the browser is just a faithful client.
27
27
  - **Multi-window decks**: named workspaces at `/deck/<name>` — one browser window per
28
28
  monitor, each with its own remembered tile layout. The focused tile is the size owner;
29
29
  everything else attaches with `ignore-size`.
30
- - **Multi-node**: register other hosts as nodes over dedicated restricted SSH tunnels and
31
- see their tmux fleets in the same UI. Per-node groups, remote attach, and file exchange
32
- all travel through a single-origin `/node/<name>` proxy using one local token.
30
+ - **Federated Hydra inventory**: connect existing NexusCrew installations through the SSH
31
+ configuration you already control and see local, direct, and relayed tmux fleets in one UI.
32
+ Route labels show where every session lives; creation, attach, files, lifecycle and Fleet
33
+ management use the selected location through a scoped single-origin route.
33
34
  - **Settings and wizard**: manage roles, nodes, token rotation, and service regeneration
34
35
  from the UI; a skippable first-run wizard guides initial setup.
35
36
  - **Session lifecycle from the UI**: create sessions (name + cwd + an allowlisted preset)
@@ -41,6 +42,8 @@ panes, windows. tmux does the work; the browser is just a faithful client.
41
42
  - **i18n**: English, Italian, Spanish — follows your browser language, switchable in the UI.
42
43
  - **localhost-only**: the server binds `127.0.0.1` and refuses any non-loopback bind.
43
44
  - **Stateless**: tmux *is* the persistence. No database, no accounts.
45
+ - **Mobile terminal controls**: long-press begins local text selection, drag extends it, and
46
+ the composer send button keeps the software keyboard open for the next message.
44
47
  - **Universal**: a PTY is a PTY — a coding agent, a REPL, a plain shell, anything tmux holds.
45
48
 
46
49
  ## Screenshots
@@ -70,6 +73,12 @@ Responses-only. New custom credentials are read only from the environment variab
70
73
  the PWA; NexusCrew never stores the secret value. Existing Z.AI A/P and Ollama Cloud profiles
71
74
  retain their backwards-compatible credential loading.
72
75
 
76
+ Managed engines expose a permission selector. New Claude engines (native, Z.AI, Ollama, or
77
+ custom) default to **Bypass permissions** and launch with
78
+ `--dangerously-skip-permissions`; choose **Standard permissions** to disable it. New Codex and
79
+ Codex-VL engines default to Standard and offer an explicit opt-in for
80
+ `--dangerously-bypass-approvals-and-sandbox`. Pi keeps its native permission behavior.
81
+
73
82
  Custom argv-based engines remain supported. Their command, environment, cwd, and prompt are
74
83
  validated against a strict trust boundary and launched without a shell.
75
84
 
@@ -101,8 +110,7 @@ off. Set `NEXUSCREW_FLEET=0` to disable it entirely.
101
110
  - **tmux** on the host (3.4+; the non-destructive `ignore-size` attach is honored on 3.4 and
102
111
  later)
103
112
  - A PTY backend is resolved automatically per platform: Darwin ARM64/x64 and Linux ARM64/x64
104
- prebuilds, the native Android ARM64 provider on Termux, and `node-pty` as the
105
- build-from-source fallback.
113
+ scriptless prebuilds, including the native Android ARM64 provider on Termux.
106
114
 
107
115
  ## Access model — read this
108
116
 
@@ -139,7 +147,8 @@ PWA token never crosses a peer link.
139
147
  A relay controls what its peers can see. The default is the whole network; a peer can be reduced
140
148
  to relay-only or a selected set. HTTP and WebSocket routing enforce that policy at every hop,
141
149
  with stable instance IDs, cycle rejection and a four-hop ceiling. Session creation, terminal,
142
- files and termination work on Local or any reachable route; Fleet remains local to each node.
150
+ files, termination, and Fleet editing work on Local or any reachable route. Previously seen
151
+ transitive nodes remain listed as offline with their last-seen time while a relay is down.
143
152
 
144
153
  ## Install & run
145
154
 
@@ -151,9 +160,10 @@ npm install -g @mmmbuto/nexuscrew
151
160
  nexuscrew
152
161
  ```
153
162
 
154
- The first run creates a loopback-only configuration and a `systemd --user` service when
155
- systemd is available. Linux x64 and ARM64 use platform PTY prebuilds; `node-pty` remains the
156
- build-from-source fallback.
163
+ The first run creates a loopback-only configuration and starts a detached process. Run
164
+ `nexuscrew boot` only if you want a persistent `systemd --user` service. Linux x64 and ARM64
165
+ use platform PTY prebuilds only, so global installs do not compile native code or
166
+ require install-script approval.
157
167
 
158
168
  ### macOS (Apple Silicon or Intel)
159
169
 
@@ -163,9 +173,10 @@ npm install -g @mmmbuto/nexuscrew
163
173
  nexuscrew
164
174
  ```
165
175
 
166
- The first run installs a user LaunchAgent with an explicit Node/Homebrew PATH. The npm package
167
- selects the matching Darwin ARM64 or x64 PTY prebuild. NexusCrew is an npm/Node CLI, not an
168
- `.app`, `.pkg`, or standalone Mach-O distribution, so it does not require Developer ID signing.
176
+ The first run starts a detached process. Run `nexuscrew boot` to install a user LaunchAgent
177
+ with an explicit Node/Homebrew PATH. The npm package selects the matching Darwin ARM64 or x64
178
+ PTY prebuild. NexusCrew is an npm/Node CLI, not an `.app`, `.pkg`, or standalone Mach-O
179
+ distribution, so it does not require Developer ID signing.
169
180
 
170
181
  ### Android / Termux (ARM64)
171
182
 
@@ -177,14 +188,18 @@ nexuscrew
177
188
  ```
178
189
 
179
190
  Termux uses the Android ARM64 PTY provider. The normal command starts NexusCrew in the
180
- background and exits, so it can also be used directly as a Termux:Boot startup command.
191
+ background and exits. `nexuscrew boot` installs the Termux:Boot script explicitly.
181
192
 
182
193
  On every platform the first run starts the server in the background and opens the PWA wizard.
183
- After onboarding, the same command starts or reuses the background service and exits silently:
194
+ After onboarding, the same command starts or reuses it, prints a compact status and guide, and
195
+ exits:
184
196
 
185
197
  ```bash
186
198
  nexuscrew # background start; opens only on first run
187
199
  nexuscrew show # background start when needed + open the authenticated PWA
200
+ nexuscrew show token # print the clickable authenticated URL; do not open a browser
201
+ nexuscrew boot # opt in to startup persistence
202
+ nexuscrew boot off # disable startup persistence, keep the current run alive
188
203
  ```
189
204
 
190
205
  The preferred port is `41820`. If it is occupied by another process, NexusCrew selects the
@@ -201,6 +216,8 @@ resolved PTY provider at startup.
201
216
  ```
202
217
  nexuscrew background start; first run opens the PWA wizard
203
218
  nexuscrew show start when needed and open the authenticated PWA
219
+ nexuscrew show token print the clickable authenticated URL without opening it
220
+ nexuscrew boot enable startup at boot (`boot off|status` are also available)
204
221
  nexuscrew doctor local diagnostics (exit 1 when a required check fails)
205
222
  nexuscrew help concise command help
206
223
  nexuscrew version installed version
@@ -249,6 +266,10 @@ args = ["mcp"]
249
266
  The awkward tmux gestures, as buttons: **scroll** (enters copy-mode; then PgUp/↑/↓, `q` to
250
267
  exit), **window** prev/next, **pane** left/right, **esc**, **Ctrl-C**, **detach**.
251
268
 
269
+ Long-press terminal text to enter local selection mode, then drag and use **Copy**. The
270
+ composer send button writes the text followed by a real Enter while retaining textarea focus,
271
+ so the mobile keyboard stays open between messages.
272
+
252
273
  Window and pane navigation run as **server-side, allowlisted tmux commands** on the active
253
274
  session — they are *not* emulated with client-side prefix keys, which are fragile and depend
254
275
  on each host's key bindings.
@@ -271,7 +292,7 @@ node bin/nexuscrew.js serve
271
292
 
272
293
  ## Status
273
294
 
274
- The current stable release is **v0.8.2**, published on npm under the **`latest`** dist-tag.
295
+ The current stable release is **v0.8.4**, published on npm under the **`latest`** dist-tag.
275
296
 
276
297
  ## License
277
298