@alipay/alipay-aipay 1.8.0 → 1.8.2

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 (72) hide show
  1. package/package.json +3 -3
  2. package/skill/VERSION +1 -1
  3. package/skill/references/integration/flow.md +21 -15
  4. package/skill/references/integration/modules/checklist.md +10 -8
  5. package/skill/references/integration/modules/code-examples/csharp/2-/347/275/221/347/253/231/346/224/257/344/273/230//347/273/237/344/270/200/346/224/266/345/215/225/344/270/213/345/215/225/345/271/266/346/224/257/344/273/230/351/241/265/351/235/242/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +1 -1
  6. package/skill/references/integration/modules/code-examples/csharp/3-APP/346/224/257/344/273/230/APP/346/224/257/344/273/230/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +1 -1
  7. package/skill/references/integration/modules/code-examples/csharp/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemo.md +3 -1
  8. package/skill/references/integration/modules/code-examples/java/2-/347/275/221/347/253/231/346/224/257/344/273/230//347/273/237/344/270/200/346/224/266/345/215/225/344/270/213/345/215/225/345/271/266/346/224/257/344/273/230/351/241/265/351/235/242/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +1 -1
  9. package/skill/references/integration/modules/code-examples/java/3-APP/346/224/257/344/273/230/APP/346/224/257/344/273/230/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +1 -1
  10. package/skill/references/integration/modules/code-examples/java/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemoController.md +3 -1
  11. package/skill/references/integration/modules/code-examples/nodejs/2-/347/275/221/347/253/231/346/224/257/344/273/230//347/273/237/344/270/200/346/224/266/345/215/225/344/270/213/345/215/225/345/271/266/346/224/257/344/273/230/351/241/265/351/235/242/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +1 -1
  12. package/skill/references/integration/modules/code-examples/nodejs/3-APP/346/224/257/344/273/230/APP/346/224/257/344/273/230/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +1 -1
  13. package/skill/references/integration/modules/code-examples/nodejs/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemo.md +6 -2
  14. package/skill/references/integration/modules/code-examples/php/2-/347/275/221/347/253/231/346/224/257/344/273/230//347/273/237/344/270/200/346/224/266/345/215/225/344/270/213/345/215/225/345/271/266/346/224/257/344/273/230/351/241/265/351/235/242/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +1 -1
  15. package/skill/references/integration/modules/code-examples/php/3-APP/346/224/257/344/273/230/APP/346/224/257/344/273/230/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +1 -1
  16. package/skill/references/integration/modules/code-examples/php/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemo.md +3 -1
  17. package/skill/references/integration/modules/code-examples/python/2-/347/275/221/347/253/231/346/224/257/344/273/230//347/273/237/344/270/200/346/224/266/345/215/225/344/270/213/345/215/225/345/271/266/346/224/257/344/273/230/351/241/265/351/235/242/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +1 -1
  18. package/skill/references/integration/modules/code-examples/python/3-APP/346/224/257/344/273/230/APP/346/224/257/344/273/230/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +1 -1
  19. package/skill/references/integration/modules/code-examples/python/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemo.md +8 -3
  20. package/skill/references/integration/modules/interface-contract/aipay-interface-contract.md +3 -1
  21. package/skill/references/integration/modules/interface-contract/apppay-interface-contract.md +4 -4
  22. package/skill/references/integration/modules/interface-contract/common-trade-contract.md +8 -8
  23. package/skill/references/integration/modules/interface-contract/notify-url-contract.md +12 -11
  24. package/skill/references/integration/modules/interface-contract/webpay-interface-contract.md +3 -3
  25. package/skill/references/integration/modules/interface-guide.md +1 -1
  26. package/skill/references/integration/modules/sandbox/a2m-sandbox-test.md +4 -4
  27. package/skill/references/integration/modules/sandbox/sandbox-setup-guide.md +10 -8
  28. package/skill/references/normal/conversation-telemetry.md +1 -1
  29. package/skill/references/normal/integration-worker.md +2 -2
  30. package/skill/references/normal/json/customer-messages.json +1 -1
  31. package/skill/references/normal/json/policy-rules.json +1 -1
  32. package/skill/references/normal/scripts/integration_message_runner.mjs +7 -2
  33. package/skill/references/normal/scripts/onboarding_message_runner.mjs +9 -5
  34. package/skill/references/normal/scripts/render_customer_message.mjs +145 -48
  35. package/skill/references/onboarding/flow.md +12 -6
  36. package/skill/references/runtime-entry.md +3 -1
  37. package/skill-pre/VERSION +1 -1
  38. package/skill-pre/references/integration/flow.md +28 -19
  39. package/skill-pre/references/integration/modules/checklist.md +12 -8
  40. package/skill-pre/references/integration/modules/code-examples/csharp/2-/347/275/221/347/253/231/346/224/257/344/273/230//347/273/237/344/270/200/346/224/266/345/215/225/344/270/213/345/215/225/345/271/266/346/224/257/344/273/230/351/241/265/351/235/242/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +1 -1
  41. package/skill-pre/references/integration/modules/code-examples/csharp/3-APP/346/224/257/344/273/230/APP/346/224/257/344/273/230/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +1 -1
  42. package/skill-pre/references/integration/modules/code-examples/csharp/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemo.md +3 -1
  43. package/skill-pre/references/integration/modules/code-examples/java/2-/347/275/221/347/253/231/346/224/257/344/273/230//347/273/237/344/270/200/346/224/266/345/215/225/344/270/213/345/215/225/345/271/266/346/224/257/344/273/230/351/241/265/351/235/242/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +1 -1
  44. package/skill-pre/references/integration/modules/code-examples/java/3-APP/346/224/257/344/273/230/APP/346/224/257/344/273/230/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +1 -1
  45. package/skill-pre/references/integration/modules/code-examples/java/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemoController.md +3 -1
  46. package/skill-pre/references/integration/modules/code-examples/nodejs/2-/347/275/221/347/253/231/346/224/257/344/273/230//347/273/237/344/270/200/346/224/266/345/215/225/344/270/213/345/215/225/345/271/266/346/224/257/344/273/230/351/241/265/351/235/242/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +1 -1
  47. package/skill-pre/references/integration/modules/code-examples/nodejs/3-APP/346/224/257/344/273/230/APP/346/224/257/344/273/230/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +1 -1
  48. package/skill-pre/references/integration/modules/code-examples/nodejs/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemo.md +6 -2
  49. package/skill-pre/references/integration/modules/code-examples/php/2-/347/275/221/347/253/231/346/224/257/344/273/230//347/273/237/344/270/200/346/224/266/345/215/225/344/270/213/345/215/225/345/271/266/346/224/257/344/273/230/351/241/265/351/235/242/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +1 -1
  50. package/skill-pre/references/integration/modules/code-examples/php/3-APP/346/224/257/344/273/230/APP/346/224/257/344/273/230/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +1 -1
  51. package/skill-pre/references/integration/modules/code-examples/php/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemo.md +3 -1
  52. package/skill-pre/references/integration/modules/code-examples/python/2-/347/275/221/347/253/231/346/224/257/344/273/230//347/273/237/344/270/200/346/224/266/345/215/225/344/270/213/345/215/225/345/271/266/346/224/257/344/273/230/351/241/265/351/235/242/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +1 -1
  53. package/skill-pre/references/integration/modules/code-examples/python/3-APP/346/224/257/344/273/230/APP/346/224/257/344/273/230/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +1 -1
  54. package/skill-pre/references/integration/modules/code-examples/python/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemo.md +8 -3
  55. package/skill-pre/references/integration/modules/interface-contract/aipay-interface-contract.md +3 -1
  56. package/skill-pre/references/integration/modules/interface-contract/apppay-interface-contract.md +4 -4
  57. package/skill-pre/references/integration/modules/interface-contract/common-trade-contract.md +8 -8
  58. package/skill-pre/references/integration/modules/interface-contract/notify-url-contract.md +12 -11
  59. package/skill-pre/references/integration/modules/interface-contract/webpay-interface-contract.md +3 -3
  60. package/skill-pre/references/integration/modules/interface-guide.md +1 -1
  61. package/skill-pre/references/integration/modules/sandbox/a2m-sandbox-test.md +4 -4
  62. package/skill-pre/references/integration/modules/sandbox/sandbox-setup-guide.md +11 -9
  63. package/skill-pre/references/normal/full-process-routing.md +2 -2
  64. package/skill-pre/references/normal/integration-worker.md +2 -2
  65. package/skill-pre/references/normal/json/customer-messages.json +1 -1
  66. package/skill-pre/references/normal/json/policy-rules.json +1 -1
  67. package/skill-pre/references/normal/scripts/integration_message_runner.mjs +7 -2
  68. package/skill-pre/references/normal/scripts/onboarding_message_runner.mjs +9 -5
  69. package/skill-pre/references/normal/scripts/render_customer_message.mjs +150 -48
  70. package/skill-pre/references/normal/windows-environment.md +4 -4
  71. package/skill-pre/references/onboarding/flow.md +12 -6
  72. package/skill-pre/references/runtime-entry.md +5 -3
