@numa-tech/numa 1.20.3 → 1.20.5

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.
Files changed (157) hide show
  1. package/README.md +24 -1
  2. package/dist/application-onboarding/schemas.d.ts +24 -0
  3. package/dist/application-onboarding/schemas.js +4 -0
  4. package/dist/application-onboarding/schemas.js.map +1 -1
  5. package/dist/application-onboarding/tui-model.d.ts +1 -0
  6. package/dist/application-onboarding/tui-model.js +10 -0
  7. package/dist/application-onboarding/tui-model.js.map +1 -1
  8. package/dist/application-onboarding/tui.js +1 -1
  9. package/dist/application-onboarding/tui.js.map +1 -1
  10. package/dist/authorization/application-client.d.ts +36 -1
  11. package/dist/authorization/application-client.js +4 -2
  12. package/dist/authorization/application-client.js.map +1 -1
  13. package/dist/authorization/application-commands.js +4 -3
  14. package/dist/authorization/application-commands.js.map +1 -1
  15. package/dist/authorization/application-schemas.d.ts +42 -7
  16. package/dist/authorization/application-schemas.js +19 -3
  17. package/dist/authorization/application-schemas.js.map +1 -1
  18. package/dist/business-issuer.js +8 -0
  19. package/dist/business-issuer.js.map +1 -1
  20. package/dist/cli.js +49 -31
  21. package/dist/cli.js.map +1 -1
  22. package/dist/command-catalog.js +18 -1
  23. package/dist/command-catalog.js.map +1 -1
  24. package/dist/kb/catalog.d.ts +2 -0
  25. package/dist/kb/catalog.js +14 -0
  26. package/dist/kb/catalog.js.map +1 -0
  27. package/dist/kb/client.d.ts +46 -0
  28. package/dist/kb/client.js +272 -0
  29. package/dist/kb/client.js.map +1 -0
  30. package/dist/kb/commands.d.ts +14 -0
  31. package/dist/kb/commands.js +121 -0
  32. package/dist/kb/commands.js.map +1 -0
  33. package/dist/kb/config.d.ts +15 -0
  34. package/dist/kb/config.js +76 -0
  35. package/dist/kb/config.js.map +1 -0
  36. package/dist/kb/errors.d.ts +9 -0
  37. package/dist/kb/errors.js +31 -0
  38. package/dist/kb/errors.js.map +1 -0
  39. package/dist/kb/transfers.d.ts +67 -0
  40. package/dist/kb/transfers.js +257 -0
  41. package/dist/kb/transfers.js.map +1 -0
  42. package/dist/kb/types.d.ts +81 -0
  43. package/dist/kb/types.js +2 -0
  44. package/dist/kb/types.js.map +1 -0
  45. package/dist/kb/upload-state.d.ts +20 -0
  46. package/dist/kb/upload-state.js +135 -0
  47. package/dist/kb/upload-state.js.map +1 -0
  48. package/dist/login-recovery.js +15 -1
  49. package/dist/login-recovery.js.map +1 -1
  50. package/dist/maintenance/modules.js +1 -1
  51. package/dist/maintenance/modules.js.map +1 -1
  52. package/dist/mcp/catalog.js +9 -1
  53. package/dist/mcp/catalog.js.map +1 -1
  54. package/dist/oss/commands.js +20 -0
  55. package/dist/oss/commands.js.map +1 -1
  56. package/dist/oss/download-links.d.ts +28 -0
  57. package/dist/oss/download-links.js +124 -0
  58. package/dist/oss/download-links.js.map +1 -0
  59. package/dist/oss/errors.js +1 -1
  60. package/dist/oss/errors.js.map +1 -1
  61. package/dist/oss/schemas.d.ts +15 -0
  62. package/dist/oss/schemas.js +2 -0
  63. package/dist/oss/schemas.js.map +1 -1
  64. package/dist/oss/signed-url-transfers.d.ts +41 -0
  65. package/dist/oss/signed-url-transfers.js +207 -0
  66. package/dist/oss/signed-url-transfers.js.map +1 -0
  67. package/dist/oss/tools.js +18 -0
  68. package/dist/oss/tools.js.map +1 -1
  69. package/dist/oss/transfer-pool.d.ts +2 -0
  70. package/dist/oss/transfer-pool.js +27 -0
  71. package/dist/oss/transfer-pool.js.map +1 -0
  72. package/dist/oss/transfer-worker.js +8 -17
  73. package/dist/oss/transfer-worker.js.map +1 -1
  74. package/dist/oss/transfers.d.ts +2 -0
  75. package/dist/oss/transfers.js +27 -0
  76. package/dist/oss/transfers.js.map +1 -1
  77. package/dist/oss/web-page.js +60 -5
  78. package/dist/oss/web-page.js.map +1 -1
  79. package/dist/oss/web.js +26 -0
  80. package/dist/oss/web.js.map +1 -1
  81. package/dist/platform-profile.d.ts +1 -1
  82. package/dist/server.d.ts +2 -0
  83. package/dist/server.js +2 -0
  84. package/dist/server.js.map +1 -1
  85. package/dist/tasks/commands.d.ts +9 -0
  86. package/dist/tasks/commands.js +60 -0
  87. package/dist/tasks/commands.js.map +1 -0
  88. package/dist/tasks/oss-query.d.ts +56 -0
  89. package/dist/tasks/oss-query.js +176 -0
  90. package/dist/tasks/oss-query.js.map +1 -0
  91. package/dist/tasks/runtime.d.ts +151 -0
  92. package/dist/tasks/runtime.js +71 -0
  93. package/dist/tasks/runtime.js.map +1 -0
  94. package/dist/tasks/tools.d.ts +3 -0
  95. package/dist/tasks/tools.js +16 -0
  96. package/dist/tasks/tools.js.map +1 -0
  97. package/dist/tasks/types.d.ts +14 -0
  98. package/dist/tasks/types.js +4 -0
  99. package/dist/tasks/types.js.map +1 -0
  100. package/dist/tasks/wecom-notify.d.ts +26 -0
  101. package/dist/tasks/wecom-notify.js +150 -0
  102. package/dist/tasks/wecom-notify.js.map +1 -0
  103. package/docs/agent-tasks.md +103 -0
  104. package/docs/application-default-groups.md +10 -2
  105. package/docs/design/kb-cli.md +94 -0
  106. package/docs/kb-access.md +85 -0
  107. package/package.json +13 -7
  108. package/scripts/export-kb-contract.py +158 -0
  109. package/skills/numa-ai-registry/SKILL.md +2 -2
  110. package/skills/numa-cli/SKILL.md +24 -9
  111. package/skills/numa-cli/agents/openai.yaml +2 -2
  112. package/skills/numa-cli/evals/evals.json +13 -1
  113. package/skills/numa-cli/numa-skill.json +1 -1
  114. package/skills/numa-cli/references/cli-bootstrap.md +8 -8
  115. package/skills/numa-cli/references/cli-mcp.md +28 -20
  116. package/skills/numa-cli/references/pipeline-release.md +9 -9
  117. package/skills/numa-cli/references/skills-command-contract.md +40 -40
  118. package/skills/numa-cli/references/skills-updates.md +13 -13
  119. package/skills/numa-cli/references/skills-workflows.md +4 -4
  120. package/skills/numa-create-application/SKILL.md +1 -1
  121. package/skills/numa-create-application/numa-skill.json +2 -2
  122. package/skills/numa-create-application/references/cli-bootstrap.md +3 -3
  123. package/skills/numa-create-application/references/numa-cli.md +16 -16
  124. package/skills/numa-jenkins-deployment/SKILL.md +8 -8
  125. package/skills/numa-jenkins-deployment/numa-skill.json +2 -2
  126. package/skills/numa-jenkins-deployment/references/cli-bootstrap.md +3 -3
  127. package/skills/numa-jenkins-deployment/references/cli-contract.md +7 -7
  128. package/skills/numa-jenkins-deployment/references/diagnostics.md +2 -2
  129. package/skills/numa-local-flux-deploy/SKILL.md +1 -1
  130. package/skills/numa-local-flux-deploy/numa-skill.json +2 -2
  131. package/skills/numa-local-flux-deploy/references/cli-bootstrap.md +3 -3
  132. package/skills/numa-nacos/SKILL.md +4 -4
  133. package/skills/numa-nacos/numa-skill.json +2 -2
  134. package/skills/numa-nacos/references/cli-bootstrap.md +3 -3
  135. package/skills/numa-nacos/references/command-contract.md +17 -17
  136. package/skills/numa-notion/SKILL.md +4 -4
  137. package/skills/numa-notion/numa-skill.json +2 -2
  138. package/skills/numa-notion/references/agents-automation.md +2 -2
  139. package/skills/numa-notion/references/cli-bootstrap.md +3 -3
  140. package/skills/numa-notion/references/cli.md +17 -17
  141. package/skills/numa-oss-access/SKILL.md +35 -77
  142. package/skills/numa-oss-access/agents/openai.yaml +2 -2
  143. package/skills/numa-oss-access/evals/evals.json +48 -0
  144. package/skills/numa-oss-access/numa-skill.json +2 -2
  145. package/skills/numa-oss-access/references/cli-bootstrap.md +5 -5
  146. package/skills/numa-oss-access/references/download-links.md +42 -0
  147. package/skills/numa-oss-access/references/object-operations.md +95 -0
  148. package/skills/numa-oss-access/references/search-and-mcp.md +17 -11
  149. package/skills/numa-wecom/SKILL.md +27 -62
  150. package/skills/numa-wecom/agents/openai.yaml +2 -2
  151. package/skills/numa-wecom/evals/evals.json +25 -0
  152. package/skills/numa-wecom/numa-skill.json +2 -2
  153. package/skills/numa-wecom/references/cli-bootstrap.md +5 -5
  154. package/skills/numa-wecom/references/legacy-operations.md +71 -0
  155. package/skills/numa-wecom/references/machine-auth.md +7 -7
  156. package/skills/numa-wecom/references/mcp.md +9 -8
  157. package/src/kb/openapi-contract.json +1432 -0
