rainskills 0.1.27 → 0.1.28
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 +1 -1
- package/SKILL.md +1 -1
- package/marketplace/rainskills/.claude-plugin/plugin.json +1 -1
- package/marketplace/rainskills/.codex-plugin/plugin.json +1 -1
- package/marketplace/rainskills/skills/rainskills/SKILL.md +2 -2
- package/package.json +1 -1
- package/rainbond-app-assistant/SKILL.md +2 -1
- package/rainbond-app-assistant/references/runtime-gate.md +2 -2
- package/rainbond-app-assistant/references/workflow-rules.md +1 -1
- package/rainbond-app-version-assistant/SKILL.md +1 -1
- package/rainbond-delivery-verifier/SKILL.md +1 -1
- package/rainbond-env-sync/SKILL.md +1 -1
- package/rainbond-fullstack-bootstrap/SKILL.md +1 -1
- package/rainbond-fullstack-troubleshooter/SKILL.md +1 -1
- package/rainbond-opensource-app-deploy/SKILL.md +1 -1
- package/rainbond-opensource-app-deploy/references/runtime-gate.md +1 -1
- package/rainbond-platform-installer/SKILL.md +1 -1
- package/rainbond-platform-installer/scripts/installed-version.js +1 -1
- package/rainbond-platform-query/SKILL.md +1 -1
- package/rainbond-project-init/SKILL.md +1 -1
- package/rainbond-template-installer/SKILL.md +1 -1
package/README.md
CHANGED
|
@@ -223,7 +223,7 @@ node ~/.rainbond/lib/rainskills/bin/rainskills.js platform install --onboarding-
|
|
|
223
223
|
|
|
224
224
|
Rainskills 会在用户下一次发起业务动作时,由本地运行时立即返回环境查询结果,并另行启动后台任务静默检查更新。更新只跟随 npm `latest` 指向的正式版。当前版本是 RC 或其他预发布版本时不会查询、不会自动升级;npm 上的新 RC 版本也不参与正式版自动升级。
|
|
225
225
|
|
|
226
|
-
发现更高的正式版后,后台任务只委托到经过校验的精确版本,例如 `rainskills@0.1.
|
|
226
|
+
发现更高的正式版后,后台任务只委托到经过校验的精确版本,例如 `rainskills@0.1.28`,不会执行浮动的 `@latest` 业务代码。新版本原子刷新已经安装的 Rainskills Skills;当前业务继续使用启动时已经加载的版本,最迟从下一条新任务开始使用新版。npm 超时、版本检查失败、安装位置不安全或文件迁移失败时会保留旧版本,且不会阻塞或改变当前操作。
|
|
227
227
|
|
|
228
228
|
升级只更新 Rainskills 自身,不触发 Rainbond 安装、运行环境选择、登录授权或重新对接,也不会新增 Agent MCP 配置。更新内容仅包括 Skills 和本地 CLI。原始业务操作会继续执行;只有该业务操作本身需要运行环境时,才按既有门禁检查当前连接。可用连接直接复用,401 只重新授权一次,403 立即停止,从未连接过运行环境时才进入环境选择。
|
|
229
229
|
|
package/SKILL.md
CHANGED
|
@@ -48,7 +48,7 @@ Rainskills 安装完成,下一条消息即可直接使用。
|
|
|
48
48
|
|
|
49
49
|
Codex 中命令工具一旦返回 `session_id`,必须立即对该 `session_id` 反复调用 `write_stdin`(空输入轮询),直到工具返回 `exit_code`。连接器输出 `[RAINSKILLS_AGENT_WAIT_REQUIRED:runtime-connect]` 后进入上述轮询;看到 `[RAINSKILLS_AGENT_WAIT_COMPLETE:runtime-connect]` 后仍须继续轮询,直到取得退出码和最终 JSON。
|
|
50
50
|
|
|
51
|
-
Rainskills 只保存一个全局运行环境,不维护环境列表、名称、默认值或环境 ID。使用固定 launcher `node <home>/.rainbond/lib/rainskills/bin/rainskills.js`(运行包版本 `rainskills@0.1.
|
|
51
|
+
Rainskills 只保存一个全局运行环境,不维护环境列表、名称、默认值或环境 ID。使用固定 launcher `node <home>/.rainbond/lib/rainskills/bin/rainskills.js`(运行包版本 `rainskills@0.1.28`):
|
|
52
52
|
|
|
53
53
|
- 状态:执行 `runtime status --json`。
|
|
54
54
|
- 首次连接:执行 `runtime connect <target> --saas` 或 `runtime connect <target> --rainbond-url <Console origin>`。
|
|
@@ -14,7 +14,7 @@ This is the single marketplace entry for the complete Rainskills product. The in
|
|
|
14
14
|
3. Keep stdin, stdout, and stderr attached. When `RAINSKILLS_USER_INPUT_REQUIRED` appears, pause for that installer choice. If the installer emits `rainskills.next-action.v1`, execute only its fixed `argv` through the same launcher; never evaluate output as a shell command. If the adjacent `bin/rainskills.js` exists, use it for fixed next actions; otherwise use the same versioned npm package fallback described below.
|
|
15
15
|
4. Stay attached until every independent Skill is installed. Do not select, connect, or configure an application runtime during installation. In the user-facing response, output only the fixed completion message below.
|
|
16
16
|
|
|
17
|
-
If the adjacent installer is missing, check the local Node.js version before choosing the fallback. With `npx` and Node.js 18 or newer, use `npx --yes rainskills@0.1.
|
|
17
|
+
If the adjacent installer is missing, check the local Node.js version before choosing the fallback. With `npx` and Node.js 18 or newer, use `npx --yes rainskills@0.1.28 <target>`. With no Node.js or a version below 18, use `bash <(curl -fsSL https://get.rainbond.com/rainskills/install.sh) <target>` instead. Omit `<target>` only when the host cannot be determined reliably. Keep either command attached to the interactive terminal. For an update or repair, refresh this marketplace Skill first, then run the installer again; it compares and updates every independent internal Skill.
|
|
18
18
|
|
|
19
19
|
Skills-only 安装不需要 Node.js;CDN fallback 只负责安装 Skill 文件,不代表运行环境连接、应用部署或平台安装已经可执行。用户首次提出需要运行环境的动作时,对应业务 Skill 才检查 Node.js;固定 Rainskills launcher 需要 Node.js 18 或更高版本。缺失或版本过低时保留原始 intent 并停止,等待用户或 agent 明确同意安装或升级 Node.js,安装完成消息不得提前提示 Node.js。
|
|
20
20
|
|
|
@@ -48,7 +48,7 @@ Rainskills 安装完成,下一条消息即可直接使用。
|
|
|
48
48
|
|
|
49
49
|
Codex 中命令工具一旦返回 `session_id`,必须立即对该 `session_id` 反复调用 `write_stdin`(空输入轮询),直到工具返回 `exit_code`。连接器输出 `[RAINSKILLS_AGENT_WAIT_REQUIRED:runtime-connect]` 后进入上述轮询;看到 `[RAINSKILLS_AGENT_WAIT_COMPLETE:runtime-connect]` 后仍须继续轮询,直到取得退出码和最终 JSON。
|
|
50
50
|
|
|
51
|
-
Rainskills 只保存一个全局运行环境,不维护环境列表、名称、默认值或环境 ID。使用固定 launcher `node <home>/.rainbond/lib/rainskills/bin/rainskills.js`(运行包版本 `rainskills@0.1.
|
|
51
|
+
Rainskills 只保存一个全局运行环境,不维护环境列表、名称、默认值或环境 ID。使用固定 launcher `node <home>/.rainbond/lib/rainskills/bin/rainskills.js`(运行包版本 `rainskills@0.1.28`):
|
|
52
52
|
|
|
53
53
|
- 状态:执行 `runtime status --json`。
|
|
54
54
|
- 首次连接:执行 `runtime connect <target> --saas` 或 `runtime connect <target> --rainbond-url <Console origin>`。
|
package/package.json
CHANGED
|
@@ -27,7 +27,7 @@ description: "Use whenever a user asks to deploy, run, deliver, publish, inspect
|
|
|
27
27
|
| 需要对象边界或跨阶段状态语义 | [product object model](references/product-object-model.md) | 不相关工作流 |
|
|
28
28
|
| 需要生成最终结果或自动化契约 | [output contract](references/output-contract.md) | 不需要结果协议时不得读取 |
|
|
29
29
|
|
|
30
|
-
workspace context 包含 `enterprise_id`、`team_id`、`team_name` 和 `region_name
|
|
30
|
+
workspace context 包含 `enterprise_id`、`team_id`、`team_name` 和 `region_name`;`team_id` 可作为内部调用参数继续使用,但不得复制到用户可见的过程消息或最终结果中。app/component 标识只来自用户明确输入或本次实时查询/创建结果。它们都由当前任务携带,不写入 Runtime,也不得生成或传递 CLI 业务 operation ID、运行环境 ID 或 intent JSON。
|
|
31
31
|
|
|
32
32
|
## Runtime Gate
|
|
33
33
|
|
|
@@ -58,6 +58,7 @@ workspace context 包含 `enterprise_id`、`team_id`、`team_name` 和 `region_n
|
|
|
58
58
|
- 成功:说明项目、运行环境、工作空间、应用、真实 Rainbond 页面/访问地址及本轮实际完成操作;无法确认的字段省略,禁止猜测。
|
|
59
59
|
- 未完成:输出“部署失败。”、一句直接原因;仅在确有安全可执行方案时增加“解决办法”。
|
|
60
60
|
- 默认不得展示内部对象、状态枚举、Skill/工具名、YAML、JSON 或英文编排标题。
|
|
61
|
+
- 过程消息和最终结果中的工作空间一律用 `team_name` 展示,可连同 `region_name` 写成“工作空间 / 集群”;除非用户明确要求调试原始数据,不展示 `team_id`。
|
|
61
62
|
- 用户明确要求结构化结果或自动化契约时,读取 [output contract](references/output-contract.md),不得自行发明字段、枚举或状态。
|
|
62
63
|
|
|
63
64
|
## 停止条件
|
|
@@ -13,14 +13,14 @@ Canonical progressive-loading contract: `rainskills.skill-runtime-contract.v1`.
|
|
|
13
13
|
|
|
14
14
|
Codex 中命令工具一旦返回 `session_id`,必须立即对该 `session_id` 反复调用 `write_stdin`(空输入轮询),直到工具返回 `exit_code`。连接器输出 `[RAINSKILLS_AGENT_WAIT_REQUIRED:runtime-connect]` 后进入上述轮询;看到 `[RAINSKILLS_AGENT_WAIT_COMPLETE:runtime-connect]` 后仍须继续轮询,直到取得退出码和最终 JSON。
|
|
15
15
|
|
|
16
|
-
`context resolve`
|
|
16
|
+
`context resolve` 是无状态调用:单一工作空间直接返回上下文,多个候选返回组合选项;其中 `team_id` 是后续平台调用的内部参数,不得复制到用户可见的过程消息或最终结果中。用户选择后由当前任务直接携带 team/region 参数,不执行 `context select`,不写本地 operation。所有可变 `call` 仍需先取得 confirmation ID,再以完全相同的输入追加 `--confirm` 执行一次。
|
|
17
17
|
|
|
18
18
|
`required` 只声明要解析的维度,企业 ID 始终来自当前登录身份。用户明确给出的 team/region 必须放进 `hints` 做精确匹配;不得把企业名、team 名或选择对象作为顶层 `enterprise` / `workspace` 字段传入。多候选时只展示 CLI 返回的 label;用户选择后再次执行同一个无状态 `context resolve`,通过 `selection.option_id` 让 CLI 重新查询并验证当前候选,不写本地 context 状态。
|
|
19
19
|
|
|
20
20
|
```json
|
|
21
21
|
{
|
|
22
22
|
"schema": "rainskills.single-runtime-contract.v1",
|
|
23
|
-
"package_version": "rainskills@0.1.
|
|
23
|
+
"package_version": "rainskills@0.1.28",
|
|
24
24
|
"runtime_status": [
|
|
25
25
|
"node",
|
|
26
26
|
"<home>/.rainbond/lib/rainskills/bin/rainskills.js",
|
|
@@ -529,7 +529,7 @@
|
|
|
529
529
|
反例(来自真实回归 case `cs_1779149681822_3u`,2026-05-19):模型从 `rainbond_get_component_summary` 响应的 `recent_events` 段看到形如 `{"ID": 17740, "event_id": "...", "opt_type": "build-service"}`,直接把 `17740` 当成 `event_id` 传给 `rainbond_get_component_build_logs`,工具返回 `items: []`(找不到该 UUID 的日志)。正确做法:从同一 `recent_events[i].event_id` 字段取出 UUID 字符串,或调 `rainbond_get_component_events` 重查。
|
|
530
530
|
35. **会话内部叙述纪律 + 内部 preflight 工具不要主动调**。下列四类是"内部会话状态",对用户**无信息量**,禁止外漏到 assistant 可见消息:
|
|
531
531
|
- **专项 Skill 手册加载过程**:这是当前任务的内部准备。不要说"我先加载 bootstrap 手册"、"手册已加载"或"skill ready";读完直接进入下一个真实工具调用。
|
|
532
|
-
- **`rainbond_get_current_user`**:不得由 Agent 单独调用。`enterprise_id`、`team_id`、`team_name` 和 `region_name` 统一由受保护的 `context resolve`
|
|
532
|
+
- **`rainbond_get_current_user`**:不得由 Agent 单独调用。`enterprise_id`、`team_id`、`team_name` 和 `region_name` 统一由受保护的 `context resolve` 命令无状态解析并由当前任务携带;`team_id` 可继续用于后续平台调用,但不得在过程消息或最终报告中展示。只有 CLI 明确返回需要选择时才询问用户,并且只展示名称标签。
|
|
533
533
|
- **`rainbond_query_components` 同入参重复轮询**:服务端 30s 内的同 args 调用会走缓存;你**不要**在每个新 user turn 开头都"先查一下组件列表"。只有本次调用使用的 `enterprise_id`、`app_id` 和查询条件均未变化,且没有新的平台动作时,才可复用 priorTurnMessages 里的最近结果。
|
|
534
534
|
- **规则推理过程 / Rainbond Tool 内部限制 / 分类决策叙述**:你内部基于哪条 Iron Law / hard rule / 推断信号做的决策、具体 Tool 签名 / 字段限制、对组件 / 服务的分类判断("ClickHouse 是公认的列式分析数据库"这类),都属于内部状态,对用户**无信息量**。
|
|
535
535
|
|
|
@@ -32,7 +32,7 @@ Codex 中命令工具一旦返回 `session_id`,必须立即对该 `session_id`
|
|
|
32
32
|
```json
|
|
33
33
|
{
|
|
34
34
|
"schema": "rainskills.single-runtime-contract.v1",
|
|
35
|
-
"package_version": "rainskills@0.1.
|
|
35
|
+
"package_version": "rainskills@0.1.28",
|
|
36
36
|
"runtime_status": [
|
|
37
37
|
"node",
|
|
38
38
|
"<home>/.rainbond/lib/rainskills/bin/rainskills.js",
|
|
@@ -55,7 +55,7 @@ Codex 中命令工具一旦返回 `session_id`,必须立即对该 `session_id`
|
|
|
55
55
|
```json
|
|
56
56
|
{
|
|
57
57
|
"schema": "rainskills.single-runtime-contract.v1",
|
|
58
|
-
"package_version": "rainskills@0.1.
|
|
58
|
+
"package_version": "rainskills@0.1.28",
|
|
59
59
|
"runtime_status": [
|
|
60
60
|
"node",
|
|
61
61
|
"<home>/.rainbond/lib/rainskills/bin/rainskills.js",
|
|
@@ -32,7 +32,7 @@ Codex 中命令工具一旦返回 `session_id`,必须立即对该 `session_id`
|
|
|
32
32
|
```json
|
|
33
33
|
{
|
|
34
34
|
"schema": "rainskills.single-runtime-contract.v1",
|
|
35
|
-
"package_version": "rainskills@0.1.
|
|
35
|
+
"package_version": "rainskills@0.1.28",
|
|
36
36
|
"runtime_status": [
|
|
37
37
|
"node",
|
|
38
38
|
"<home>/.rainbond/lib/rainskills/bin/rainskills.js",
|
|
@@ -32,7 +32,7 @@ Codex 中命令工具一旦返回 `session_id`,必须立即对该 `session_id`
|
|
|
32
32
|
```json
|
|
33
33
|
{
|
|
34
34
|
"schema": "rainskills.single-runtime-contract.v1",
|
|
35
|
-
"package_version": "rainskills@0.1.
|
|
35
|
+
"package_version": "rainskills@0.1.28",
|
|
36
36
|
"runtime_status": [
|
|
37
37
|
"node",
|
|
38
38
|
"<home>/.rainbond/lib/rainskills/bin/rainskills.js",
|
|
@@ -55,7 +55,7 @@ Codex 中命令工具一旦返回 `session_id`,必须立即对该 `session_id`
|
|
|
55
55
|
```json
|
|
56
56
|
{
|
|
57
57
|
"schema": "rainskills.single-runtime-contract.v1",
|
|
58
|
-
"package_version": "rainskills@0.1.
|
|
58
|
+
"package_version": "rainskills@0.1.28",
|
|
59
59
|
"runtime_status": [
|
|
60
60
|
"node",
|
|
61
61
|
"<home>/.rainbond/lib/rainskills/bin/rainskills.js",
|
|
@@ -30,7 +30,7 @@ description: "Use when the user supplies a third-party Docker Compose file/conte
|
|
|
30
30
|
| workspace context 已解析,需要建模、部署、排障或交付 app/component | 读取 [deployment workflow](references/deployment-workflow.md) |
|
|
31
31
|
| 新鲜证据命中已知部署故障模式 | 再读取 [failure-mode playbook](references/failure-mode-playbook.md) |
|
|
32
32
|
|
|
33
|
-
正确顺序是:先验证官方部署清单,再加载 Runtime Gate。这里只允许加载本 Skill 的 Gate。workspace context 包含 `enterprise_id`、`team_id`、`team_name` 和 `region_name
|
|
33
|
+
正确顺序是:先验证官方部署清单,再加载 Runtime Gate。这里只允许加载本 Skill 的 Gate。workspace context 包含 `enterprise_id`、`team_id`、`team_name` 和 `region_name`;`team_id` 可作为内部调用参数继续使用,但不得复制到用户可见的过程消息或最终结果中。app/component 标识只来自用户明确输入或本次实时查询/创建结果。它们都由当前任务携带,不得生成 CLI 业务 operation ID、运行环境 ID 或 intent JSON。
|
|
34
34
|
|
|
35
35
|
## Runtime 与安全边界
|
|
36
36
|
|
|
@@ -20,7 +20,7 @@ Codex 中命令工具一旦返回 `session_id`,必须立即对该 `session_id`
|
|
|
20
20
|
```json
|
|
21
21
|
{
|
|
22
22
|
"schema": "rainskills.single-runtime-contract.v1",
|
|
23
|
-
"package_version": "rainskills@0.1.
|
|
23
|
+
"package_version": "rainskills@0.1.28",
|
|
24
24
|
"runtime_status": [
|
|
25
25
|
"node",
|
|
26
26
|
"<home>/.rainbond/lib/rainskills/bin/rainskills.js",
|
|
@@ -32,7 +32,7 @@ Do not use it to deploy an application to an existing Rainbond. Route those requ
|
|
|
32
32
|
## Workflow
|
|
33
33
|
|
|
34
34
|
1. Read [installation-policy.md](references/installation-policy.md).
|
|
35
|
-
2. Use the installed local launcher `["node", "<home>/.rainbond/lib/rainskills/bin/rainskills.js"]`; its protected runtime package marker is `rainskills@0.1.
|
|
35
|
+
2. Use the installed local launcher `["node", "<home>/.rainbond/lib/rainskills/bin/rainskills.js"]`; its protected runtime package marker is `rainskills@0.1.28` and must equal this package's `package.json`. For a Rainskills marker, first validate schema `rainskills.next-action.v1`, action, onboarding id, and the bounded `argv` array, then append that array to the launcher. Never use `latest` or evaluate a shell string from output.
|
|
36
36
|
3. 业务 Skill 的四项运行环境菜单会把本机或独立服务器选择写入 `rainskills.next-action.v1` 的显式 `--location`;收到这类 next-action 后直接执行固定 argv,不得再次调用 `private-deployment-location`。只有用户直接要求安装 Rainbond 平台且尚未选择部署位置时,才执行 launcher + `["runtime", "message", "--id", "private-deployment-location"]` 并原样输出固定的三项部署位置消息:选择 1 后执行带 `["--location", "local", "--mode", "single-node"]` 的 `platform install`;选择 2 后执行带 `["--location", "server"]` 的 `platform install`,由 helper 继续显示固定的服务器类型消息;选择 3 后执行 launcher + `["runtime", "message", "--id", "private-console-origin"]` 并进入已有环境连接,不得执行 `platform install`。平台安装 onboarding 只保存安装断点,不保存或恢复业务 intent。
|
|
37
37
|
4. Let the helper perform one read-only preflight against the already selected local or remote target, then show resources, blockers, and applicable host changes. Never invoke `platform install` without an explicit `--location`; the helper must not ask for the deployment location again.
|
|
38
38
|
5. 主机集群开始前必须获得 explicit confirmation,并使用受限 AI 交接:首次调用在固定安装 argv 后追加 `--agent-handoff`,记录该子进程会话;用户确认后,使用相同固定 argv 追加 `--agent-handoff --yes` 一次。不得向等待进程写入 `y`、不得启动第二个竞争安装、不得 `kill` 安装进程,也不得让用户复制完整安装或恢复命令。用户取消时,仅使用同一 argv 追加 `--agent-handoff --cancel`;它只能清除匹配的待确认状态,不能建立 SSH 连接或修改服务器。
|
|
@@ -23,7 +23,7 @@ Codex 中命令工具一旦返回 `session_id`,必须立即对该 `session_id`
|
|
|
23
23
|
```json
|
|
24
24
|
{
|
|
25
25
|
"schema": "rainskills.single-runtime-contract.v1",
|
|
26
|
-
"package_version": "rainskills@0.1.
|
|
26
|
+
"package_version": "rainskills@0.1.28",
|
|
27
27
|
"runtime_status": [
|
|
28
28
|
"node",
|
|
29
29
|
"<home>/.rainbond/lib/rainskills/bin/rainskills.js",
|
|
@@ -32,7 +32,7 @@ Codex 中命令工具一旦返回 `session_id`,必须立即对该 `session_id`
|
|
|
32
32
|
```json
|
|
33
33
|
{
|
|
34
34
|
"schema": "rainskills.single-runtime-contract.v1",
|
|
35
|
-
"package_version": "rainskills@0.1.
|
|
35
|
+
"package_version": "rainskills@0.1.28",
|
|
36
36
|
"runtime_status": [
|
|
37
37
|
"node",
|
|
38
38
|
"<home>/.rainbond/lib/rainskills/bin/rainskills.js",
|
|
@@ -32,7 +32,7 @@ Codex 中命令工具一旦返回 `session_id`,必须立即对该 `session_id`
|
|
|
32
32
|
```json
|
|
33
33
|
{
|
|
34
34
|
"schema": "rainskills.single-runtime-contract.v1",
|
|
35
|
-
"package_version": "rainskills@0.1.
|
|
35
|
+
"package_version": "rainskills@0.1.28",
|
|
36
36
|
"runtime_status": [
|
|
37
37
|
"node",
|
|
38
38
|
"<home>/.rainbond/lib/rainskills/bin/rainskills.js",
|