Kiwi 云端接待部署
SkillCloud & infraDeploy the Kiwi merchant reception runtime to the merchant's own WorkBuddy cloud app in a strict order (pack verify → first sites_deploy to obtain the public URL → prepare → redeploy the same app → self-check → Catalog publish) with no-forgery rules. Use for 一键开通云端接待、升级云端接待服务、云端接待部署排障;不用于自有服务器部署。
Use Kiwi 云端接待部署 in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Kiwi 云端接待部署 and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Kiwi 云端接待部署 skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by harrylabsj/kiwi in integrations/hosts/workbuddy/kiwi-merchant-buddy/skills/kiwi-cloud-deploy/SKILL.md and read by Ahel’s review.
本技能把 Kiwi 商家接待运行时部署到商家自己账号名下的云端应用,并引导商家完成上线确认。部署归属商家(平台只有会话内发布工具,没有远程代部署 API),全程以平台真实回执为准。
平台工具口径(V1 实测,2026-09-28):Buddy 会话没有 inspect/activate/deploy 与云端模块开通这组工具;可用的是延迟工具 workbuddy_sites_deploy(发布上线) 与 workbuddy_sites_unpublish(下线),加上本地文件读写与 Bash。我们不使用任何云端模块(数据库/登录/存储/LLM 都不开),因此无需 activate。工具名与参数以平台实际提供为准:以下步骤按功能称呼工具,执行时用会话里真实存在的发布工具与参数名;对不上时如实报告,不要猜。
固定参数:云端应用/站点名一律用「Kiwi商家接待」。已有就复用,绝不新建第二个;首次部署后的再次发布必须复用同一个应用(换应用会换公网域名,后续校验全部失效)。
硬规则(先读,任何一步都不例外)
- 不伪造回执:每一步只汇报平台/命令真实返回;成功、失败原文照贴,不加工成"应该成功了"。
- 不代点弹窗:平台发布/费用/授权确认框由商家本人点击;技能只说明弹窗含义(费用/额度以弹窗显示为准),不催促、不代确认。
- 半公开凭据不输出:平台回执里的 publishableKey、token 等凭据字段不贴出、不记录、不转述;只使用应用标识与公网链接这类公开字段。
- 配额不足立即停止:回执出现配额/云服务不可用信号(如
cloud_service_unavailable、useLocalImplementation: true)时,如实说明并停止;不做任何本地兜底实现,不代商家清理或升级配额。 - 摘要不符停止:npm integrity 或包内聚合摘要与
references/release.json固定值不一致时,停止并如实报告两边的值;不换源、不换版本重试。 - 发布失败贴原文:
workbuddy_sites_deploy失败原样上报,不修改部署包内容重试(尤其不许改cloud.config.json的 origin);商家决定后续。 - 一次性口令只展示一次:prepare
--admin-bootstrap打印的工作台首登口令,立即展示这一次并提醒商家保存;此后不复述、不写进任何文件或总结。口令遗失无法找回,重新部署不会重置(状态目录已有凭据时引导文件被忽略)。 - 不承诺免费或 7×24:费用以平台弹窗为准;不说"永久在线"——空闲回收后首个请求可能有约 3 秒冷启动。
- 上线判断只认工具:只有
kiwi_catalog_get_service_status显示card.published且presence=fresh才能说"已上线,采购方可以发现你并发来询价";工具不可用或结果不符时如实说明卡点。 - 不读取、不转述配对码:Catalog 配对码由商家本人在工作台与授权页两处核对;配对码和链接都不是授权凭证。
第 0 步:执行前检查
- 确认账号已连接:先确认商家已连接 Kiwi 商家账号(有
kiwi_catalog_get_merchant_profile时调用确认;没有则询问商家是否已连接,未连接先走注册开通,再回来部署)。 - 检查会话工具:确认本会话是否具备平台发布工具
workbuddy_sites_deploy(及下线工具workbuddy_sites_unpublish)。缺失 → 转入「方案 B 兜底」,不要尝试变通。工具存在但参数/回执与下述步骤对不上时,以平台实际为准并如实记录差异。 - 检查发布参数:读取 @references/release.json。若
package_version、aggregate_digest、npm_integrity仍为{{…}}占位,说明发布参数尚未回填:停止实际部署,向商家如实说明"云端接待的发布参数尚未就绪,暂时只能讲解流程",并讲解下面各步骤。 - 读取回填后的 release.json 三个值备用;npm 不可用(
npm --version失败)也如实停止。
首次开通流程(严格按序)
1. 取包并校验摘要
在会话工作目录执行(<版本> 取 release.json 的 package_version):
mkdir -p kiwi-cloud-deploy-work
cd kiwi-cloud-deploy-work
npm pack @harrylabsj/kiwi-merchant-cloud@<版本>
tar -xzf harrylabsj-kiwi-merchant-cloud-<版本>.tgz
- npm 下载自带完整性校验;另执行
npm view @harrylabsj/kiwi-merchant-cloud@<版本> dist.integrity取 registry 侧 sha512 integrity,与 release.json 的npm_integrity比对,不一致 → 停止(硬规则 5)。 - 读取解压出的
package/build-manifest.json中的artifact_sha256,与 release.json 的aggregate_digest比对,不一致 → 停止并报告两边的值。 - npm pack 失败(网络、版本未发布等)→ 贴报错原文并停止。禁止:
curl | sh、拉取源码现场构建、在本地npm install现装依赖(本地与云端依赖不一致的风险)。
2. 首次发布:取得公网地址
- 调用
workbuddy_sites_deploy做第一次发布(发布内容就用第 1 步的工作目录即可;这一次发布只为取得公网地址——prepare 需要--origin,而地址只有发布后才知道)。 - 从回执记录公网地址(形如
https://xxx.app.workbuddy.host)与应用标识(applicationId/siteId 等,以回执实际字段为准),并贴给商家。 - 发布确认/费用弹窗由商家本人点击;配额/云服务不可用 → 按硬规则 4 停止。
- 回执失联保护(T009):发布报错导致拿不到地址或应用标识时,先与商家核对账号里是否已出现「Kiwi商家接待」,确认不存在后才允许再次创建,防止重复建应用。
- V1 遗留待确认点(如实向商家转述,不自行假设):回执是否返回稳定的应用标识、能否复用同一应用重新发布(升级不换域名、状态目录保留)。回执不含稳定标识时,如实说明并请商家在平台面板核对后再继续。
3. prepare:生成部署目录
node package/prepare.mjs --origin <第 2 步公网地址> --out <部署目录绝对路径> --admin-bootstrap
--origin必须逐字符等于第 2 步回执的公网地址(prepare 自身会拒绝非 https / 带路径的 origin)。- 可选:
--merchant-name <商家显示名>(缺省写入占位名,工作台会提示商家补设);--catalog-url缺省即生产 Catalog 地址,不要改。 - 成功时 stdout 打印 JSON 回执(
deployment_dir、artifact_sha256、version等);核对回执中的摘要与版本和 release.json 一致,不一致 → 停止。 --admin-bootstrap额外打印一次性工作台首登口令:立即按硬规则 7 展示这一次并提醒保存。
4. 同一应用再次发布
- 用 prepare 回执里的部署目录绝对路径再次调用
workbuddy_sites_deploy;必须复用第 2 步的同一应用(新建应用会导致域名变化,后续校验全部失效)。 - 失败 → 贴平台报错原文并停止(硬规则 6)。
- 成功 → 贴回执关键字段;核对公网地址与第 2 步一致,不一致 → 停止并如实报告。
5. 自检(对公网地址发 GET,用 Bash curl)
curl -sS -o /dev/null -w '%{http_code}\n' <origin>/livez
curl -sS <origin>/readyz
curl -sS <origin>/.well-known/agent-card.json
/livez→ HTTP 200。/readyz→ HTTP 200 且ready:true。注意:尚未导入商品且未完成 Catalog 绑定时 products 检查不通过属预期(D4:空商品起步、绑定前不报价);此时服务已在运行,应引导商家先到工作台导入商品、再到 Catalog 授权,之后系统自动重试服务检查。其他检查(identity/storage/policy)失败 → 贴响应原文并停止。/.well-known/agent-card.json→ HTTP 200 且url字段严格等于公网地址。- 空闲回收后首个请求可能慢几秒,可稍候重试探测;仍失败 → 贴响应原文并停止,不谎报成功。
6. 引导商家完成两处本人确认
- 工作台:商家用一次性口令登录云端工作台(先导入商品),查看配对码(device enrollment)。你不读取、不转述配对码。
- Catalog:商家打开 Catalog 授权页,核对两处配对码一致、公开预览无误,亲自点击「连接此服务并发布」。
7. 上线核对
- 调用
kiwi_catalog_get_service_status:card.published且presence=fresh才宣布已上线(硬规则 9)。 - 工具不可用(连接器未提供)→ 如实说明无法自动核对,请商家在 Catalog 页面自查,不得宣称已上线。
升级流程(已有云端接待,换新固定版本)
- 第 0 步检查同上(工具、回填后的新版本参数)。
- 取新版本包并校验(同第 1 步)。
- prepare:
--origin用商家现有公网地址(从上次部署记录或商家处取得;不确定时先自检现有地址/livez核对,仍不确定则与商家一起确认后再继续)。不加--admin-bootstrap——状态目录已有工作台凭据时引导文件会被忽略,新口令不会生效;商家改口令在已登录的工作台内完成。 - 用 prepare 的部署目录再次
workbuddy_sites_deploy,复用同一应用 → 自检(同第 5 步)→ 用kiwi_catalog_get_service_status核对仍在线。 - 向商家说明:同一应用重发布域名不变、状态目录(身份、账本、配对)保留;升级期间短暂不可用属正常。
暂停与恢复
- 暂停接待(采购方搜不到名片):优先在 Catalog/工作台暂停名片;实例保留,恢复时在 Catalog 重新发布名片。
- 平台应用下线:会话内可用
workbuddy_sites_unpublish下线;也可由商家本人在平台面板操作。如实告知两条路径与后果(下线后公网地址不可达),由商家决定。 - 恢复:重新对同一应用调用
workbuddy_sites_deploy(部署目录不变时直接重发即可)。
方案 B 兜底(会话没有发布工具时)
第 0 步发现 workbuddy_sites_deploy 缺失时:
- 不尝试变通;向商家说明"本会话缺少平台发布工具,改用方案 B:我把一段提示词给你,你在普通 WorkBuddy 任务里粘贴运行"。
- 读取 @references/fallback-prompt.md,把整段提示词原样输出给商家;release.json 已回填时先将其中的
{{PACKAGE_VERSION}}、{{AGGREGATE_DIGEST}}、{{NPM_INTEGRITY}}占位替换为回填值再输出。 - 商家执行完毕回到本应用后,用「上线检查」路径(
kiwi_catalog_get_service_status)核对最终状态。 - 两条路的规则完全相同:不伪造、不代点、不输出凭据字段、口令只展示一次。
常见错误
- 不核对账号里已有应用就再次创建 → 可能产生第二个「Kiwi商家接待」,域名与配对全部错位;发布回执丢失时必须先核对再创建。
- 把平台回执里的凭据字段当普通字段贴出 → 半公开凭据,绝不输出。
- 摘要不符时"重新下载试试" → 应立即停止上报,不换源不重试。
- 发布失败后改
cloud.config.json或删文件再试 → 禁止;原样上报。 - 一次性口令展示后再次复述或写进总结 → 违反一次性原则。
- 自检失败仍宣布上线 → 只有工具确认
card.published && presence=fresh才能说已上线。 - 承诺免费或 7×24 → 费用以平台弹窗为准;空闲回收后首个请求可能慢几秒。
- 用 inspect/activate/deploy 的旧口径执行 → 该组工具在 Buddy 会话中不存在(V1 实测);一律走
workbuddy_sites_deploy,工具对不上时如实报告并走方案 B。
Signals
- GitHub stars
- 20
- Forks
- 1
- Last commit
- Oct 2026
Ahel review
K1info
remote-installer-piped-to-shell
Automated review, not a security audit. Ruleset v1+k2.
Advanced
- Item type
- skill
- Key
kiwi-cloud-deploy- Source
- github.com/harrylabsj/kiwi
More in Cloud & infra
Skill · vercel-labs
More in Cloud & infraweb-design-guidelines
Skill · vercel-labs
More in Cloud & infraturborepo
Skill · vercel
More in Cloud & inframicrosoft-foundry
Skill · microsoft
More in Cloud & infraazure-diagnostics
Skill · microsoft
More in Cloud & infrauncloud
Skill · affaan-m
More in Cloud & infra