@@ -4,10 +4,10 @@
4
4
 
5
5
  ## 选择入口
6
6
 
7
- - `numa serve`:运行本地 stdio MCP 服务,由 Agent 启动并保持进程。stdout 是 MCP 协议流,不添加 shell 欢迎语或业务日志。
8
- - `numa mcp tools --modules auth,oss,wecom --json`:执行本地 MCP tools/list,读取完整工具 schema,不登录、不调用业务 API。
9
- - `numa mcp install-cli`:安装上述 CLI 自身的服务,不需要查询 Nacos namespace。
10
- - `numa mcp install NAME` / `bridge`:安装或桥接企业 Registry 的 MCP 资源,继续遵循 [资源工作流](skills-workflows.md) 与 Router 授权。
7
+ - `npx -y @numa-tech/numa@latest serve`:运行本地 stdio MCP 服务,由 Agent 启动并保持进程。stdout 是 MCP 协议流,不添加 shell 欢迎语或业务日志。
8
+ - `npx -y @numa-tech/numa@latest mcp tools --modules auth,oss,wecom --json`:执行本地 MCP tools/list,读取完整工具 schema,不登录、不调用业务 API。
9
+ - `npx -y @numa-tech/numa@latest mcp install-cli`:安装上述 CLI 自身的服务,不需要查询 Nacos namespace。
10
+ - `npx -y @numa-tech/numa@latest mcp install NAME` / `bridge`:安装或桥接企业 Registry 的 MCP 资源,继续遵循 [资源工作流](skills-workflows.md) 与 Router 授权。
11
11
 
12
12
  安装默认模块为 `auth,oss,wecom`。可用 `--modules auth,oss,wecom,notion` 调整;`platform` 暴露通用平台请求工具,只有明确需要时才加入。默认附带 `numa_command_catalog` 和 `numa_module_catalog`;工具过滤可以继续缩小公共工具集合。直接 `serve` 不传模块时保留全部模块,以兼容已有配置。
13
13
 
@@ -16,12 +16,12 @@
16
16
  用户要求接入 Agent 即已授权该目标安装;先生成可核对的计划,然后执行同一计划,不重复询问。仅咨询能否支持时展示方案,不写配置。JSON 适配器已有同名服务默认报冲突,不覆盖其他服务。Codex/OpenClaw 使用官方 CLI,其同名条目按原生命令语义处理,不提供 JSON 备份;执行前核对已有同名配置和覆盖授权。
17
17
 
18
18
  ```sh
19
- numa mcp install-cli --agent workbuddy --scope user --plan --json
20
- numa mcp install-cli --agent workbuddy --scope user --json
19
+ npx -y @numa-tech/numa@latest mcp install-cli --agent workbuddy --scope user --plan --json
20
+ npx -y @numa-tech/numa@latest mcp install-cli --agent workbuddy --scope user --json
21
21
  # 替代目标,不要无需求地全部安装
22
- numa mcp install-cli --agent claude --scope project --workspace /ABS/PROJECT --plan --json
23
- numa mcp install-cli --agent claude-desktop --scope user --plan --json
24
- numa mcp install-cli --agent codex --scope user --plan --json
22
+ npx -y @numa-tech/numa@latest mcp install-cli --agent claude --scope project --workspace /ABS/PROJECT --plan --json
23
+ npx -y @numa-tech/numa@latest mcp install-cli --agent claude-desktop --scope user --plan --json
24
+ npx -y @numa-tech/numa@latest mcp install-cli --agent codex --scope user --plan --json
25
25
  ```
26
26
 
27
27
  | Agent 参数 | 配置入口 |
@@ -39,24 +39,32 @@ JSON 配置合并保留无关条目。同名替换只有已获覆盖授权时使
39
39
 
40
40
  ## 身份与平台配置
41
41
 
42
- 默认 `--auth-mode browser`,先用相同系统用户运行 `numa login`,MCP 复用该用户的登录缓存。显式 browser 会清除 MCP 子进程继承的机器 Client ID/Secret 设置;不会替用户切换平台 profile。Issuer/API 由 platform profile 与既有配置规则提供,不在安装器里写死本地或生产地址。
42
+ 默认 `--auth-mode browser`,先用相同系统用户运行 `npx -y @numa-tech/numa@latest login`,MCP 复用该用户的登录缓存。显式 browser 会清除 MCP 子进程继承的机器 Client ID/Secret 设置;不会替用户切换平台 profile。Issuer/API 由 platform profile 与既有配置规则提供,不在安装器里写死本地或生产地址。
43
43
 
44
44
  机器身份使用用户明确指定的 Client 与 Secret 或 Secret 文件,不能仅凭三条地址/模式变量取得凭据:
45
45
 
46
46
  ```sh
47
- numa mcp install-cli --agent workbuddy --auth-mode client_credentials \
47
+ npx -y @numa-tech/numa@latest mcp install-cli --agent workbuddy --auth-mode client_credentials \
48
48
  --client-id CONFIRMED_CLIENT --client-secret-file /ABS/PROTECTED_SECRET_FILE --plan --json
49
49
  ```
50
50
 
51
51
  核对计划后执行时去掉 `--plan`。配置只记录文件路径,不读取或复制其内容;运行时由现有认证库校验文件保护。从 CLI 1.16.1 起,也可使用 `--client-secret "$NUMA_KEYCLOAK_CLIENT_SECRET"` 直接传值,与 `--client-secret-file` 互斥。直接模式将实际值保存到客户端环境配置,并清空继承的 Secret 文件路径;预览脱敏,交互向导隐藏输入。不使用公开 `mcp-client` 作为机器身份。机器模式失败不回退到个人登录。安装成功仅证明配置写入;使用 `numa_auth_status`、业务只读查询进一步核对实际身份和授权。
52
52
 
53
+ ## 业务任务与环境继承
54
+
55
+ `mcp.json` 的 `env` 注入指定 MCP 启动进程:`npx → numa serve → 进程内业务任务函数`。任务直接复用这份配置与认证 Client,不需要 AI 把环境变量再导入终端。由该进程正常派生的子进程也可继承环境;WorkBuddy 主进程或它另行启动的终端不会反向获得 MCP 的环境变量。
56
+
57
+ 提供新任务能力的运行时在 `wecom` 模块暴露 `numa_wecom_notify`、在 `oss` 模块暴露 `numa_oss_query`;若安装时使用 `--tools` 白名单,要包含所需任务工具。安装/初始化核对一次实际工具清单,之后业务 Skill 直接调用任务。没有工具时先报告升级或过滤配置缺口,不改走终端,不复制 Secret,不自动回退个人登录。安装新版 Skill 不会自动更新 MCP 配置中固定的 CLI 版本。
58
+
59
+ 检查工具仅用于安装验收与诊断;普通通知/查询不逐项调用 auth/status、config、capabilities 或 grants。通知必须有明确授权、精确目标、正文与稳定请求号,未知结果仍按原请求号只读恢复。
60
+
53
61
  ## ChatGPT 本地 stdio 接入
