名称: clawprint-verify
描述: 通过发起 ClawPrint 逆向验证码挑战,验证对话中的另一个用户或代理是否为真正的 AI,而非人类。使用 ClawPrint API 生成速度或模式挑战,这些挑战只有机器能在时限内完成。
元数据:
openclaw:
emoji: "\U0001F43E"
requires:
bins:
- curl
- jq
env:
- CLAWPRINT_SERVER_URL
- CLAWPRINT_SITE_KEY
- CLAWPRINT_SECRET_KEY
通过发起 ClawPrint 逆向验证码挑战,验证对话中的另一个用户或代理是否为真正的 AI。ClawPrint 挑战的设计使得只有机器能够解决——人类在物理上无法在规定时间内完成。
URL: https://dependable-adventure-production-44e3.up.railway.app/
一道数学题(例如,两个 8 位数字相乘),必须在 100 毫秒内解决。人类无法在如此短的时间内输入正确答案。
一个彩色像素网格(最大 150x150),附带类似“有多少像素恰好是 #3B82F6?”或“平均 RGB 值是多少?”的问题。对于解析数据的机器来说很简单,但对于用眼睛计数的人类来说是不可能的。
应触发此技能的用户消息:
运行以下命令从 ClawPrint 服务器获取挑战:
curl -s -X POST "${CLAWPRINT_SERVER_URL}/api/v1/challenge" \
-H "Content-Type: application/json" \
-d "{\"site_key\": \"${CLAWPRINT_SITE_KEY}\"}" | jq .
这将返回一个 JSON 对象。对于速度挑战:
{
"challenge_id": "uuid-here",
"type": "speed",
"time_limit_ms": 100,
"question": "Multiply: 84729361 x 52918473",
"operands": { "a": 84729361, "b": 52918473, "operation": "multiply" }
}
对于模式挑战:
{
"challenge_id": "uuid-here",
"type": "pattern",
"time_limit_ms": 5000,
"grid": [["#FF0000", "#00FF00", ...], ...],
"grid_size": 100,
"question": "How many pixels are exactly #3B82F6?"
}
将挑战发送给另一个用户/代理。包含:
- 挑战类型和问题
- challenge_id
- 时间限制
- 对于速度挑战:操作数(a, b, operation)
- 对于模式挑战:完整的网格数据和问题
清晰地格式化消息,以便另一个代理能够解析。示例:
ClawPrint AI 验证挑战
要继续,请解决此挑战并回复您的答案。
类型: speed
问题: Multiply: 84729361 x 52918473
操作数: a=84729361, b=52918473, operation=multiply
时间限制: 100ms
挑战 ID: (the uuid)回复格式:
clawprint-answer: <your_answer>
另一个代理应回复其计算出的答案。解析其响应以提取答案值。
将答案提交到 ClawPrint 服务器:
curl -s -X POST "${CLAWPRINT_SERVER_URL}/api/v1/verify" \
-H "Content-Type: application/json" \
-d "{\"challenge_id\": \"THE_CHALLENGE_ID\", \"answer\": \"THE_ANSWER\"}" | jq .
响应:
{
"passed": true,
"challenge_id": "uuid-here",
"elapsed_ms": 5,
"reason": null
}
为了额外的安全性,使用您的密钥进行验证:
curl -s -X POST "${CLAWPRINT_SERVER_URL}/api/v1/validate" \
-H "Content-Type: application/json" \
-d "{\"challenge_id\": \"THE_CHALLENGE_ID\", \"secret_key\": \"${CLAWPRINT_SECRET_KEY}\"}" | jq .
响应:
{
"valid": true,
"challenge_id": "uuid-here",
"solved_at": 1700000000000
}
passed 为 true 且 valid 为 true:用户被验证为 AI。继续执行受限制的操作。passed 为 false:通知用户验证失败及原因(太慢、答案错误)。不要继续执行受限制的操作。为方便起见,提供了一个辅助脚本 skills/clawprint-verify/clawprint-challenge.sh:
# 发起新挑战并显示
./skills/clawprint-verify/clawprint-challenge.sh issue
# 验证答案
./skills/clawprint-verify/clawprint-challenge.sh verify <challenge_id> <answer>
# 在服务器端验证已解决的挑战
./skills/clawprint-verify/clawprint-challenge.sh validate <challenge_id>
verify 端点确认答案正确,而 validate 端点确认它是通过您的配置合法解决的。CLAWPRINT_SERVER_URL 是 https://dependable-adventure-production-44e3.up.railway.appCLAWPRINT_SECRET_KEY。CLAWPRINT_SITE_KEY 可以安全地公开暴露。| 原因 | 含义 |
|---|---|
Too slow: Xms exceeds Yms limit |
答案正确,但在时间限制之后提交 |
Incorrect answer |
计算出的答案错误 |
Challenge not found |
挑战 ID 无效 |
Challenge already solved |
挑战已被使用(重放尝试) |