自动化 qwen-portal OAuth 认证,解决 tmux 交互式 TTY问题,提供监控和恢复工具。
Quen Portal Auth 帮助器.是一项面向实际任务的技能,主要用于Battle 测试的 Quen-Portal OAuth 自动化解决方案;解析“ 互动 TTY 需要” 的问题, 防止 cron 任务失败, 并提供全监视;
该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
经生产环境验证的 qwen-portal OAuth 自动化方案
解决“需要交互式 TTY”问题,防止 cron 任务失败,并提供完整监控能力。
qwen-portal 提供免费模型(每日 2,000 次请求),但其 OAuth 凭据每 1–2 周过期一次。一旦过期:
Qwen OAuth refresh token expired or invalidopenclaw models auth login --provider qwen-portal 执行失败:requires an interactive TTY本技能提供端到端解决方案:
# 推荐方式:通过 ClawHub 安装 clawhub install qwen-portal-auth-helper # 或手动安装 cd ~/.openclaw/skills/ git clone
~/.openclaw/skills/qwen-portal-auth-helper/scripts/get-qwen-oauth-link.sh
输出示例:
🔗 OAuth 链接: https://chat.qwen.ai/authorize?user_code=M17WU0SC 📱 设备码: M17WU0SC
~/.openclaw/skills/qwen-portal-auth-helper/scripts/check-qwen-auth.sh
扫描所有使用 qwen-portal 模型的 cron 任务,报告错误详情,并生成可执行的诊断报告。
# 添加至 crontab(每周一上午 9 点执行) 0 9 * * 1 ~/.openclaw/skills/qwen-portal-auth-helper/scripts/check-qwen-auth.sh
# 传统方式(在自动化环境中会失败): openclaw models auth login --provider qwen-portal # ❌ 错误:需要交互式 TTY # 本方案: ./scripts/get-qwen-oauth-link.sh # ✅ 支持 cron、AI 助手等非交互场景
实现原理:使用 tmux 创建虚拟终端,在命令挂起前捕获并解析输出。
1. 运行:check-qwen-auth.sh → 识别失败任务,显示错误详情 2. 运行:get-qwen-oauth-link.sh → 输出 OAuth 链接与设备码 3. 用户操作:点击链接,在浏览器中完成认证 → 授权将自动完成 4. 验证:openclaw cron run→ 确认认证已生效 5. 重置:使用脚本恢复任务状态 → 任务恢复正常运行
每周一上午 9 点:check-qwen-auth.sh 自动运行 若检测到问题:发送邮件/通知告警 预防性措施:在过期前主动完成重新认证
AI 助手无法提供交互式 TTY。本技能使其能够:
确保定时任务不会因 OAuth 过期而中断:
为团队提供统一方法论:
新 OpenClaw 用户几乎必然遭遇此问题。本技能提供:
# 核心技术实现: tmux new-session -d -s qwen-oauth "openclaw models auth login --provider qwen-portal" sleep 5 tmux capture-pane -t qwen-oauth -p | grep -E "(http|https)://"
真实环境测试关键发现:
https://chat.qwen.ai/authorize?user_code=XXXXXXX&client=qwen-code◑ Waiting for Qwen OAuth approval...)即使认证成功,cron 任务仍可能维持错误状态:
// 修复前:
"state": {"lastStatus": "error", "consecutiveErrors": 10}
// 修复后(需手动重置):
"state": {"lastStatus": "pending", "consecutiveErrors": 0}
本技能内置脚本,支持自动重置此类状态。
# 与 system-maintenance 技能协同 ~/.openclaw/skills/system-maintenance/scripts/daily-maintenance.sh ~/.openclaw/skills/qwen-portal-auth-helper/scripts/check-qwen-auth.sh # 与 agent-team-orchestration 集成 # 将 OAuth 恢复指定为专项团队任务
# 每日轻量检查 0 9 * * * ~/.openclaw/skills/qwen-portal-auth-helper/scripts/check-qwen-auth.sh --quick # 每周全量检查 0 9 * * 1 ~/.openclaw/skills/qwen-portal-auth-helper/scripts/check-qwen-auth.sh --full # 关键问题即时告警(每 30 分钟轮询) */30 * * * * ~/.openclaw/skills/qwen-portal-auth-helper/scripts/check-qwen-auth.sh --alert-only
相同模式适用于存在类似问题的其他服务:
# 1. 定位问题 ./check-qwen-auth.sh # 2. 获取新 OAuth 链接 ./get-qwen-oauth-link.sh # 输出:提供给用户的链接与设备码 # 3. 用户完成认证后验证 openclaw cron run 71628635-03e3-414b-865b-e427af4e804f openclaw cron runs --id 71628635-03e3-414b-865b-e427af4e804f # 4. 如需,重置任务状态 ./scripts/reset-task-state.py 71628635-03e3-414b-865b-e427af4e804f
# 添加周一晨间检查至 crontab crontab -l | grep -q "check-qwen-auth" || echo "0 9 * * 1 ~/.openclaw/skills/qwen-portal-auth-helper/scripts/check-qwen-auth.sh >> ~/.openclaw/logs/qwen-check.log" | crontab - # 查阅周度报告 cat /tmp/qwen-auth-report-*.md | less
当用户反馈新闻类任务失败时: 1. 运行 check-qwen-auth.sh 确认是否为 qwen-portal 认证问题 2. 运行 get-qwen-oauth-link.sh 获取认证链接 3. 向用户提供链接与设备码 4. 引导用户在浏览器中完成认证 5. 通过测试运行验证修复效果 6. 如有必要,重置任务状态
解决方案:脚本中已集成超时控制与主动输出捕获机制
解决方案:正则表达式兼容彩色输出(已内建)
解决方案:提供专用状态重置脚本(已包含)
解决方案:监控脚本支持批量处理
解决方案:周度监控机制可提前捕获风险
本技能开发自 2026-03-09 解决的真实线上问题:
.learnings/ 系统中您有更优解法?或遇到其他 OAuth 提供商的同类问题?
examples/ 目录了解常见场景docs/troubleshooting.md 查看已知问题# 通过 ClawHub 安装 clawhub install qwen-portal-auth-helper # 或直接克隆仓库 cd ~/.openclaw/skills git clone https://github.com/your-username/qwen-portal-auth-helper.git
# 1. 测试脚本可用性 cd ~/.openclaw/skills/qwen-portal-auth-helper ./scripts/get-qwen-oauth-link.sh --test-only ./scripts/check-qwen-auth.sh # 2. 配置监控任务 echo "0 9 * * 1 $(pwd)/scripts/check-qwen-auth.sh" | crontab - # 3. 记录您的 qwen-portal 任务 # 更新 examples/your-tasks.md 中的任务 ID 列表
# 模拟故障场景 openclaw cron run# 验证监控是否捕获异常 ./scripts/check-qwen-auth.sh # 演练恢复流程 ./scripts/get-qwen-oauth-link.sh --dry-run
请牢记:qwen-portal OAuth 每 1–2 周过期一次。
应对策略:周度监控 + 本技能 = 彻底消除意外中断。
技能版本:1.0.0 | 基于 2026-03-09 生产环境实测经验
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.6万人学习
共89课时 | 133.4万人学习
共49课时 | 82.2万人学习