54
62
 
55
63
  ChatGPT 可通过 [官方 Secure MCP Tunnel](https://developers.openai.com/api/docs/guides/secure-mcp-tunnels) 接入本地 stdio。先在 OpenAI Platform 创建/选择当前工作区可用的 Tunnel,并按官方文档安装 `tunnel-client`。Numa 不创建 API key、不保存 `CONTROL_PLANE_API_KEY`,不代替 ChatGPT 界面授权。
56
64
 
57
65
  ```sh
58
- numa mcp install-cli --agent chatgpt --tunnel-id CONFIRMED_TUNNEL_ID --plan --json
59
- numa mcp install-cli --agent chatgpt --tunnel-id CONFIRMED_TUNNEL_ID --json
66
+ npx -y @numa-tech/numa@latest mcp install-cli --agent chatgpt --tunnel-id CONFIRMED_TUNNEL_ID --plan --json
67
+ npx -y @numa-tech/numa@latest mcp install-cli --agent chatgpt --tunnel-id CONFIRMED_TUNNEL_ID --json
60
68
  tunnel-client doctor --profile numa-cli --explain
61
69
  tunnel-client run --profile numa-cli
62
70
  ```
@@ -69,7 +77,7 @@ ID 必须是真实的 `tunnel_` 加 32 位小写十六进制字符。自动初
69
77
 
70
78
  ## 工具使用与完成验证
71
79
 
72
- OSS 暴露 grants/list/search/stat/download/upload/delete,详见 `numa-oss-access`。企微暴露 capabilities/recipients/recipient_by_email/send/status 和受控映射工具,详见 `numa-wecom`。均沿用 CLI 的当前身份、平台授权和审计,不提供任意 shell 执行工具。
80
+ OSS 的新任务入口为 query,低层工具保留 grants/list/search/stat/download/upload/delete,详见 `numa-oss-access`。企微的新任务入口为 notify,低层工具保留 capabilities/recipients/recipient_by_email/send/status 和受控映射工具,详见 `numa-wecom`。均沿用 CLI 的当前身份、平台授权和审计,不提供任意 shell 执行工具。
73
81
 
74
82
  从 Agent 刷新或重启 MCP 后读取 tools/list,核对所选模块;再执行用户任务需要的只读查询。不要为了验证安装发送消息、上传或删除文件。下载会写 MCP 服务所在机器,上传读取该机器路径;尤其 ChatGPT Tunnel 下不能假定聊天附件已存在本地。写入工具的 `confirmed:true` 只在用户已明确授权目标与内容时传入。最终分别报告配置写入、服务连接、工具发现及真实业务结果。
75
83
 
@@ -79,12 +87,12 @@ OSS 暴露 grants/list/search/stat/download/upload/delete,详见 `numa-oss-acc
79
87
  先核对实际运行时的 `modules --help`、`mcp install-cli --help` 和 `skills install --help`。
80
88
  这些新增功能准备随下一版发布,不能仅凭本 Skill 假定 npm latest 已支持。
81
89
 
82
- 人类用户在 TTY 无参运行 `numa` 进入选择入口;`numa mcp`、`numa skills` 进入对应安装向导。
90
+ 人类用户在 TTY 无参运行 `npx -y @numa-tech/numa@latest` 进入选择入口;`npx -y @numa-tech/numa@latest mcp`、`npx -y @numa-tech/numa@latest skills` 进入对应安装向导。
83
91
  `mcp install-cli`、`mcp install`、`skills install` 缺少目标时引导补齐。显式 `--interactive` 强制向导,
84
92
  保留已有参数。`--no-interactive`、JSON 和非终端不询问;参数完整的调用直接使用默认值执行。
85
93
 
86
- Agent 不启动无人操作的 TUI。先用 `numa modules --search QUERY --json` 找到适合用途的模块,
87
- 再用 `numa mcp tools --modules MODULES --json` 核实真实工具、描述和 schema。
94
+ Agent 不启动无人操作的 TUI。先用 `npx -y @numa-tech/numa@latest modules --search QUERY --json` 找到适合用途的模块,
95
+ 再用 `npx -y @numa-tech/numa@latest mcp tools --modules MODULES --json` 核实真实工具、描述和 schema。
88
96
  只在目标、范围、版本或身份缺失时通过宿主提问能力收集信息;用户已指定或已授权的内容不重复确认。
89
97
  生成 `--plan --json` 的具体结果,然后按已批准范围使用完整参数执行。
90
98
 
@@ -95,8 +103,8 @@ Agent 不启动无人操作的 TUI。先用 `numa modules --search QUERY --json`
95
103
  - 人类向导可选择只读集合;该集合依据工具只读标注生成,不代替服务端授权。
96
104
 
97
105
  ```sh
98
- numa modules --search 文件 --json
99
- numa mcp install-cli --agent workbuddy --scope user --modules oss \
106
+ npx -y @numa-tech/numa@latest modules --search 文件 --json
107
+ npx -y @numa-tech/numa@latest mcp install-cli --agent workbuddy --scope user --modules oss \
100
108
  --tools numa_oss_search,numa_oss_stat --server-description '授权文件查询' \
101
109
  --env LOG_LEVEL=info --plan --json
102
110
  ```
@@ -115,7 +123,7 @@ Registry 不把这些值存入 manifest/lock;在新机器恢复时重新提供
115
123
 
116
124
  ## 交互安装 Skills
117
125
 
118
- `numa skills install --interactive` 依次选择可安装的 namespace/instance、资源、已发布版本、Agent 和 scope。
126
+ `npx -y @numa-tech/numa@latest skills install --interactive` 依次选择可安装的 namespace/instance、资源、已发布版本、Agent 和 scope。
119
127
  输入关键词检索当前页,使用下一页或精确名称继续定位。只安装 online 版本;草稿和待审版本不进入版本选项。
120
128
  写入前展示依赖、摘要、来源和目标路径,确认包含必要依赖。选择精确版本意味着固定版本;自动更新设置另按更新指引管理。
121
129
  Agent 继续使用资源工作流的 inspect 与 plan,并在已批准依赖时传 `--with-dependencies`;完整参数调用不会等待终端确认。
@@ -1,6 +1,6 @@
1
1
  # Numa Pipeline release specification
2
2
 
3
- Read this file completely before planning or executing an application release with `numa pipeline`.
3
+ Read this file completely before planning or executing an application release with `npx -y @numa-tech/numa@latest pipeline`.
4
4
 
5
5
  This is the normal governed release path. If the user explicitly authorizes a local image build and direct Flux release because the pipeline is unavailable, stop using this specification and use `$numa-local-flux-deploy`. A pipeline failure alone does not authorize that fallback.
6
6
 
@@ -58,10 +58,10 @@ Treat preflight entries as reviewed repository policy, but inspect each command
58
58
  5. Run:
59
59
 
60
60
  ```bash
61
- numa auth status --json
62
- numa profile --json
63
- numa pipeline list --app APPLICATION --tier TIER --branch BRANCH --json
64
- numa pipeline inspect APPLICATION --json
61
+ npx -y @numa-tech/numa@latest auth status --json
62
+ npx -y @numa-tech/numa@latest profile --json
63
+ npx -y @numa-tech/numa@latest pipeline list --app APPLICATION --tier TIER --branch BRANCH --json
64
+ npx -y @numa-tech/numa@latest pipeline inspect APPLICATION --json
65
65
  ```
66
66
 
67
67
  6. Confirm each binding is buildable and matches the intended application, tier, and branch. Confirm the current identity has the required production role; the server remains authoritative.
@@ -73,7 +73,7 @@ Treat preflight entries as reviewed repository policy, but inspect each command
73
73
  For each application in manifest order, call the CLI directly:
74
74
 
75
75
  ```bash
76
- numa pipeline build APPLICATION \
76
+ npx -y @numa-tech/numa@latest pipeline build APPLICATION \
77
77
  --tier TIER \
78
78
  --branch BRANCH \
79
79
  --approve-id APPROVAL_ID \
@@ -96,13 +96,13 @@ If the trigger result is ambiguous, do not immediately create another key or use
96
96
  1. Search the existing task:
97
97
 
98
98
  ```bash
99
- numa pipeline builds --app APPLICATION --tier TIER --branch BRANCH --limit 20 --json
99
+ npx -y @numa-tech/numa@latest pipeline builds --app APPLICATION --tier TIER --branch BRANCH --limit 20 --json
100
100
  ```
101
101
 
102
- 2. Continue an identified task with `numa pipeline status REQUEST_ID --watch --json` and inspect logs with `numa pipeline log REQUEST_ID --follow`.
102
+ 2. Continue an identified task with `npx -y @numa-tech/numa@latest pipeline status REQUEST_ID --watch --json` and inspect logs with `npx -y @numa-tech/numa@latest pipeline log REQUEST_ID --follow`.
103
103
  3. If no task can be found, resubmit the identical build with the original idempotency key and identical content.
104
104
 
105
- Use `numa pipeline retry REQUEST_ID --yes ...` only after a known terminal failure and a deliberate retry decision. A production retry requires a current approval basis and may create a new task. Use `numa pipeline stop REQUEST_ID --yes ...` only when the user explicitly requests stopping that exact build; production stop remains subject to server authorization and approval policy.
105
+ Use `npx -y @numa-tech/numa@latest pipeline retry REQUEST_ID --yes ...` only after a known terminal failure and a deliberate retry decision. A production retry requires a current approval basis and may create a new task. Use `npx -y @numa-tech/numa@latest pipeline stop REQUEST_ID --yes ...` only when the user explicitly requests stopping that exact build; production stop remains subject to server authorization and approval policy.
106
106
 
107
107
  ## Complete the release
108
108
 
@@ -5,11 +5,11 @@
5
5
  ## 能力与项目锁定
6
6
 
7
7
  ```bash
8
- numa registry capabilities --json
9
- numa registry init --namespace NAMESPACE --instance INSTANCE --json
10
- numa registry lock --json
11
- numa registry sync --json
12
- numa registry upgrade [NAME...] --json
8
+ npx -y @numa-tech/numa@latest registry capabilities --json
9
+ npx -y @numa-tech/numa@latest registry init --namespace NAMESPACE --instance INSTANCE --json
10
+ npx -y @numa-tech/numa@latest registry lock --json
11
+ npx -y @numa-tech/numa@latest registry sync --json
12
+ npx -y @numa-tech/numa@latest registry upgrade [NAME...] --json
13
13
  ```
14
14
 
15
15
  Commit `.numa/registry.json` and `.numa/registry.lock.json`. `lock` resolves labels to exact versions and SHA-256 values. `sync` installs only exact locked versions. `upgrade` is the explicit operation that re-resolves tracked labels.
@@ -17,17 +17,17 @@ Commit `.numa/registry.json` and `.numa/registry.lock.json`. `lock` resolves lab
17
17
  ## Skills
18
18
 
19
19
  ```bash
20
- numa skills list --namespace NAMESPACE --search TEXT --json
21
- numa skills inspect NAME --namespace NAMESPACE --json
22
- numa skills draft NAME --from-version 1.0.0 --namespace NAMESPACE --json
23
- numa skills install NAME --namespace NAMESPACE --agent AGENT --scope project --version VERIFIED_PUBLISHED_VERSION --json
24
- numa skills upload ./skill.zip --namespace NAMESPACE --target-version 1.0.0 --json
25
- numa skills online NAME --namespace NAMESPACE --json
26
- numa skills offline NAME --namespace NAMESPACE --json
27
- numa skills scope NAME PRIVATE --namespace NAMESPACE --json
28
- numa skills tags NAME deploy java --namespace NAMESPACE --json
29
- numa skills labels NAME latest stable --version 1.2.0 --namespace NAMESPACE --json
30
- numa skills delete NAME --namespace NAMESPACE --yes --json
20
+ npx -y @numa-tech/numa@latest skills list --namespace NAMESPACE --search TEXT --json
21
+ npx -y @numa-tech/numa@latest skills inspect NAME --namespace NAMESPACE --json
22
+ npx -y @numa-tech/numa@latest skills draft NAME --from-version 1.0.0 --namespace NAMESPACE --json
23
+ npx -y @numa-tech/numa@latest skills install NAME --namespace NAMESPACE --agent AGENT --scope project --version VERIFIED_PUBLISHED_VERSION --json
24
+ npx -y @numa-tech/numa@latest skills upload ./skill.zip --namespace NAMESPACE --target-version 1.0.0 --json
25
+ npx -y @numa-tech/numa@latest skills online NAME --namespace NAMESPACE --json
26
+ npx -y @numa-tech/numa@latest skills offline NAME --namespace NAMESPACE --json
27
+ npx -y @numa-tech/numa@latest skills scope NAME PRIVATE --namespace NAMESPACE --json
28
+ npx -y @numa-tech/numa@latest skills tags NAME deploy java --namespace NAMESPACE --json
29
+ npx -y @numa-tech/numa@latest skills labels NAME latest stable --version 1.2.0 --namespace NAMESPACE --json
30
+ npx -y @numa-tech/numa@latest skills delete NAME --namespace NAMESPACE --yes --json
31
31
  ```
32
32
 
33
33
  Skill agents: `chatgpt`, `codex`, `claude`, `cursor`, `workbuddy`, `openclaw`, `agents`, or `custom`. A custom target also needs `--custom-root`.
@@ -35,18 +35,18 @@ Skill agents: `chatgpt`, `codex`, `claude`, `cursor`, `workbuddy`, `openclaw`, `
35
35
  ## MCP Servers
36
36
 
37
37
  ```bash
38
- numa mcp list --namespace NAMESPACE --search TEXT --json
39
- numa mcp inspect NAME --namespace NAMESPACE --version 1.0.0 --json
40
- numa mcp install NAME --namespace NAMESPACE --agent claude --scope project --transport remote --json
41
- numa mcp install NAME --namespace NAMESPACE --agent codex --scope user --transport remote --json
42
- numa mcp bridge --namespace NAMESPACE
43
- numa mcp create ./mcp.json --namespace NAMESPACE --json
44
- numa mcp update NAME ./mcp.json --namespace NAMESPACE --json
45
- numa mcp online NAME --version 1.0.0 --namespace NAMESPACE --json
46
- numa mcp offline NAME --version 1.0.0 --namespace NAMESPACE --json
47
- numa mcp tags NAME internal search --namespace NAMESPACE --json
48
- numa mcp tool disable NAME TOOL --version 3 --namespace NAMESPACE --json
49
- numa mcp delete NAME --namespace NAMESPACE --version 1.0.0 --yes --json
38
+ npx -y @numa-tech/numa@latest mcp list --namespace NAMESPACE --search TEXT --json
39
+ npx -y @numa-tech/numa@latest mcp inspect NAME --namespace NAMESPACE --version 1.0.0 --json
40
+ npx -y @numa-tech/numa@latest mcp install NAME --namespace NAMESPACE --agent claude --scope project --transport remote --json
41
+ npx -y @numa-tech/numa@latest mcp install NAME --namespace NAMESPACE --agent codex --scope user --transport remote --json
42
+ npx -y @numa-tech/numa@latest mcp bridge --namespace NAMESPACE
43
+ npx -y @numa-tech/numa@latest mcp create ./mcp.json --namespace NAMESPACE --json
44
+ npx -y @numa-tech/numa@latest mcp update NAME ./mcp.json --namespace NAMESPACE --json
45
+ npx -y @numa-tech/numa@latest mcp online NAME --version 1.0.0 --namespace NAMESPACE --json
46
+ npx -y @numa-tech/numa@latest mcp offline NAME --version 1.0.0 --namespace NAMESPACE --json
47
+ npx -y @numa-tech/numa@latest mcp tags NAME internal search --namespace NAMESPACE --json
48
+ npx -y @numa-tech/numa@latest mcp tool disable NAME TOOL --version 3 --namespace NAMESPACE --json
49
+ npx -y @numa-tech/numa@latest mcp delete NAME --namespace NAMESPACE --version 1.0.0 --yes --json
50
50
  ```
51
51
 
52
52
  MCP agents: `chatgpt`, `codex`, `claude`, `cursor`, `workbuddy`, `openclaw`, or `custom`. A custom target also needs `--custom-config`. All clients receive the enterprise Router, never the Nacos/downstream endpoint. ChatGPT uses remote HTTPS OAuth; stdio clients may use the bridge. Codex and OpenClaw are user-scoped.
@@ -54,18 +54,18 @@ MCP agents: `chatgpt`, `codex`, `claude`, `cursor`, `workbuddy`, `openclaw`, or
54
54
  ## 发布与客户端连接
55
55
 
56
56
  ```bash
57
- numa skills submit NAME --namespace NAMESPACE --version 1.2.0 --json
58
- numa skills inspect NAME --namespace NAMESPACE --json
59
- numa registry approvals submit skill NAME --namespace NAMESPACE --resource-version 1.2.0 --reason REASON --json
60
- numa registry approvals list --namespace NAMESPACE --state SUBMITTED --json
61
- numa registry approvals review REQUEST --decision APPROVED --reason REASON --version 2 --json
62
- numa registry approvals publish REQUEST --version 3 --json
63
- numa registry namespaces resolve NAMESPACE --instance INSTANCE --json
64
- numa registry namespaces check NAMESPACE --instance INSTANCE --json
65
- numa registry router inspect --namespace NAMESPACE --json
66
- numa registry router connect --namespace NAMESPACE --adapter codex --json
67
- numa registry router health --namespace NAMESPACE --json
68
- numa registry audit --namespace NAMESPACE --json
57
+ npx -y @numa-tech/numa@latest skills submit NAME --namespace NAMESPACE --version 1.2.0 --json
58
+ npx -y @numa-tech/numa@latest skills inspect NAME --namespace NAMESPACE --json
59
+ npx -y @numa-tech/numa@latest registry approvals submit skill NAME --namespace NAMESPACE --resource-version 1.2.0 --reason REASON --json
60
+ npx -y @numa-tech/numa@latest registry approvals list --namespace NAMESPACE --state SUBMITTED --json
61
+ npx -y @numa-tech/numa@latest registry approvals review REQUEST --decision APPROVED --reason REASON --version 2 --json
62
+ npx -y @numa-tech/numa@latest registry approvals publish REQUEST --version 3 --json
63
+ npx -y @numa-tech/numa@latest registry namespaces resolve NAMESPACE --instance INSTANCE --json
64
+ npx -y @numa-tech/numa@latest registry namespaces check NAMESPACE --instance INSTANCE --json
65
+ npx -y @numa-tech/numa@latest registry router inspect --namespace NAMESPACE --json
66
+ npx -y @numa-tech/numa@latest registry router connect --namespace NAMESPACE --adapter codex --json
67
+ npx -y @numa-tech/numa@latest registry router health --namespace NAMESPACE --json
68
+ npx -y @numa-tech/numa@latest registry audit --namespace NAMESPACE --json
69
69
  ```
70
70
 
71
71
  `review`/`publish` 仅供符合职责分离要求的其他获授权身份执行,不是同一个执行者连续运行的脚本。提交者完成上传、提交后报告待审状态。发布前从审批列表读取当前 version。上传、审批、发布及上线是不同状态,结果以服务端回读为准。
@@ -5,19 +5,19 @@
5
5
  交互安装可选择仅当前 Skill 自动升级、全部受管用户级 Skills 自动升级,或不自动升级且不再询问。JSON/非交互调用不会询问或默认同意。用户的选择与依赖安装同意是不同事项。
6
6
 
7
7
  ```sh
8
- numa skills install NAME --agent AGENT --scope user --updates current
9
- numa skills install NAME --agent AGENT --scope user --updates all
10
- numa skills install NAME --agent AGENT --scope user --updates never
11
- numa skills updates status --json
12
- numa skills updates configure all
13
- numa skills updates configure off
14
- numa skills updates configure never
15
- numa skills updates configure ask
16
- numa skills updates track INSTALLATION_ID
17
- numa skills updates pin INSTALLATION_ID
18
- numa skills updates run --json
19
- numa maintenance status --json
20
- numa maintenance run --json
8
+ npx -y @numa-tech/numa@latest skills install NAME --agent AGENT --scope user --updates current
9
+ npx -y @numa-tech/numa@latest skills install NAME --agent AGENT --scope user --updates all
10
+ npx -y @numa-tech/numa@latest skills install NAME --agent AGENT --scope user --updates never
11
+ npx -y @numa-tech/numa@latest skills updates status --json
12
+ npx -y @numa-tech/numa@latest skills updates configure all
13
+ npx -y @numa-tech/numa@latest skills updates configure off
14
+ npx -y @numa-tech/numa@latest skills updates configure never
15
+ npx -y @numa-tech/numa@latest skills updates configure ask
16
+ npx -y @numa-tech/numa@latest skills updates track INSTALLATION_ID
17
+ npx -y @numa-tech/numa@latest skills updates pin INSTALLATION_ID
18
+ npx -y @numa-tech/numa@latest skills updates run --json
19
+ npx -y @numa-tech/numa@latest maintenance status --json
20
+ npx -y @numa-tech/numa@latest maintenance run --json
21
21
  ```
22
22
 
23
23
  NAME/AGENT/INSTALLATION_ID 取自已核对的目标与状态。仅在用户已授权对应设置后执行 configure/track/pin;多个实例或 Agent 的同名 Skill 用安装 ID 区分。没有获批的新配置只读取 status。
@@ -2,14 +2,14 @@
2
2
 
3
3
  先完成主 Skill 的 CLI 启动与身份检查;仅在安装、项目锁定、资源发布或 MCP 接入任务时读取本文。
4
4
 
5
- 使用 `numa skills` 操作 Skill,使用 `numa mcp` 操作 MCP,使用保留兼容的 `numa registry` 做能力发现、项目锁定和发布审批。这些命令名没有随控制台拆分而改变;不要臆造新的 `numa skills permissions` 命令。
5
+ 使用 `npx -y @numa-tech/numa@latest skills` 操作 Skill,使用 `npx -y @numa-tech/numa@latest mcp` 操作 MCP,使用保留兼容的 `npx -y @numa-tech/numa@latest registry` 做能力发现、项目锁定和发布审批。这些命令名没有随控制台拆分而改变;不要臆造新的 `npx -y @numa-tech/numa@latest skills permissions` 命令。
6
6
 
7
7
  ## 边界与身份
8
8
 
9
9
  - 本 Skill 负责资源使用和生命周期,包括 MCP 工具维护、已有 Router 的客户端连接、只读健康检查。实例凭据、namespace 创建/删除、默认路由和 Router 绑定管理交给 `$numa-nacos`。不要为完成安装而顺手修改基础设施。
10
- - 运行 `numa --cli-version`、`numa auth status --json`、`numa config --show --json`,核对身份、目标环境和 API;只在登录失效且无法刷新时引导 `numa login`。
10
+ - 运行 `npx -y @numa-tech/numa@latest --cli-version`、`npx -y @numa-tech/numa@latest auth status --json`、`npx -y @numa-tech/numa@latest config --show --json`,核对身份、目标环境和 API;只在登录失效且无法刷新时引导 `npx -y @numa-tech/numa@latest login`。
11
11
  - 本项目 PRD 使用 `https://apps-gw-prd.mcisaas.com/mci-devops-platform`,issuer 为 `https://kc.mcisaas.com/auth/realms/numa-realm`,CLI 登录 client 为 `mcp-client`。namespace 名称即使包含 `mcexp-dev1`,也不表示应切换到另一个 Keycloak realm。禁止读取 token 缓存、复用浏览器 cookie 或索取 Nacos token。
12
- - 读取 `numa registry capabilities --json`,以服务端返回的 namespace、动作及实际授权结果为准。Skills 权限来自已登记 Client Role 的功能 view/edit、namespace 业务授权和团队/审批关系,不再由历史 reader/reviewer/admin 角色名称直接决定。角色所有者是 `mci-devops-platform`;不能使用其他 client 的同名角色作判断。
12
+ - 读取 `npx -y @numa-tech/numa@latest registry capabilities --json`,以服务端返回的 namespace、动作及实际授权结果为准。Skills 权限来自已登记 Client Role 的功能 view/edit、namespace 业务授权和团队/审批关系,不再由历史 reader/reviewer/admin 角色名称直接决定。角色所有者是 `mci-devops-platform`;不能使用其他 client 的同名角色作判断。
13
13
  - namespace 按显式 `--namespace` → 最近 `.numa/registry.json` → 用户默认 → profile 默认解析。同名用 `--instance` 消歧;无默认且存在多个候选时询问用户,失效或未授权的默认不能静默替换。
14
14
 
15
15
  完整命令形式见 [资源命令契约](skills-command-contract.md)。与安装版本不一致时先读对应 `--help`;缺失功能如角色授权管理使用平台已提供的界面或受支持 API,不伪造 CLI。
@@ -20,7 +20,7 @@
20
20
  2. 项目依赖优先 `registry init`、编辑 manifest、`registry lock`、`registry sync`。锁文件记录精确版本与 SHA-256;`sync` 不解析新标签,只有首次 lock 或显式 upgrade 才升级。按仓库规则提交 manifest 和 lock。
21
21
  3. 先按主指引核对依赖计划,确认后再安装;项目 manifest 明确列出完整依赖及相同 Agent/scope,不静默补装。单次 Skill 安装使用 `skills install`,CLI 1.14.43 默认 user scope。先确认实际安装范围;当前项目专用时显式传 `--scope project`,跨项目共享时显式传 `--scope user`,不要依赖旧版默认值。验证版本、来源绑定和完整性;不一致就停止。
22
22
  4. 本地冲突先检查差异;用户已明确授权覆盖时可按该授权使用 `--force` 并报告备份,否则请求确认。不要预先使用 `--force`。
23
- 5. MCP 安装必须有 READY 且健康的企业 Router。ChatGPT 使用远程 HTTPS OAuth App 接入;仅支持 stdio 的客户端使用 `numa mcp bridge`。不安装 Nacos 或下游直连地址,不声称替用户修改了 ChatGPT 设置。
23
+ 5. MCP 安装必须有 READY 且健康的企业 Router。ChatGPT 使用远程 HTTPS OAuth App 接入;仅支持 stdio 的客户端使用 `npx -y @numa-tech/numa@latest mcp bridge`。不安装 Nacos 或下游直连地址,不声称替用户修改了 ChatGPT 设置。
24
24
  6. Codex/OpenClaw MCP 注册是 user scope 并使用官方 CLI;其他客户端按适配器返回路径处理。自定义适配器显式指定目录或配置路径。
25
25
 
26
26
  不要把明文凭据放入资源定义、manifest、lock、日志或报告。下游认证使用服务端支持的 secret/environment 引用,客户端只获得授权 Router 接入信息。
@@ -9,7 +9,7 @@ description: 使用 Numa CLI 分析、规划、创建、接入或 promote 企业
9
9
 
10
10
  ## 加载基础 Skill(必读)
11
11
 
12
- 本 Skill 依赖同来源的 `numa-cli@1.1.0`。业务操作前先加载基础 Skill;缺失时按 [依赖恢复指引](references/cli-bootstrap.md) 询问用户是否立即安装,不静默安装。下文 `numa` 都表示基础 Skill 确认的同一 CLI 入口。
12
+ 本 Skill 依赖同来源的 `numa-cli@1.4.1`。业务操作前先加载基础 Skill;缺失时按 [依赖恢复指引](references/cli-bootstrap.md) 询问用户是否立即安装,不静默安装。命令示例使用 npx,无需全局安装;执行时将示例中的 `latest` 换为基础 Skill 已确认的具体版本,同一任务沿用同一入口。
13
13
 
14
14
  先读取事实并形成完整草案,再询问真正不明确的决策。应用团队、代码库分组和部署集群是三个独立概念。任何外部写操作前都展示最终确认清单。
15
15
 
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "name": "numa-create-application",
4
- "version": "1.1.0",
4
+ "version": "1.1.1",
5
5
  "dependencies": [
6
6
  {
7
7
  "name": "numa-cli",
8
- "version": "1.1.0"
8
+ "version": "1.4.1"
9
9
  }
10
10
  ]
11
11
  }