@@ -4,14 +4,14 @@
4
4
 
5
5
  sourceUrl:
6
6
 
7
- - <https://aipay.alipay.com/docs/ai-web-app-payment-qianyi/api-list/alipay-trade-query.md>
8
- - <https://aipay.alipay.com/docs/ai-web-app-payment-qianyi/api-list/alipay-trade-refund.md>
9
- - <https://aipay.alipay.com/docs/ai-web-app-payment-qianyi/api-list/alipay-trade-fastpay-refund-query.md>
10
- - <https://aipay.alipay.com/docs/ai-web-app-payment-qianyi/api-list/alipay-trade-close.md>
11
- - <https://aipay.alipay.com/docs/mobile-app-pay/ai-app-pay/alipay-trade-query.md>
12
- - <https://aipay.alipay.com/docs/mobile-app-pay/ai-app-pay/alipay-trade-refund.md>
13
- - <https://aipay.alipay.com/docs/mobile-app-pay/ai-app-pay/alipay-trade-fastpay-refund-query.md>
14
- - <https://aipay.alipay.com/docs/mobile-app-pay/ai-app-pay/alipay-trade-close.md>
7
+ - <https://aipay.alipay.com/docs/vibe-pay/ai-web-app-payment-qianyi/api-list/alipay-trade-query.md>
8
+ - <https://aipay.alipay.com/docs/vibe-pay/ai-web-app-payment-qianyi/api-list/alipay-trade-refund.md>
9
+ - <https://aipay.alipay.com/docs/vibe-pay/ai-web-app-payment-qianyi/api-list/alipay-trade-fastpay-refund-query.md>
10
+ - <https://aipay.alipay.com/docs/vibe-pay/ai-web-app-payment-qianyi/api-list/alipay-trade-close.md>
11
+ - <https://aipay.alipay.com/docs/vibe-pay/mobile-app-pay/ai-app-pay/alipay-trade-query.md>
12
+ - <https://aipay.alipay.com/docs/vibe-pay/mobile-app-pay/ai-app-pay/alipay-trade-refund.md>
13
+ - <https://aipay.alipay.com/docs/vibe-pay/mobile-app-pay/ai-app-pay/alipay-trade-fastpay-refund-query.md>
14
+ - <https://aipay.alipay.com/docs/vibe-pay/mobile-app-pay/ai-app-pay/alipay-trade-close.md>
15
15
 
16
16
  网页应用付款和移动应用收款的查询、退款、退款查询、关闭文档当前内容一致,本 Skill 本地维护一份通用契约。
17
17
 
@@ -4,8 +4,8 @@
4
4
 
5
5
  sourceUrl:
6
6
 
7
- - <https://aipay.alipay.com/docs/ai-web-app-payment-qianyi/api-list/async-notify-verify.md>
8
- - <https://aipay.alipay.com/docs/mobile-app-pay/ai-app-pay/async-notify-verify.md>
7
+ - <https://aipay.alipay.com/docs/vibe-pay/ai-web-app-payment-qianyi/api-list/async-notify-verify.md>
8
+ - <https://aipay.alipay.com/docs/vibe-pay/mobile-app-pay/ai-app-pay/async-notify-verify.md>
9
9
 
10
10
  当前两份官方文档内容一致。运行时默认读取本文和当前语言 `1-通用接口/异步通知处理代码示例.md`;在线文档只在 fallback 条件下读取。
11
11
 
@@ -19,7 +19,7 @@ sourceUrl:
19
19
 
20
20
  `notify_url` 是商家服务端接收支付宝 POST 表单通知的地址,不是前端页面地址,也不是支付宝生成的 URL。
21
21
 
