@numa-tech/numa 1.20.2 → 1.20.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.
Files changed (142) hide show
  1. package/README.md +13 -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 +46 -5
  11. package/dist/authorization/application-client.js +21 -4
  12. package/dist/authorization/application-client.js.map +1 -1
  13. package/dist/authorization/application-commands.js +10 -3
  14. package/dist/authorization/application-commands.js.map +1 -1
  15. package/dist/authorization/application-schemas.d.ts +52 -6
  16. package/dist/authorization/application-schemas.js +25 -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 +9 -0
  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 +6 -1
  53. package/dist/mcp/catalog.js.map +1 -1
  54. package/dist/oss/file-operations.d.ts +8 -0
  55. package/dist/oss/file-operations.js +48 -6
  56. package/dist/oss/file-operations.js.map +1 -1
  57. package/dist/oss/signed-url-transfers.d.ts +41 -0
  58. package/dist/oss/signed-url-transfers.js +207 -0
  59. package/dist/oss/signed-url-transfers.js.map +1 -0
  60. package/dist/oss/transfer-pool.d.ts +2 -0
  61. package/dist/oss/transfer-pool.js +27 -0
  62. package/dist/oss/transfer-pool.js.map +1 -0
  63. package/dist/oss/transfer-worker.js +8 -17
  64. package/dist/oss/transfer-worker.js.map +1 -1
  65. package/dist/oss/web-page.js +48 -8
  66. package/dist/oss/web-page.js.map +1 -1
  67. package/dist/platform-profile.d.ts +1 -1
  68. package/dist/server.d.ts +2 -0
  69. package/dist/server.js +2 -0
  70. package/dist/server.js.map +1 -1
  71. package/dist/tasks/commands.d.ts +9 -0
  72. package/dist/tasks/commands.js +60 -0
  73. package/dist/tasks/commands.js.map +1 -0
  74. package/dist/tasks/oss-query.d.ts +56 -0
  75. package/dist/tasks/oss-query.js +125 -0
  76. package/dist/tasks/oss-query.js.map +1 -0
  77. package/dist/tasks/runtime.d.ts +151 -0
  78. package/dist/tasks/runtime.js +71 -0
  79. package/dist/tasks/runtime.js.map +1 -0
  80. package/dist/tasks/tools.d.ts +3 -0
  81. package/dist/tasks/tools.js +16 -0
  82. package/dist/tasks/tools.js.map +1 -0
  83. package/dist/tasks/types.d.ts +14 -0
  84. package/dist/tasks/types.js +4 -0
  85. package/dist/tasks/types.js.map +1 -0
  86. package/dist/tasks/wecom-notify.d.ts +26 -0
  87. package/dist/tasks/wecom-notify.js +150 -0
  88. package/dist/tasks/wecom-notify.js.map +1 -0
  89. package/docs/agent-tasks.md +97 -0
  90. package/docs/application-default-groups.md +36 -0
  91. package/docs/design/kb-cli.md +94 -0
  92. package/docs/kb-access.md +85 -0
  93. package/package.json +12 -6
  94. package/scripts/export-kb-contract.py +158 -0
  95. package/skills/numa-ai-registry/SKILL.md +2 -2
  96. package/skills/numa-cli/SKILL.md +24 -9
  97. package/skills/numa-cli/agents/openai.yaml +2 -2
  98. package/skills/numa-cli/evals/evals.json +13 -1
  99. package/skills/numa-cli/numa-skill.json +1 -1
  100. package/skills/numa-cli/references/cli-bootstrap.md +8 -8
  101. package/skills/numa-cli/references/cli-mcp.md +28 -20
  102. package/skills/numa-cli/references/pipeline-release.md +9 -9
  103. package/skills/numa-cli/references/skills-command-contract.md +40 -40
  104. package/skills/numa-cli/references/skills-updates.md +13 -13
  105. package/skills/numa-cli/references/skills-workflows.md +4 -4
  106. package/skills/numa-create-application/SKILL.md +1 -1
  107. package/skills/numa-create-application/numa-skill.json +2 -2
  108. package/skills/numa-create-application/references/cli-bootstrap.md +3 -3
  109. package/skills/numa-create-application/references/numa-cli.md +16 -16
  110. package/skills/numa-jenkins-deployment/SKILL.md +8 -8
  111. package/skills/numa-jenkins-deployment/numa-skill.json +2 -2
  112. package/skills/numa-jenkins-deployment/references/cli-bootstrap.md +3 -3
  113. package/skills/numa-jenkins-deployment/references/cli-contract.md +7 -7
  114. package/skills/numa-jenkins-deployment/references/diagnostics.md +2 -2
  115. package/skills/numa-local-flux-deploy/SKILL.md +1 -1
  116. package/skills/numa-local-flux-deploy/numa-skill.json +2 -2
  117. package/skills/numa-local-flux-deploy/references/cli-bootstrap.md +3 -3
  118. package/skills/numa-nacos/SKILL.md +4 -4
  119. package/skills/numa-nacos/numa-skill.json +2 -2
  120. package/skills/numa-nacos/references/cli-bootstrap.md +3 -3
  121. package/skills/numa-nacos/references/command-contract.md +17 -17
  122. package/skills/numa-notion/SKILL.md +4 -4
  123. package/skills/numa-notion/numa-skill.json +2 -2
  124. package/skills/numa-notion/references/agents-automation.md +2 -2
  125. package/skills/numa-notion/references/cli-bootstrap.md +3 -3
  126. package/skills/numa-notion/references/cli.md +17 -17
  127. package/skills/numa-oss-access/SKILL.md +27 -81
  128. package/skills/numa-oss-access/agents/openai.yaml +2 -2
  129. package/skills/numa-oss-access/evals/evals.json +12 -0
  130. package/skills/numa-oss-access/numa-skill.json +2 -2
  131. package/skills/numa-oss-access/references/cli-bootstrap.md +5 -5
  132. package/skills/numa-oss-access/references/object-operations.md +95 -0
  133. package/skills/numa-oss-access/references/search-and-mcp.md +12 -11
  134. package/skills/numa-wecom/SKILL.md +27 -62
  135. package/skills/numa-wecom/agents/openai.yaml +2 -2
  136. package/skills/numa-wecom/evals/evals.json +25 -0
  137. package/skills/numa-wecom/numa-skill.json +2 -2
  138. package/skills/numa-wecom/references/cli-bootstrap.md +5 -5
  139. package/skills/numa-wecom/references/legacy-operations.md +71 -0
  140. package/skills/numa-wecom/references/machine-auth.md +7 -7
  141. package/skills/numa-wecom/references/mcp.md +9 -8
  142. package/src/kb/openapi-contract.json +1432 -0