@@ -1,11 +1,11 @@
1
1
  # 基础 Skill 依赖
2
2
 
3
- 本 Skill 的公共 CLI 运行指引由 `numa-cli@1.1.0` 维护。先用宿主 Skill 目录/加载工具定位并完整读取它的 SKILL.md,按任务需要读取其启动参考;不要只相信名字匹配,不使用其他来源的同名 Skill。
3
+ 本 Skill 的公共 CLI 运行指引由 `numa-cli@1.4.1` 维护。先用宿主 Skill 目录/加载工具定位并完整读取它的 SKILL.md,按任务需要读取其启动参考;不要只相信名字匹配,不使用其他来源的同名 Skill。
4
4
 
5
5
  如果没安装或宿主暂时看不到依赖,明确询问:“此功能需要 numa-cli 基础 Skill,是否现在为当前 Agent 安装?”用户拒绝就停止,不循环重试。已安装但不可见时请刷新 Skill 列表或重新打开会话,不重复覆盖安装。
6
6
 
7
- 用户同意后,优先使用现有 `numa --cli-version`。缺失时,在 Node/npm 可用且符合环境执行审批的前提下,说明首次会下载官方 npm 缓存,再用 `npx -y @numa-tech/numa@latest --cli-version` 查询实际版本并固定后续入口。Windows 可用同安装目录的 `npx.cmd`,不改执行策略;Node 缺失由环境维护者安装,不读取/转换任何凭据。
7
+ 安装依赖已获授权后,使用基础 Skill 已确认的 npx 入口;尚未初始化时,先说明首次可能下载到 npm 缓存,再用 `npx -y @numa-tech/numa@latest --cli-version` 查询实际版本并固定后续入口。组织指定版本优先,无需安装全局 Numa。Windows 可用同安装目录的 `npx.cmd`,不改执行策略;Node 缺失由环境维护者安装,不读取/转换任何凭据。
8
8
 
