名称: nervepay
描述: 智能体身份与数据分析。使用 Ed25519 签署请求、追踪 API 使用情况、建立信誉。请在外部 API 调用后使用。
元数据: {"openclaw":{"emoji":"🔐","requires":{"bins":["node","curl"],"env":["NERVEPAY_DID","NERVEPAY_PRIVATE_KEY"]},"primaryEnv":"NERVEPAY_PRIVATE_KEY"}}
你是一个拥有 NervePay 身份的 AI 智能体。此技能让你能够(通过加密方式)证明你是谁,并追踪你做了什么(用于分析和建立信誉)。
如果尚未设置 NERVEPAY_DID 和 NERVEPAY_PRIVATE_KEY 环境变量,请先注册:
curl -X POST https://api.nervepay.xyz/v1/agent-identity/register-pending \
-H "Content-Type: application/json" \
-d '{
"name": "你的智能体名称",
"description": "你的功能描述"
}'
请保存响应中的以下信息:
- did → 设置为 NERVEPAY_DID
- private_key → 设置为 NERVEPAY_PRIVATE_KEY
- mnemonic → 用于恢复的备份助记词(24个单词)
- claim_url → 交给你的所有者以认领你
你可以立即开始身份验证。由所有者认领(通过 claim_url)是可选的,但建议执行以获得更高的信任评分。
使用辅助脚本签署并发送请求:
# 认证的 GET 请求
node {baseDir}/nervepay-request.mjs GET /v1/agent-identity/whoami
# 认证的 POST 请求
node {baseDir}/nervepay-request.mjs POST /v1/agent-identity/track-service '{"service_name":"openai","endpoint":"/v1/chat/completions","success":true}'
脚本会自动处理 Ed25519 签名。它会从环境变量中读取 NERVEPAY_DID、NERVEPAY_PRIVATE_KEY 和 NERVEPAY_API_URL(默认值为 https://api.nervepay.xyz)。
你必须追踪每一次外部 API 调用。这不是可选项。
每次你调用 OpenAI、Stripe、GitHub、天气 API 或任何外部服务时,都必须立即向 NervePay 上报。这是本技能的核心目的。
在每次外部调用后立即使用简化的追踪助手:
# 最简模式 - 仅服务、端点、成功/失败
node {baseDir}/nervepay-track.mjs openai /v1/chat/completions success
# 包含响应时间
node {baseDir}/nervepay-track.mjs openai /v1/chat/completions success 1250
# 包含成本
node {baseDir}/nervepay-track.mjs stripe /v1/charges success 850 10.00
如需包含所有字段的完整追踪:
node {baseDir}/nervepay-request.mjs POST /v1/agent-identity/track-service '{
"service_name": "openai",
"endpoint": "/v1/chat/completions",
"method": "POST",
"success": true,
"response_time_ms": 1250,
"amount": "0.05",
"currency": "USD"
}'
# 1. 调用外部 API
response=$(curl https://api.openai.com/v1/chat/completions ...)
# 2. 立即追踪它(别忘了!)
node {baseDir}/nervepay-track.mjs openai /v1/chat/completions success
# 3. 继续你的工作
echo "$response"
为什么追踪是强制的:
- 建立你的信誉评分(证明你的合法性)
- 向 API 提供方展示你已验证的使用历史
- 跨所有服务追踪成本和成功率
- 这正是 NervePay 存在的意义——不追踪就等于没用它
记住: 在调用后立即追踪,不要拖延。养成习惯。
厌倦了手动追踪? 使用自动插桩——它能自动拦截所有 HTTP 调用!
nervepay-instrument.mjs 脚本会“猴子补丁” Node.js 的 fetch()、http.request() 和 https.request() 方法,自动追踪每一次外部 API 调用。无需修改任何代码!
选项1:命令行标志(推荐)
node --import {baseDir}/nervepay-instrument.mjs your-agent.js
选项2:环境变量(全局)
export NODE_OPTIONS="--import /path/to/nervepay-instrument.mjs"
node your-agent.js
选项3:编程方式(在你的代码中)
// 在你的入口文件最顶部
import './nervepay-skill/nervepay-instrument.mjs';
// 现在所有的 HTTP 调用都会被自动追踪!
await fetch('https://api.openai.com/...'); // 自动追踪
✅ 所有发往外部 API 的 fetch() 调用
✅ 所有 http.request() 和 https.request() 调用
✅ 成功/失败状态
✅ 响应时间(毫秒)
✅ HTTP 状态码
❌ 不追踪:对 NervePay 自身的调用(避免无限循环)
❌ 不追踪:localhost / 内部 IP(192.168.x.x, 10.x.x.x)
export NERVEPAY_AUTO_TRACK=false
# 设置你的凭证
export NERVEPAY_DID="your-did"
export NERVEPAY_PRIVATE_KEY="your-key"
# 使用自动插桩运行你的智能体
node --import {baseDir}/nervepay-instrument.mjs your-agent.js
# 现在,your-agent.js 中的所有 HTTP 调用都会被自动追踪!
结论: 使用自动插桩,你不可能忘记追踪。一切自动完成。🎉
如果你是像 ClawBot 这样管理 OpenClaw 网关实例的智能体,可以使用 NervePay 的配对流程自动配置网关。
你必须首先拥有 NervePay 身份! 在配对前,请完成上方“设置:获取身份”部分进行注册,并获取你的 NERVEPAY_DID 和 NERVEPAY_PRIVATE_KEY。
推荐: 在配对网关前,让你的所有者通过 claim_url 认领你,以获得更好的信任评分。
当你的所有者告诉你“连接到 nervepay [CODE]”时:
# 1. 从你的环境/配置中收集网关详情
PAIRING_CODE="ABC123" # 来自用户
GATEWAY_URL="https://your-openclaw-gateway.com"
GATEWAY_TOKEN="your-gateway-bearer-token"
GATEWAY_NAME="我的网关"
# 2. 发送配对请求(使用你的智能体 DID 认证)
node {baseDir}/nervepay-request.mjs POST /v1/integrations/openclaw/pairing/complete '{
"pairing_code": "'$PAIRING_CODE'",
"gateway_url": "'$GATEWAY_URL'",
"gateway_token": "'$GATEWAY_TOKEN'",
"gateway_name": "'$GATEWAY_NAME'",
"max_concurrent_agents": 8,
"default_timeout_seconds": 3600
}'
成功响应:
{
"gateway_id": "uuid-here",
"gateway_name": "我的网关",
"status": "completed",
"message": "网关 '我的网关' 已成功与智能体 did:nervepay:agent:xyz 配对"
}
当你的 OpenClaw 网关令牌轮换时,推送新令牌:
GATEWAY_ID="gateway-uuid-from-pairing"
NEW_TOKEN="new-gateway-bearer-token"
node {baseDir}/nervepay-request.mjs POST /v1/integrations/openclaw/gateways/$GATEWAY_ID/refresh-token '{
"new_token": "'$NEW_TOKEN'"
}'
安全性: NervePay 会验证你是最初配对该网关的智能体(检查 linked_agent_did)。只有你可以刷新此网关的令牌。
node {baseDir}/nervepay-request.mjs GET /v1/agent-identity/whoami
返回你的 DID、名称、信誉评分,并确认认证有效。
node {baseDir}/nervepay-request.mjs GET /v1/agent-identity/capabilities
显示你的消费限额、允许的操作和权限。
curl "https://api.nervepay.xyz/v1/agent-identity/verify/did:nervepay:agent:abc123xyz"
无需认证。返回任何智能体的公开资料、信誉和交易统计信息。
curl "https://api.nervepay.xyz/v1/agent-identity/register-pending/SESSION_ID/status"
返回:pending、claimed、expired 或 revoked。
| 保证 | 方式 |
|---|---|
| 身份验证(谁在调用) | 服务器根据你的公钥验证 Ed25519 签名 |
| 完整性(发送了什么) | 签名涵盖方法、路径、查询参数、正文哈希——篡改会破坏验证 |
| 防重放攻击 | 唯一的 nonce + 时间戳防止捕获的请求被重用 |
| 可移植的身份 | 你的 DID 携带的信誉可在所有检查 NervePay 头部的平台间通用 |
辅助脚本会自动添加以下头部:
- Agent-DID: 你的 DID
- X-Agent-Signature: Base64 编码的 Ed25519 签名
- X-Agent-Nonce: 唯一的 nonce(UUID)
- X-Signature-Timestamp: ISO 8601 时间戳
完整端点文档、错误代码和高级用法,请参阅 {baseDir}/api.md。
API 基础地址: https://api.nervepay.xyz/v1
文档: https://nervepay.xyz/docs
GitHub: https://github.com/nervepay/nervepay