@@ -1,17 +1,32 @@
1
1
  ---
2
2
  name: numa-cli
3
3
  metadata:
4
- version: "1.3.1"
4
+ version: "1.4.0"
5
5
  description: Numa CLI 与 Skills/MCP 统一入口。用于 numa command not found、npx/Windows 启动、登录及环境检查、发现和安装企业 Skill、依赖与自动更新、项目 registry 锁定同步、上传审核发布,以及 CLI 自身的 stdio MCP、OSS/企微工具和 Agent 安装接入。其他 Numa 业务 Skill 依赖本 Skill;企微、Notion、OSS 和部署任务交给对应专用 Skill,Nacos 基础设施管理交给 numa-nacos。
6
6
  ---
7
7
 
8
8
  # Numa CLI 与 Skills/MCP
9
9
 
10
- 本 Skill 不依赖其他 Skill。它负责找到可运行的 CLI、核实身份及实际命令能力,发现和安装业务 Skill,并管理 Skills/MCP 生命周期。安装文件与 Agent 加载是两个步骤;不要声称宿主原生支持 Numa 依赖声明。
10
+ 本 Skill 不依赖其他 Skill。它负责配置一次运行入口、发现和安装业务 Skill,并管理 Skills/MCP 生命周期。正常业务任务由执行器检查参数、认证和业务条件,不要求 Agent 每次重新发现能力。安装文件与 Agent 加载是两个步骤;不要声称宿主原生支持 Numa 依赖声明。
11
+
12
+ ## 正常业务任务的固定入口
13
+
14
+ 初始化时根据宿主已暴露的工具确定入口并沿用:连接 Numa MCP 就调用业务任务工具;仅无 Numa MCP 且已有固定 CLI 入口时使用 CLI。运行中的 MCP 缺工具、认证或权限失败时报告具体缺口,不自动切换终端、个人身份或复制秘密。
15
+
16
+ | 任务 | MCP | CLI |
17
+ | --- | --- | --- |
18
+ | 企微通知 | `numa_wecom_notify` | `npx -y @numa-tech/numa@latest task run wecom.notify --input-file /ABS/task.json --json` |
19
+ | OSS 查询 | `numa_oss_query` | `npx -y @numa-tech/numa@latest task run oss.query --input-file /ABS/task.json --json` |
20
+
21
+ `--input-file -` 支持标准输入。两种入口共用进程内任务函数;MCP 直接使用 `npx -y @numa-tech/numa@latest serve` 从 `mcp.json` 收到的环境变量,不启动另一个 CLI。正常任务直接调用,不额外执行 `commands`、`--help`、`auth status`、`whoami`、`config`、capabilities 或 Grant discovery;这些确定性判断在任务内完成,服务端执行授权。
22
+
23
+ 统一返回 `succeeded`、`needs_input`、`blocked`、`pending`。按业务 Skill 解释结果,只有缺项/歧义需要用户补充。`pending` 的通知仅查原请求号,不重新发送。`npx -y @numa-tech/numa@latest task inspect NAME --json` 用于初始化、schema 查询或故障诊断,不是每次任务的检查步骤。
24
+
25
+ 新任务入口必须由实际运行时提供;Skill 版本与 CLI 版本独立,不假定 npm latest 已发布支持。工具已加载即可使用;若明确缺少,报告所需能力和升级要求,不循环发现或静默换版本。旧命令仍供其他业务、兼容流程与诊断使用。
11
26
 