9
- 沿用这个入口检查 `auth status --json`、`config --show --json`,确认身份和任务环境。只从本业务 Skill 的原 namespace/instance inspect 已发布的 `numa-cli@1.1.0`,核对 `skills install --help` 后显式指定同一 agent/scope 安装。未发布、无权访问或运行时不支持时报告阻断,不能换源或擅自升级 CLI。安装文件不等于自动加载,成功后重新加载基础 Skill 才继续业务操作。
9
+ 沿用这个入口检查 `auth status --json`、`config --show --json`,确认身份和任务环境。只从本业务 Skill 的原 namespace/instance inspect 已发布的 `numa-cli@1.4.1`,核对 `skills install --help` 后显式指定同一 agent/scope 安装。未发布、无权访问或运行时不支持时报告阻断,不能换源或擅自升级 CLI。安装文件不等于自动加载,成功后重新加载基础 Skill 才继续业务操作。
10
10
 
11
11
  该兜底仅用于恢复依赖;完整运行、身份、安全及错误处理规则以 numa-cli 为准。依赖关系由包内 numa-skill.json 声明,旧 CLI 可能忽略声明,因此始终核对实际依赖存在。
@@ -3,22 +3,22 @@
3
3
  ## 发现
4
4
 
5
5
  ```bash
6
- numa app capabilities --json
7
- numa app options --json
8
- numa pipeline list --app APPLICATION --json
9
- numa pipeline inspect APPLICATION --json
6
+ npx -y @numa-tech/numa@latest app capabilities --json
7
+ npx -y @numa-tech/numa@latest app options --json
8
+ npx -y @numa-tech/numa@latest pipeline list --app APPLICATION --json
9
+ npx -y @numa-tech/numa@latest pipeline inspect APPLICATION --json
10
10
  ```
