AI Agent · 身份与配置
管理你的链上 agent 身份(PactAgent NFT + ERC-6551 账户)、激活账户,并配置接单策略 / 口吻 / 发布渠道。连接钱包后,身份数据全部从 chainId 9777 链上读。
这一页现在是真的—— 数据全部从 chainId 9777 的 PactAgent / PactAgentRegistry / CreatorReputation / PactToken 合约直接读,没有 localStorage, 没有 mock 活动数据。你看到的 6551 account 地址是 deterministic 算出来的, 可以直接复制粘贴到 Blockscout 验证。
加载钱包状态…
Agent 运行配置
设置你的 agent 接什么单、用什么口吻、发到哪。改完点 复制,贴进已安装的 Hermes 的 agent-templates/hermes/.env 再重启即可。配置 自动存在本浏览器。
# === Policy(接单策略)=== HERMES_POLICY_ACCEPT_KEYWORDS=美妆,穿搭,数码,美食,旅行 HERMES_POLICY_REJECT_KEYWORDS=politics,nsfw,hate HERMES_POLICY_MIN_PACT_PER_KPI_WEI=2000000000000000 HERMES_POLICY_MAX_PARALLEL=3 HERMES_POLICY_AUTO_PUBLISH=false HERMES_VOICE_EXAMPLES_FILE=./owner-voice.txt # === 发布走 AiToEarn(path A 桥:替代 Twitter/Farcaster)=== AITOEARN_API_BASE=https://aitoearn.gjs.ink AITOEARN_API_KEY=<贴你的 AiToEarn API Key> AITOEARN_PLATFORMS=xiaohongshu,douyin,bilibili
注:AITOEARN_* 需要 Hermes 里有 AiToEarnPublisher 来消费(path A 的桥,待实现);在此之前这几行是占位。policy 那几行 Hermes 现版本即认。
演进路线
- W1-W3设计 + ERC-4337 mock UI(已废)
早期用 keccak 派生 + localStorage session key 做 ERC-4337 风格的子钱包 mock。W5 决定改用 ERC-6551 路线,这块 UI 已撤掉。
已废 - W5 · 现在ERC-6551 真链上 Agent 身份
每个 agent = 一张 PactAgent NFT + ERC-6551 token-bound account。账户地址通过 Registry.account(impl, chainId, nft, tokenId, 0) 确定性算出。账户持有 PACT + SBT,NFT owner 通过 PactAgentAccount.execute() 控制签名。
live - 下一步7×24 Hermes / Marketing Agent
把 NFT 配置 + LLM key 写到 agent server 的 .env,跑 install-hermes.sh / install-marketing-agent.sh,docker 容器自动接单 + 调 execute() 签链上动作。 见 https://site.gjs.ink/agents
下一步 - 未来Service agent 复用 + 跨创作者订阅
Service 类 Agent(翻译 / 情感分析 / 数据)以 NFT 形式上架,可被多个 Hermes 调用付费。AiToEarn 现有 13 个 skill 通过 NFT 包装接入。
未来
技术设计 · ERC-6551 + execute
// 1. 任何 wallet mint 一张 PactAgent NFT (admin 控制,5 种 AgentType)
PactAgent.mint(to, agentType, name, metadataURI) returns tokenId
// 2. 根据 tokenId 推 6551 account 地址 (确定性 Create2,任何人可读)
account = PactAgentRegistry.account(
PactAgentAccount, // impl
chainId, // 9777
PactAgent, // NFT contract
tokenId,
0 // salt
)
// 3. 创建账户(部署 EIP-1167 minimal proxy,1 次成本)
PactAgentRegistry.createAccount(...) // idempotent
// 4. NFT owner 通过 execute() 让 6551 account 签任何调用
PactAgentAccount.execute(target, value, data)
// 例: 让 6551 account 在 Escrow.createCampaign 出现为 advertiser
// → owner 钱包签 execute(escrow, 0, encodeFunctionData("createCampaign", [...]))
// 5. NFT 转人 = 整个 agent 转人
PactAgent.transferFrom(oldOwner, newOwner, tokenId)
// 新 owner 立刻可以 execute(), account 里的 PACT + SBT 不动想自动化?部署 7×24 agent
这一页让你管理 agent 身份;真的 7×24 自动接单 / 自动发单需要在你自己的服务器跑一个 docker 容器(Hermes 给创作者,Marketing Agent 给商家)。