12
27
  ## 按任务读取
13
28
 
14
- - 首次执行 CLI:完整读取 [启动与版本契约](references/cli-bootstrap.md)。
29
+ - 尚未建立 CLI 入口或排查启动失败:完整读取 [启动与版本契约](references/cli-bootstrap.md)。
15
30
  - 发现和安装 Skill:使用下文核心流程;依赖安装仍需确认。
16
31
  - 项目锁定/同步、上传/审核/发布或 MCP 接入:完整读取 [Skills 与 MCP 工作流](references/skills-workflows.md),执行命令前读取其链接的资源命令契约。
17
32
  - 模块检索、交互安装和自定义 MCP 环境变量:完整读取 [CLI MCP 服务与安装](references/cli-mcp.md)。
@@ -22,9 +37,9 @@ description: Numa CLI 与 Skills/MCP 统一入口。用于 numa command not foun
22
37
 
23
38
  ## 先建立运行入口
24
39
 
25
- 首次执行 CLI 前完整阅读 [CLI 启动与版本契约](references/cli-bootstrap.md)。已有 numa 沿用它;找不到时说明官方 npm 缓存下载行为、遵守环境审批并使用 npx,发现实际版本后固定全部后续命令。Windows npx.ps1 受限可用 npx.cmd,不降低执行策略。
40
+ 仅在尚未建立入口时完整阅读 [CLI 启动与版本契约](references/cli-bootstrap.md)。默认使用 `npx -y @numa-tech/numa@latest`,无需全局安装;说明首次可能下载至 npm 缓存,初始化发现实际版本后固定全部后续命令。组织指定版本或本任务已确认的 npx/本地 Node 入口继续沿用。Windows npx.ps1 受限可用 npx.cmd,不降低执行策略。
26
41
 
