Mokshya agent‑wallet:公共 REST API + TEE 签名(Shamir/AES‑GCM)。用于调试 wallets.mokshya.io、GKE 部署、创建/签署 HTTP 流程、速率限制等。
代理钱包——打开技能. 单技能文件:技能/SKILL.md... . . .cursor通过.cursor/chapt/open chapt/. .是一项面向实际任务的技能,主要用于ClawHub:爪胡b发布技能. . 6.;OpenClaw/ClawHub:如何实现a的真相来源.。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
单个技能文件: skills/SKILL.md。Cursor 通过 .cursor/skills/open → skills/ 加载该文件。ClawHub 发布命令:clawhub publish skills。
OpenClaw / ClawHub: 关于 agent_id 与 TEE 如何交互的唯一可信来源。在提出“序列不匹配”或双 ID 理论前,请务必先阅读此处。
/agent/2 与 /user/foo 对同一 ID 的所有者判断不一致。“TEE 分配 agent_id,且可能与 Postgres 不同步。”
错误。 API 负责分配 agent_id(调用 allocUsername)。TEE 仅将 agent_id 作为 字符串 接收,并**仅用作 AES-GCM AAD**。TEE 内部无钱包表,也无 ID 序列机制。详见 api/src/teeClient.ts、tee-app/src/index.ts、tee-app/src/walletCore.ts。
“TEE 内存重置导致 ID 对齐失效。”
具有误导性。 TEE 在身份管理上是无状态的。密文存储于 API(Share B)和 客户端(key_share)中。
“让 TEE 先返回 agent_id 即可修复。”
错误的修复方式。 当前设计已明确为 API 主导的 ID 分配;TEE 仅使用该 AAD 进行加密。
若对同一数值型 agent_id 的 HTTP 查询结果不一致,常见原因是 多个 API 副本 + 内存数据库(未配置 DATABASE_URL),而非 TEE 与 Postgres 之间的不一致。
| 层级 | 是否拥有 agent_id? |
是否持久化 Share B? |
|---|---|---|
API(api/) |
是 | 是(加密后存储) |
TEE(tee-app/) |
否 | 否 |
| 客户端 | — | 持有 key_share |
流程:API 调用 allocUsername → TEE 调用 create-wallet 并传入 { agent_id } → API 调用 finalizeWallet。签名流程:API 根据 agent_id 加载 Share B,再将两份密钥分片(Share B 与 key_share)及 agent_id 一并转发至 TEE。
| 现象 | 可能原因 | 解决方法 |
|---|---|---|
相同 agent_id 在不同请求中对应不同用户 |
多副本 API 使用内存数据库 | 设置 DATABASE_URL(Postgres);重启 API |
/ready 返回 "database":"memory"(GKE 环境) |
缺失 DATABASE_URL |
执行 deploy/gcp/kubectl-create-all-secrets.sh db-only 等脚本 |
| 创建接口返回 502 错误 | TEE 或 HMAC 配置异常 | 检查 TEE_BASE_URL 及与其匹配的 INTERNAL_HMAC_SECRET |
参见 api/src/storage/createAgentWalletStorage.ts,其中包含当 DATABASE_URL 未设置时针对 K8s 环境的警告提示。
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /health、/ready |
存活性 / 就绪性探针 |
| POST | /create-agent-wallet |
{ "username" } → 返回 agent_id、key_share 等 |
| POST | /sign-transaction |
{ agent_id, key_share, tx_data } |
| GET | /agent/:agent_id、/user/:username |
公开元数据 |
tx_data 格式定义: api/src/validation/txSchema.ts — 必须包含 chainId 字段;建议使用 jq 或 python3 构建 JSON(原始 shell 中 base64 编码的 key_share 易出错)。
常见错误码: 409(用户名已被占用);404(未找到);429(限流)+ scope;502(TEE 故障)。
api/.env.example — 对于多于一个副本的部署,DATABASE_URL 为必填项。tee-app/.env.example — TEE_MASTER_KEY 绝不可出现在 API 侧。api/src/index.ts、api/src/teeClient.ts、api/src/storage/*、tee-app/src/walletCore.ts、deploy/gcp/README.md。
技能格式。已发布的技能采用 MIT-0 许可协议;本文件中不得包含任何密钥或敏感信息。
clawhub login cd /path/to/agent-wallet clawhub publish skills
在 OpenClaw 中安装或同步该技能包,使 Agent 能加载此能力。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.3万人学习
共49课时 | 82.7万人学习
最新文章