11
11
 
12
12
  ## Repository 与 Publication
13
13
 
14
- 始终复用同一 onboarding session、planHash、clientRequestId 和 idempotency key。具体子命令以运行时 `numa commands --json` 与 `--help` 为准;命令缺失时标记 capability unavailable,不用通用 request 绕过。
14
+ 始终复用同一 onboarding session、planHash、clientRequestId 和 idempotency key。具体子命令以运行时 `npx -y @numa-tech/numa@latest commands --json` 与 `--help` 为准;命令缺失时标记 capability unavailable,不用通用 request 绕过。
15
15
 
16
16
  ## Jenkins Job
17
17
 
18
18
  ```bash
19
- numa jenkins job plan ... --scan-mode INDEX_ONLY --json
20
- numa jenkins job apply ... --yes --json
21
- numa jenkins job status --client-request-id ORIGINAL_ID --json
19
+ npx -y @numa-tech/numa@latest jenkins job plan ... --scan-mode INDEX_ONLY --json
20
+ npx -y @numa-tech/numa@latest jenkins job apply ... --yes --json
21
+ npx -y @numa-tech/numa@latest jenkins job status --client-request-id ORIGINAL_ID --json
22
22
  ```
23
23
 
24
24
  确认 branch child 被索引且没有 build 被触发,再确认 application binding。
