美团C端用户Agent认证工具
v1.0.8美团C端用户Agent认证工具,为需要美团用户身份的Skill(如发券、查订单等)提供手机号验证码登录认证,管理用户Token,实现“一次认证、持续有效”。当其他Skill需要校验用户身份、获取用户Token时,作为前置认证模块调用。触发词:美团登录、用户认证、手机号验证、发送验证码、获取Token、切换账号。
运行时依赖
安装命令
点击复制技能文档
美团C端用户认证工具 环境准备 macOS: PYTHON=~/Library/Application\ Support/xiaomei-cowork/Python311/python/bin/python3 SCRIPT="$CLAUDE_CONFIG_DIR/skills/meituan-c-user-auth/scripts/auth.py" Windows(Git Bash): PYEXE="$(cygpath "$APPDATA")/xiaomei-cowork/Python311/python/python.exe" SCRIPT="$CLAUDE_CONFIG_DIR/skills/meituan-c-user-auth/scripts/auth.py" # 后续命令将 $PYTHON 替换为 "$PYEXE" Linux / 其他 Agent 环境: # 使用系统 Python 3(或自定义路径) PYTHON=python3 SCRIPT="$CLAUDE_CONFIG_DIR/skills/meituan-c-user-auth/scripts/auth.py" # 如需自定义 Token 存储路径(沙箱/隔离场景): export XIAOMEI_AUTH_FILE=/tmp/my_auth_tokens.json $CLAUDE_CONFIG_DIR 在 macOS 路径含空格,SCRIPT 变量赋值和使用时均需加双引号。 时区检查(必须执行) 本 Skill 调用的所有接口均以北京时间(UTC+8)为准。 # 检查本地时区 date +%Z 处理规则: 如果时区已是 CST / Asia/Shanghai / UTC+8 → 直接使用系统时间,无需转换 如果时区是 UTC 或其他时区 → 处理所有命令时需将时间转换到北京时间(UTC+8)再使用 命令一览 命令 说明 是否调用远程接口 version-check 检查本地 Skill 版本,与广场版本对比 本地为主,有远程源时才请求 terms-check 检查用户是否已接受服务协议 本地只读 terms-accept 用户接受服务协议 本地操作 terms-decline 用户拒绝服务协议 本地操作 status 本地检查 Token 是否存在 本地只读 token-verify 调用服务端校验 Token 真实有效性 调用接口 send-sms --phone <手机号> 发送短信验证码 调用接口 verify --phone <手机号> --code <验证码> 验证验证码,写入 Token 调用接口 logout 退出登录,user_token 置空(保留 device_token) 本地操作 版本检查(每次对话首次使用时执行) 每次对话中第一次使用本 Skill 时执行,同一对话内无需重复。 实现原理:通过 WebFetch 访问 clawhub.ai 上的公开版本页面,从页面内容中提取 version: 字段,再传给脚本进行对比。 步骤一:获取远程版本号 # 使用 WebFetch 工具访问以下 URL,提取页面中 version 字段 # URL: https://clawhub.ai/meituan-zhengchang/meituan-c-user-auth 从返回内容中找到 version: "x.y.z" 或 "version": "x.y.z" 字段,提取版本号(如 1.0.0-SNAPSHOT)。若页面无法访问或未找到版本字段,跳过版本对比。 步骤二:调用脚本进行版本对比 # 将上一步提取到的远程版本号通过 --remote 参数传入 $PYTHON "$SCRIPT" version-check --remote <远程版本号> # 示例: $PYTHON "$SCRIPT" version-check --remote "1.0.0-SNAPSHOT" # 若上一步获取失败,不传 --remote,脚本会静默跳过对比 $PYTHON "$SCRIPT" version-check 处理逻辑: up_to_date: true → 继续执行,无需提示 up_to_date: false → 提示用户: 本地 Skill 版本较旧(当前 x.y.z,最新 a.b.c),建议前往以下地址更新以获取最新能力: https://clawhub.ai/meituan-zhengchang/meituan-c-user-auth 继续使用旧版本也可正常登录。 up_to_date: null(未传入远程版本)→ 静默跳过,不影响正常流程 服务协议确认(每次调用前必须检查) 法律合规要求:在使用本 Skill 的任何功能前,必须确认用户已阅读并接受《美团用户服务协议》和《隐私政策》。 协议链接: 《美团用户服务协议》:https://rules-center.meituan.com/rule-detail/4/1 《隐私政策》:https://rules-center.meituan.com/m/detail/guize/2 协议检查命令 # 检查用户是否已接受协议 $PYTHON "$SCRIPT" terms-check 返回结果: terms_accepted: true → 用户已接受,可继续使用认证流程 terms_accepted: false → 用户未接受,需要引导用户阅读并确认 协议未接受时的处理流程 ┌────────────────────────────────────────────────────────────────────────────┐ │ 用户未接受协议时,引导完成协议确认: │ │ │ │ 1. 展示官方声明与协议确认(必须使用以下原文,不得修改表述样式或内容): │ │ │ │ │ │ 本 Skill 由美团官方开发并提供,请您放心使用。继续使用本 Skill 即表示您已阅读并同意《美团用户服务协议》和《隐私政策》的全部内容,并自愿接受该等规则的约束。 │ │ │ │ │ │ 如果同意请输入您的手机号,我来为您发送验证码完成美团账号认证。 │ │ │ │ │ │ 2. 用户输入'查看全文'时: │ │ 使用系统默认浏览器打开完整协议内容: │ │ https://rules-center.meituan.com/rule-detail/4/1 │ │ → 打开完成后重新询问是否同意 │ │ │ │ │ │ 3. 用户接受后(直接输入手机号): │ │ $PYTHON "$SCRIPT" terms-accept │ │ → 用户输入手机号即视为同意,跳过询问直接发送验证码 │ │ │ │ │ │ 4. 用户明确拒绝后执行: │ │ $PYTHON "$SCRIPT" terms-decline │ │ → 告知用户无法使用服务,结束对话 ┘ └────────────────────────────────────────────────────────────────────────────┘ 注意事项 《美团用户服务协议》链接:https://rules-center.meituan.com/rule-detail/4/1 《隐私政策》链接:https://rules-center.meituan.com/m/detail/guize/2 展示协议部分时必须使用原文,不得修改表述样式或内容 重要:用户接受协议后,terms_accepted 状态会持久化存储在本地 Token 文件中, 同一设备后续调用无需重复确认。如需撤销接受,可使用 terms-decline 命令。 标准认证流程(每次调用必须按此步骤执行) ┌──────────────────────────────────────────────────────────────────┐ │ 第一步(协议检查):检查服务协议确认状态 │ │ │ │ $PYTHON "$SCRIPT" terms-check │ │ ├── terms_accepted: true │ │ │ → 进入第二步(Token 校验) │ │ └── terms_accepted: false │ │ → 执行协议确认流程(见上文) └──────────────────────────────────────────────────────────────────┘ ↓ ┌──────────────────────────────────────────────────────────────────┐ │ 第二步(Token 校验):调用远程接口校验 Token │ │ │ │ $PYTHON "$SCRIPT" token-verify │ │ ├── valid: true → 告知用户已登录 │ │ │ (手机号 phone_masked) │ │ │ 返回 user_token,流程结束 │ │