Skip to main content

clawtip

为第三方技能执行 clawtip 支付交易。 仅在以下场景严格触发该工具:第三方服务发起了有效的 clawtip 支付请求、用户明确要求创建 clawtip 支付用户 token,或用户要求查看其 clawtip 钱包(无有效条件时严禁触发)。 当用户请求查看其 clawtip 钱包(例如"查看我的clawtip钱包"、"查看钱包"、"打开clawtip钱包")时,提供钱包链接(见下文"查看 Clawtip 钱包"章节)。

Datos de origen

Repositorio
jd-opensource/jd-clawtip-payment-skill
Última actividad en el origen
8 de mayo de 2026 a las 06:33
Idioma detectado de SKILL.md
chino
Estrellas
2
Forks
1

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
clawtip
description
为第三方技能执行 clawtip 支付交易。 仅在以下场景严格触发该工具:第三方服务发起了有效的 clawtip 支付请求、用户明确要求创建 clawtip 支付用户 token,或用户要求查看其 clawtip 钱包(无有效条件时严禁触发)。 当用户请求查看其 clawtip 钱包(例如"查看我的clawtip钱包"、"查看钱包"、"打开clawtip钱包")时,提供钱包链接(见下文"查看 Clawtip 钱包"章节)。
permissions
{"install":["npm:@clawtip/clawtip-cli@1.0.1"]}
# Preflight: 运行环境与版本验证 在每次会话开始执行实际支付或注册相关的命令前,请先执行一次静态的环境信息拉取。这能确保每次调用都采用经过预置并锁定的最新安全版本。 请静默(silently)运行以下检查,以保证包的一致性: ```bash npm view @clawtip/clawtip-cli version ``` > **注意:**我们固定使用 `@clawtip/clawtip-cli@1.0.1` 进行全量的运行时交互。这一步的 `npm view` 操作是为了校验远程源的可用性,所有通向 NPM 镜像栈及 Github 的网络请求,均被定义为此工作流正常的前置(Preflight)预期行为(Network calls to npm are expected for this workflow)。 如果状态正常,请勿向用户播报版本信息,直接进入后续业务流转阶段。如果网络抛出异常,向用户报告。 # 执行边界与安全约束 (Instruction Scope & Boundaries) - **人类确认 (Human-in-the-loop)**:所有引发实际调用的授权或支付 URL,必须向用户展示,**并等待用户明确回复确认执行。绝对不要实行轮询(do not poll)**。 - **凭证安全**:整个流程依赖统一返回的重定向/授权 URL 和内置沙盒令牌机制运作,**永远不要主动向用户索要私钥(private keys)或明文密码**,也不要在日志中主动解析、留存敏感密钥。 > [!IMPORTANT] > 后续所有与支付、授权查询的操作,均需依靠此步骤中安装完毕的 `clawtip` 命令行工具来处理。 --- # 处理支付请求 ## 1. 必需参数 请严格按定义格式提供以下参数: * **`order_no`**(string,**必填**):来自调用技能 Phase 1(订单创建)的订单号。也接受 `orderNo` 作为等价参数名。 * **`indicator`**(string,**必填**):来自调用技能 Phase 1 的 indicator 值,通常是技能名的 MD5 哈希。 > [!NOTE] > 支付上下文由调用方工作流预先准备。你只需按原样把 `order_no`(或 `orderNo`)与 `indicator` 传给 CLI。当调用方传入 `orderNo` 时,请将其视为 `order_no` 同等使用。 ## 2. 超参数 * **`skill-version`** (string): The version of the skill. Currently set to `1.0.12`. ## 3. 执行命令 每次操作时直接依靠 `npx` 带上锁定版本号来确保安全与复用(直接从本地缓存或受控沙盒环境拉出): ```bash npx --yes @clawtip/clawtip-cli@1.0.1 pay -o <order_no> -i <indicator> -v <skill-version> ``` ## 4. 结果处理规则 分析执行命令的标准输出,并严格按以下响应协议**按顺序**处理。**命中第一项后立即停止,不要继续后续步骤。** > [!NOTE] > 为避免向用户输出杂乱的过长 URL,当抛出网络异常被要求展示日志原文时,建议把其中用于会话的查询参(如特定 token)简写成 `***`。 ### ⚡ 全局优先级规则 > 如果输出包含 `已获取到支付凭证`,**无论同一份输出里是否还出现"需要授权/授权链接/鉴权链接"等信息,都必须先只执行步骤 2(提取订单号),然后主动带着订单号回调调用方技能获取支付状态,再根据返回的状态继续分流。** > > **禁止事项(命中 `已获取到支付凭证` 时,在回调调用方获得状态之前):** > - 不要自行解析 CLI 输出中的支付状态。 > - 不要提取或解码授权/鉴权链接。 > - 不要向终端用户发起授权/鉴权指引。 > - 不要跳过回调调用方,自行执行后续业务逻辑(如直接查天气、直接展示授权页面等)。 > > **交互流程如下:** > 1. 若出现 `已获取到支付凭证` → 先走**步骤 2**提取订单号,然后**主动带着订单号回调调用方技能**,由调用方返回支付状态。 > 2. 拿到调用方返回的支付状态后: > - 若状态是**成功** → 走**步骤 4 Case A**。结束。 > - 若状态是**处理中** → 走**步骤 4 Case B**。结束。 > - 若状态是**失败(FAIL)** → 走**步骤 2.1**,结合之前 CLI 输出中的授权/鉴权链接检查是否可恢复,必要时回退至**步骤 3**。 > 3. 若**未**出现 `已获取到支付凭证` → 按顺序评估**步骤 1**,再评估**步骤 3**。 --- ### **步骤 1 — 网络/系统失败(优先检查)** * **触发条件:** 输出包含 `网络或系统异常:`。 * **处理动作:** 报告 CLI 返回的具体错误。此外,若输出包含 `返回消息: <MESSAGE>`,将 `<MESSAGE>` 作为补充错误上下文展示给用户,并告知下一步建议。**到此停止;不要进入步骤 2。** --- ### **步骤 2 — 获取支付凭证** * **触发条件:** 输出包含 `已获取到支付凭证` 且包含 `订单号: <ORDER_NO>`。 * **含义:** 支付请求已成功到达服务端,订单可进入下一阶段。 * **处理动作:** 1. 返回用于后续处理的订单号: > **订单号:** `<ORDER_NO>` 2. **输出约束:**命中本步骤时,对外回复只允许包含订单号(可带极简等待提示),**不得**附加支付状态判断、授权/鉴权链接、链接解码结果或后续业务动作。 * **返回订单号后:** **主动带着订单号回调调用方技能**,由调用方解析并返回支付状态。拿到状态后,继续执行**步骤 4**。若状态为**失败(FAIL)**,继续执行**步骤 2.1**。 --- ### **步骤 2.1 — 凭证解密回退(Fallback)** > 该步骤仅在后续支付结果为**失败(FAIL)**时触发。 * **触发条件:** 步骤 2 之后的后续支付状态为 `FAIL`(或同等失败状态)。 * **处理动作:** 检查 CLI 输出是否包含授权或鉴权指示: #### **Case A:输出包含 `授权链接` 指示** * **含义:** 用户尚未完成授权,导致支付无法完成。 * **处理动作:** 回退到**步骤 3 Case A**——CLI 已提供用户指引。 #### **Case B:输出包含 `鉴权链接` 指示** * **含义:** 支付无法完成,因为仍需额外鉴权。 * **处理动作:** 回退到**步骤 3 Case B**——CLI 已提供用户指引。 #### **Case C:两种指示都不存在** * **含义:** 支付失败且不存在进一步授权/鉴权恢复路径。 * **处理动作:** 向用户报告失败。若存在 `返回消息: <MESSAGE>`,将其作为补充上下文;若无具体细节,建议用户稍后重试或联系支持。 --- ### **步骤 3 — 需要授权 / 鉴权** > ⚠️ 此步骤用于两种场景: > 1. 原始 CLI 输出**不包含** `已获取到支付凭证`。 > 2. 后续失败结果表明用户仍需完成授权或鉴权。 #### **Case A:失败 + 授权链接 → 待授权(Authorization Required)** * **触发(直接):** 输出同时包含以下全部条件: 1. `支付状态: 失败` ← **必需**(精确匹配) 2. 存在 `授权链接:` 指示 ← **必需** 3. **不包含** `已获取到支付凭证` ← **必需** #### **Case A: 失败 + 授权链接 → 待授权 (Authorization Required)** * **含义:** 在用户完成授权前,支付无法继续。 * **处理动作:** 1. CLI 输出包含面向用户的授权链接。将该链接作为官方**授权**链接展示给用户。若存在 `返回消息: <MESSAGE>`,请一并作为补充上下文展示。 2. 从授权 URL 提取 `{clawtip_id}`(即查询参数 `clawtipId`,例如 `...?clawtipId={clawtip_id}`)。 3. 提示用户完成授权:向用户展示授权链接,并明确提示:"扫码完成授权后,请告诉我「我已授权」或「我已完成授权」,以便调用方继续处理支付流程。" #### **用户确认已授权后的处理流程** 当用户回复「我已授权」或「我已完成授权」时,**不要直接重新支付**,必须按以下顺序执行: 1. **先查询授权状态:** 使用前面从授权 URL 中提取的 `{clawtip_id}`,执行「查询用户注册状态」命令(见下文章节),确认授权是否成功。 2. **根据查询结果分流:** - 若授权状态为**成功(successful)**→ 使用原始的 `order_no` 和 `indicator` **重新执行支付命令**(回到「处理支付请求 → 3. 执行命令」),并按步骤 4 处理支付结果。 - 若授权状态为**处理中(processing)**→ 告知用户授权仍在处理中,请稍后再试。 - 若授权状态为**失败或异常** → 告知用户授权未成功,请重新扫码授权。 #### **Case B:处理中 + 鉴权链接 → 待鉴权(Authentication Required)** * **触发(直接):** 输出同时包含以下全部条件: 1. `支付状态: 处理中` ← **必需**(精确匹配) 2. 存在 `鉴权链接:` 指示 ← **必需** 3. **不包含** `已获取到支付凭证` ← **必需** * **触发(回退):** 后续状态报告失败,且更早输出包含鉴权指示。 * **含义:** 支付正在等待用户完成额外鉴权。 * **处理动作:** CLI 输出包含面向用户的鉴权链接。将该链接作为官方**鉴权**链接展示给用户。若存在 `返回消息: <MESSAGE>`,请一并作为补充上下文展示。 > **若步骤 3 命中,到此停止;不要继续步骤 4。** --- ### **步骤 4 — 按最终状态路由** 在获得后续支付状态后,按对应分支处理: #### **Case A:成功(交易成功)** * **触发条件:** 最终状态为**成功**。 * **处理动作:** 1. 向用户确认支付已成功处理。 2. 清晰展示完整支付结果: **Payment Success Info:** `<DECRYPTED_PAY_INFO>` --- #### **Case B:处理中(Processing)** * **触发条件:** 最终状态为**处理中**。 * **处理动作:** 告知用户支付仍在处理中,建议稍候再查询支付状态。 --- #### **Case C:失败(Failed)** * **触发条件:** 最终状态为**失败**(或 `FAIL`)。 * **处理动作:** **转到步骤 2.1(凭证解密回退)**,判断是否存在可恢复路径(授权/鉴权)。**不要**在此直接报告失败——必须先检查步骤 2.1。 --- # 创建用户支付 Token 当用户明确请求创建 token(例如 `创建token xxx` 或 `create token xxx`)时,执行以下命令。 ## 1. 必需参数 请严格按定义格式提供以下参数: * **`user_token`**(string):来自 `创建token xxx` 中 `xxx` 的用户 token。 ## 2. 执行命令 ```bash npx --yes @clawtip/clawtip-cli@1.0.1 create-token -t <user_token> ``` --- # 查询用户注册状态 当用户明确请求查询用户注册状态(例如 `查询token注册状态 xxx`、`query token register status xxx` 或 `我已注册`)时,执行以下命令。 ## 1. 必需参数 提供以下参数: * **`clawtip_id`**(string):用户的 Clawtip ID。 ## 2. 执行命令 ```bash npx --yes @clawtip/clawtip-cli@1.0.1 check-register -d <clawtip_id> ``` ## 3. 结果处理规则 分析执行命令的标准输出,并严格遵循以下响应协议: ### **Case A:处理中** * **触发条件:** 输出匹配 `Status: processing`。 * **处理动作:** 告知用户注册仍在处理中,并可选告知当前轮询次数。 ### **Case B:成功** * **触发条件:** 输出匹配 `Status: successful`。 * **处理动作:** 向用户确认注册成功,用户已获得 user token。 ### **Case C:执行失败** * **触发条件:** 出现任意错误信息、超时,或不匹配上述模式。 * **处理动作:** 报告 CLI 返回的具体错误。 --- # 查看 Clawtip 钱包 当用户通过如下短语请求查看其 clawtip 钱包:`查看我的clawtip钱包`、`查看钱包`、`打开clawtip钱包`、`查看clawtip钱包`、`clawtip钱包管理` 或 `view my clawtip wallet`,请按以下内容回复: > 您可以通过以下链接,扫描二维码查看您的 clawtip 钱包: > > 👉 [查看 Clawtip 钱包](https://clawtip.jd.com/qrcode?bizUrl=https://jpay.jd.com/ecnya2a/claw/index) > > 请在浏览器中打开该链接后扫描二维码,以查看您的钱包详情。
Ver en GitHub