@@ -26,10 +26,10 @@ numa jenkins job status --client-request-id ORIGINAL_ID --json
26
26
  ## 初始化与部署
27
27
 
28
28
  ```bash
29
- numa pipeline build APPLICATION --tier TIER --branch BRANCH \
29
+ npx -y @numa-tech/numa@latest pipeline build APPLICATION --tier TIER --branch BRANCH \
30
30
  --param INIT=true --production-reason '初始化流水线参数' --wait --json
31
31
 
32
- numa pipeline build APPLICATION --tier TIER --branch BRANCH \
32
+ npx -y @numa-tech/numa@latest pipeline build APPLICATION --tier TIER --branch BRANCH \
33
33
  --param ENV_ID=ENVIRONMENT_ID --production-reason '执行应用部署' --wait --json
34
34
  ```
35
35
 
@@ -40,12 +40,12 @@ numa pipeline build APPLICATION --tier TIER --branch BRANCH \
40
40
  ## 恢复
41
41
 
42
42
  ```bash
43
- numa app inspect SESSION --watch --json
44
- numa repository status --client-request-id ORIGINAL_ID --json
45
- numa publication status --client-request-id ORIGINAL_ID --json
46
- numa jenkins job status --client-request-id ORIGINAL_ID --json
47
- numa pipeline status REQUEST_ID --watch --json
48
- numa pipeline log REQUEST_ID --offset 0 --json
43
+ npx -y @numa-tech/numa@latest app inspect SESSION --watch --json
44
+ npx -y @numa-tech/numa@latest repository status --client-request-id ORIGINAL_ID --json
45
+ npx -y @numa-tech/numa@latest publication status --client-request-id ORIGINAL_ID --json
46
+ npx -y @numa-tech/numa@latest jenkins job status --client-request-id ORIGINAL_ID --json
47
+ npx -y @numa-tech/numa@latest pipeline status REQUEST_ID --watch --json
48
+ npx -y @numa-tech/numa@latest pipeline log REQUEST_ID --offset 0 --json
49
49
  ```
50
50
 
51
51
  结果未知时只读恢复原对象,不换 key 重放,不通过端口转发、SSH tunnel、直接 Jenkins API 或手工 Flux 写入绕过。
@@ -9,7 +9,7 @@ description: 使用 Numa CLI 安全规划、执行、监控、诊断和恢复 MC
9
9
 
10
10
  ## 加载基础 Skill(必读)
11
11
 
12
- 本 Skill 依赖同来源的 `numa-cli@1.1.0`。业务操作前先加载基础 Skill;缺失时按 [依赖恢复指引](references/cli-bootstrap.md) 询问用户是否立即安装,不静默安装。下文 `numa` 都表示基础 Skill 确认的同一 CLI 入口。
12
+ 本 Skill 依赖同来源的 `numa-cli@1.4.1`。业务操作前先加载基础 Skill;缺失时按 [依赖恢复指引](references/cli-bootstrap.md) 询问用户是否立即安装,不静默安装。命令示例使用 npx,无需全局安装;执行时将示例中的 `latest` 换为基础 Skill 已确认的具体版本,同一任务沿用同一入口。
13
13
 
14
14
  通过标准 `pipeline build` 表面执行仓库中的 `gitopsBuildEntry()`。已退役的签名快照、独立触发、rollout 和 provenance 命令不得使用;若旧服务仍返回这些 capability,只视为待清理的历史状态。
15
15
 
@@ -17,26 +17,26 @@ description: 使用 Numa CLI 安全规划、执行、监控、诊断和恢复 MC
17
17
 
18
18
  1. 先读取 [references/release-policy.md](references/release-policy.md),确认本次请求授权的环境和动作。
19
19
  2. 检查源码目录、分支、HEAD、remote、工作树和 `.numa/pipeline-release.json`。生产只发布干净且已推送的提交。
20
- 3. 使用 `numa pipeline inspect APPLICATION --json` 和 `numa pipeline list` 确认 application、tier、canonical Multibranch root、branch child 与参数定义。
20
+ 3. 使用 `npx -y @numa-tech/numa@latest pipeline inspect APPLICATION --json` 和 `npx -y @numa-tech/numa@latest pipeline list` 确认 application、tier、canonical Multibranch root、branch child 与参数定义。
21
21
  4. 新分支 Job 第一次运行不带业务参数,作为参数初始化;需要强制重建参数时可传 `INIT=true`。初始化成功后必须用新的幂等键触发实际部署。
22
- 5. 实际构建使用 `numa pipeline build`,传明确的 `ENV_ID` 及项目必需参数。生产提供 `--approve-id` 或不少于 10 个字符的 `--production-reason`。
22
+ 5. 实际构建使用 `npx -y @numa-tech/numa@latest pipeline build`,传明确的 `ENV_ID` 及项目必需参数。生产提供 `--approve-id` 或不少于 10 个字符的 `--production-reason`。
23
23
  6. 保存 requestId。结果不明时只用 `pipeline status/log` 或 `pipeline builds` 找回原请求,不换 key 重放。
24
24
  7. 完成必须同时核对:平台构建账本/Jenkins 结果、Flux 目标文件与提交、目标集群实际镜像和健康状态。
25
25
 
26
26
  ## 标准命令
27
27
 
28
28
  ```bash
29
- numa pipeline build APPLICATION --tier production --branch BRANCH \
29
+ npx -y @numa-tech/numa@latest pipeline build APPLICATION --tier production --branch BRANCH \
30
30
  --param INIT=true \
31
31
  --production-reason '初始化生产流水线参数' --wait --json
32
32
 
33
- numa pipeline build APPLICATION --tier production --branch BRANCH \
33
+ npx -y @numa-tech/numa@latest pipeline build APPLICATION --tier production --branch BRANCH \
34
34
  --param ENV_ID=prd \
35
35
  --production-reason '执行生产构建与部署' --wait --json
36
36
 
37
- numa pipeline status REQUEST_ID --watch --json
38
- numa pipeline log REQUEST_ID --offset 0 --json
39
- numa pipeline builds --app APPLICATION --tier production --branch BRANCH --json
37
+ npx -y @numa-tech/numa@latest pipeline status REQUEST_ID --watch --json
38
+ npx -y @numa-tech/numa@latest pipeline log REQUEST_ID --offset 0 --json
39
+ npx -y @numa-tech/numa@latest pipeline builds --app APPLICATION --tier production --branch BRANCH --json
40
40
  ```
41
41
 
42
42
  首次自然空跑与显式 `INIT=true` 二选一;已经有参数定义时无需重复初始化。详细参数和恢复规则见 [references/cli-contract.md](references/cli-contract.md),失败分类见 [references/diagnostics.md](references/diagnostics.md)。
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "name": "numa-jenkins-deployment",
4
- "version": "1.1.0",
4
+ "version": "1.1.1",
5
5
  "dependencies": [
6
6
  {
7
7
  "name": "numa-cli",
8
- "version": "1.1.0"
8
+ "version": "1.4.1"
9
9
  }
10
10
  ]
11
11
  }
@@ -1,11 +1,11 @@
1
1
  # 基础 Skill 依赖
2
2
 
