kiwi-cloud-deploy
Deploy 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…
Skill by harrylabsj
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/harrylabsj-kiwi-cloud-deploy
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: devops
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/kiwi-cloud-deploy
What's inside
- Skill name
kiwi-cloud-deploy- Description
- Deploy 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 一键开通云端接待、升级云端接待服务、云端接待部署排障;不用于自有服务器部署。
- License
- Apache-2.0
- Instructions
- 128 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (3)
- SKILL.md
- fallback-prompt.md · references/
- release.json · references/
SKILL.md (first lines)
# Kiwi 云端接待部署
本技能把 Kiwi 商家接待运行时部署到**商家自己账号名下**的云端应用,并引导商家完成上线确认。部署归属商家(平台只有会话内发布工具,没有远程代部署 API),全程以平台真实回执为准。
平台工具口径(V1 实测,2026-09-28):Buddy 会话**没有** inspect/activate/deploy 与云端模块开通这组工具;可用的是延迟工具 **`workbuddy_sites_deploy`(发布上线)** 与 **`workbuddy_sites_unpublish`(下线)**,加上本地文件读写与 Bash。我们不使用任何云端模块(数据库/登录/存储/LLM 都不开),因此无需 activate。**工具名与参数以平台实际提供为准**:以下步骤按功能称呼工具,执行时用会话里真实存在的发布工具与参数名;对不上时如实报告,不要猜。
## 适用前提:商家账号必须是企业版
平台已书面说明:**个人(体验版)不属于可确认支持 A2A / 企业开放接入的版本**。因此本技能只面向**企业版**商家:
- 档位无法从工具侧确认时,**如实询问商家**,不要假设。
- 不是企业版 → 停止部署,如实说明"个人版不支持 A2A/企业开放接入,需要企业版",不要承诺替代方案、不要改配置凑一个能跑的形态。
- 其它部署形态不在本技能范围,官网有详细说明;本技能不引导。
固定参数:云端应用/站点名一律用「**Kiwi商家接待**」。已有就复用,**绝不新建第二个**;首次部署后的再次发布必须复用**同一个应用**(换应用会换公网域名,后续校验全部失效)。
## 硬规则(先读,任何一步都不例外)
1. **不伪造回执**:每一步只汇报平台/命令真实返回;成功、失败原文照贴,不加工成"应该成功了"。
2. **不代点弹窗**:平台发布/费用/授权确认框由商家本人点击;技能只说明弹窗含义(费用/额度以弹窗显示为准),不催促、不代确认。
3. **半公开凭据不输出**:平台回执里的 publishableKey、token 等凭据字段不贴出、不记录、不转述;只使用应用标识与公网链接这类公开字段。
4. **配额不足立即停止**:回执出现配额/云服务不可用信号(如 `cloud_service_unavailable`、`useLocalImplementation: true`)时,如实说明并停止;**不做任何本地兜底实现**,不代商家清理或升级配额。
5. **摘要不符停止**:npm integrity 或包内聚合摘要与 `references/release.json` 固定值不一致时,停止并如实报告两边的值;不换源、不换版本重试。
6. **发布失败贴原文**:`workbuddy_sites_deploy` 失败原样上报,**不修改部署包内容重试**(尤其不许改 `cloud.config.json` 的 origin);商家决定后续。
7. **一次性口令只展示一次**:prepare `--admin-bootstrap` 打印的工作台首登口令,立即展示这一次并提醒商家保存;此后不复述、不写进任何文件或总结。口令遗失无法找回,重新部署不会重置(状态目录已有凭据时引导文件被忽略)。
8. **不承诺免费或 7×24**:费用以平台弹窗为准;不说"永久在线"——空闲回收后首个请求可能有约 3 秒冷启动。
9. **上线判断只认工具**:只有 `kiwi_catalog_get_service_status` 显示 `card.published` 且 `presence=fresh` 才能说"已上线,采购方可以发现你并发来询价";工具不可用或结果不符时如实说明卡点。
10. **不读取、不转述配对码**:Catalog 配对码由商家本人在工作台与授权页两处核对;配对码和链接都不是授权凭证。
## 第 0 步:执行前检查
0. **确认账号档位**:商家 WorkBuddy 账号必须是**企业版**——平台已明确个人(体验版)不属于可确认支持 A2A / 企业开放接入的版本。档位无法从工具侧确认时,**如实询问商家**:不是企业版就停止部署并如实说明,不承诺替代形态。
1. **确认账号已连接**:先确认商家已连接 Kiwi 商家账号(有 `kiwi_catalog_get_merchant_profile` 时调用确认;没有则询问商家是否已连接,未连接先走注册开通,再回来部署)。
2. **检查会话工具**:确认本会话是否具备平台发布工具 `workbuddy_sites_deploy`(及下线工具 `workbuddy_sites_unpublish`)。**缺失 → 转入「方案 B 兜底」**,不要尝试变通。工具存在但参数/回执与下述步骤对不上时,以平台实际为准并如实记录差异。
3. **检查发布参数**:读取 @references/release.json。若 `package_version`、`aggregate_digest`、`npm_integrity` 仍为 `{{…}}` 占位,说明发布参数尚未回填:停止实际部署,向商家如实说明"云端接待的发布参数尚未就绪,暂时只能讲解流程",并讲解下面各步骤。
4. 读取回填后的 release.json 三个值备用;npm 不可用(`npm --version` 失败)也如实停止。
## 首次开通流程(严格按序)
### 1. 取包并校验摘要
在会话工作目录执行(`<版本>` 取 release.json 的 `package_version`):
```sh
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:生成部署目录
```sh
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)
```sh
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. 引导商家完成两处本人确认
1. **工作台**:商家用一次性口令登录云端工作台(先导入商品),查看配对码(device enrollment)。你不读取、不转述配对码。
2. **Catalog**:商家打开 Catalog 授权页,核对两处配对码一致、公开预览无误,**亲自**点击「连接此服务并发布」。
### 7. 上线核对
- 调用 `kiwi_catalog_get_service_status`:`card.published` 且 `presence=fresh` 才宣布已上线(硬规则 9)。
- 工具不可用(连接器未提供)→ 如实说明无法自动核对,请商家在 Catalog 页面自查,不得宣称已上线。
## 分享码(WorkBuddy 平台门禁)
WorkBuddy 上的应用入口要求请求携带分享码;Kiwi 商家由目录代 Buyer 完成这一步,
商家只需登记一次。
- **登记方式**:商家登录云端工作台 →「WorkBuddy 分享码(平台门禁)」卡片 →
粘贴平台给的**分享链接** → 提交。目录会在后台带码做一次持钥挑战,通过后状态变
「已生效」。本卡片不会显示分享码,也不要向商家索要或转述它。
- 已生效后可「刷新状态」「撤销」;撤销后采购方经平台网关无法访问本店。
- 若在**部署前**就拿到了分享链接,可用 `KIWI_CLOUD_ACCESS_SHARE_LINK` 随首绑一次性
提交(链接必须指向本实例公网地址,否则启动即失败)。
- 失败含义(如实转述,不要自行改配置):`pending` 等待平台校验;`invalid` 校验未通过
(常见原因:链接来自另一个应用、分享码已失效);`revoked` 已被撤销。
- 分享码**不是**商家身份或业务授权;不要把分享链接写进文档、截图、对话记录或总结。
- **平台已明确的分享码口径(如实转述,不要加工)**:关闭「发布为网站」后链接立即失效;**删除源任务或源文件不会**让已分享链接失效,必须主动下线;平台**不承诺**分享码有固定有效期,也**不承诺**自动轮换;同一应用重新发布后是否换码暂无文档可确认。
- 排障:外部访问 403 而 `/livez` 正常 → 通常是分享码未登记或已失效;先让商家在
工作台看状态卡片,再按上面含义处理。From harrylabsj/kiwi, Apache-2.0.
More from harrylabsj/kiwi
- 0.649score
kiwi-product-import
harrylabsj
Convert merchant-provided product spreadsheets (Excel/CSV/pasted tables/screenshot text) into a Kiwi workbench import-ready CSV with confirmed column mapping…
SkillAFreshness: A★ 21Claude Code +9 - 0.649score
kiwi-cloud-deploy
harrylabsj
Deploy the Kiwi merchant reception runtime to the merchant's own WorkBuddy cloud app in a strict order (verify the pinned package → prepare → publish through…
SkillAFreshness: A★ 21Claude Code +9 - 0.646score
kiwi-merchant-cs-prep
harrylabsj
Help merchants prepare sourced customer-service FAQs, draft replies and human-handoff rules in Kiwi Merchant Buddy without connecting a merchant server.
SkillAFreshness: A★ 21Claude Code +9 - 0.646score
kiwi-source-and-quote
harrylabsj
Use the Kiwi connector to clarify product requirements, discover suppliers and send authorized RFQs with recoverable task IDs.
SkillAFreshness: A★ 21Claude Code +9 - 0.643score
kiwi-sourcing
harrylabsj
Source products, request quotes, compare offers, and negotiate non-binding terms with suppliers.
SkillAFreshness: A★ 21Claude Code +9 - 0.641score
kiwi-agreement-handoff
harrylabsj
Confirm selected Kiwi nonbinding terms with the buyer, handle persistent approvals and provide a verified handoff without placing orders or paying.
SkillAFreshness: A★ 21Claude Code +9 - 0.641score
kiwi-compare-and-negotiate
harrylabsj
Compare existing Kiwi quotes on consistent cost and delivery terms, identify unknowns and negotiate within the buyer's explicit mandate.
SkillAFreshness: A★ 21Claude Code +9 - 0.638score
merchant-inquiry-structuring
harrylabsj
将商家提供的买方询价消息整理成不带承诺的结构化询价摘要,保留商品、数量、单位、币种和交付日期的原始含义;不用于回复买方或接受订单。
SkillAFreshness: A★ 21Claude Code +9 - 0.638score
merchant-approval-brief
harrylabsj
将商家提供的一项待审批变更或候选材料整理为可审阅的决策摘要,突出前后差异、前置条件、风险和缺失证据;不代替审批、执行或签署。
SkillAFreshness: A★ 21Claude Code +9 - 0.638score
merchant-trade-link-check
harrylabsj
校验商家提供的京东、淘宝或天猫商品交易链接与平台商品ID是否严格对应;适用于成交入口发布前检查,不用于联网确认商品真伪、库存或购买。
SkillAFreshness: A★ 21Claude Code +9 - 0.638score
merchant-source-evidence-audit
harrylabsj
核对商家主动提供的商品源记录能否支撑特定公开事实,标出来源、时效、冲突与缺项;适用于报价或目录复核前的事实审计,不用于改写目录或发布。
SkillAFreshness: A★ 21Claude Code +9 - 0.638score
merchant-quote-draft
harrylabsj
基于商家明确提供的现行公开价格、单位、库存、有效期和报价条件,准备内部及买方可读的报价草稿;不创建交易、不接受订单,也不公开私有底价。
SkillAFreshness: A★ 21Claude Code +9
Signals
- Stars
- 21
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Oct 13, 2026 (16 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/harrylabsj/kiwi
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from harrylabsj
- 0.649score
kiwi-product-import
harrylabsj
Convert merchant-provided product spreadsheets (Excel/CSV/pasted tables/screenshot text) into a Kiwi workbench import-ready CSV with confirmed column mapping…
SkillAFreshness: A★ 21Claude Code +9 - 0.649score
kiwi-cloud-deploy
harrylabsj
Deploy the Kiwi merchant reception runtime to the merchant's own WorkBuddy cloud app in a strict order (verify the pinned package → prepare → publish through…
SkillAFreshness: A★ 21Claude Code +9 - 0.646score
kiwi-merchant-cs-prep
harrylabsj
Help merchants prepare sourced customer-service FAQs, draft replies and human-handoff rules in Kiwi Merchant Buddy without connecting a merchant server.
SkillAFreshness: A★ 21Claude Code +9 - 0.646score
kiwi-source-and-quote
harrylabsj
Use the Kiwi connector to clarify product requirements, discover suppliers and send authorized RFQs with recoverable task IDs.
SkillAFreshness: A★ 21Claude Code +9 - 0.643score
kiwi-sourcing
harrylabsj
Source products, request quotes, compare offers, and negotiate non-binding terms with suppliers.
SkillAFreshness: A★ 21Claude Code +9 - 0.641score
kiwi-agreement-handoff
harrylabsj
Confirm selected Kiwi nonbinding terms with the buyer, handle persistent approvals and provide a verified handoff without placing orders or paying.
SkillAFreshness: A★ 21Claude Code +9
Cite this page
kiwi-cloud-deploy skill. Agent Mart. https://agentmart.dev/skills/harrylabsj-kiwi-cloud-deploy (last updated 2026-10-24)