22
- 本地正式验收或本地生产参数验收时,若暂时没有公网 HTTPS 通知地址,可以不传 `notify_url`,但仍必须实现通知处理代码并用交易查询兜底。不要向 SDK 传 `undefined`、`null`、空字符串或占位 URL;没有可用地址时应直接省略该字段或不调用对应 setter。真实生产或公网联调时必须传入可公网访问的 HTTPS `notify_url`,地址不能包含多余字符或发生重定向。
22
+ 通知处理与交易查询接口必须同时实现。`notify_url` 是可选参数;当前商家没有配置该地址时,下单省略该字段并由服务端交易查询兜底,不会仅因缺少该地址而报错。生产也允许省略。未配置时不触发该地址的异步通知,必须由商家服务端通过 `alipay.trade.query` 主动确认支付结果,校验订单、金额、支付状态及归属,幂等更新订单;即使用户关闭页面,仍须继续处理查询重试和未决订单。如使用异步通知,配置商家已部署、支付宝服务端可公网访问的 HTTPS 地址并完成验签、关键字段校验、幂等、`success` 回写和补偿查询。不能只因没有公网通知地址阻止流程或判定不能上线;通知处理代码仍须实现,实际代码或支付结果确认链路缺陷仍是阻断项。 没有可用地址时省略该字段,不向 SDK 传 `undefined`、`null`、空字符串或占位 URL;使用通知时地址不得包含多余字符或发生重定向。
23
23
 
24
24
  ## 必须实现的处理链路
25
25
 
@@ -50,19 +50,20 @@ sourceUrl:
50
50
 
51
51
  ## 验收分层
52
52
 
53
- - 本地正式验收 / 本地生产参数验收模式:允许暂时没有公网 HTTPS `notify_url`,但通知处理代码、验签、业务字段校验、持久化幂等和主动查询兜底必须存在;公网通知联调标记为人工待验证。没有可用通知地址时省略 `notify_url`,不要向 SDK 传 `undefined`、`null`、空字符串或占位 URL。
54
- - 真实生产上线:必须配置公网 HTTPS `notify_url`,完成支付宝服务器可访问联调、验签、关键字段校验、幂等处理、返回 `success` 和补偿查询。
53
+ - 本地开发 / 沙箱集成:通知处理代码、验签、关键字段校验、持久化幂等和主动查询必须实现。仅尚未部署公网通知地址属于上线前方案选择与验证提醒,不计入本轮失败或人工待验证项;实际通知代码缺陷仍须修复。
54
+ - 真实生产上线,使用通知:配置公网 HTTPS `notify_url`,验证支付宝服务器可访问、验签、关键字段校验、幂等处理、返回 `success` 和补偿查询。
55
+ - 真实生产上线,不使用通知:下单省略 `notify_url`,验证服务端主动查单、查询响应验签和订单/金额/状态/归属校验、幂等交付、后台重试和未决订单恢复。不得把浏览器关闭或一次查询未成功当作付款失败。
55
56
 
56
- 没有完成真实生产上线层时,不得表述为生产就绪或正式上线完成。
57
+ 生产配置及所选支付结果确认链路尚未验证时,不得表述为生产就绪或正式上线完成。仅缺少 `notify_url` 不是不能上线的依据。
57
58
 
58
59
  ## 本地示例索引
59
60
 
60
61
  | 语言 | 示例 |
61
62
  | --- | --- |
62
- | Java | `code-examples/java/1-通用接口/异步通知处理代码示例.md` |
63
- | Python | `code-examples/python/1-通用接口/异步通知处理代码示例.md` |
64
- | Node.js | `code-examples/nodejs/1-通用接口/异步通知处理代码示例.md` |
65
- | PHP | `code-examples/php/1-通用接口/异步通知处理代码示例.md` |
66
- | C# | `code-examples/csharp/1-通用接口/异步通知处理代码示例.md` |
63
+ | Java | `../code-examples/java/1-通用接口/异步通知处理代码示例.md` |
64
+ | Python | `../code-examples/python/1-通用接口/异步通知处理代码示例.md` |
65
+ | Node.js | `../code-examples/nodejs/1-通用接口/异步通知处理代码示例.md` |
66
+ | PHP | `../code-examples/php/1-通用接口/异步通知处理代码示例.md` |
67
+ | C# | `../code-examples/csharp/1-通用接口/异步通知处理代码示例.md` |
67
68
 
68
69
  Java 官方示例明确使用 `AlipaySignature.rsaCheckV1`。Node.js 示例给出 `checkNotifySignV2(params)` 的落地形态,但 Agent 落地前必须先读取目标项目 `alipay-sdk` 的 package.json 和类型定义,确认当前版本确实暴露该 API。Python、PHP、C# 示例使用项目内支付宝 SDK 验签适配器表示验签边界;适配器必须封装当前项目实际 SDK API,禁止临时手写不确定的 RSA 验签实现。
@@ -4,8 +4,8 @@
4
4
 
5
5
  sourceUrl:
6
6
 
7
- - <https://aipay.alipay.com/docs/ai-web-app-payment-qianyi/ai-web-app-payment-integration-guide.md>
8
- - <https://aipay.alipay.com/docs/ai-web-app-payment-qianyi/api-list/alipay-trade-page-pay.md>
7
+ - <https://aipay.alipay.com/docs/vibe-pay/ai-web-app-payment-qianyi/ai-web-app-payment-integration-guide.md>
8
+ - <https://aipay.alipay.com/docs/vibe-pay/ai-web-app-payment-qianyi/api-list/alipay-trade-page-pay.md>
9
9
 
10
10
  ## 默认范围
11
11
 
@@ -24,7 +24,7 @@ AI 网页应用收款必须覆盖:`alipay.trade.page.pay`、交易查询、退
24
24
  | 字段 | 要求 |
25
25
  | --- | --- |
26
26
  | `method` | 固定 `alipay.trade.page.pay` |
27
- | `notify_url` | 生产或公网联调时传入;本地生产参数验收模式可临时不传,但通知处理代码必须存在 |
27
+ | `notify_url` | 可选,生产也可省略;使用通知时传入商家公网 HTTPS 地址,不使用时由服务端可靠主动查单;通知处理代码仍须实现 |
28
28
  | `return_url` | 用户未明确关闭同步回跳时默认传入,且对应当前项目实际 GET 路由 |
29
29
 
30
30
  业务参数:
@@ -58,4 +58,4 @@ AI 网页应用收款和 AI 移动应用收款必须读取当前语言目录下
58
58
  | 关闭交易 | `./code-examples/<语言>/1-通用接口/统一收单交易关闭接口代码示例.md` |
59
59
  | 异步通知 | `./code-examples/<语言>/1-通用接口/异步通知处理代码示例.md` |
60
60
 