3
- 本 Skill 的公共 CLI 运行指引由 `numa-cli@1.1.0` 维护。先用宿主 Skill 目录/加载工具定位并完整读取它的 SKILL.md,按任务需要读取其启动参考;不要只相信名字匹配,不使用其他来源的同名 Skill。
3
+ 本 Skill 的公共 CLI 运行指引由 `numa-cli@1.4.1` 维护。先用宿主 Skill 目录/加载工具定位并完整读取它的 SKILL.md,按任务需要读取其启动参考;不要只相信名字匹配,不使用其他来源的同名 Skill。
4
4
 
5
5
  如果没安装或宿主暂时看不到依赖,明确询问:“此功能需要 numa-cli 基础 Skill,是否现在为当前 Agent 安装?”用户拒绝就停止,不循环重试。已安装但不可见时请刷新 Skill 列表或重新打开会话,不重复覆盖安装。
6
6
 
7
- 用户同意后,优先使用现有 `numa --cli-version`。缺失时,在 Node/npm 可用且符合环境执行审批的前提下,说明首次会下载官方 npm 缓存,再用 `npx -y @numa-tech/numa@latest --cli-version` 查询实际版本并固定后续入口。Windows 可用同安装目录的 `npx.cmd`,不改执行策略;Node 缺失由环境维护者安装,不读取/转换任何凭据。
7
+ 安装依赖已获授权后,使用基础 Skill 已确认的 npx 入口;尚未初始化时,先说明首次可能下载到 npm 缓存,再用 `npx -y @numa-tech/numa@latest --cli-version` 查询实际版本并固定后续入口。组织指定版本优先,无需安装全局 Numa。Windows 可用同安装目录的 `npx.cmd`,不改执行策略;Node 缺失由环境维护者安装,不读取/转换任何凭据。
8
8
 
9
- 沿用这个入口检查 `auth status --json`、`config --show --json`,确认身份和任务环境。只从本业务 Skill 的原 namespace/instance inspect 已发布的 `numa-cli@1.1.0`,核对 `skills install --help` 后显式指定同一 agent/scope 安装。未发布、无权访问或运行时不支持时报告阻断,不能换源或擅自升级 CLI。安装文件不等于自动加载,成功后重新加载基础 Skill 才继续业务操作。
9
+ 沿用这个入口检查 `auth status --json`、`config --show --json`,确认身份和任务环境。只从本业务 Skill 的原 namespace/instance inspect 已发布的 `numa-cli@1.4.1`,核对 `skills install --help` 后显式指定同一 agent/scope 安装。未发布、无权访问或运行时不支持时报告阻断,不能换源或擅自升级 CLI。安装文件不等于自动加载,成功后重新加载基础 Skill 才继续业务操作。
10
10
 
11
11
  该兜底仅用于恢复依赖;完整运行、身份、安全及错误处理规则以 numa-cli 为准。依赖关系由包内 numa-skill.json 声明,旧 CLI 可能忽略声明,因此始终核对实际依赖存在。
@@ -3,9 +3,9 @@
3
3
  ## 只读发现
4
4
 
5
5
  ```bash
6
- numa pipeline list --app APPLICATION --tier production --branch BRANCH --json
7
- numa pipeline inspect APPLICATION --json
8
- numa pipeline builds --app APPLICATION --tier production --branch BRANCH --limit 20 --json
6
+ npx -y @numa-tech/numa@latest pipeline list --app APPLICATION --tier production --branch BRANCH --json
7
+ npx -y @numa-tech/numa@latest pipeline inspect APPLICATION --json
8
+ npx -y @numa-tech/numa@latest pipeline builds --app APPLICATION --tier production --branch BRANCH --limit 20 --json
9
9
  ```
10
10
 
11
11
  必须确认 binding 指向 canonical Multibranch root,目标 branch child 已被 scan 到。不得通过 Job 名猜环境。
@@ -19,7 +19,7 @@ numa pipeline builds --app APPLICATION --tier production --branch BRANCH --limit
19
19
  ## 实际部署
20
20
 
21
21
  ```bash
22
- numa pipeline build APPLICATION --tier TIER --branch BRANCH \
22
+ npx -y @numa-tech/numa@latest pipeline build APPLICATION --tier TIER --branch BRANCH \
23
23
  --param ENV_ID=ENVIRONMENT_ID \
24
24
  --production-reason '明确的发布原因' --wait --json
25
25
  ```
@@ -29,9 +29,9 @@ numa pipeline build APPLICATION --tier TIER --branch BRANCH \
29
29
  ## 恢复
30
30
 
31
31
  ```bash
32
- numa pipeline status REQUEST_ID --watch --json
33
- numa pipeline log REQUEST_ID --offset 0 --json
34
- numa pipeline builds --app APPLICATION --tier TIER --branch BRANCH --json
32
+ npx -y @numa-tech/numa@latest pipeline status REQUEST_ID --watch --json
33
+ npx -y @numa-tech/numa@latest pipeline log REQUEST_ID --offset 0 --json
34
+ npx -y @numa-tech/numa@latest pipeline builds --app APPLICATION --tier TIER --branch BRANCH --json
35
35
  ```
36
36
 
37
37
  - 已保存 requestId:只查询同一个 request。
@@ -4,7 +4,7 @@
4
4
 
5
5
  | 观察结果 | 分类 | 含义 | 下一步 |
6
6
  |---|---|---|---|
7
- | `numa app list` 没有 application | `APPLICATION_NOT_REGISTERED` | 应用尚未进入 DevOps 应用目录 | 使用 `numa-create-application` 做 onboarding plan;不要直接创建 Jenkins Job |
7
+ | `npx -y @numa-tech/numa@latest app list` 没有 application | `APPLICATION_NOT_REGISTERED` | 应用尚未进入 DevOps 应用目录 | 使用 `numa-create-application` 做 onboarding plan;不要直接创建 Jenkins Job |
8
8
  | 应用存在,但 pipeline list/inspect 无 binding | `JENKINS_NOT_INITIALIZED` | delivery/Jenkins 绑定尚未创建或确认 | 平台管理员完成 Jenkins inventory、Job 候选和 binding |
9
9
  | binding 非 `CONFIRMED` | `JENKINS_NOT_INITIALIZED` | 平台尚未确认应用与 Job 的治理关系 | 确认 binding,不要绕过平台直触发 |
10
10
  | instance unhealthy 或 stale | `JENKINS_NOT_INITIALIZED` | Jenkins 凭据、网络或 inventory sync 不可用 | 测试 instance 并同步 inventory |
@@ -89,7 +89,7 @@ app 存在
89
89
  典型证据:
90
90
 
91
91
  - 目标应用就是 `mci-devops-platform` 或提供 Numa pipeline API 的服务;
92
- - Jenkins 页面可见日志,但 `numa pipeline log` 返回 404/503;
92
+ - Jenkins 页面可见日志,但 `npx -y @numa-tech/numa@latest pipeline log` 返回 404/503;
93
93
  - `pipeline list`、`builds` 和其他新 API 同时不可用;
94
94
  - 网页是直连 Jenkins,而 CLI 通过 DevOps 后端代理。
95
95
 
@@ -9,7 +9,7 @@ description: Build and deploy an existing Numa application locally through its i
9
9
 
10
10
  ## 加载基础 Skill(必读)
11
11
 
12
- 本 Skill 依赖同来源的 `numa-cli@1.1.0`。业务操作前先加载基础 Skill;缺失时按 [依赖恢复指引](references/cli-bootstrap.md) 询问用户是否立即安装,不静默安装。下文 `numa` 都表示基础 Skill 确认的同一 CLI 入口。
12
+ 本 Skill 依赖同来源的 `numa-cli@1.4.1`。业务操作前先加载基础 Skill;缺失时按 [依赖恢复指引](references/cli-bootstrap.md) 询问用户是否立即安装,不静默安装。命令示例使用 npx,无需全局安装;执行时将示例中的 `latest` 换为基础 Skill 已确认的具体版本,同一任务沿用同一入口。
13
13
 
14
14
  Use this as a controlled fallback, not as a silent replacement for the governed pipeline. The user must explicitly authorize the resolved application and environment and state that the pipeline is unavailable or that local deployment is required.
15
15
 
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "name": "numa-local-flux-deploy",
4
- "version": "1.1.0",
4
+ "version": "1.1.1",
5
5
  "dependencies": [
6
6
  {
7
7
  "name": "numa-cli",
8
- "version": "1.1.0"
8
+ "version": "1.4.1"
9
9
  }
10
10
  ]
11
11
  }