用途:该技能只负责 dreamina-canvas CLI 的认证状态管理,不生成、引用或提交任何内容,仅处理登录、状态检查、刷新、登出与配置文件隔离。
主要能力:提供 auth login、auth wait、auth refresh、auth logout、auth status、auth account 等认证操作,并支持通过 --profile 隔离不同环境的凭据与画布上下文。
关键区分:auth status 只检查本地是否存在未过期令牌,不联系服务器,不能单独作为登录依据;auth account 会询问服务器当前认可的身份,是判断是否登录的唯一权威检查。常见故障是本地令牌看似有效但已被服务器撤销,此时 CLI 返回退出码 11(requiredAction: login),需重新登录并用相同 projectId、submitId、nodeId 重试原命令。
使用方式:TTY 下执行 dreamina-canvas --format json auth login --profile <name> 会阻塞直到用户完成浏览器授权;非 TTY(脚本或智能体)下同一命令返回可恢复的 challenge,其中包含设备码,不要在此循环,应交给人工处理,再用 dreamina-canvas --format json auth wait --device-code <code> --timeout 10m 继续等待,--timeout 默认 10 分钟,设为 0 则只轮询一次。auth refresh 仅在凭据仍处于刷新窗口时调用,不要投机性刷新;auth logout 幂等,海外版本会先服务端撤销再删除本地凭据。配置文件名称只能包含字母、数字、点、下划线和连字符,建议每个隔离环境(工作、个人、CI)使用一个配置文件。
适用场景:任何可能需要凭据的命令之前(用 auth account 确认)、命令返回退出码 11 或 12 时、切换隔离配置文件时、用户明确要求登录登出或刷新凭据时。
限制:不用于安装或升级 CLI 本身;不运行付费命令;不持久化、记录或回显 OAuth 令牌、cookie、签名 URL 等凭据材料;不对退出码 12(权限拒绝)自动重试,需人工处理;调用需已确认安装 dreamina-canvas 并获得用户对交互式登录或浏览器授权的同意。