27
- 核实 commands --json、模块及精确子命令帮助。根帮助退出 0 不代表模块存在。缺少功能时请求用户批准版本切换,不自动升级或发布 CLI。遇到 CLI、Node、网络、登录、业务授权失败,要区分具体阶段,不以更换身份、读取凭据或直连上游解决。
42
+ 初始化其他旧命令路径时按需要核实 commands --json、模块及精确子命令帮助;正常 task 路径不重复执行。根帮助退出 0 不代表模块存在。缺少功能时请求用户批准版本切换,不自动升级或发布 CLI。遇到 CLI、Node、网络、登录、业务授权失败,要区分具体阶段,不以更换身份、读取凭据或直连上游解决。
28
43
 
29
44
  ## 主动发现适合任务的 Skill
30
45
 
@@ -36,11 +51,11 @@ description: Numa CLI 与 Skills/MCP 统一入口。用于 numa command not foun
36
51
  6. 安装成功核对路径和版本,使用宿主加载能力重新读取 Skill。若宿主不能在当前会话加载,告诉用户刷新列表或新开会话;不能假装已经载入。然后按业务 Skill 执行原任务的授权范围。
37
52
 
38
53
  ```sh
39
- numa skills list --namespace NAMESPACE --instance INSTANCE --search QUERY --json
40
- numa skills inspect NAME --namespace NAMESPACE --instance INSTANCE --json
41
- numa skills install NAME --namespace NAMESPACE --instance INSTANCE --version VERSION --agent AGENT --scope SCOPE --plan --json
54
+ npx -y @numa-tech/numa@latest skills list --namespace NAMESPACE --instance INSTANCE --search QUERY --json
55
+ npx -y @numa-tech/numa@latest skills inspect NAME --namespace NAMESPACE --instance INSTANCE --json
56
+ npx -y @numa-tech/numa@latest skills install NAME --namespace NAMESPACE --instance INSTANCE --version VERSION --agent AGENT --scope SCOPE --plan --json
42
57
  # 仅在用户已批准上述完整计划后
43
- numa skills install NAME --namespace NAMESPACE --instance INSTANCE --version VERSION --agent AGENT --scope SCOPE --with-dependencies --json
58
+ npx -y @numa-tech/numa@latest skills install NAME --namespace NAMESPACE --instance INSTANCE --version VERSION --agent AGENT --scope SCOPE --with-dependencies --json
44
59
  ```
45
60
 
46
61
  所有占位值来自实际核对,不能原样执行。--plan / --with-dependencies 只用于实际帮助已支持的 CLI;本次源码新增这些选项,不等于 npm latest 已发布。旧 CLI 若无这些选项,不臆造参数或静默更换版本;可按其已支持的单包安装能力,在用户批准后先安装已核对的基础依赖,再安装业务包并检查依赖完整性,或请求升级 CLI。
@@ -1,4 +1,4 @@
1
1
  interface:
2
2
  display_name: "Numa CLI"
3
- short_description: "CLI 启动、Skills 管理与 OSS/企微 MCP 接入"
4
- default_prompt: "使用 $numa-cli 核对运行环境、身份及授权,按需发现、安装或管理企业 Skills/MCP;安装前确认范围。"
3
+ short_description: "统一 Numa 任务入口、Skills 管理与 CLI 的 MCP 安装接入"
4
+ default_prompt: "使用 $numa-cli 配置固定任务入口,按需发现、安装或管理企业 Skills/MCP,并沿用已授权范围。"
@@ -37,7 +37,7 @@
37
37
  "expected_output": "Offline instruction simulation: no real network, installation, credentials, or business actions. Explain safe steps and consent boundaries.",
38
38
  "files": [],