61
- 本地未上线时,可按 `../flow.md` 的“本地生产参数验收模式”先完成本地结果确认链路验证;正式上线前仍必须补齐公网 HTTPS `notify_url`、验签、幂等、关键字段校验、`success` 回写和补偿查询。用户明确要求对账时再读取官方对账单下载文档作为 fallback;当前默认 checklist 不包含对账单下载。
61
+ 本地未上线时,可按 `../flow.md` 的“本地生产参数验收模式”先完成本地结果确认链路验证;生产可选择异步通知加补偿查询,或省略 `notify_url` 并由服务端可靠主动查单;通知处理代码仍须实现。上线前按所选链路验证验签、订单与金额及状态归属校验、持久化幂等、重试和未决订单恢复;仅没有公网通知地址不判为失败。用户明确要求对账时再读取官方对账单下载文档作为 fallback;当前默认 checklist 不包含对账单下载。
@@ -123,7 +123,7 @@ node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" a2m run --url "$SERVICE
123
123
  8. 生成浏览器付款链接
124
124
  9. 使用同一过程产物构建 Payment-Proof 并重试原始服务
125
125
  10. 仅在 HTTP 200、非空且可归属的资源、无明确业务失败,并且当前示例要求的 `Payment-Validation` 校验通过时输出服务端联调成功
126
- 11. 命令结束前清理敏感过程产物;失败后重新执行完整联调,不保存跨轮恢复状态
126
+ 11. 命令结束前清理敏感过程产物,不保存跨轮恢复状态;失败或中断后必须重新按执行 guard 判定,不得直接重跑
127
127
 
128
128
  **脚本输出**:
129
129
  - Payment-Needed 获取结果(终端不输出原始值)
@@ -134,7 +134,7 @@ node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" a2m run --url "$SERVICE
134
134
  - Payment-Proof 重试后的服务响应与测试结论;`Payment-Validation` 原始值不在终端输出
135
135
 
136
136
  **错误处理**:
137
- - 沙箱化 Agent 环境执行本脚本时,首次执行即申请可联网权限;如果已因网络受限失败,复用同一条命令申请可联网权限重试
137
+ - 沙箱化 Agent 环境执行本脚本时,首次执行即申请可联网权限;权限恢复只允许原样重试可确认尚未发出的命令。命令可能已发出时仍按执行 guard 处理,不以网络恢复为由重放结果未知的请求
138
138
  - 如果未找到 `Payment-Needed` 响应头,确认服务端是否实现了 402 协议
139
139
  - 如果收银接口返回 `PARAM_INVALID: protocol.sellerSignature不能为空`,回到预检步骤检查 `protocol.seller_signature` 是否为空、缺失或仍是占位符
140
140
  - 如果 `pay_before` 相关参数报错,检查是否使用 ISO 8601 带时区格式
@@ -142,7 +142,7 @@ node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" a2m run --url "$SERVICE
142
142
 
143
143
  ### 第三步:连续验证 Payment-Proof 重试
144
144
 
145
- 标准流程只使用第二步命令中的 `--auto-complete`。脚本生成付款链接后,在同一次进程内继续构建 Payment-Proof、重试原始服务并输出结果;进程中断后重新执行完整联调。
145
+ 标准流程只使用第二步命令中的 `--auto-complete`。脚本生成付款链接后,在同一次进程内继续构建 Payment-Proof、重试原始服务并输出结果;进程中断后按执行 guard 处理,结果未知时不得自动重新执行完整联调。
146
146
 
147
147
  **脚本执行步骤**:
148
148
  1. 读取过程产物目录中的 `state.json`
@@ -154,7 +154,7 @@ node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" a2m run --url "$SERVICE
154
154
  **Payment-Proof 处理约束**:
155
155
  - `trade_no` 必须使用前面沙箱收银接口返回并写入 `state.json` 的交易号;不得改用商户侧 `out_trade_no` 或重新生成。
156
156
  - `payment_proof`、`client_session` 和最终请求头由脚本按沙箱联调约定自动处理;Agent 不得手工拼接、改写或向用户展开其原始值和内部处理规则。
157
- - 进程中断后只能在确认上次命令未取得可用过程产物时重新执行完整 `run --auto-complete` 联调,不复用旧过程产物;明确业务失败、服务实现失败或脚本已输出失败结论时,禁止立即重复执行同一联调命令刷远程动作,必须先处理失败原因。
157
+ - 进程中断后,不得以过程产物缺失或已清理推定请求未发出;`UNKNOWN_PREVIOUS_EXECUTION` 固定记录结果未知,禁止自动重跑。明确业务失败、服务实现失败或脚本已输出失败结论时,禁止立即重复执行同一联调命令;输入未变化时按 `BLOCK_UNCHANGED` 停止;只有代码、配置、URL、方法或 POST body 实际变化且 guard 返回新 `RUN` 时,才允许重新发起完整联调,禁止复用旧过程产物。
158
158
 
159
159
  Payment-Proof 参考结构:
160
160
 
@@ -14,7 +14,7 @@
14
14
  ### 1.2 Windows LEGACY/CODE_ONLY 用户注意事项
15
15
  Windows READY 通过兼容层执行 flow 登记的快速沙箱;下述手工分支适用于 Windows LEGACY/CODE_ONLY;CODE_ONLY 只放行代码开发,不代表站点开通选择。Windows 沙箱项目配置不要求精确 NTFS ACL 白名单,配置是否可用仍由字段校验、实际项目加载路径和防误提交检查决定。
16
16
 
17
- Windows LEGACY/CODE_ONLY 普通代码开发或完整接入请求未明确要求当前配置沙箱时,记录 `sandboxConfigState=VERIFY_PENDING` 并继续代码实现,不展示资料收集消息。只有用户明确要求现在配置或恢复 Windows LEGACY/CODE_ONLY 沙箱时,才使用 `../../../normal/json/customer-messages.json` 的既有 `sandbox.windows.manual_setup`,引导用户前往支付宝 AI 付站点的“选择产品 → 一站式接入 → 技术集成”页面获取当前沙箱的 APPID、公私钥和账号信息;随后只处理用户针对本轮该消息提供的资料,完整时校验并写入目标项目实际使用的本地沙箱配置,部分或错误时只补问对应字段。不得要求用户自行配置、理解 `sandbox_config.sh`、执行 Bash 或手工拼接 Skill 的规范化 JSON。该资料输入例外只适用于沙箱,生产环境应用私钥和密码禁止提供给 Agent;Agent 不得在回复、摘要或普通日志中复述收到的值。
17
+ Windows LEGACY/CODE_ONLY 普通代码开发或完整接入请求未明确要求当前配置沙箱且未主动提供资料时,记录 `sandboxConfigState=VERIFY_PENDING` 并继续代码实现,不展示资料收集消息。用户主动提供本轮目标项目的完整有效手工沙箱资料时,直接校验并写入项目实际使用的本地沙箱配置,记录沙箱 `READY`,无需再次展示资料收集消息。只有用户明确要求现在配置或恢复 Windows LEGACY/CODE_ONLY 沙箱时,才使用 `../../../normal/json/customer-messages.json` 的既有 `sandbox.windows.manual_setup`,引导用户前往支付宝 AI 付站点的“选择产品 → 一站式接入 → 技术集成”页面获取当前沙箱的 APPID、公私钥和账号信息。主动提供或本轮消息后提供的资料均须校验;部分或错误时不使用无效字段、不记 `READY`,只补问实际缺失或错误字段。沙箱 `READY` 只证明配置就绪,不改变 `CODE_ONLY` 环境分流;测试按自身实际依赖执行,不调用快速沙箱,Skill 内产品开通仍须环境 `READY`。不得要求用户自行配置、理解 `sandbox_config.sh`、执行 Bash 或手工拼接 Skill 的规范化 JSON。该资料输入例外只适用于沙箱,生产环境应用私钥和密码禁止提供给 Agent;除网页收款在登记摘要中展示已校验沙箱买家账号及两个密码外,Agent 不得在回复、摘要或普通日志中复述收到的值。
18
18
 
