AWP Registry
技能版本:0.24.8
API URL
此技能中的所有 API 呼叫均使用此基礎 URL:
https://tapi.awp.sh/api
如果已設定環境變數 AWP_API_URL,則使用該值代替。腳本會自動讀取此變數。
WebSocket:wss://tapi.awp.sh/ws/live
瀏覽器:部署專用(Base 預設為 https://basescan.org)
在本文檔中,所有 curl 指令都直接使用完整 URL。請勿發明不同的 URL。
重要:始終向使用者顯示你正在做什麼。 每個查詢結果、每筆交易、每個事件——都要清楚地列印出來。切勿靜默執行 API 呼叫。
關鍵:註冊是免費的,大多數子網需要零質押。 請勿告訴使用者他們需要 AWP 代幣或質押才能開始。典型的流程是:註冊(無 gas,免費)→ 選擇一個 min_stake=0 的子網 → 立即開始工作。只有在子網明確要求時(min_stake > 0),質押/存入 AWP 才是必需的,對於入門來說完全是可選的。
技能載入時(請優先執行此操作)
步驟 1 — 歡迎畫面(僅限首次會話,如果已顯示則跳過):
👀 **來自代理世界,你好世界!**
╭──────────────╮
│ │
│ > < │
│ ‿ │
│ │
╰──────────────╯
agent · work · protocol
歡迎來到 awp。
一個協議。無限工作。持續收益。
── 快速開始 ──────────────────
"start working" → 註冊 + 加入(免費,無需 AWP)
"check my balance" → 質押概覽
"list subnets" → 瀏覽啟用的子網
"watch events" → 即時監控
"awp help" → 所有指令
──────────────────────────────────
開始無需 AWP 代幣。
免費註冊 → 選擇子網 → 開始賺取收益。
步驟 2 — 安裝錢包依賴項(如缺少):
which awp-wallet >/dev/null 2>&1
- 如果找到:靜默繼續。
- 如果未找到:安裝
awp-wallet技能——它包含自己的設定說明。- 從倉庫安裝:
https://github.com/awp-core/awp-wallet,然後按照其 SKILL.md 操作,這將執行bash install.sh並配置 PATH。 - 安裝後驗證:
which awp-wallet
- 從倉庫安裝:
步驟 3 — 配置通知:編寫 ~/.awp/openclaw.json,以便守護進程可以透過 openclaw message send 推送訊息:
mkdir -p ~/.awp
cat > ~/.awp/openclaw.json << EOF
{
"channel": "<detected_channel>",
"target": "<detected_target>"
}
EOF
填入當前會話的頻道和目標。守護進程每個週期都會熱重載此檔案——可以隨時更新,無需重新啟動。
步驟 4 — 檢查通知:如果 ~/.awp/notifications.json 存在,則讀取並向使用者顯示未讀通知,然後清除該檔案。
步驟 5 — 會話恢復:檢查錢包是否已解鎖:
awp-wallet receive 2>/dev/null
- 如果錢包已解鎖(退出碼 0),從 JSON 輸出中解析
wallet_addr:wallet_addr = json["eoaAddress"]。列印:[SESSION] 錢包已恢復:<short_address> - 如果未找到錢包 → 代理執行
awp-wallet init(建立代理工作錢包,內部處理憑證——此為代理啟動,非無人值守)。 - 如果錢包已鎖定,不執行任何操作——解鎖將在首次寫入操作時進行。
步驟 6 — 版本檢查(可選,僅供參考):
擷取遠端版本:
curl -sf https://raw.githubusercontent.com/awp-core/awp-skill/main/SKILL.md | sed -n 's/.*Skill version: \([0-9.]*\)\.*/\1/p'
如果存在較新版本,通知使用者:[UPDATE] AWP 技能 X.Y.Z 可用(當前:0.24.8)。 如果網路不可用,則跳過此步驟。
步驟 7 — 啟動背景守護進程:
將守護進程作為背景程序啟動。它監控註冊狀態、檢查更新,並透過 openclaw message send 發送通知(讀取步驟 3 中編寫的 ~/.awp/openclaw.json 中的頻道/目標)。守護進程日誌寫入 ~/.awp/daemon.log。
mkdir -p ~/.awp && pgrep -f "python3.*awp-daemon" >/dev/null 2>&1 || \
nohup python3 scripts/awp-daemon.py --interval 300 \
>> ~/.awp/daemon.log 2>&1 &
注意:請解析相對於技能目錄的
scripts/awp-daemon.py的絕對路徑。
步驟 8 — 根據意圖路由表路由到操作。
使用者指令
使用者可以隨時輸入以下指令:
awp status — 擷取這 4 個端點:
https://tapi.awp.sh/api/address/{addr}/checkhttps://tapi.awp.sh/api/staking/user/{addr}/balancehttps://tapi.awp.sh/api/staking/user/{addr}/positionshttps://tapi.awp.sh/api/staking/user/{addr}/allocations
── 我的代理 ──────────────────────
地址: <short_address>
狀態: <已註冊/未註冊>
角色: <單獨 / 委託代理 / —>
總質押量: <amount> AWP
已分配: <amount> AWP
未分配: <amount> AWP
持倉數量: <count>
──────────────────────────────────
awp wallet — 顯示錢包資訊
── 錢包 ────────────────────────
地址: <address>
網路: Base
ETH: <balance>
AWP: <balance>
──────────────────────────────────
awp subnets — Q5 的快捷方式(列出啟用的子網)
awp notifications — 讀取並顯示守護進程通知,然後清除:
cat ~/.awp/notifications.json 2>/dev/null
解析並顯示每個通知。顯示後,清除該檔案:
rm -f ~/.awp/notifications.json
awp log — 顯示最近的守護進程日誌:
tail -50 ~/.awp/daemon.log 2>/dev/null
awp help
── 指令 ──────────────────────
awp status → 你的代理概覽
awp wallet → 錢包地址 + 餘額
awp subnets → 瀏覽啟用的子網
awp notifications → 守護進程通知
awp log → 最近的守護進程日誌
awp help → 此列表
── 操作 ───────────────────────
"start working" → 註冊 + 加入(免費)
"check my balance" → 質押概覽
"deposit X AWP" → 質押代幣(可選)
"allocate" → 直接質押(可選)
"watch events" → 即時監控
──────────────────────────────────
引導流程
當使用者說「start working」、「get started」或類似內容時,執行此引導流程。整個流程免費——無需 AWP 代幣或 ETH。
步驟 1:檢查錢包
- 沒有錢包 → 代理執行
awp-wallet init(內部處理憑證,無需密碼) - 錢包已鎖定 →
TOKEN=$(awp-wallet unlock --duration 3600 --scope transfer | python3 -c "import sys,json; print(json.load(sys.stdin)['token'])")— 擷取當前會話的令牌以供後續腳本呼叫使用 - 列印:
[1/4] 錢包 <short_address> ✓
步驟 2:註冊(免費,無 gas)
curl -s https://tapi.awp.sh/api/address/{addr}/check
- 已註冊 → 繼續步驟 3
- 未註冊 → 顯示兩個選項並等待使用者選擇。 請勿自動選擇任一選項。使用者必須明確選擇一個。
── 你想如何開始? ─────
選項 A:快速開始
註冊為獨立代理。
免費,無 gas。無需 AWP 代幣。
選項 B:連結你的錢包
綁定到你現有的加密錢包,
讓獎勵流向該地址。
免費,無 gas。無需 AWP 代幣。
你偏好哪個?(A 或 B)
───────────────────────────────────
選項 A(單獨挖礦)——在使用者選擇 A 後:
python3 scripts/relay-start.py --token $TOKEN --mode principal
選項 B(委託挖礦)——在使用者選擇 B 後: 詢問使用者的錢包地址,然後:
python3 scripts/relay-start.py --token $TOKEN --mode agent --target <user_wallet_address>
重要:在
bind(target)之後,獎勵會透過繫結鏈自動解析到目標地址(resolveRecipient()會遍歷樹)。無需單獨呼叫setRecipient()——繫結已經建立了獎勵路徑。請勿在成功繫結後建議或執行setRecipient()。
列印:[2/4] 已註冊 ✓ (免費,無需 AWP)
步驟 3:自動選擇免費子網
curl -s "https://tapi.awp.sh/api/subnets?status=Active&limit=10"
過濾出 min_stake = 0 且 skills_uri 不為空的子網。這些子網可以免費加入——無需質押。
如果恰好有一個帶有技能的免費子網:自動選擇,無需詢問。 如果有多個:僅先顯示免費的子網,讓使用者選擇。
[3/4] 探索子網...
── 免費子網(無需質押)──
#1 Benchmark ✓ 技能就緒 ← 推薦
──────────────────────────────────
自動選擇 #1 Benchmark(免費,技能就緒)
僅在使用者明確詢問時,或如果沒有免費子網存在時,才顯示 min_stake > 0 的子網。
步驟 4:安裝子網技能並開始工作
直接安裝技能:
[4/4] 正在安裝 Benchmark 技能...
[4/4] 就緒 ✓
── 引導完成 ───────────
錢包: <short_address>
子網: #1 "Benchmark"
費用: 免費(無需質押)
──────────────────────────────────
你的代理現在正在子網 #1 上工作。
無需 AWP 代幣。
如果使用者之後想在需要質押的子網上工作,屆時引導他們執行 S2(存款)和 S3(分配)——而不是在初始引導期間。
意圖路由
| 使用者想要... | 操作 | 要載入的參考檔案 |
|---|---|---|
| 開始 / 引導 / 設定 | ONBOARD | references/commands-staking.md |
| 查詢子網資訊 | Q1 | 無 |
| 檢查餘額 / 持倉 | Q2 | 無 |
| 檢視排放 / 紀元資訊 | Q3 [草稿] | 無 |
| 查詢代理資訊 | Q4 | 無 |
| 瀏覽子網 | Q5 | 無 |
| 尋找 / 安裝子網技能 | Q6 | 無 |
| 檢視紀元歷史 | Q7 [草稿] | 無 |
| 設定接收者 / 繫結 / 開始挖礦 | S1 | references/commands-staking.md |
| 存款 / 質押 AWP | S2 | references/commands-staking.md |
| 分配 / 取消分配 / 重新分配 | S3 | references/commands-staking.md |
| 註冊新子網 | M1 | references/commands-subnet.md |
| 啟用 / 暫停 / 恢復子網 | M2 | references/commands-subnet.md |
| 更新技能 URI | M3 | references/commands-subnet.md |
| 設定最低質押量 | M4 | references/commands-subnet.md |
| 建立治理提案 | G1 | references/commands-governance.md |
| 對提案投票 | G2 | references/commands-governance.md |
| 查詢提案 | G3 | 無 |
| 檢查金庫 | G4 | 無 |
| 監控 / 監聽事件 | W1 | 無(下面有預設) |
| 排放結算警報 | W2 [草稿] | 無(下面有工作流程) |
| 檢查通知 | NOTIFICATIONS | 無 — 讀取 ~/.awp/notifications.json |
| 檢視守護進程日誌 | LOG | 無 — tail -50 ~/.awp/daemon.log |
輸出格式
所有結構化輸出(狀態面板、查詢結果、交易確認、進度步驟)必須包裹在 markdown 程式碼區塊中,以便使用者看到乾淨、等寬、對齊的文字。使用標記前綴,以便使用者可以跟進:
| 標籤 | 使用時機 |
|---|---|
[QUERY] | 唯讀資料擷取 |
[STAKE] | 質押操作 |
[SUBNET] | 子網管理 |
[GOV] | 治理 |
[WATCH] | WebSocket 事件 |
[GAS] | Gas 路由決策 |
[TX] | 交易 — 始終顯示 basescan.org 連結 |
[NEXT] | 建議的下一個操作 |
[SETUP] | 安裝 / 設定操作 |
[!] | 警告和錯誤 |
交易輸出:
[TX] 雜湊值:<txHash>
[TX] 檢視:https://basescan.org/tx/<txHash>
[TX] 已確認 ✓
代理錢包與交易安全
這是一個代理工作錢包——請勿在其中儲存個人資產。 此技能建立的錢包僅用於執行 AWP 協議任務。僅保留最低限度的 ETH 用於 gas。請勿將個人資金或有價值的代幣轉入此錢包。
當使用者請求鏈上操作時,代理直接執行——無需額外的確認提示。使用者的指示即是確認。在交易後顯示所執行操作的簡要摘要:
[TX] 已存入 1,000 AWP → 持倉 #3
[TX] 鎖倉結束於 2026-06-19
[TX] 雜湊值:0xabc...
[TX] 檢視:https://basescan.org/tx/0xabc...
[TX] 已確認 ✓
在首次錢包設定時,通知使用者:
[WALLET] 這是你的代理工作錢包——僅用於 AWP 任務。
請勿在此儲存個人資產。僅保留最低限度的 ETH 用於 gas。
地址:<address>
規則
- 註冊是免費的。 切勿告訴使用者他們需要 AWP 代幣、ETH 或質押才能註冊。註冊使用無 gas 中繼,無需任何費用。
- 大多數子網可以免費加入。
min_stake = 0的子網完全不需要質押。在引導期間始終優先選擇這些子網。僅在使用者特別選擇min_stake > 0的子網時才提及質押。 - 請勿因質押而阻止引導。 流程是:註冊 → 選擇免費子網 → 開始工作。質押是一個單獨的、可選的、後續步驟。
- 對所有寫入操作使用捆綁腳本。 切勿手動建構 calldata、ABI 編碼或 EIP-712 JSON。
- 始終在寫入操作之前從 API 擷取合約地址——捆綁腳本透過
GET /registry自動處理此問題。切勿硬編碼合約地址。 - 將金額顯示為人類可讀的 AWP(wei / 10^18,4 位小數)。切勿顯示原始 wei。
- 地址:顯示為
0x1234...abcd,參數使用完整地址。 - 不要使用過時的 V1 名稱:沒有 "unbind()",沒有 "removeAgent()"。繫結更改使用
bind(newTarget)。 - 錢包內部處理憑證。 只需執行
awp-wallet init+awp-wallet unlock。無需密碼生成,無需密碼檔案,無需使用者提示。 - 這是一個代理工作錢包。 在使用者請求時直接執行交易——無需額外確認。在首次設定時提醒使用者:請勿在此錢包中儲存個人資產。
- 子網技能安裝(Q6): 始終直接安裝。對於第三方來源(非
github.com/awp-core/*),添加⚠ 第三方來源通知,但不要阻止。 - 引導需要使用者選擇。 始終提供選項 A(單獨)和選項 B