39
39
  "assertions": [
40
- "Ask before installing the missing same-source numa-cli@1.2.0 dependency.",
40
+ "Ask before installing the missing same-source numa-cli@1.4.1 dependency.",
41
41
  "Resolve provenance and target agent/scope without inventing namespace or instance.",
42
42
  "Do not execute business commands, silently install, or access credentials.",
43
43
  "After authorized bootstrap, use one actual pinned CLI runtime for every call.",
@@ -132,6 +132,18 @@
132
132
  "prompt": "给同事一个交互安装 numa-wecom Skill 的办法;我用 CI 安装时不希望出现提示。",
133
133
  "expected_output": "核实版本支持后,人类终端用 skills install --interactive 选择授权空间、online 版本、Agent、范围并确认依赖;CI 使用完整参数 --plan --json,再按授权加 --with-dependencies 执行。解释非 TTY/JSON 不询问,缺少必要参数报错。",
134
134
  "files": []
135
+ },
136
+ {
137
+ "id": 15,
138
+ "prompt": "WorkBuddy 已连接 numa-cli MCP 并提供 numa_wecom_notify;mcp.json 中设置 client_credentials。用户已授权给指定 userid 发送给定文本。离线演练,不实际执行工具。",
139
+ "expected_output": "直接构造 numa_wecom_notify 一次调用,稳定 request_id 与 confirmed:true;不调用额外 auth/config/help/capabilities,不打开终端,不复制 MCP 环境秘密。",
140
+ "files": []
141
+ },
142
+ {
143
+ "id": 16,
144
+ "prompt": "WorkBuddy 已连接旧版 numa-cli MCP,仅提供 numa_wecom_send,没有 numa_wecom_notify;用户希望按新版 Skill 快速发送。离线演练,不实际执行工具。",
145
+ "expected_output": "报告任务工具缺失,说明检查模块/工具过滤与运行时升级;Skill 更新不会更新 MCP 固定 CLI 版本。不擅自终端回退、切换身份、拼装旧版发送链路或声称 npm latest 已支持。",
146
+ "files": []
135
147
  }
136
148
  ]
137
149
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "name": "numa-cli",
4
- "version": "1.3.1",
4
+ "version": "1.4.1",
5
5
  "dependencies": []
6
6
  }
@@ -1,21 +1,21 @@
1
1
  # Numa CLI 启动与版本契约
2
2
 
3
- 安装 Skill 不会安装 Numa CLI。先解决可执行入口,再检查模块能力,最后核对身份与执行授权;这三个步骤不能互相替代。
3
+ 安装 Skill 不会安装 Numa CLI。本页用于首次初始化、旧命令兼容路径或故障诊断。已连接 MCP 的正常任务直接使用主 Skill 指定的任务工具,不运行终端检查;已有 task 入口也不逐项重做以下前置检查。
4
4
 
5
5
  ## 选择唯一入口
6
6
 
7
- 1. 在实际运行 Agent 的终端执行 `numa --cli-version`。成功就沿用现有版本,不为使用 Skill 自动升级。找不到命令时检查 `node --version`、`npm --version`、`npx --version`。只检查当前 PATH 或用户提供的路径,不全盘扫描、读取认证目录或修改全局 PATH。
8
- 2. 如果 CLI 缺失而 Node/npm 可用,先告知用户:官方 npx 入口首次可能下载包到 npm 缓存,不会全局安装。遵守组织固定版本、联网和执行审批。有固定版本就使用它;否则可用以下命令发现官方当前版本:
7
+ 1. 默认通过 `npx -y @numa-tech/numa@latest` 启动,不检查或依赖全局 `numa`。首次可能下载官方包到 npm 缓存;需要 Node.js/npm 与网络(已有缓存时按 npm 行为复用)。组织指定版本优先;本任务已确认的固定 npx 版本或用户明确批准的本地 Node 入口继续沿用。
8
+ 2. 仅在初始化时发现一次实际版本:
9
9
 
10
10
  ```sh
11
11
  npx -y @numa-tech/numa@latest --cli-version
12
12
  ```
13
13
 
