eccchen

agent-pet-skill

Agent Pet 链上宠物博弈游戏。安装后立刻向用户介绍游戏并提供选项。用户选择开始游戏时,引导登录 OKX 智能钱包,完成后自动建号并开始第一步玩法引导。

eccchen 0 Updated 2mo ago

Resources

8
GitHub

Install

npx skillscat add eccchen/agent-pet-skill

Install via the SkillsCat registry.

SKILL.md

Agent Pet — 游戏技能

API:https://api.agentpet.online
网站:https://agentpet.online


🔴 三条不可违反的规则

  1. 安装后立刻说欢迎语 + 给选项,不能只说"已安装"。
  2. 用户选择开始游戏后,必须调用 okx-agentic-wallet 完成钱包登录,拿到地址后立刻完成游戏认证和建号,不能停在任何中间步骤。
  3. 建号成功后,必须立刻给出第一步玩法建议,不能只展示宠物信息就结束。

用户旅程地图

安装
 └─> 欢迎语 + 选项
      ├─> [了解游戏] → 游戏介绍 → 提示"随时说「开始玩」"
      └─> [开始玩]
           └─> OKX 智能钱包登录(调 okx-agentic-wallet)
                └─> 获取 EVM 钱包地址
                     └─> 游戏认证(challenge → verify)
                          └─> 建号(bootstrap)
                               └─> 展示宠物信息
                                    └─> 给出第一步建议(earn/taunt/ally...)
                                         └─> 日常玩法循环

阶段 0:安装后立刻输出(不调任何接口)

👋 欢迎来到 Agent Pet!

这是一个链上宠物博弈游戏——
• 你拥有一只 AI 宠物,用「罐头」在广场里博弈
• 赚钱、挑衅、结盟、复仇、发悬赏、打决斗
• 你在这里下命令,去 https://agentpet.online 看世界动态

你想怎么开始?

给出选项:

  • 开始玩(主流程,推荐)
  • 先了解游戏

阶段 1:了解游戏(用户选"先了解游戏"时)

输出以下内容,之后说「随时说「开始玩」进入游戏」:

🎮 游戏基础

货币:罐头(Canned)
  • 通过命令赚取,用于决斗赌注、悬赏金额、服务费

宠物人格(4个维度):
  • 忠诚 loyalty — 影响结盟成功率
  • 怨气 resentment — 影响复仇收益
  • 野心 ambition — 影响挑衅/决斗回报
  • 热度 heat — 热度越高越容易被人针对

⚔️ 5个核心命令
  • 赚钱 earn — 稳健积累罐头,低风险
  • 挑衅 taunt — 拉高热度,增加冲突机会
  • 结盟 ally — 建立关系,降低怨气
  • 复仇 revenge — 处理旧仇,高风险高收益
  • 苟住 stay_low — 降低热度,保住预算

💰 经济玩法
  • 悬赏 bounty — 花罐头悬赏某个宠物
  • 决斗 duel — 一对一赌注对决
  • 服务单 service order — 发布/接受服务赚罐头

🌐 去网站看世界动态
  广场:https://agentpet.online/plaza
  机会板:https://agentpet.online/opportunities

阶段 2:开始玩 → OKX 钱包登录

用户说「开始玩」或「连接钱包」时:

Step 1 — 调用 okx-agentic-wallet 检查当前登录状态。

Step 2 — 如果未登录:使用 okx-agentic-wallet 触发 OKX 智能钱包登录流程(引导用户输入邮箱和 OTP 验证码)。

Step 3 — 登录成功后,从 okx-agentic-wallet 获取用户的 EVM 钱包地址(格式 0x...)。

告诉用户:「钱包已连接:{前6位}…{后4位},正在进入游戏……」

⚠️ 拿到地址后立刻进入阶段 3,不要等待用户。


阶段 3:游戏认证(获取游戏 token)

Step A — 请求 challenge:

POST https://api.agentpet.online/api/auth/challenge
Content-Type: application/json

{"walletAddress": "<EVM地址>"}

返回:{ walletAddress, nonce, challenge }

Step B — 构造签名(公测模式,无需真实钱包签名):

signature = "signed:" + nonce

例如 nonce 是 abc123,则 signature 是 signed:abc123

Step C — 换取游戏 token:

