为第三方技能执行 clawtip 支付交易。 仅在以下场景严格触发该工具:第三方服务发起了有效的 clawtip 支付请求、用户明确要求创建 clawtip 支付用户 token、用户要求查看其 clawtip 钱包、或用户要求查看 ClawTip 技能信息(无有效条件时严禁触发)。 当用户请求查看其 clawt...
---
name: "clawtip"
description: >
为第三方技能执行 clawtip 支付交易。
仅在以下场景严格触发该工具:第三方服务发起了有效的 clawtip 支付请求、用户明确要求创建 clawtip 支付用户 token、用户要求查看其 clawtip 钱包、或用户要求查看 ClawTip 技能信息(无有效条件时严禁触发)。
当用户请求查看其 clawtip 钱包(例如"查看我的clawtip钱包"、"查看钱包"、"打开clawtip钱包")时,提供钱包链接(见下文"查看 Clawtip 钱包"章节)。
当用户请求查看 ClawTip 技能(例如"查看ClawTip技能"、"ClawTip技能介绍"、"ClawTip是什么")时,展示技能概述信息(见下文"查看 ClawTip 技能"章节)。
permissions:
install:
- "npm:@clawtip/clawtip-cli@1.0.4"
---
# ClawTip 技能概述
ClawTip 是京东科技旗下,面向 AI 智能体的专属 A2A(Agent-to-Agent)微支付基础设施,定位为「机器人自主零钱包」,助力智能体在安全可控的前提下,自主完成交易付款与资产管理。
## 使用场景及操作指引
- **A2A 跨智能体支付**:自动接收第三方 AI 智能体发起的交易请求,全程在安全授权边界内受控运行,机器人可自主完成合规付款;首次启用 ClawTip 服务时,系统将一站式引导完成身份授权与安全初始化配置。
- **查询钱包资产与账单**:直接口述指令「查看 clawtip 钱包信息」即可。
## 官方入口
- 官网地址:https://clawtip.jd.com
- 钱包入口:👉 [查看 ClawTip 钱包](https://clawtip.jd.com/qrcode?bizUrl=https://jpay.jd.com/ecnya2a/claw/index)
---
# Preflight: 运行环境与版本验证
在每次会话开始执行实际支付或注册相关的命令前,请先执行一次静态的环境信息拉取。这能确保每次调用都采用经过预置并锁定的最新安全版本。
请静默(silently)运行以下检查,以保证包的一致性:
```bash
npm view @clawtip/clawtip-cli version
```
> **注意:**我们固定使用 `@clawtip/clawtip-cli@1.0.4` 进行全量的运行时交互。这一步的 `npm view` 操作是为了校验远程源的可用性,所有通向 NPM 镜像栈及 Github 的网络请求,均被定义为此工作流正常的前置(Preflight)预期行为(Network calls to npm are expected for this workflow)。
如果状态正常,请勿向用户播报版本信息,直接进入后续业务流转阶段。如果网络抛出异常,向用户报告。
# 执行边界与安全约束 (Instruction Scope & Boundaries)
- **输出精简(Concise Output)— 最高优先级约束**:
- **绝对禁止**向用户输出以下任何内容:内部推理过程、步骤编号(如"步骤3 Case A")、规则匹配逻辑、CLI 原始输出分析、变量提取过程(如"从authUrl提取clawtip_id")、输出解析说明(如"根据输出,我看到"、"让我严格按照要求输出"、"根据技能指导,我需要")。
- **绝对禁止**列举 CLI 输出的各项内容(如"1. 支付状态: 失败"、"2. authUrl: 提供了授权链接"、"3. MEDIA: 生成了二维码图片")。
- 当命中授权/鉴权场景时,**只允许输出 MEDIA 图片路径 + 固定模板文案**,不允许在模板前后添加任何分析、解释或过渡语句。
- 当支付成功时,**必须在同一条回复中直接展示业务结果**(如天气信息),不要只说"支付成功"然后等用户追问。
- 此约束适用于所有步骤的所有输出。违反此约束等同于暴露系统内部实现,属于严重错误。
- **人类确认 (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.14`.
## 3. 执行命令
每次操作时直接依靠 `npx` 带上锁定版本号来确保安全与复用(直接从本地缓存或受控沙盒环境拉出):
```bash
npx --yes @clawtip/clawtip-cli@1.0.4 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:输出包含 `支付状态: 失败` 且包含 `authUrl:` 指示**
* **含义:** 用户尚未完成授权,导致支付无法完成。
* **处理动作:** 回退到**步骤 3 Case A**——CLI 已提供用户指引。
#### **Case B:输出包含 `支付状态: 处理中` 且包含 `authUrl:` 指示**
* **含义:** 支付无法完成,因为仍需额外鉴权。
* **处理动作:** 回退到**步骤 3 Case B**——CLI 已提供用户指引。
#### **Case C:两种指示都不存在**
* **含义:** 支付失败且不存在进一步授权/鉴权恢复路径。
* **处理动作:** 向用户报告失败。若存在 `返回消息: <MESSAGE>`,将其作为补充上下文;若无具体细节,建议用户稍后重试或联系支持。
---
### **步骤 3 — 需要授权 / 鉴权**
> ⚠️ 此步骤用于两种场景:
> 1. 原始 CLI 输出**不包含** `已获取到支付凭证`。
> 2. 后续失败结果表明用户仍需完成授权或鉴权。
#### **Case A:失败 + authUrl → 待授权(Authorization Required)**
* **触发(直接):** 输出同时包含以下全部条件:
1. `支付状态: 失败` ← **必需**(精确匹配)
2. 存在 `authUrl:` 指示 ← **必需**
3. **不包含** `已获取到支付凭证` ← **必需**
#### **Case A: 失败 + authUrl → 待授权 (Authorization Required)**
* **含义:** 在用户完成授权前,支付无法继续。
* **处理动作 — 面向用户的完整输出(严禁添加任何其他内容):**
```
MEDIA:<图片路径>
您需要先完成授权才能进行支付。这是首次使用或付款凭证缺失,需进行人工授权。
授权方式:
- 扫码授权:请扫描上方二维码完成授权
- 链接授权:[点击此处完成授权](<authUrl>)
请扫码或点击链接完成授权后,告诉我「我已授权」或「我已完成授权」,以便我继续处理支付流程。
```
> **⚠️ 以上模板即为向用户输出的全部内容。在模板之前、之后、之间,不允许输出任何分析、推理、变量提取、CLI输出解读或过渡语句。**
#### **用户确认已授权后的处理流程**
当用户回复「我已授权」或「我已完成授权」时,**不要直接重新支付**,必须按以下顺序执行:
1. **先查询授权状态:** 使用前面从授权 URL 中提取的 `{clawtip_id}`,执行「查询用户注册状态」命令(见下文章节),确认授权是否成功。
2. **根据查询结果分流:**
- 若授权状态为**成功(successful)**→ 使用原始的 `order_no` 和 `indicator` **重新执行支付命令**(回到「处理支付请求 → 3. 执行命令」),并按步骤 4 处理支付结果。
- 若授权状态为**处理中(processing)**→ 告知用户授权仍在处理中,请稍后再试。
- 若授权状态为**失败或异常** → 告知用户授权未成功,请重新扫码授权。
#### **Case B:处理中 + authUrl → 待鉴权(Authentication Required)**
* **触发(直接):** 输出同时包含以下全部条件:
1. `支付状态: 处理中` ← **必需**(精确匹配)
2. 存在 `authUrl:` 指示 ← **必需**
3. **不包含** `已获取到支付凭证` ← **必需**
* **触发(回退):** 后续支付状态报告失败,且更早输出包含鉴权指示。
* **含义:** 支付正在等待用户完成额外鉴权。
* **处理动作 — 面向用户的完整输出(严禁添加任何其他内容):**
```
MEDIA:<图片路径>
需要完成鉴权才能继续支付。支付过程中触发了安全验证,需进行人工鉴权。
鉴权方式:
- 扫码鉴权:请扫描上方二维码完成鉴权
- 链接鉴权:[点击此处完成鉴权](<authUrl>)
请扫码或点击链接完成鉴权后,告诉我「我已完成鉴权」,以便我继续处理支付流程。
```
> **⚠️ 以上模板即为向用户输出的全部内容。在模板之前、之后、之间,不允许输出任何分析、推理、变量提取、CLI输出解读或过渡语句。**
> **若步骤 3 命中,到此停止;不要继续步骤 4。**
---
### **步骤 4 — 按最终状态路由**
在获得后续支付状态后,按对应分支处理:
#### **Case A:成功(交易成功)**
* **触发条件:** 最终状态为**成功**。
* **处理动作(严禁输出推理过程,直接展示结果):**
1. 若 CLI 输出中包含 `返回消息: <MESSAGE>`,**直接输出 MESSAGE 原文内容**(如"本次交易在授权范围内,ClawTip付费成功。支付0.01元,余额0.15元。"),不要改写或包装。
2. **立即将调用方技能返回的业务结果(如天气信息、查询结果等)完整展示给用户。** 不要只说"支付成功"然后等用户追问——必须在同一条回复中一并展示业务结果。
3. 输出示例(仅供参考格式,不要输出推理过程):
> 本次交易在授权范围内,ClawTip付费成功。支付0.01元,余额0.15元。
>
> (调用方返回的业务结果内容)
---
#### **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.4 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.4 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 ClawTip skill`,请按以下内容回复:
> ## 👉 ClawTip 技能概述
>
> ClawTip 是京东科技旗下,面向 AI 智能体的专属 A2A(Agent-to-Agent)微支付基础设施,定位为「机器人自主零钱包」,助力智能体在安全可控的前提下,自主完成交易付款与资产管理。
>
> ## 使用场景及操作指引
>
> - **A2A 跨智能体支付**:自动接收第三方 AI 智能体发起的交易请求,全程在安全授权边界内受控运行,机器人可自主完成合规付款;首次启用 ClawTip 服务时,系统将一站式引导完成身份授权与安全初始化配置。
> - **查询钱包资产与账单**:直接口述指令 **查看 clawtip 钱包信息** 即可。
>
> ## 官方入口
>
> - **官网地址**:https://clawtip.jd.com
> - **钱包入口**:👉 [查看 ClawTip 钱包](https://clawtip.jd.com/qrcode?bizUrl=https://jpay.jd.com/ecnya2a/claw/index)
---
# 查看 Clawtip 钱包
当用户通过如下短语请求查看其 clawtip 钱包:`查看我的clawtip钱包`、`查看钱包`、`打开clawtip钱包`、`查看clawtip钱包`、`clawtip钱包管理` 或 `view my clawtip wallet`,请执行以下步骤:
## 1. 获取钱包二维码图片
执行以下命令下载钱包二维码图片并获取本地路径:
```bash
npx --yes @clawtip/clawtip-cli@1.0.4 wallet-qrcode
```
命令会输出图片的本地绝对路径(如 `/Users/xxx/.openclaw/workspace/clawtip/qrcode/clawtip-index-code.png`)。
## 2. 向用户展示钱包信息
使用获取到的图片路径,按以下模板回复用户(严禁添加任何其他内容):
```
MEDIA:<图片路径>
您可以通过以下方式查看您的 clawtip 钱包:
- 扫码查看:请扫描上方二维码进入钱包管理
- 链接查看:👉 [查看 Clawtip 钱包](https://clawtip.jd.com/qrcode?bizUrl=https://jpay.jd.com/ecnya2a/claw/index)
请在浏览器中打开链接或使用京东APP扫描二维码,以查看您的钱包详情。
```
> **⚠️ 以上模板即为向用户输出的全部内容。将 `<图片路径>` 替换为命令输出的实际绝对路径。在模板之前、之后、之间,不允许输出任何分析、推理或过渡语句。**don't have the plugin yet? install it then click "run inline in claude" again.