@mmmbuto/nexuscrew 0.8.5 → 0.8.6

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.5 "Clean Fleet")
19
+ ## What it is (v0.8.6 "Connected Fleet")
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
@@ -34,8 +34,11 @@ panes, windows. tmux does the work; the browser is just a faithful client.
34
34
  - **Settings and wizard**: manage roles, nodes, token rotation, and service regeneration
35
35
  from the UI; a skippable first-run wizard guides initial setup.
36
36
  - **Cell lifecycle from the UI**: the primary `+` creates a managed Fleet cell at Local or
37
- any reachable node. Cards expose direct power and settings controls; deletion lives in
38
- Settings Fleet. Unmanaged tmux sessions remain attachable and can be terminated there.
37
+ any reachable node. Power opens one shared launch sheet where engine, model, permission
38
+ policy and boot can be reviewed before every start; deletion lives in Settings → Fleet.
39
+ - **Legacy session adoption**: Settings → Fleet lists managed and unmanaged tmux sessions on
40
+ every route. A live unmanaged session can be explicitly imported as a managed cell without
41
+ inventing its engine, provider or model.
39
42
  - **Rich cards**: last activity, current command, a sanitized one-line preview per session.
40
43
  - **Fleet control**: a built-in schema-driven fleet manager handles cells, engines, model
41
44
  selection, and boot persistence; an existing external `fleet` CLI can take ownership through
@@ -67,9 +70,10 @@ over a real PTY. On the right, a `codex-vl` session running inside the browser c
67
70
 
68
71
  A clean install includes the built-in, schema-driven fleet manager. Its safe defaults contain
69
72
  four CLI adapters — **Claude Code**, **Codex**, **Codex-VL**, and **Pi** — and no cells,
70
- prompts, API keys, or machine-specific paths. Engine, provider, credential-variable name,
71
- model and permission policy are configured only in Settings → Fleet; the power sheet only
72
- starts or stops the already configured cell and controls boot persistence.
73
+ prompts, API keys, or machine-specific paths. Provider, credential-variable name and reusable
74
+ engine definitions live in Settings → Fleet. When a cell is off, its shared launch sheet lets
75
+ you choose the engine, model, permission policy and boot state before starting it; the last
76
+ model and permission choice is remembered separately for each cell and engine.
73
77
 
74
78
  The concise provider catalog is scoped per CLI:
75
79
 
@@ -86,11 +90,13 @@ remain launch-compatible for existing fleets but are not provider choices for ne
86
90
  Model discovery is used where the CLI/provider documents it, with a manual model field as the
87
91
  portable fallback.
88
92
 
89
- Managed engines expose a permission selector. New Claude engines (native, Z.AI, Ollama, or
90
- custom) default to **Bypass permissions** and launch with
91
- `--dangerously-skip-permissions`; choose **Standard permissions** to disable it. New Codex and
92
- Codex-VL engines default to Standard and offer an explicit opt-in for
93
- `--dangerously-bypass-approvals-and-sandbox`. Pi keeps its native permission behavior.
93
+ Managed engines expose a permission selector both in their definition and in the cell launch
94
+ sheet. New Claude engines (native, Z.AI, Ollama, or custom) default to **Bypass permissions**
95
+ and launch with `--dangerously-skip-permissions`; choose **Standard permissions** to disable
96
+ it. New Codex and Codex-VL engines default to Standard and offer an explicit opt-in for
97
+ `--dangerously-bypass-approvals-and-sandbox`. Pi is always launched with its native Standard
98
+ permission behavior. Claude-compatible managed models also receive matching context and
99
+ auto-compaction window variables, including one-million-token profiles where declared.
94
100
 
95
101
  Custom argv-based engines remain supported. Their command, environment, cwd, and prompt are
96
102
  validated against a strict trust boundary and launched without a shell.
@@ -116,7 +122,11 @@ the NexusCrew power control starts or stops the cell without changing that confi
116
122
  and accepts `up <Cell> [--engine E] [--boot]`, `down <Cell> [--boot]`, `engine <Cell> <E>`,
117
123
  `boot|noboot <Cell>`. The binary is trust-checked (regular file, not a symlink, not
118
124
  world-writable) and the schema is validated strictly — anything else and the feature stays
119
- off. Set `NEXUSCREW_FLEET=0` to disable it entirely.
125
+ off. Automatic discovery checks the configured path, Termux's `$PREFIX/bin/fleet`, then
126
+ `~/.local/bin/fleet`; startup-service ownership uses the same resolver so built-in and external
127
+ boot managers cannot both take ownership. An explicitly pinned external binary fails closed
128
+ instead of silently switching to another executable. Set `NEXUSCREW_FLEET=0` to disable Fleet
129
+ entirely.
120
130
 
121
131
  ## Requirements
122
132
 
@@ -148,9 +158,16 @@ token travels in the URL **fragment** (`#token=…`), so it never reaches the se
148
158
  ## Federated Hydra nodes (configured from the PWA)
149
159
 
150
160
  Every installation is always the local node and can join other NexusCrew nodes. Open
151
- **Settings → Nodes**, create a ten-minute pairing link/QR on one device, then paste or scan it
152
- on the other together with an OpenSSH Host alias. That single pairing creates a reciprocal,
153
- loopback-only link and both sides exchange a redacted topology automatically.
161
+ **Settings → Nodes** and create a ten-minute pairing link/QR. The creator supplies the
162
+ OpenSSH target or Host alias through which that installation is reachable; the v2 link carries
163
+ that routing information, its display label, route slug and optional SSH port. Paste or scan the
164
+ single link on the other device, review the pre-filled fields, then choose **Test and connect**.
165
+ Older v1 links remain accepted and simply require the missing routing fields to be entered.
166
+
167
+ The link never contains an SSH key, identity file, API key or PWA token. Its only credential is
168
+ the random, one-time pairing invite; SSH routing fields are non-secret configuration. A
169
+ successful pairing creates a reciprocal loopback-only link and both sides exchange a redacted
170
+ topology automatically.
154
171
 
155
172
  NexusCrew does not create SSH keys or edit `authorized_keys`. OpenSSH remains authoritative for
156
173
  identity files, agents, host keys, ports, ProxyJump and forwarding policy. NexusCrew uses
@@ -306,7 +323,7 @@ node bin/nexuscrew.js serve
306
323
 
307
324
  ## Status
308
325
 
309
- The current stable release is **v0.8.5**, published on npm under the **`latest`** dist-tag.
326
+ The current stable release is **v0.8.6**, published on npm under the **`latest`** dist-tag.
310
327
 
311
328
  ## License
312
329