@mmmbuto/nexuscrew 0.8.18 → 0.8.20
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 +32 -4
- package/frontend/dist/assets/index-CQnOyaXz.js +93 -0
- package/frontend/dist/assets/index-DQbVJLji.css +32 -0
- package/frontend/dist/index.html +2 -2
- package/frontend/dist/version.json +1 -1
- package/lib/cli/init.js +9 -1
- package/lib/decks/routes.js +2 -2
- package/lib/decks/store.js +34 -5
- package/lib/fleet/builtin.js +18 -4
- package/lib/fleet/catalogs/openrouter-kimi-k3.json +44 -0
- package/lib/fleet/index.js +2 -1
- package/lib/fleet/managed.js +109 -5
- package/lib/fleet/openrouter-auth-helper.js +21 -0
- package/lib/nodes/commands.js +35 -2
- package/lib/nodes/peering.js +45 -3
- package/lib/nodes/store.js +51 -10
- package/lib/nodes/tunnel-supervisor.js +47 -4
- package/lib/nodes/tunnel.js +38 -1
- package/lib/proxy/federation.js +123 -18
- package/lib/server.js +26 -5
- package/lib/settings/pairing-coordinator.js +3 -3
- package/lib/settings/public-peering-routes.js +39 -11
- package/lib/settings/routes.js +31 -29
- package/lib/tmux/list.js +45 -4
- package/lib/tmux/preview.js +27 -9
- package/package.json +1 -1
- package/frontend/dist/assets/index-BkAGUEmR.css +0 -32
- package/frontend/dist/assets/index-CyN8rOAl.js +0 -91
package/README.md
CHANGED
|
@@ -23,7 +23,7 @@ listener.
|
|
|
23
23
|
|---|---|
|
|
24
24
|
| Terminal | Real PTY attachment to live tmux sessions through WebSocket and xterm.js |
|
|
25
25
|
| Workspaces | Named decks, tiled desktop layouts, mobile session view, saved ordering, pins and per-cell composer state |
|
|
26
|
-
| Fleet | Reusable cells, engines, providers, models, permission policies, prompts
|
|
26
|
+
| Fleet | Reusable cells, engines, providers, models, permission policies, prompts, boot state and live working status |
|
|
27
27
|
| Nodes | One-link pairing and owner-qualified routing over supervised OpenSSH connections |
|
|
28
28
|
| Operations | Background service, boot integration, diagnostics, stable npm updates and selective backup |
|
|
29
29
|
| AI integration | A stdio MCP bridge for operator communication, deck discovery and cell-to-cell delivery |
|
|
@@ -126,14 +126,26 @@ The provider catalog is scoped to the selected CLI rather than to a machine-spec
|
|
|
126
126
|
|
|
127
127
|
| CLI | Built-in provider choices |
|
|
128
128
|
|---|---|
|
|
129
|
-
| Claude Code | Anthropic, Amazon Bedrock, Google Vertex AI, Microsoft Foundry, Ollama Cloud, local Ollama, Z.AI, custom Anthropic-compatible endpoint |
|
|
130
|
-
| Codex
|
|
129
|
+
| Claude Code | Anthropic, OpenRouter, Kimi Code, Amazon Bedrock, Google Vertex AI, Microsoft Foundry, Ollama Cloud, local Ollama, Z.AI, custom Anthropic-compatible endpoint |
|
|
130
|
+
| Codex | OpenAI or ChatGPT login, OpenAI API, Ollama Cloud, local Ollama, LM Studio, custom OpenAI Responses endpoint |
|
|
131
|
+
| Codex-VL | OpenAI or ChatGPT login, OpenAI API, OpenRouter, Ollama Cloud, local Ollama, LM Studio, custom OpenAI Responses endpoint |
|
|
131
132
|
| Pi | Native default, Anthropic, OpenAI API, Codex OAuth, Gemini, GitHub Copilot, OpenRouter, Ollama, DeepSeek, Z.AI, custom provider |
|
|
132
133
|
|
|
133
134
|
Custom Codex-compatible endpoints use the real Responses wire API; NexusCrew does not silently
|
|
134
135
|
fall back to Chat Completions. Custom argv-based engines are also supported and are launched
|
|
135
136
|
directly without a shell after trust-boundary validation.
|
|
136
137
|
|
|
138
|
+
OpenRouter is first-class for Claude Code and Codex-VL. Claude uses OpenRouter's Anthropic
|
|
139
|
+
Messages compatibility endpoint, while Codex-VL uses the beta, stateless Responses endpoint
|
|
140
|
+
with direct command-based authentication and no shell. Because provider/model compatibility can
|
|
141
|
+
change independently, the selected OpenRouter model remains explicit. The packaged Kimi K3
|
|
142
|
+
profile pins its one-million-token metadata instead of falling back to a smaller generic window.
|
|
143
|
+
|
|
144
|
+
Kimi Code is a separate Claude Code provider for Kimi membership keys. It defaults to `k3[1m]`,
|
|
145
|
+
uses `https://api.kimi.com/coding/`, and runs with an isolated Claude configuration so a native
|
|
146
|
+
Anthropic account remains untouched. A Kimi Code membership key is not interchangeable with a
|
|
147
|
+
Moonshot pay-as-you-go API key.
|
|
148
|
+
|
|
137
149
|
Permission handling is explicit per cell and engine:
|
|
138
150
|
|
|
139
151
|
- Claude engines can use standard permissions or `--dangerously-skip-permissions`.
|
|
@@ -147,6 +159,11 @@ write-only credential store. The PWA reports whether a variable is configured bu
|
|
|
147
159
|
returns its value. Keys are excluded from Fleet definitions, backups, API responses, tmux
|
|
148
160
|
state, process arguments, temporary files and logs.
|
|
149
161
|
|
|
162
|
+
Built-in providers with a fixed variable expose a dedicated **KEY** section in the engine editor.
|
|
163
|
+
It shows only the variable name, configured source and affected engines on the selected node.
|
|
164
|
+
Replacing or removing a shared key warns which engines use it; the entered value is transient in
|
|
165
|
+
the browser and is written only to the node-local credential store.
|
|
166
|
+
|
|
150
167
|
### External fleet manager
|
|
151
168
|
|
|
152
169
|
The built-in Fleet manager can be replaced by a trusted executable, configured as `fleetBin`
|
|
@@ -213,6 +230,17 @@ hub** adds a verified reverse channel to the existing SSH process. The hub then
|
|
|
213
230
|
authorized peers see the whole network, only the hub, or an explicit subset. Clients do not
|
|
214
231
|
need direct SSH reachability to one another.
|
|
215
232
|
|
|
233
|
+
Reverse ports are reserved across active and pending pairings, probed before use and protected
|
|
234
|
+
by a persistent uniqueness check. Share is stored as desired state: failed activation rolls back
|
|
235
|
+
to private, while a failed deactivation remains private and is reconciled after restart. A stale
|
|
236
|
+
same-name peer or a late allocation collision returns an actionable conflict instead of silently
|
|
237
|
+
creating a duplicate record or consuming the invitation.
|
|
238
|
+
|
|
239
|
+
Node groups can be renamed and reordered independently in each browser from both desktop and
|
|
240
|
+
mobile lists. These aliases and positions are presentation-only: they never change the technical
|
|
241
|
+
node name, route, credentials, Share state or deck identity. Display precedence is browser alias,
|
|
242
|
+
shared node label, then technical name.
|
|
243
|
+
|
|
216
244
|
Pairing links contain a short-lived one-time invite and routing fields, but no SSH private key,
|
|
217
245
|
provider key or PWA token. Node and deck identities remain owner-qualified across the network,
|
|
218
246
|
and every routed HTTP or WebSocket request rechecks authorization, hop count and cycle rules.
|
|
@@ -354,7 +382,7 @@ See [CHANGELOG.md](CHANGELOG.md) for released changes.
|
|
|
354
382
|
|
|
355
383
|
## Status
|
|
356
384
|
|
|
357
|
-
The current stable release is **v0.8.
|
|
385
|
+
The current stable release is **v0.8.20**. npm `latest`, the GitHub tag and the release use the
|
|
358
386
|
same audited package artifact.
|
|
359
387
|
|
|
360
388
|
## License
|