19
19
  ```bash
20
20
  node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-message windows-sandbox-setup --agent-platform "<AGENT_PLATFORM>" --session-id "<SESSION_ID>"
@@ -65,9 +65,9 @@ Windows LEGACY/CODE_ONLY 手工沙箱:
65
65
 
66
66
  1. 没有资料且没有明确配置请求时记录 `VERIFY_PENDING` 并继续代码实现,不渲染消息、不探测猜测配置。
67
67
  2. 用户明确要求配置且尚未提供资料时,才使用标准消息一次收集当前沙箱应用的 APPID、支付宝公钥、应用公钥、与已确认语言匹配的应用私钥和沙箱账号信息;缺失或校验失败时只补问对应字段。
68
- 3. 按第 4 节校验资料,随后由 Agent 写入目标项目实际使用的本地沙箱配置;不要求采用快速沙箱 `data` 的嵌套结构,不把值复制到源码或普通日志。
68
+ 3. 用户主动提供或本轮标准消息后提供的资料均按第 4 节校验;完整有效时由 Agent 写入目标项目实际使用的本地沙箱配置并记录沙箱 `READY`,已有完整有效资料时不重复索取。部分或错误时不使用无效字段、不记 `READY`,只补问实际缺失或错误字段。不要求采用快速沙箱 `data` 的嵌套结构,不把值复制到源码或普通日志。
69
69
  4. 检查沙箱配置未被 Git 跟踪,并已有适用于实际路径的版本控制忽略保护;不因项目目录继承额外 Windows ACL 权限而阻断沙箱配置。
70
- 5. 只有 `READY` 时才输出第 5 节规定的摘要和 Windows LEGACY/CODE_ONLY 提醒并从实际本机配置映射到 SDK;Agent 不得在回复或摘要中复述用户提供的沙箱密钥和密码,生产环境应用私钥和密码禁止提供给 Agent。
70
+ 5. 只有 `READY` 时才输出第 5 节规定的摘要和 Windows LEGACY/CODE_ONLY 提醒并从实际本机配置映射到 SDK;仅网页收款登记摘要可展示已校验沙箱买家密码,其他沙箱密钥和密码不得在回复或摘要中复述,生产环境应用私钥和密码禁止提供给 Agent。
71
71
 
72
72
  Unix/macOS/Linux 或 Windows READY 快速沙箱的流程准备必须使用 integration flow 登记的 `sandbox_config.sh ensure` 入口:配置缺失时脚本内部创建,已存在时脚本内部复核;步骤 3 仅在首次准备为 `READY` 时执行 `reverify`,待配置时直接继续代码开发;代码开发完成且配置仍为 `READY` 后才使用 `summary` 展示摘要。`ensure|reverify` 会把既定重试耗尽转换为受控 `CREATE_PENDING|VERIFY_PENDING`,直接渲染统一消息并返回终态标记;Agent 不得直接选择创建分支、重复检查文件存在性或权限、读取字段结构、拼接沙箱 JSON、另写解析逻辑或自制摘要表。Windows LEGACY/CODE_ONLY 手工申领分支检查目标项目实际读取的本地配置,不把平台字段擅自改造成快速沙箱返回结构。
73
73
 
@@ -141,9 +141,11 @@ Unix/macOS/Linux 或 Windows READY 创建阶段把实际本机配置路径和 `F
141
141
  node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-message windows-sandbox-summary --product-name "$PRODUCT_NAME" --config-path "$CONFIG_PATH" --environment-rows "$ENVIRONMENT_ROWS" --agent-platform "<AGENT_PLATFORM>" --session-id "<SESSION_ID>"
