登录与账号
使用 CodeDAG 为什么需要登录、怎样登录和登出,以及 CodeDAG 服务会收到你的哪些数据。
使用 CodeDAG 需要登录一个 CodeDAG 账号:用 Google 账号在浏览器里登录,第一次登录时账号随之创建。登录只用来确认是哪个账号在提交工作流、这个账号还剩多少额度,工作流仍在你自己的电脑上执行;CodeDAG 服务只收到计算额度所需的工作流文件和少量环境信息,收不到你的代码和日志。
为什么需要登录
CodeDAG 按任务数消耗 CodeDAG 额度,登录用来确认是哪个账号在提交工作流、这个账号还剩多少额度。工作流本身仍然在你自己的电脑上执行,登录不会把执行搬到云端。
只有下面三个命令需要登录:
| 命令 | 为什么需要登录 |
|---|---|
cdg init | 在一个仓库里开始使用 CodeDAG 时确认账号。 |
cdg dag submit | 提交时核对额度是否足够;工作流开始执行时,再按任务数扣除额度。 |
cdg auth status | 查看当前登录的账号、订阅状态和额度用量。 |
这三个命令发现还没有登录时,会先带你完成登录,再接着执行原来的命令,所以第一次使用前不必专门运行 cdg auth login。
登录
cdg auth login命令会在这台电脑上打开浏览器,目前只支持用 Google 账号登录。第一次用某个 Google 账号登录时,CodeDAG 会同时为它创建账号,新账号注册即送免费额度,数量和有效期见免费额度。如果这个浏览器已经登录了 CodeDAG 网页控制台,登录会直接沿用网页上的账号。
登录没有完成时
登录超时、在浏览器里取消,或者连不上 CodeDAG 服务时,重新运行一次即可。如果这次登录是由 cdg init 或 cdg dag submit 触发的,原命令也会随之退出,不会创建 .codedag,也不会把工作流加入队列。反复失败时,按故障排除中的登录问题排查。
没有桌面浏览器时
在 SSH 远程会话、容器或没有图形界面的服务器里,目前无法登录,需要登录的 cdg init 和 cdg dag submit 也就无法使用。
原因在于登录的方式:你在浏览器里完成登录后,浏览器要把结果交回这台电脑上正在等待的 CLI,所以浏览器和 CLI 必须在同一台电脑上。下面两种变通办法都行不通:
- 把登录链接拿到另一台电脑上打开。 那台电脑上的浏览器找不到等待结果的 CLI,登录完成不了。
- 在另一台电脑上登录,再把凭证复制过来。 复制出去的凭证一旦被使用,这个账号在所有电脑上的 CLI 登录都会被作废。
在远程服务器这类没有浏览器的环境里登录和使用 CodeDAG,已列入后续版本的规划。
登录状态能保持多久
这台电脑上的登录状态有效期是 90 天,提交工作流、查看账号状态时都会重新从 90 天算起,所以常用的电脑基本不需要重新登录。
失效之后,需要登录的命令会像第一次那样请你登录;排队中还没开始的工作流轮到执行时会停在 on-hold,重新登录后执行 cdg dag recover <名字> 即可继续。
登出、多台电脑与切换账号
cdg auth logout登出只退出这台电脑上的 CLI 登录。CLI 与网页控制台(app.codedag.com)的登录互相独立:在网页上退出不会让 CLI 退出,CLI 登出也不影响网页和其他电脑。
每台电脑都要各自登录一次,同一个账号的所有电脑共用一份额度。登录状态不能靠复制凭证在电脑之间共用:复制出去的凭证一旦被再次使用,这个账号在所有电脑上的 CLI 登录都会被作废,需要逐台重新登录。
要换一个账号,先运行 cdg auth logout,再运行 cdg auth login 并选择另一个 Google 账号;如果浏览器里的网页控制台还登录着原来的账号,先在网页上退出,否则登录会直接沿用它。
登出和切换账号都不影响已经开始执行的工作流。排队中还没开始的工作流,要等轮到执行时才使用这台电脑的登录状态:那时如果没有登录,或者登录的不是提交它的账号,它会停在 on-hold;重新登录或切回原账号后,执行 cdg dag recover <名字> 即可继续。
你的数据边界
工作流在你的电脑上执行,CodeDAG 服务只接收计算额度所需的工作流文件和少量环境信息,不接收你的代码和日志。
除了登录和查询账号时交换的账号信息,CLI 只在提交工作流和工作流开始执行时向 CodeDAG 服务发送数据,内容是:
- 工作流文件的完整内容,以及它在仓库中的相对路径和文件格式;
- 本次要执行的任务 ID;
- CLI 版本、操作系统和处理器架构。
工作流文件的内容和路径只用来计算这一次的额度,算完立即丢弃,CodeDAG 服务不保存。留在扣费记录里的只有任务 ID、CLI 版本、操作系统和处理器架构,以及文件内容的一段校验值,校验值无法还原出文件内容。
仓库里的代码和其他文件、任务的运行日志、任务 Agent 的会话内容与产出,都留在你的电脑上,不会发给 CodeDAG。任务执行时,Claude Code 或 Codex 会像你平时直接使用它们一样,把代码和上下文发给它们各自连接的模型服务;这部分数据不经过 CodeDAG,按对应服务的条款处理。
prompt 是工作流文件的一部分,会随文件一起上传。如果任务需要用到密钥、内部地址这类不宜外传的信息,可以把它们放在本机的文件里,在 prompt 中写明让 Agent 读取哪个文件,这样上传的只有文件路径,不包含文件内容。
CodeDAG 会记录你所用 Google 账号的姓名、邮箱和头像,用来标识你的账号。完整的数据处理说明见隐私政策。
服务不可用时
CodeDAG 服务暂时连不上时,不需要登录的命令和已经在执行的工作流通常照常工作;在已经登录的电脑上,cdg init 也能照常初始化。受影响的是下面几项:
cdg auth login和cdg auth status会失败。cdg dag submit会失败,工作流不会进入队列,服务恢复后重新提交即可。- 排队中的工作流轮到执行时无法扣除额度,会停在
on-hold,原因显示为startup-gate-blocked;服务恢复后执行cdg dag recover <名字>,它会扣除额度并开始执行。
已经在执行的工作流,如果在服务中断期间因电脑重启等原因需要恢复执行,也会停在 on-hold,处理方法相同。
最后更新