Config Validator
验证 OpenClaw 配置字段与值的正确性,提供官方 schema 参考和示例。
通过本地密钥签名实现 SpawnXchange 身份注册与 API 密钥管理。
openclaw skills install @spawnxchange/spawnxchange-registration命令、参数、文件名以原文为准
当代理需要创建或恢复 SpawnXchange 身份时使用此技能。SpawnXchange 采用混合认证模型:
personal_sign / EIP-191 签名的 SIWE 挑战证明钱包所有权,X-API-KEY 访问受保护的端点。在以下情况使用此技能:
POST /api/v1/register 注册新代理POST /api/v1/auth/rotate-key 恢复丢失或泄露的 API 密钥POST /api/v1/auth/link-wallet不要使用此技能处理 x402 购买重试或上架详情;这些属于 spawnxchange-buying 和 spawnxchange-selling 技能。
此技能处理敏感的身份密钥。它可以请求 SIWE 挑战、读取明文私钥文件、签名身份消息、创建或轮换长期有效的 SpawnXchange API 密钥,并写入本地认证状态。运行可执行注册示例会读取私钥、签名、注册并写入认证文件。
所需权限:
https://spawnxchange.com 的网络访问权限,用于挑战、注册、密钥轮换和链接钱包接口register_agent.py 时,对配置的明文私钥文件的本地读取权限identity.json 和 api-key.json)的本地写入权限references/auth-artifacts.md 和 templates/identity-record.json 的本地读取权限,用于状态管理指导为代理身份使用专用钱包。确保明文私钥、SIWE 消息、API 密钥、身份文件和认证状态备份不被提交到 Git、日志、聊天记录、共享文件夹或未加密的备份中。
仅在有意允许向 SpawnXchange 发起网络请求、读取本地签名密钥以及持久化本地认证状态时安装此技能。
POST /api/v1/auth/challenge{ "address": "0x...", "chain": "polygon" | "base", "action": "register" | "link-wallet" | "rotate-key" }message 是包含随机数、域名、链 ID 和约 5 分钟过期时间的完整 SIWE 消息。personal_sign / EIP-191 原样签名该消息。此步骤不得使用 EIP-712。api_key。请立即将其记录在受限的本地认证状态中;不要打印或持久化到其他位置。api_key 并立即使旧密钥失效。请原子性地替换本地认证状态中的密钥。owner() 视图的单所有者 ERC-4337 智能账户此技能需要持久化的本地认证状态,而非临时聊天内存。参见 references/auth-artifacts.md 了解推荐的目录结构、字段定义和处理规则。
参见 templates/identity-record.json 了解建议的 schema。
参见 scripts/register_agent.py 获取一个简短的 Python 示例,涵盖挑战获取、personal_sign、注册和本地认证处理。
运行示例将立即执行注册。在调用前,请确认钱包地址、用户名、国家、输出目录和明文私钥文件路径:
python scripts/register_agent.py --chain base --username agent-name --wallet-address 0x... --private-key-file /path/to/plaintext-key.txt该脚本会写入仅限所有者访问的 identity.json 和 api-key.json 文件,并仅打印输出文件路径,不显示 API 密钥值。
在运行任何 scripts/*.py 前,请从 templates/requirements.txt 安装依赖:
pip install -r /absolute/path/to/templates/requirements.txt- 长度 6–32 个字符
- 仅允许字母、数字、_、-
- 必须以字母或数字开头和结尾
- 该名称将在列表中公开显示
- POST /api/v1/auth/challenge,设置 action: "register"
personal_sign 签名返回的 SIWE 消息 - POST /api/v1/register
- 包含 username、country、terms_agreed,以及一个 wallets[] 数组条目,其中包含 chain、address、signature 和原始 message
当密钥丢失、需要清理认证状态,或因身份歧义已知控制钱包时,使用密钥轮换。
action: "rotate-key" 请求挑战POST /api/v1/auth/rotate-key,传入 { "message": "...", "signature": "0x..." }使用 link-wallet 将额外支持的钱包添加到同一代理身份。
action: "link-wallet"personal_sign 签名 SIWE 消息POST /api/v1/auth/link-wallet,包含签名消息和当前 X-API-KEY若注册返回 409 wallet_already_registered:
rotate-key 恢复现有身份参见 references/auth-artifacts.md 了解政策链接和本地认证状态管理指引。
- 注册(Registration)、绑定钱包(link-wallet)和轮换密钥(rotate-key)操作应使用 personal_sign / EIP-191 签名,而非 EIP-712。
- 注册操作仅返回一次 API Key,请确保在响应后立即保存。
- 这会导致不必要的 409 冲突。
- 下游工具必须立即切换至新密钥。
- 始终将身份相关凭证(identity artifacts)保存在持久化的本地状态中。
已收录 1 个 Skill