14
- 得到实际版本号后,本次任务所有后续调用固定该具体版本。例如返回 1.14.43,入口就是 `npx -y @numa-tech/numa@1.14.43`。不要把 X.Y.Z 等占位符当作真实版本,也不要每次业务调用重新解析 latest。
15
- 3. Windows PowerShell 若仅拦截 `npx.ps1`,使用同一 Node 安装的 `npx.cmd`;不修改执行策略。可使用已确认的绝对路径;PowerShell 带空格路径用调用运算符 `&`。不要照搬 bash 环境变量赋值或反斜杠续行。
16
- 4. Node/npm 缺失或 engines 不满足时,说明需要环境维护者通过组织批准方式安装兼容 Node.js LTS(已验证 CLI 1.14.43 要求 Node >=20.12.0),重启终端/Agent 后再检查。不自行全局安装、sudo、禁用 TLS 或改 registry。网络、代理、npm registry 权限失败不是平台认证失败;报告实际阶段,不改用同名非官方包或镜像。离线且没有缓存/预装入口时停止并说明所需依赖。
14
+ 将返回的真实版本用于本任务所有后续调用。例如返回 1.20.3,后续使用 `npx -y @numa-tech/numa@1.20.3`。Skill 中 `@latest` 命令是首次使用的通用示例;实际连续操作、回执查询和子进程应替换为已确认的具体版本,不反复解析 latest。`-y` 只跳过 npm 下载确认,不代表授权业务写操作。
15
+ 3. Windows PowerShell 若仅拦截 `npx.ps1`,使用同一 Node 安装的 `npx.cmd`;不修改执行策略。PowerShell 带空格路径用调用运算符 `&`,不照搬 bash 环境赋值或反斜杠续行。Node 脚本以 `shell:false` 派生时不能直接运行 `.cmd`,应由 Node 执行该 npm 安装的 `bin/npx-cli.js` 并分开传参。
16
+ 4. 入口失败时才检查 `node --version`、`npm --version`、`npx --version`,仅检查 PATH 或用户指定路径。Node/npm 缺失或 engines 不满足时,通过组织批准方式安装兼容 Node.js(CLI 1.20.3 要求 >=20.12.0),重启终端/Agent。不自行 sudo、全局安装 Numa、禁用 TLS 或改 registry。网络、代理和 npm 权限失败不等于平台认证失败;离线且无缓存或已批准本地入口时说明依赖缺失,不改用全局命令或其他包。
17
17
 
18
- 本文和其他引用中的 `numa` 都是所选入口的简写。若使用 npx,`auth status`、`config`、`login`、业务命令、回执查询和子进程必须全部使用相同的固定版本入口,不能随后又调用不存在的裸 `numa`。MCP 宿主如获授权配置,也应填写相应 executable 与分开的固定版本 arguments,不把整段 shell 字符串当 executable。
18
+ 同一任务的 auth、config、login、业务命令及恢复查询使用同一个固定入口,不回退到裸 `numa`。MCP 配置使用 executable `npx` 与分开的固定版本 arguments;整段 shell 字符串不能作为 executable。已连接 MCP 的正常任务直接调用工具,不为落实本页再运行版本或终端检查。
19
19
 
20
20
  ## 核实实际命令能力
21
21
 
@@ -25,7 +25,7 @@
25
25
 
26
26
  ## 身份和权限不随入口改变
27
27
 
28
- 在受保护请求前,用同一入口的 `auth status --json`、`config --show --json` 核对用户/机器模式及目标 API。PRD 为 `https://apps-gw-prd.mcisaas.com/mci-devops-platform`,issuer 为 `https://kc.mcisaas.com/auth/realms/numa-realm`,人类 CLI client 为 `mcp-client`;机器 client 必须来自明确指定的运行环境。
28
+ 初始化或排查身份配置时,用同一入口的 `auth status --json`、`config --show --json` 核对用户/机器模式及目标 API。PRD 为 `https://apps-gw-prd.mcisaas.com/mci-devops-platform`,issuer 为 `https://kc.mcisaas.com/auth/realms/numa-realm`,人类 CLI client 为 `mcp-client`;机器 client 必须来自明确指定的运行环境。
29
29
 
30
30
  状态检查不等于 API 授权。人类登录由用户主动完成;机器凭据由环境提供给 CLI。不能为解决 CLI missing 而切换身份、下载或转换凭据、读取 Token/Cookie/Secret。401/403 不能通过添加角色、改 namespace 或直连上游来解决。
31
31
 
@@ -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 可能忽略声明,因此始终核对实际依赖存在。