@mmmbuto/nexuscrew 0.8.24 → 0.8.26

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
@@ -140,10 +140,10 @@ The provider catalog is scoped to the selected CLI rather than to a machine-spec
140
140
 
141
141
  | CLI | Built-in provider choices |
142
142
  |---|---|
143
- | Claude Code | Anthropic, OpenRouter, Kimi Code, Amazon Bedrock, Google Vertex AI, Microsoft Foundry, Ollama Cloud, local Ollama, Z.AI, custom Anthropic-compatible endpoint |
143
+ | Claude Code | Anthropic, Alibaba Token Plan Personal, OpenRouter, Kimi Code, Amazon Bedrock, Google Vertex AI, Microsoft Foundry, Ollama Cloud, local Ollama, Z.AI, custom Anthropic-compatible endpoint |
144
144
  | Codex | OpenAI or ChatGPT login, OpenAI API, Ollama Cloud, local Ollama, LM Studio, custom OpenAI Responses endpoint |
145
- | Codex-VL | OpenAI or ChatGPT login, OpenAI API, OpenRouter, Ollama Cloud, local Ollama, LM Studio, custom OpenAI Responses endpoint |
146
- | Pi | Native default, Anthropic, OpenAI API, Codex OAuth, Gemini, GitHub Copilot, OpenRouter, Ollama, DeepSeek, Z.AI, custom provider |
145
+ | Codex-VL | OpenAI or ChatGPT login, OpenAI API, Alibaba Token Plan Personal, OpenRouter, Ollama Cloud, local Ollama, LM Studio, custom OpenAI Responses endpoint |
146
+ | Pi | Native default, Anthropic, OpenAI API, Alibaba Token Plan Personal, Codex OAuth, Gemini, GitHub Copilot, OpenRouter, Ollama, DeepSeek, Z.AI, custom provider |
147
147
 
148
148
  Custom Codex-compatible endpoints use the real Responses wire API; NexusCrew does not silently
149
149
  fall back to Chat Completions. Custom argv-based engines are also supported and are launched
@@ -160,6 +160,14 @@ uses `https://api.kimi.com/coding/`, and runs with an isolated Claude configurat
160
160
  Anthropic account remains untouched. A Kimi Code membership key is not interchangeable with a
161
161
  Moonshot pay-as-you-go API key.
162
162
 
163
+ Alibaba Token Plan Personal is a separate managed profile for Claude Code, Codex-VL and Pi. It
164
+ uses only `ALIBABA_CODE_API_KEY`, defaults to `qwen3.8-max-preview`, and has no OpenAI or
165
+ pay-as-you-go fallback. The npm package also includes the portable `alibaba-token-media` skill
166
+ for dry-run-first Wan image/edit and HappyHorse video workflows. Claude Code, Codex, Codex-VL
167
+ and Pi can invoke its dependency-free Python CLI directly; Pi is not assumed to support MCP
168
+ natively. The media skill requires Python 3. Media generation always requires explicit Credit
169
+ consent and never runs during installation, tests, or startup.
170
+
163
171
  Permission handling is explicit per cell and engine:
164
172
 
165
173
  - Claude engines can use standard permissions or `--dangerously-skip-permissions`.
@@ -323,11 +331,18 @@ It is intended for AI sessions running inside managed tmux cells.
323
331
  | `nc_deck` | Discover owner-qualified decks containing the calling tmux session |
324
332
  | `nc_cells` | List authorized active and inactive Fleet cells across visible nodes |
325
333
  | `nc_send_cell` | Submit bounded text to one exact active cell returned by `nc_cells` |
334
+ | `nc_identity` | Read-only identity diagnostics; callable with no session and no token |
326
335
 
327
336
  Cell delivery uses bracketed paste followed by a separate Enter. A `submitted` receipt confirms
328
337
  delivery to the target TUI, not acceptance or completion by its model. There is no silent
329
338
  offline queue.
330
339
 
340
+ `nc_identity` returns only non-sensitive data: the `source` the caller was resolved from
341
+ (`tmux`, `NEXUSCREW_MCP_SESSION`, or `missing`), boolean presence of the identity env vars,
342
+ a stable `code` (`OK`, `NEXUSCREW_MCP_IDENTITY_MISSING`, `NEXUSCREW_MCP_IDENTITY_INVALID`) and
343
+ a remediation hint. It never calls an HTTP API or reads the token, so it works even when the
344
+ identity is missing — use it to diagnose why the identity-gated tools fail closed.
345
+
331
346
  Register the bridge in Claude Code:
332
347
 
333
348
  ```json
@@ -341,16 +356,32 @@ Register the bridge in Claude Code:
341
356
  }
342
357
  ```
343
358
 
344
- Or in Codex / Codex-VL:
359
+ Or in Codex / Codex-VL (`env_vars` allowlists variable **names** only — no values are copied
360
+ into the CLI or config file):
345
361
 
346
362
  ```toml
347
363
  [mcp_servers.nexuscrew]
348
364
  command = "nexuscrew"
349
365
  args = ["mcp"]
366
+ env_vars = ["NEXUSCREW_MCP_SESSION", "TMUX", "TMUX_PANE"]
367
+ ```
368
+
369
+ The equivalent CLI form on a Codex-VL build that supports `--env-var` (allowlist by name, repeated):
370
+
371
+ ```text
372
+ codex-vl mcp add nexuscrew \
373
+ --env-var NEXUSCREW_MCP_SESSION \
374
+ --env-var TMUX \
375
+ --env-var TMUX_PANE \
376
+ -- nexuscrew mcp
350
377
  ```
351
378
 
352
- The caller is resolved from its tmux session. `NEXUSCREW_MCP_SESSION` is available only as an
353
- explicit fallback for non-tmux contexts.
379
+ The caller is resolved, in order, from its tmux session (`tmux display-message -p '#S'`),
380
+ then from the `NEXUSCREW_MCP_SESSION` fallback, then not at all. Codex/Codex-VL launch MCP stdio
381
+ processes with a cleared environment, so those clients must explicitly allowlist the identity
382
+ env vars for the server to observe them; otherwise the identity-gated tools (`nc_ask`, `nc_send_file`,
383
+ `nc_deck`, `nc_send_cell`, `nc_inbox`) stay fail-closed with a stable
384
+ `NEXUSCREW_MCP_IDENTITY_*` code, while `nc_notify` degrades to an unknown sender.
354
385
 
355
386
  ## Configuration
356
387
 
@@ -403,7 +434,7 @@ See [CHANGELOG.md](CHANGELOG.md) for released changes.
403
434
 
404
435
  ## Status
405
436
 
406
- The current stable release is **v0.8.24** on npm and GitHub.
437
+ The current stable release is **v0.8.26** on npm and GitHub.
407
438
 
408
439
  ## License
409
440