@alipay/alipay-aipay 1.5.5 → 1.5.6-beta
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/package.json +1 -1
- package/skill/SKILL.md +7 -6
- package/skill/VERSION +1 -1
- package/skill/references/normal/alipay-cli-env.md +8 -22
- package/skill/references/normal/json/customer-messages.json +1 -941
- package/skill/references/normal/json/policy-rules.json +1 -185
- package/skill/references/normal/scripts/common.sh +50 -23
- package/skill/references/normal/scripts/onboarding_discovery_runner.mjs +1 -0
- package/skill/references/normal/scripts/onboarding_message_runner.mjs +9 -1
- package/skill/references/normal/scripts/open_official_url.sh +91 -23
- package/skill/references/normal/scripts/render_customer_message.mjs +47 -5
- package/skill/references/normal/scripts/self_update.mjs +33 -12
- package/skill/references/normal/self-update.md +13 -13
- package/skill/references/onboarding/flow.md +5 -3
- package/skill/references/onboarding/modules/app-release.md +3 -3
- package/skill/references/onboarding/modules/error-handling.md +2 -0
- package/skill/references/onboarding/modules/scripts/app.sh +59 -27
- package/skill/references/onboarding/modules/scripts/auth.sh +1 -0
- package/skill/references/runtime-entry.md +1 -1
package/package.json
CHANGED
package/skill/SKILL.md
CHANGED
|
@@ -11,20 +11,21 @@ description: >-
|
|
|
11
11
|
|
|
12
12
|
## 前置版本检查
|
|
13
13
|
|
|
14
|
-
本次 Agent 对话首次使用 `alipay-aipay` 时,先把本文件所在目录解析为规范化绝对路径 `<SKILL_DIR
|
|
14
|
+
本次 Agent 对话首次使用 `alipay-aipay` 时,先把本文件所在目录解析为规范化绝对路径 `<SKILL_DIR>`,记录一次性事实 `ALIPAY_AIPAY_SELF_UPDATE_CHECKED=true`,再执行以下单条命令。`<SKILL_DIR>` 是执行时替换的路径占位符;禁止用 shell 变量赋值、命令替换或依赖特定 shell:
|
|
15
15
|
|
|
16
16
|
```text
|
|
17
17
|
node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" self-update check --skill-dir "<SKILL_DIR>"
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
`SKILL_DIR` 必须绑定刚触发的本份 Skill,且包含 `SKILL.md`、`VERSION` 和 `references/runtime-entry.md
|
|
20
|
+
`SKILL_DIR` 必须绑定刚触发的本份 Skill,且包含 `SKILL.md`、`VERSION` 和 `references/runtime-entry.md`;不得换成 Agent 启动目录、用户项目目录、用户 Home、npm 包源码根或另一份 Skill 副本。命令失败或 marker 无法唯一解析时按 `SELF_UPDATE:CHECK_FAILED`。
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
stderr 只允许出现以下一个内部终态;不得向用户展示 marker 或 npm/npx 原始输出:
|
|
23
23
|
|
|
24
24
|
- `SELF_UPDATE:UPDATED=<合法 SemVer>`:当前 Skill 目录已原子切换到新版。
|
|
25
25
|
- `SELF_UPDATE:CURRENT=<合法 SemVer>`:继续当前版本。
|
|
26
|
-
- `SELF_UPDATE:
|
|
26
|
+
- `SELF_UPDATE:RETRY_WITH_NETWORK`:registry 或安装阶段网络不可达;可申请联网后原样重试本命令一次。
|
|
27
|
+
- `SELF_UPDATE:SKIPPED_NETWORK_RESTRICTED|CHECK_FAILED|INSTALL_FAILED|VERIFY_FAILED`:静默继续当前可用版本,不重试、不申请权限。
|
|
27
28
|
|
|
28
|
-
|
|
29
|
+
除 `RETRY_WITH_NETWORK` 的一次原样重试外,下一步都只完整读取同一 `SKILL_DIR` 下的 `references/runtime-entry.md`,并按原始用户请求从该入口路由。`UPDATED` 后禁止继续读取更新前版本的任何业务文档,也不重新执行版本检查;其他终态同样不再读取本启动器或 `self-update.md` 补充规则。
|
|
29
30
|
|
|
30
|
-
同一对话后续确认、补材料、候选选择、错误恢复、中断继续、重复触发和 Full Process
|
|
31
|
+
同一对话后续确认、补材料、候选选择、错误恢复、中断继续、重复触发和 Full Process 衔接,若一次性事实已存在,则跳过版本检查,直接读取已确定版本的 `references/runtime-entry.md`。该事实只存在于当前 Agent 对话上下文,不写缓存或业务状态。
|
package/skill/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.5.
|
|
1
|
+
1.5.6-beta
|
|
@@ -11,11 +11,6 @@
|
|
|
11
11
|
```bash
|
|
12
12
|
# 推荐:一步检测
|
|
13
13
|
which alipay-cli 2>/dev/null && alipay-cli version
|
|
14
|
-
|
|
15
|
-
# 或:分步检测
|
|
16
|
-
if ! alipay-cli version &>/dev/null; then
|
|
17
|
-
echo "⚠️ alipay-cli 未安装"
|
|
18
|
-
fi
|
|
19
14
|
```
|
|
20
15
|
|
|
21
16
|
### 1.2 检测时机
|
|
@@ -44,6 +39,7 @@ fi
|
|
|
44
39
|
- 若命令已经因网络失败,重试时必须复用同一条命令并申请可联网权限;不要把该失败解释为用户网络故障。
|
|
45
40
|
- `auth.sh init|confirm|mismatch` 返回 `AUTH_FLOW:RETRY_WITH_NETWORK` 时,表示当前 Agent 执行环境没有取得可确认 CLI 结果;必须申请联网权限后重试同一条完整脚本命令,不得解释为支付宝业务失败、logout 失败或 login 失败,也不得要求用户手动 logout/login 代替本轮脚本事实。
|
|
46
41
|
- `auth.sh init|wait|confirm|mismatch` 返回 `AUTH_FLOW:RETRY_WITH_LOCAL_FS_PERMISSION` 时,仅表示授权状态命令缺少 CLI 私有状态目录权限。宿主支持时,允许当前同一条受控 runtime 命令访问 `$HOME/.alipay-cli/credentials` 和 `${XDG_DATA_HOME:-$HOME/.local/share}/alipay-cli/logs` 后原样重试一次;权限只供 CLI 自身使用,Agent 禁止读取、列举、打印或复制已有凭据与日志。该规则不改变 MCP、上传或沙箱脚本边界。
|
|
42
|
+
- `app.sh reuse|verify-key|verify-key-and-audit|audit` 已取得 RSA2 支付宝公钥但 `${XDG_CONFIG_HOME:-$HOME/.config}` 探测失败时,返回 `APP_FLOW:RETRY_WITH_LOCAL_CONFIG_PERMISSION` 和 `ALIPAY_PUBLIC_KEY_EXPORT_STATUS=RETRY_WITH_LOCAL_CONFIG_PERMISSION`。仅允许当前 runtime 命令访问该目录后原样重试一次;权限只用于写 `<appId>-alipayPublicKey.keytext`,Agent 禁止读取、列举、打印或复制已有配置文件。仍失败按目录文案收口。
|
|
47
43
|
- 本地纯解析、文件检查、`bash -n`、`jq` 校验等不联网命令仍可在默认沙箱内执行。
|
|
48
44
|
|
|
49
45
|
**减少重复授权:**
|
|
@@ -59,7 +55,7 @@ fi
|
|
|
59
55
|
|
|
60
56
|
`npx -y @alipay/alipay-aipay@latest install` 会优先保障 `alipay-cli` 可用;如果 `alipay-cli` 已安装或可直接安装成功,不需要额外安装 GPG。
|
|
61
57
|
|
|
62
|
-
|
|
58
|
+
只有 `alipay-cli` 首次安装失败且输出指向缺少 GPG/GnuPG 时,后台准备任务才检查 GPG:
|
|
63
59
|
```bash
|
|
64
60
|
which gpg 2>/dev/null
|
|
65
61
|
```
|
|
@@ -72,7 +68,7 @@ which gpg 2>/dev/null
|
|
|
72
68
|
| Linux (Debian/Ubuntu) | `sudo apt-get install -y gnupg` |
|
|
73
69
|
| Linux (CentOS/RHEL) | `sudo yum install -y gnupg2` |
|
|
74
70
|
|
|
75
|
-
> ⚠️ macOS 的 Homebrew 包名是 `gnupg
|
|
71
|
+
> ⚠️ macOS 的 Homebrew 包名是 `gnupg`。只有 `alipay-cli` 缺失、首次安装失败且输出指向缺少 GPG/GnuPG 时,后台准备任务才会执行 `brew install gnupg`;默认配置失败或卡住时,再探测清华、阿里云、中科大镜像并用最快可用镜像重试一次。自动安装无输出 45 秒视为卡住;默认首轮最多 2 分钟,镜像兜底最多 8 分钟。
|
|
76
72
|
>
|
|
77
73
|
> 手动执行时可任选一个镜像源,例如清华:
|
|
78
74
|
> ```bash
|
|
@@ -82,11 +78,7 @@ which gpg 2>/dev/null
|
|
|
82
78
|
> brew install gnupg
|
|
83
79
|
> ```
|
|
84
80
|
>
|
|
85
|
-
> 可替换的 bottle
|
|
86
|
-
> - 清华:`https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles`
|
|
87
|
-
> - 阿里云:`https://mirrors.aliyun.com/homebrew-bottles`
|
|
88
|
-
> - 中科大:`https://mirrors.ustc.edu.cn/homebrew-bottles`
|
|
89
|
-
>
|
|
81
|
+
> 可替换的 bottle 镜像源:清华 `https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles`、阿里云 `https://mirrors.aliyun.com/homebrew-bottles`、中科大 `https://mirrors.ustc.edu.cn/homebrew-bottles`。
|
|
90
82
|
> 不要额外设置 `HOMEBREW_API_DOMAIN`;formula 索引保持使用 Homebrew 默认 API,避免镜像索引不完整导致安装失败。
|
|
91
83
|
|
|
92
84
|
签约脚本和 Unix/macOS/Linux 快速沙箱脚本需要 jq 解析 JSON,先检查:
|
|
@@ -102,7 +94,7 @@ jq --version
|
|
|
102
94
|
| Linux (Debian/Ubuntu) | `sudo apt-get install -y jq` |
|
|
103
95
|
| Linux (CentOS/RHEL) | `sudo yum install -y jq` |
|
|
104
96
|
|
|
105
|
-
> ⚠️ macOS 如遇下载慢,可与 GPG 使用同一套 Homebrew bottle 下载源配置。默认 `install` 只检测 jq;执行 `install --with-jq` 且本机缺少 jq
|
|
97
|
+
> ⚠️ macOS 如遇下载慢,可与 GPG 使用同一套 Homebrew bottle 下载源配置。默认 `install` 只检测 jq;执行 `install --with-jq` 且本机缺少 jq 时,后台准备任务按“清华 → 阿里云 → 中科大 → 直连”重试。
|
|
106
98
|
>
|
|
107
99
|
> 手动执行时可任选一个镜像源,例如清华:
|
|
108
100
|
> ```bash
|
|
@@ -111,13 +103,7 @@ jq --version
|
|
|
111
103
|
> export HOMEBREW_NO_INSTALL_CLEANUP=1
|
|
112
104
|
> brew install jq
|
|
113
105
|
> ```
|
|
114
|
-
>
|
|
115
|
-
> 可替换的 bottle 镜像源:
|
|
116
|
-
> - 清华:`https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles`
|
|
117
|
-
> - 阿里云:`https://mirrors.aliyun.com/homebrew-bottles`
|
|
118
|
-
> - 中科大:`https://mirrors.ustc.edu.cn/homebrew-bottles`
|
|
119
|
-
>
|
|
120
|
-
> 不要额外设置 `HOMEBREW_API_DOMAIN`;formula 索引保持使用 Homebrew 默认 API,避免镜像索引不完整导致安装失败。
|
|
106
|
+
> 可替换镜像同上;不要额外设置 `HOMEBREW_API_DOMAIN`。
|
|
121
107
|
|
|
122
108
|
Windows Integration 代码开发路径通过 Node runner 完成项目解析、项目扫描和标准消息渲染,只要求当前 Node 运行时,不把 Bash、jq 或该路径不会调用的 alipay-cli 作为 Step 1 阻断项;进入产品开通或执行既有 shell/CLI 脚本时仍按对应 flow 补齐依赖。Unix/macOS/Linux 和 Onboarding 的既有检查边界不变。
|
|
123
109
|
|
|
@@ -178,8 +164,8 @@ AI 编程工具检测使用通用脚本 `scripts/detect_dev_tool.sh`。shell 脚
|
|
|
178
164
|
|
|
179
165
|
### 5.1 页面打开与下载能力降级
|
|
180
166
|
|
|
181
|
-
-
|
|
182
|
-
-
|
|
167
|
+
- 页面经 HTTPS 白名单校验后默认打开:macOS `open`→`osascript open location`;Linux/Unix `xdg-open`→`gio open`→`sensible-browser`;Windows 保留 PowerShell。只返回 `OPENED` / `OPEN_FAILED` / `GUI_UNAVAILABLE` / `LINK_ONLY`。
|
|
168
|
+
- 无 GUI、opener 缺失或权限不允许时,不安装工具、不绕过审批,保留同一 URL 复制兜底。`OPEN_ERROR_KIND`/`OPEN_ERROR_CODE` 只供诊断,不对客,不算支付宝业务失败。
|
|
183
169
|
- 目标应用缺少用户已准备的应用公钥时,macOS/Windows 直接执行 onboarding 的 `download_key_tool.sh`,默认保存到用户 `Downloads` 目录并展示实际安装包路径;Linux、缺少 `curl`/`node`、目录不可用、下载源不可达或下载校验失败均回退 `https://opendocs.alipay.com/isv/02kipk`。脚本 stdout 直接输出标准对客文案,不输出 `DOWNLOADED`、`PATH=`、`DOWNLOAD_FAILED` 或 `DOWNLOAD_REASON` 机器标记。下载不安装、不启动、不生成密钥,Skill 不另询问是否下载。
|
|
184
170
|
- 页面打开和下载能力检测不改变 alipay-cli、MCP、业务确认或网络重试契约;宿主权限提示不是 Skill 业务确认。
|
|
185
171
|
|