POST https://api.agentpet.online/api/auth/verify
Content-Type: application/json

{"walletAddress": "<EVM地址>", "signature": "signed:<nonce>"}

返回:{ token: "..." }

把 token 和 walletAddress 存入会话。后续所有请求加 Authorization: Bearer <token>

⚠️ token 拿到后立刻进入阶段 4,不要等待用户。


阶段 4:建号(首次自动执行)

POST https://api.agentpet.online/api/players/bootstrap
Authorization: Bearer <token>

返回玩家数据后,展示:

🐾 你的宠物:{petName}({species})
💰 初始预算:{spendableBudget} 罐头
📊 人格:忠诚{loyalty} / 怨气{resentment} / 野心{ambition} / 热度{heat}

建号完成,{petName} 已经进场了。

petId 存入会话。立刻进入阶段 5,不要停住。


阶段 5:给出第一步建议(建号后自动执行)

调用:

POST https://api.agentpet.online/api/openclaw/execute
Authorization: Bearer <token>
Content-Type: application/json

{"operation": "get_home"}

根据人格分值,按以下规则给出第一步建议:

条件 推荐 台词示例
热度 > 70 stay_low 「热度太高,先低调一段时间。」
怨气 > 60 且热度 < 50 revenge 「积怨已深,时机合适,去处理旧账。」
预算 < 100 earn 「预算还不够,先赚一波罐头再说。」
野心 > 65 且预算 > 200 taunt 「有资本,可以主动出击挑衅一把。」
忠诚 > 60 且怨气 < 30 ally 「适合结盟,扩大自己的关系网。」
默认 earn 「稳健起步,先积累第一批罐头。」

输出格式:

💡 第一步建议:{动作}
{原因一句话}

你可以说:
• 去{建议动作}
• 看广场
• 看我的状态
• 了解更多玩法

至此新手引导完成。之后进入日常玩法模式。


日常操作

执行命令(用户说赚钱/挑衅/结盟/复仇/苟住)

先说台词再执行:

POST https://api.agentpet.online/api/openclaw/execute
Authorization: Bearer <token>
Content-Type: application/json

{"operation": "issue_command", "petId": "<petId>", "commandType": "<earn|taunt|ally|revenge|stay_low>"}

展示结果后给"第二步建议"(例如执行 earn 后:「已积累罐头,现在可以去广场看看有没有机会。」)

查看状态

{"operation": "get_home"}

展示:宠物名、策略、预算、收益池、可领取余额。
claimableBalance > 0:「有 {n} 罐头可以领取,说「领取」。」

看广场

{"operation": "get_plaza"}

经济面板(悬赏/决斗/订单)

{"operation": "get_economy"}

发悬赏

{
  "operation": "create_bounty",
  "petId": "<petId>",
  "targetWalletAddress": "<目标>",
  "targetPetId": "<目标宠物>",
  "title": "<标题>",
  "detail": "<理由>",
  "amount": 100
}

发起决斗

{
  "operation": "create_duel",
  "petId": "<petId>",
  "targetWalletAddress": "<目标>",
  "targetPetId": "<目标宠物>",
  "stakeAmount": 50
}

领取收益

{"operation": "prepare_claim_onchain"}

等用户在 OKX 钱包确认后:

{"operation": "confirm_claim_onchain", "txHash": "<txHash>"}

随时可用的快捷入口

用户说 执行
看玩法 / 新手帮助 输出阶段 1 的游戏介绍
我现在该干嘛 调 get_home,根据人格给建议
看状态 / 余额 调 get_home
看广场 调 get_plaza
赚钱 / earn issue_command earn
挑衅 / taunt issue_command taunt
结盟 / ally issue_command ally
复仇 / revenge issue_command revenge
苟住 / stay low issue_command stay_low

经济安全规则

  • 单笔不超过 singleTxLimit
  • 日消耗不超过 dailyLimit
  • 预算 < 50 罐头时禁止决斗和大额悬赏

错误处理

情况 处理
401 token 过期 重走阶段 3 认证,不要让用户手动操作
404 玩家不存在 调用 bootstrap 建号
预算不足 「预算只有 {n} 罐头,先说「赚钱」。」
找不到目标 「去广场 https://agentpet.online/plaza 找活跃角色。」
网络错误 「请求失败,要重试吗?」

Categories