142
142
  ```
143
143
 
144
- `environmentRows` 的具体值严禁编造、猜测、补全,禁止使用示例值、占位值或历史对话值替代本轮已校验配置。Unix/macOS/Linux 或 Windows READY 必须由登记脚本直接读取同一配置并生成四行,Agent 不得手填或改写;Windows LEGACY/CODE_ONLY 的应用 ID 和买家测试账号必须取自步骤 1/3 已校验的同一本机配置,两个密码行的固定保存提示仅在实际确认密码已写入该文件后使用。任一必需字段缺失、为空、配置无法读取或来源无法确认时,停止摘要展示并按既有配置失败分支处理,禁止为凑齐四行补值。
144
+ `environmentRows` 的具体值严禁编造、猜测、补全,禁止使用示例值、占位值或历史对话值替代本轮已校验配置。Unix/macOS/Linux 或 Windows READY 必须由登记脚本直接读取同一配置并生成四行,Agent 不得手填或改写;Windows LEGACY/CODE_ONLY 的字段必须取自步骤 1/3 已校验的同一本机配置;网页收款展示已校验沙箱买家密码明文,其他产品两个密码行仅在确认密码已写入文件后使用固定保存提示。任一必需字段缺失、为空、配置无法读取或来源无法确认时,停止摘要展示并按既有配置失败分支处理,禁止为凑齐四行补值。
145
145
 
146
- 摘要动态行固定依次为“沙箱支付宝应用ID(appID)”“沙箱买家测试账号”“沙箱买家登录密码”“沙箱买家支付密码”。Unix/macOS/Linux 与 Windows READY 都从已校验快速沙箱配置的 `appIds[0].appId`、`sandboxAccounts.user.email`、`sandboxAccounts.user.logonPassword`、`sandboxAccounts.user.payPassword` 取值;Windows LEGACY/CODE_ONLY 手工沙箱只展示前两项实际值,两个密码行固定提示“已写入本地配置文件,默认不在对话中展开”。不得追加 pid、商家或买家 userId、sandboxId;手工沙箱不得将密码原文传入 renderer。以上例外不得扩展到生产环境账号、私钥或密码。
146
+ 摘要动态行固定依次为“沙箱支付宝应用ID(appID)”“沙箱买家测试账号”“沙箱买家登录密码”“沙箱买家支付密码”。Unix/macOS/Linux 与 Windows READY 都从已校验快速沙箱配置的 `appIds[0].appId`、`sandboxAccounts.user.email`、`sandboxAccounts.user.logonPassword`、`sandboxAccounts.user.payPassword` 取值;Windows LEGACY/CODE_ONLY 手工沙箱前两项展示实际值;网页收款两个密码行展示已校验的沙箱买家密码明文,其他产品固定提示“已写入本地配置文件,默认不在对话中展开”,不得传入密码原文。不得追加 pid、商家或买家 userId、sandboxId。以上例外不得扩展到生产环境账号、私钥或密码。
147
+
148
+ 上述为开发阶段摘要;最终 summary 仅网页收款保留【沙箱测试配置】,只输出沙箱买家测试账号、登录密码及支付密码三项,两个密码明文展示(含 Windows),不展示配置路径、appId 或密钥行;按量付费与 APP 支付不展示该区块。
147
149
 
148
150
  renderer 固定输出唯一摘要表、密钥字段已落盘提示和“配置不等于测试通过”的边界。禁止另写字段核对表、独立校验结论,或把表名、前后提示改成“沙箱环境校验通过”“沙箱测试通过”“沙箱环境测试通过”。
149
151
 
@@ -159,10 +161,10 @@ renderer 固定输出唯一摘要表、密钥字段已落盘提示和“配置
159
161
  |---|---|---|
160
162
  | Unix/macOS/Linux 与 Windows READY 快速沙箱摘要 | `sandbox_config.sh summary` 实际渲染的应用 `appId`、买家 `email/logonPassword/payPassword`、配置文件目录 | `appPrivateKey`、`appPrivatePkcsKey`、`alipayPublicKey`、`appPublicKey`、原始 `.alipay-sandbox.json`、完整 MCP 响应 |
161
163
  | Unix/macOS/Linux 与 Windows READY 网站支付付款体验 | 已校验的沙箱买家登录账号、登录密码、支付密码,以及实际支付页面地址和启动命令 | 商家密码、任何公钥/私钥原文、完整支付表单、签名串 |
162
- | Windows LEGACY/CODE_ONLY 手工沙箱 | 配置文件目录、实际沙箱应用 ID 和买家登录账号、两个密码的本机保存提示、官方控制台获取与本机配置完成提示 | 用户提供的应用私钥、支付宝公钥、应用公钥、沙箱账号密码原文 |
164
+ | Windows LEGACY/CODE_ONLY 手工沙箱 | 配置文件目录、实际沙箱应用 ID 和买家登录账号;网页收款登记摘要可展示已校验买家密码,其他产品只显示两个密码的本机保存提示 | 应用私钥、支付宝公钥、应用公钥;非网页收款摘要中的沙箱密码原文 |
163
165
  | 按量付费自动联调 | 受控结论、付款链接和沙箱买家可选体验入口 | `Payment-Proof`、`Payment-Validation` 原文、完整收银请求、临时产物路径中的敏感内容 |
164
166
 
165
- 仅 Unix/macOS/Linux 与 Windows READY 的 `sandboxCredential` 类型变量可以承载快速沙箱买家登录密码和支付密码;该例外不适用于 Windows LEGACY/CODE_ONLY 手工沙箱或生产账号、生产密码、应用私钥、公钥、token、签名串或 Payment-Proof。
167
+ 仅登记的 `sandboxCredential`、沙箱摘要表格及其受控最终摘要变量可以承载已校验沙箱买家登录密码和支付密码,含 Windows 网页收款手工沙箱;该例外不适用于生产账号、生产密码、应用私钥、公钥、token、签名串或 Payment-Proof。
166
168
 
167
169
  ### 5.5 网站支付沙箱付款提示(代码生成后、集成收尾前)
168
170
 
@@ -183,7 +185,7 @@ renderer 固定输出唯一摘要表、密钥字段已落盘提示和“配置
183
185
  - **默认分支**:“付款后确认浏览器自动返回商户结果页,页面可正常展示并通过服务端查询呈现订单状态。”
184
186
  - **关闭分支**:“付款后不会自动返回商户网站;请手动返回商户订单查询页并刷新或查询订单状态。”
185
187
 
186
- 两个分支都必须继续提醒:前台页面或同步回跳参数不是支付成功依据,最终结果以验签通过的异步通知或交易查询结果为准。异步通知只有在 `notify_url` 可被支付宝服务器公网访问时才能联调;当前仅有本地或局域网地址时,将该项标记为人工待验证,并明确当前结论属于“本地正式验收 / 本地生产参数验收模式”,不是生产上线完成。
188
+ 两个分支都必须继续提醒:前台页面或同步回跳参数不是支付成功依据,最终结果以验签通过的异步通知或交易查询结果为准。异步通知只有在 `notify_url` 可被支付宝服务器公网访问时才能联调;当前仅有本地或局域网地址时保留上线前提醒,不单独记为本轮人工待验证。生产可省略 `notify_url`,但必须验证服务端可靠主动查单、持久化幂等及后台重试;当前本地验收不等于生产上线完成。
187
189
 
188
190
  **下载渠道红线:**
189
191
  - 严禁声称 iOS 支持安装沙箱版支付宝。
@@ -200,7 +202,7 @@ renderer 固定输出唯一摘要表、密钥字段已落盘提示和“配置
200
202
  2. 禁止用占位符或示例假数据冒充真实返回值。
201
203
  3. 禁止假设“工具返回的应该都有”而跳过逐项校验。
202
204
  4. 禁止字段不完整时使用当前配置、写入正式 `.alipay-sandbox.json`、执行配置后置校验或沙箱测试;允许继续不读取沙箱字段的代码实现,最终必须标记沙箱配置未完成。
203
- 5. Windows LEGACY/CODE_ONLY 只允许用户在标准资料收集消息后提供当前沙箱密钥和账号信息,Agent 不得在回复、摘要或日志中复述;Unix/macOS/Linux 或 Windows READY 只允许按登记消息展示已校验的快速沙箱买家密码。禁止展示生产环境应用私钥、账号密码或把任何密钥长字段整段刷屏输出。
205
+ 5. Windows LEGACY/CODE_ONLY 只允许用户在标准资料收集消息后提供当前沙箱密钥和账号信息,仅网页收款登记摘要可展示已校验沙箱买家密码,其他原文不得在回复、摘要或日志中复述;Unix/macOS/Linux 或 Windows READY 只允许按登记消息展示已校验的快速沙箱买家密码。禁止展示生产环境应用私钥、账号密码或把任何密钥长字段整段刷屏输出。
204
206
  6. 禁止继续使用已被 Git 跟踪的沙箱敏感配置。Unix/macOS/Linux 或 Windows READY 快速沙箱还必须具备 `/.alipay-sandbox.json` 精确忽略规则;Windows LEGACY/CODE_ONLY 必须具备适用于实际本机敏感配置路径的忽略保护。
205
207
 
206
208
  ### 6.2 快速沙箱重复创建边界
@@ -1,6 +1,6 @@
1
1
  # 完整接入编排
2
2
 
3
- 本文件是 `full_process` 唯一入口。Windows 复用根入口的 READY/LEGACY/CODE_ONLY 分流,或明确修复后唯一、根意图匹配的新 READY 事实;BLOCKED 先恢复环境,不进入本流程。CODE_ONLY 只完成独立代码开发,沙箱保持 `VERIFY_PENDING`,最终如实列出未完成项并停在 Onboarding 前;不得登录、开通或宣称完整接入完成。从仅开发切换为完整接入时必须先用 `full_process` 重新执行 Windows 入口。命令携带当前有效的 `--windows-route`。READY 执行 Integration 快速沙箱及 Onboarding 本地流程,LEGACY 仅在不支持的平台映射或用户明确选站点时先完成可独立开发内容,再在原衔接点输出站点引导。三者都不重新安装、不创建 Integration Worker。启动方案送达前只复用 Integration 步骤 1 的项目、语言、当前系统分支环境和沙箱准备;不得开发代码、进入 Onboarding 或读取开通信息。
3
+ 本文件是 `full_process` 唯一入口。Windows 复用根入口的 READY/LEGACY/CODE_ONLY 分流,或明确修复后唯一、根意图匹配的新 READY 事实;BLOCKED 先恢复环境,不进入本流程。CODE_ONLY 继续独立代码开发,沙箱默认 `VERIFY_PENDING`;用户主动提供完整有效手工资料并完成项目配置校验后可记沙箱 `READY`,各测试按实际依赖执行,但环境分流仍为 CODE_ONLY,最终如实列出未完成项并停在 Onboarding 前;不得登录、开通或宣称完整接入完成。从仅开发切换为完整接入时必须先用 `full_process` 重新执行 Windows 入口。命令携带当前有效的 `--windows-route`。READY 执行 Integration 快速沙箱及 Onboarding 本地流程,LEGACY 仅在不支持的平台映射或用户明确选站点时先完成可独立开发内容,再在原衔接点输出站点引导。三者都不重新安装、不创建 Integration Worker。启动方案送达前只复用 Integration 步骤 1 的项目、语言、当前系统分支环境和沙箱准备;不得开发代码、进入 Onboarding 或读取开通信息。
4
4
 
5
5
  目标项目和技术栈确定后执行 `node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" flow integration entry --agent-platform "<AGENT_PLATFORM>" --session-id "<SESSION_ID>"`,只加载当前入口阶段并按步骤 1/2 准备及展示方案;代码开发满足衔接条件后执行 `node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" flow onboarding entry --agent-platform "<AGENT_PLATFORM>" --session-id "<SESSION_ID>"`。禁止整读两个 flow。所有 Skill 自有运行时动作只用当前 Skill 绝对路径下的统一入口单命令执行,不前置 `cd`、不拼接管道;用户项目命令仍以已确认项目根为 workdir。
6
6
 
@@ -86,7 +86,7 @@ node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-message sta
86
86
 
87
87
  - 启动方案送达后先完成上述 Worker 分流,再由确定的执行者进入 Integration 步骤 3;用户中断后若项目、产品、语言或框架变化,重新澄清和扫描并输出当前方案。
88
88
  - Integration 先完整执行和校验。只有沙箱待配置,或 READY 且仅剩非阻塞人工待验证项时,保持“部分通过”进入 Onboarding;其他代码、安全或依据缺口停在 Integration,不提前登录或收集开通材料。
89
- - Windows CODE_ONLY 时,即使沙箱待配置是代码部分的唯一缺口,也在 Integration 最终检查后停止;恢复可选工具并按 `full_process` 复检得到 READY,才按实际项目状态恢复沙箱和 Onboarding。
89
+ - Windows CODE_ONLY 时,不论沙箱配置为 `READY` 还是待配置,均在 Integration 最终检查后停止,不进入 Onboarding;有效手工配置可用于满足自身实际依赖的沙箱测试,不因缺少 Git Bash 单独跳过原生 Python 402 联调。恢复可选工具并按 `full_process` 复检得到环境 READY 后,按实际项目状态继续,复用已有有效配置和联调证据,不重放已完成动作。
90
90
  - 阶段间只复用有效的产品、Integration 结果、沙箱状态、人工待验证项和剩余待办,不再询问是否进入 Onboarding;Onboarding 只保留非阻塞方案展示。
91
91
  - 授权后分别查询签约、应用和适用服务;分支独立,单分支失败不回滚其他成功,认证/授权不匹配或主体变化全局阻断。一次只收集一个类别,提前材料直接校验且不重复索取。
92
92
  - 签约材料通过后直接提交;服务创建摘要后直创、修改仍确认;空应用候选材料完整或非空候选明确新建,重查未变即创建,以用户公钥生成官方确认页,校验成功后直接提审。均不增加额外确认点;按量付费沙箱测试仍属 Integration 默认动作。
@@ -56,7 +56,7 @@ node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" flow integration develo
56
56
 
57
57
  Integration Worker 不执行 Onboarding、self-update、`telemetry start-run`、产品/项目重新决策或原 flow 之外的沙箱调用和诊断。不得用 Worker 自报代替原 flow 要求的实际脚本终态和校验证据。
58
58
 
59
- 遇到阻塞时,先判断是否能在当前授权和工具范围内自行解决;能解决就继续处理并验证,不能解决才返回 STOP。不得将单次失败或尚未定位原因视为无法继续。恢复仍遵守原 flow 的权限、失败分支和重试边界;有新证据或可验证的修复方向时继续,无新进展时停止重复尝试并如实说明,不伪造通过。STOP 的 `remaining_actions` 须简短列明实际错误、已尝试的恢复及所需外部条件;尚未确认的原因明确标为未知,不返回源码、完整日志或敏感值。
59
+ 遇到阻塞时,先判断是否能在当前授权和工具范围内自行解决;能解决就继续处理并验证,不能解决才返回 STOP。不得将单次失败或尚未定位原因视为无法继续。恢复仍遵守原 flow 的权限、失败分支和重试边界;checklist 必须遵守原 flow 的有限修复和定向复检预算,禁止局部修复后全量测试,主 Agent 的核实/继续请求不得重置该预算;有新证据或可验证的修复方向时继续,无新进展时停止重复尝试并如实说明,不伪造通过。STOP 的 `remaining_actions` 须简短列明实际错误、已尝试的恢复及所需外部条件;尚未确认的原因明确标为未知,不返回源码、完整日志或敏感值。
60
60
 
61
61
  原 flow 要求对客送达的登记 runner/script stdout 都要进入交接对象。`integration.start.confirm` 已由主 Agent 在 Worker 转移前按唯一 marker 独立交付;Worker 从步骤 3 开始,以 flow、消息目录和 runner 契约为准收集后续对客 stdout,其中 `sandbox.configuration.pending`、`sandbox.environment.summary`、`integration.safety.closeout` 和 `integration.checklist.result` 必须各自带唯一 `CUSTOMER_MESSAGE_DELIVERY_REQUIRED=<messageId>` marker,缺失、重复或对应正文为空时按交接失败处理;按发生顺序剔除 `ALIPAY_AIPAY_INTERNAL:` 行后保存到 `customer_messages`。过程 stdout、分析、命令和日志不得进入交接对象。登记正文不改写、不总结;空正文不加入。沙箱账号只允许存在于原始登记正文中,不得拆出、复述或进入其他字段。返回结果只依据最终 checklist 的实际证据;只有原 flow 允许衔接时 `next_phase=ONBOARDING`,其他情况为 `STOP`。
62
62
 
@@ -83,7 +83,7 @@ Integration Worker 不执行 Onboarding、self-update、`telemetry start-run`、
83
83
  - 沙箱 `READY` 且只剩原 flow 允许的非阻塞人工项:`部分完成,人工待验证`、`ONBOARDING`;
84
84
  - 其他代码、安全、必要依据或协议缺口:`未通过`、`STOP`。
85
85
 
86
- 上述七个字段都由 Integration Worker 根据原 flow 的实际结果生成。`protocol` 必须精确为 `INTEGRATION_WORKER_V1`,返回对象只允许包含这七个字段;telemetry 输入不得回传。`sandbox_config_state` 必须复用输入后按步骤 3 实际复核得到的终态,不接受 `null` 或字符串 `"null"`。`manual_verification_items` 和 `remaining_actions` 只保留最终 checklist 已证实的短项;STOP 时 `remaining_actions` 另保留上文要求的脱敏阻塞事实,没有时传空数组。禁止返回项目路径、语言、框架、changed files、依赖列表、源码、收据、绝对路径、配置字段或 Worker 分析。Agent 对每次返回做结构校验,不自行解释、修复、补充或改写结果;仅允许下文规定的同 Worker 核实。结构合法的 STOP 若缺少阻塞依据,或仍存在授权范围内未尝试的恢复方向,在对客送达前最多要求同一 Worker 核实并继续一次;只指出返回中的证据缺口,不读取项目、不创建新 Worker、不接手 Integration。Worker 从当前实际状态继续,不重做已成功动作,仍按原 flow 修复、重检并返回同一七字段对象。宿主不支持继续同一 Worker,或再次返回 STOP 时,不循环追问,如实保留未解决项。最终结果校验通过后,按数组顺序把 `customer_messages` 每一项原文作为可见消息送达,不加旁白;然后丢弃该数组。`next_phase=ONBOARDING` 时只把产品、`integration_result`、`sandbox_config_state`、`manual_verification_items` 和 `remaining_actions` 带入独立 Onboarding;不读取项目、不复查 Worker、不重跑 Integration。`protocol`、`customer_messages` 和 `next_phase` 不带入 Onboarding。最终 `next_phase=STOP` 时在送达登记正文后停止,不进入 Onboarding。
86
+ 上述七个字段都由 Integration Worker 根据原 flow 的实际结果生成。`protocol` 必须精确为 `INTEGRATION_WORKER_V1`,返回对象只允许包含这七个字段;telemetry 输入不得回传。`sandbox_config_state` 必须复用输入后按步骤 3 实际复核得到的终态,不接受 `null` 或字符串 `"null"`。`manual_verification_items` 和 `remaining_actions` 只保留最终 checklist 已分类的实际缺口和下一步;普通上线提醒与可选沙箱体验不进入这两个字段,不影响 `integration_result`,原样复用最终证据,不在交接或收口重新分类;STOP 时 `remaining_actions` 另保留上文要求的脱敏阻塞事实,没有时传空数组。禁止返回项目路径、语言、框架、changed files、依赖列表、源码、收据、绝对路径、配置字段或 Worker 分析。Agent 对每次返回做结构校验,不自行解释、修复、补充或改写结果;仅允许下文规定的同 Worker 核实。结构合法的 STOP 若缺少阻塞依据,或仍存在授权范围内未尝试的恢复方向,在对客送达前最多要求同一 Worker 核实并继续一次;只指出返回中的证据缺口,不读取项目、不创建新 Worker、不接手 Integration。Worker 从当前实际状态继续,不重做已成功动作,仍按原 flow 修复、重检并返回同一七字段对象。宿主不支持继续同一 Worker,或再次返回 STOP 时,不循环追问,如实保留未解决项。最终结果校验通过后,按数组顺序把 `customer_messages` 每一项原文作为可见消息送达,不加旁白;仅当产品为 AI 网页应用收款、最终沙箱 READY 且配置后置校验通过时,保留其中已交付的 `sandbox.environment.summary` 完整原始正文为当前会话 `SANDBOX_SUMMARY`,用于 Onboarding 最终收口只展示三项买家信息(账号及两个明文密码);按量付费与 APP 支付不保留此变量;不摘取或另存账号、密码和密钥,不重新读项目。其余正文随后丢弃。`next_phase=ONBOARDING` 时只把产品、`integration_result`、`sandbox_config_state`、`manual_verification_items` 和 `remaining_actions` 带入独立 Onboarding;原 `SANDBOX_SUMMARY` 仅作为登记正文传给最终 closeout 的 `--sandbox-summary`,不新增协议字段;不读取项目、不复查 Worker、不重跑 Integration。`protocol`、`customer_messages` 和 `next_phase` 不带入 Onboarding。最终 `next_phase=STOP` 时在送达登记正文后停止,不进入 Onboarding。
87
87
 
88
88
  `next_phase=ONBOARDING` 时,送达登记正文后立即执行 `node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" flow onboarding entry --agent-platform "<AGENT_PLATFORM>" --session-id "<SESSION_ID>"` 并继续流程,不得仅宣布下一步就结束当前轮。
89
89