Repository navigation
Releases: Roins-hub/dola-pool
Release list
v2.5.0 — 严格 Cookie 浏览器隔离
v2.5.0 增加可选的 Dola Cookie 浏览器环境:使用 CloakBrowser 持久 profile,减少同一账号在浏览器与纯 API 之间混用,同时补齐 710022002 限流退避处理。本版也包含 v2.4.2 的管理面板搜索功能。
主要更新
DOLA_COOKIE_RUNTIME=cloak:Dola Cookie 账号使用各自的accounts/<账号>/cloak-profile/。默认仍为pure;豆包账号保持原纯 API 路径。- Cookie 导入勾选“跳过在线验证”时,严格模式只保存会话材料;先绑定账号代理,再点击“验证”,让首次访问使用正确的出口。
- 已有 Cookie 状态可初始化到新的浏览器 profile;跳过纯 API“你好”探活,浏览器不可用时不静默回退纯 API。
- 浏览器路径收到
710022002时执行账号/出口退避;严格模式默认启用同出口互斥、关闭自动 IP 轮换。 - Linux 一键部署及 Windows/macOS/Linux 本地启动支持安装可选 CloakBrowser wrapper。
- 管理面板各页增加搜索,任务和视频支持搜索整个历史;搜索结果下的批量操作跟随可见结果。
- 更新 README、USAGE、配置示例和 CHANGELOG,服务版本更新到
2.5.0。
安装与升级
一键脚本部署:
curl -fsSL https://github.com/Roins-hub/dola-pool/releases/download/v2.5.0/install.sh | sudo DOLA_VERSION=v2.5.0 bash本地使用:下载附件 dola-pool-2.5.0.zip,解压后运行 start-local.bat(Windows)或 bash start-local.sh(macOS/Linux)。
启用可选浏览器模式
在服务使用的 dola.env 中设置,确认当前任务结束后重启服务:
DOLA_COOKIE_RUNTIME=cloak
DOLA_PURE_API=1
DOLA_CLOAK_HEADLESS=0
CLOAKBROWSER_CACHE_DIR=/opt/dola-pool/.cloakbrowser
DOLA_ISOLATE_SHARED_EGRESS=1
DOLA_EGRESS_THROTTLE_ROTATE=0
DOLA_EGRESS_THROTTLE_MIN_ACCOUNTS=1
DOLA_MIN_SUBMIT_INTERVAL_SECONDS=15手动部署需要安装 deploy-cloak-requirements.txt;已有 Dola Cookie 账号也会受该全局开关影响,建议先在独立实例用一个账号试运行。不要在运行中的任务之间切换后端。
浏览器模式需要桌面环境或 Xvfb。标准 Docker 镜像依然只包含纯 API 运行环境,不包含 CloakBrowser 内核;CloakBrowser 二进制从其官方渠道下载,受其独立许可证和并发席位约束,不随本项目重新分发。
验证与范围
本地 Python 语法、Git 差异检查和 53 条 Cookie/代理/账号池/搜索回归测试通过。完整测试与 Docker 构建结果见本次提交的 GitHub Actions。尚未使用真实 Dola Cookie 验证新浏览器模式的出片效果;环境隔离不能保证消除上游限流。
v2.4.1 — 豆包号 · 豆包生图 · 重启不重复提交
本版汇总 v2.2.4 → v2.4.1 的全部更新(2.2.5 ~ 2.4.0 未单独发布)。重点三件事:号池支持豆包(doubao.com)的号、豆包生图(Seedream)、服务重启不再重复提交已受理的任务。
🚀 安装 / 升级
# 新装或升级(一键脚本部署的,重复执行即升级,配置/账号/数据库/视频全部保留)
curl -fsSL https://github.com/Roins-hub/dola-pool/releases/latest/download/install.sh | sudo bash
# git 部署的
git pull && sudo systemctl restart dola-pool升级需要重启服务。2.2.8 起重启不会再把已提交给上游的任务重新提交(会接着等原会话出片),但还是建议挑没有任务在跑的时候升级。
✨ 主要更新
豆包(doubao.com)号(2.3.0 / 2.3.1)
dola.com 是豆包的海外版,网页接口同一套,号池现在两种号可以混着放,按模型名自动分派、互不串号:
| 模型 | 派给 | 时长 |
|---|---|---|
seedance-2.0 / seedance-2.5 |
dola 号(和以前一样) | 不变 |
doubao-seedance-2.0-mini / -2.0-fast |
豆包号(免费号、会员都能用) | 4~15 秒任意整数 |
doubao-seedance-2.0 / -2.5 |
豆包会员号 | 2.0 到 15 秒,2.5 到 30 秒(原生,不拼接) |
- 导入:在面板「批量添加 → Cookie 头 / JSON」粘贴 doubao.com 的 Cookie。JSON 自动识别站点,Cookie 头格式选「豆包 doubao.com」。豆包号不需要日本 / 韩国代理。
- 豆包会先回「请先确认参数」:号池核对时长、模型一致才自动回「确认生成」,不一致不确认(不扣额度)。
- 免费额度用完时豆包问「是否使用付费额度」:
DOUBAO_ALLOW_PAID=1(默认)自动确认,0则当天不再用这个号。 - 免费号请求 2.0 / 2.5 时豆包会提议「改用 Mini」:号池绝不确认,把这个号记为免费号、换会员号重派。
- 水印:豆包的「AI 生成」明水印是官方的按号设置。
DOUBAO_AUTO_NO_WATERMARK=1(默认)时号池用官方设置接口替号关掉,再走官方无水印下载接口。关掉明水印后,内容公开发布时需由发布方自行标注「AI 生成」。 - new-api 插件的官方名(
doubao-seedance-2-0-260128等)不受影响,照旧走 dola。
豆包生图(2.4.0)
- 新接口(OpenAI 兼容、同步返回):
POST /v1/images/generations、POST /v1/images/edits(图生图 / 改图,multipart 上传或 JSON 传图片 URL)。 - 模型:
doubao-seedream-5.0-flash/-5.0-pro/-4.5/-4.0,只派给豆包号。 size(如1536x1024)或ratio(如16:9)自动换成支持的最接近比例;2K 分辨率(16:9 实测 2720×1520),约 20 秒一张。- 失败自动换号;上游审核拒绝不换号,直接返回原因。
服务重启 / 超时(2.2.5 / 2.2.8)
- 重启不再重复提交:已经提交给 dola 的任务重启后接着等原会话出片(只查询、不提交),不会多扣点、多出片。
- 出片等待上限跟着 dola 的预计动态调整:dola 说「预计等待 X」就最多等 X × 1.5 + 30 分钟(封顶 6 小时),中途改口就顺延。
- 30 秒单每次出片最多等 2 小时(
DOLA_30S_TIMEOUT_MAX)。
面板(2.2.6 ~ 2.2.11)
- 任务「排队中」会写明在等什么(出口被限流 / 号都在出片 / 余额不够 / 换号原因,含 dola 原话)。
- 代理、任务、用户、API 密钥页都支持勾选、全选、批量删除。
- 「快捷添加代理」支持动态 IP(节点池 / 隧道网关),添加后可自动探测出口是不是日本 / 韩国。
- 账号页的出口共用提醒折叠成一行;红色的「出口正被限流」仍逐条显示。
- Ark 接口放开 21:9。
Docker(2.4.1)
- 新增
Dockerfile、docker-compose.yml:纯 API 镜像(不带浏览器),数据都在./data。 - 预构建镜像暂未发布:先把
docker-compose.yml里的image:换成build: .,再docker compose up -d --build本地构建(详见 README「Docker 部署」)。
⚙️ 新增配置(都有默认值,不改也能用)
| 变量 | 默认 | 说明 |
|---|---|---|
DOUBAO_ALLOW_PAID |
1 |
豆包免费额度用完后是否自动走付费额度 |
DOUBAO_AUTO_NO_WATERMARK |
1 |
豆包号没关「AI 生成」明水印时自动替它关 |
DOUBAO_DAILY_LIMIT |
999 |
豆包号每天最多派几条(兜底) |
DOLA_IMAGE_TIMEOUT |
240 |
生图请求最多等多久(秒) |
DOLA_WAIT_FACTOR / DOLA_WAIT_MARGIN_SECONDS / DOLA_WAIT_HARD_MAX |
1.5 / 1800 / 21600 |
按 dola 预计动态放长出片等待 |
DOLA_30S_TIMEOUT_MAX |
7200 |
30 秒单每次出片最多等多久(秒) |
完整变更见 CHANGELOG.md。
v2.2.4 — 强开30 秒· 按时长记账 · 限流自动暂停
本版汇总 v2.1.6 → v2.2.4 的全部更新(2.1.7 ~ 2.2.3 未单独发布)。重点三件事:30 秒重新可用(只扣 2 点)、按 dola 的新价目表记账派号、被限流的号自动暂停。
🚀 安装 / 升级
# 新装或升级(一键脚本部署的,重复执行即升级,配置/账号/数据库/视频全部保留)
curl -fsSL https://github.com/Roins-hub/dola-pool/releases/latest/download/install.sh | sudo bash
# git 部署的
git pull && sudo systemctl restart dola-pool升级需要重启服务。重启前最好确认没有正在生成的任务(面板「任务列表」里没有「生成中」),也没有正在添加的账号。
想要 30 秒:在 dola.env 里加一行 DOLA_30S_MODE=pair,然后重启服务(默认 reject 会直接拒绝 30 秒请求)。
✨ 主要更新
30 秒(2.1.8 → 2.2.4)
dola 收到 30 秒请求时会回「视频生成目前支持 4 到 15 秒,我将按最接近的支持时长 15 秒生成,将消耗 2 个视频生成额度」——这句话不准。2026-10-14 实测 4 单:dola 嘴上都说 15 秒,实际成片都是 30.08 秒(24fps、正常速度),每单只扣 2 点。旧版本信了这句话,等 10 分钟就判失败(issue #4)。
- 新增
DOLA_30S_MODE:reject(默认,受理时直接 422 说明原因)/pair(推荐)/native(原样提交的旧行为)。 pair= 先原样请求一次 30 秒,只认下载下来的真实时长:- ≥27 秒 → 直接交付,只扣 2 点(一个满额号一天能出 2 条 30 秒);
- 只出了 ~15 秒 → 自动补一次「后半段」,本地 ffmpeg 拼成 30 秒(共 4 点,补之前先查余额);
- 不到 13 秒 → 直接失败,不换号白烧额度。
- 任何一段出满 30 秒都直接交付,绝不会拼成 60 秒。
- dola 反问时自动回话:dola 有时会问「是否按 15 秒生成?请回复:确认生成」/「A 还是 B」,不回话它就一直不出片。现在会在同一个会话里自动回「确认生成」;已经播报扣点的回复不会再回(免得被当成新请求再扣一次)。能识别中英混排的说法。
- 30 秒单的整单超时放宽到能等两次出片;dola 说「预计等待 1 小时」时会一直等。
- 30 秒只派给 Cookie 导入的号(纯 API);没有这样的号可派时立即失败并说明原因(以前会静默排队到超时)。
按「模型 + 时长」记账派号(2.1.9 / 2.2.0)
dola 现在按模型 + 时长报价扣额度,免费号每日 4 点:
| 5 秒 | 10 秒 | 15 秒 | 30 秒(请求 30) | |
|---|---|---|---|---|
| seedance-2.5 | 2 | 4 | 12 | 2 |
| seedance-2.0 | 1 | 2 | (外推 3) | — |
- 派号看余额:一单要几点,就只派给剩余 ≥ 几点的号;贵的单满额号优先,余额够的半额号也能接。
- 2.5 的 15 秒(12 点)超过每日额度,受理时直接 422,并建议改用 seedance-2.0 或更短时长。
- dola 嫌贵拒绝不再锁号:「需要消耗 N 个,今日剩余 M 个,无法生成」时 dola 没扣点,余额按回复校正为 M,还够便宜单就继续用。
- 号池里没有号付得起这一单 → 立即失败说明原因;能接单的号都在出片 → 排队等它空出来(不再 15 秒就误报「无可用账号」)。
扛住上游限流(2.1.7)
- 吃到
710022002 当前服务访问频繁的号自动暂停:进【异常】组,30 分钟 → 1 小时 → 2 小时 → 4 小时 → 8 小时递增,到期自动恢复,「你好探测」通过可提前恢复;仍不判风控。所有号都被暂停时任务立刻报原因,不再转圈到超时。 - 单个号被限流不再连累同出口的其它号:要 2 个不同的号在 10 分钟内被拒才判整个出口 IP 被限。
- 带用户名密码的 socks5 代理支持 Google 登录号(新增
socks_relay.py本机中转;Chromium 本身不支持 socks5 鉴权)。
管理面板
- 任务列表显示 dola 的原话(「本次使用 Seedance 2.5 生成…预计等待 45 分钟」),换过号时每个号的回复都保留、可折叠;倒计时改用 dola 的预计等待。
- 添加账号后立刻显示:以前新号要等加号任务整个跑完才出现(Cookie 导入要在线验证、Google 登录要 1~3 分钟,且一次只跑一个),面板像「点了没反应」。现在第 1 页顶部立刻出现「加号中 Ns」占位行和当前阶段(排在谁后面 / 导入验证 / Google 登录中),每 2 秒刷新。
- 「测试生成」加保护提醒:号在风控 / 异常 / 出口被限流 / 没绑代理 / 今日额度不够时先弹确认框列出原因(测试生成会消耗真实额度)。
- 「批量添加 → Cookie 头文本」弹窗里加了可展开的「怎么获取 Cookie?」。
文档
- 新增
COOKIE.md:怎么从浏览器导出 dola 账号的 Cookie(Cookie-Editor 插件 / 开发者工具 / 导多个号 / 常见问题)。 - README / USAGE / API 更新了时长价目表和 30 秒说明。
⚙️ 配置变更
| 变量 | 变化 | 说明 |
|---|---|---|
DOLA_30S_MODE |
新增,默认 reject |
pair = 30 秒先原样请求、短了补后半段拼接(推荐);native = 原样提交 |
DOLA_PAIR_SEGMENT_SECONDS |
新增,默认 30 |
pair 模式每次向 dola 请求的时长 |
DOLA_PAIR_MIN_SEGMENT_SECONDS |
新增,默认 13 |
落地短于这个秒数直接失败 |
DOLA_DURATION_COSTS |
新增 | 覆盖时长价目表,格式 seedance-2.5:5=2,10=4,15=12;seedance-2.0:10=2 |
DOLA_THROTTLE_ACCOUNT_COOLDOWN_SECONDS |
新增,默认 1800 |
号被限流后的首次暂停时长(0 = 关闭) |
DOLA_THROTTLE_ACCOUNT_COOLDOWN_MAX_SECONDS |
新增,默认 28800 |
连续被限流时暂停时长的上限 |
DOLA_THROTTLE_ACCOUNT_STREAK_RESET_SECONDS |
新增,默认 86400 |
距上次被限流超过这么久,连续次数清零 |
DOLA_EGRESS_THROTTLE_MIN_ACCOUNTS |
新增,默认 2 |
几个不同的号被拒才判整个出口被限流 |
DOLA_EGRESS_THROTTLE_WINDOW_SECONDS |
新增,默认 600 |
上一条的统计窗口 |
DOLA_30S_CAP_GRACE_SECONDS |
新增,默认 600 |
仅 native 模式:dola 说只支持 4~15 秒后最多再等多久 |
DOLA_ALLOW_30S_PAIR |
旧变量 | 没设 DOLA_30S_MODE 时 1 等同 pair |
新变量都有默认值,不改 dola.env 也能直接用(30 秒默认是拒绝)。
⚠️ 行为变化,请留意
- 30 秒默认被拒绝(422 并说明原因),要开启请设
DOLA_30S_MODE=pair;30 秒拼接需要服务器有ffmpeg(一键脚本已自动安装)。 - seedance-2.5 的 15 秒受理时直接 422(dola 报价 12 点,免费号每天只有 4 点)。
- 被限流的号会进【异常】组暂停一段时间,属正常现象;同一出口 IP 上的号越多越容易被限,建议每个出口不超过 3 个号。
/health的queue新增add_jobs_running(进行中的加号 / 自动重登任务数),自己写部署脚本的可以据此避免把加号任务重启在半路。
🧪 测试
374 个用例全部通过(新增 30 秒「先原样、短了再补」、dola 反问回话、按时长记账、限流暂停、加号进度等)。
v2.1.6 — 扛住上游限流 · 超时任务自动取回
本版汇总 v2.1.4 → v2.1.6 的全部更新(2.1.5 未单独发布)。重点是两件事:扛住上游限流,以及不再把能出片的任务白白判失败。
🚀 安装 / 升级
# 新装或升级(一键脚本部署的,重复执行即升级,配置/账号/数据库/视频全部保留)
curl -fsSL https://github.com/Roins-hub/dola-pool/releases/latest/download/install.sh | sudo bash
# git 部署的
git pull && sudo systemctl restart dola-pool升级需要重启服务。重启前最好确认没有正在生成的任务(面板「任务列表」里没有「生成中」)。
✨ 主要更新
出片可靠性(2.1.6)
- 等待时间跟着 dola 的「预计等待」走:dola 回复「预计等待 45 分钟」时,不再按固定 15 分钟判失败,而是等到约 N×1.2 + 5 分钟(上限 60 分钟,可调)。
- 超时任务自动取回:dola 已接单、只是等到上限还没出片的任务,判失败后会在后台继续盯着 dola 会话(每 2 分钟查一次,最多 3 小时,只查询不重新提交、不多扣额度)。出片后自动下载,任务改为「完成」并补上视频链接,面板备注列显示「✓ 超时后已自动取回」。服务重启后会自动接着盯。
- 识别「今日视频生成免费数量用完了」:以前认不出这句新话术,任务要干等 15 分钟才失败;现在立刻把该号放进冷却并换下一个号。
- 超时不换号重提:dola 可能仍在生成,换号重提会重复出片、重复扣额度。超时报错会写明已等多久、dola 预计多久。
- 修误报:5/10/15 秒任务不再被误报成「上游要求 30 秒拆两段 / 只出了短视频」;兜底总超时不再把延长的等待半路掐断,也不再误写「超过 600 秒」。
- 第三方去水印接口默认关闭:该接口长期连不上,每条视频白等约 2 分钟;dola 自带的无水印直链一直可用,关闭后成片仍无水印,也不再外发视频信息。
扛住上游限流(2.1.5)
- 出口限流退避:
710022002 当前服务访问频繁是按出口 IP 限流的。某个出口一被拒,这个出口上的所有号暂停派发和探测(2 分钟起,连续被拒翻倍,最长 15 分钟),任务原地排队,出口恢复后自动继续,不再越撞限得越久。 - 批量你好探测默认串行:一次一个、间隔 3 秒(以前不限并发,20 个号几秒内全部发出被整批拒)。出口限流中的号直接跳过;结果里的「未完成」会写明具体原因。
管理面板
- 账号管理:顶部显示哪些出口正被限流、还要多久恢复;同一出口挂的号超过 3 个会提醒。
- 添加代理 → 快捷添加:一行一个代理批量添加(
socks5://user:pass@host:port、http://host:port、host:port:user:pass、user:pass@host:port),已存在的自动跳过,可选添加后自动探测出口是否在日本/韩国。 - 任务列表:耗时每秒实时刷新;生成中显示「预计 X · 还剩约 Y」倒计时(超出预计显示「已超出」),排队中显示预计时长和前面还有几个任务。
文档
- 使用手册新增「去水印说明」和「710022002 访问频繁」常见问题。
⚙️ 配置变更
| 变量 | 变化 | 说明 |
|---|---|---|
DOLA_PURE_REMOVE_WATERMARK |
默认 1 → 0 |
第三方去水印接口默认关闭;dola.env 里显式写了 =1 的建议改成 0 |
DOLA_HELLO_PROBE_CONCURRENCY |
默认 0 → 1 |
批量探测改为串行 |
DOLA_HELLO_PROBE_INTERVAL |
默认 0 → 3 |
批量探测每个号间隔 3 秒 |
DOLA_EGRESS_THROTTLE_SECONDS |
新增,默认 120 |
出口被限流后的暂停时长(0 = 关闭退避) |
DOLA_EGRESS_THROTTLE_MAX_SECONDS |
新增,默认 900 |
连续被限流时暂停时长的上限 |
DOLA_EGRESS_SHARE_WARN |
新增,默认 3 |
面板提醒:同一出口超过多少个号 |
DOLA_PURE_TIMEOUT_MAX |
新增,默认 3600 |
跟着 dola 预计等待放长时的上限(秒) |
DOLA_RECOVER_TIMEOUT_SECONDS |
新增,默认 10800 |
超时任务后台取回最多盯多久(0 = 关闭) |
DOLA_RECOVER_INTERVAL_SECONDS |
新增,默认 120 |
后台取回的查询间隔 |
新变量都有默认值,不改 dola.env 也能直接用。
⚠️ 行为变化,请留意
- 自动取回期间,任务对客户端仍是「失败」(new-api 等网关会照常退款);取回后任务在面板里变成「完成」,需要的话把视频链接另外发给客户。
- 面板「测试生成」会消耗号的真实额度:dola 对部分号的实际额度可能少于面板记账,测试后这个号当天可能已经用不了。现在下一单派到它时会立刻识别并换号。
🧪 测试
新增 23 个测试用例(出口退避 8、等待放长与额度识别 7、自动取回 8),全部通过。整套测试 303 个通过;另有 5 个 Cookie 导入相关的历史用例在 v2.1.4 就已失败,与本版改动无关,后续单独修。
完整记录见 CHANGELOG.md,使用手册见 USAGE.md。
免责声明:本项目为个人学习与互操作性研究,使用者须自行遵守 dola.com 服务条款及当地法律法规。
v2.1.4 — 一键部署
把一组 dola.com(Seedance 视频模型)账号组成号池,对外提供 OpenAI 兼容的视频生成 API,自带管理面板。
这是第一个带一键部署的版本。
🚀 部署到 Linux 服务器(Ubuntu 20.04+ / Debian 11+)
# 直接用 IP:8002 访问
curl -fsSL https://github.com/Roins-hub/dola-pool/releases/latest/download/install.sh | sudo bash
# 带域名 + 自动 HTTPS(先把域名 A 记录解析到这台服务器)
curl -fsSL https://github.com/Roins-hub/dola-pool/releases/latest/download/install.sh | sudo DOLA_DOMAIN=video.example.com bash脚本会自动完成:系统依赖 → Node.js → Python 虚拟环境和依赖 → Chromium → 生成配置(随机 API Key)→ 注册 systemd 服务(开机自启)→(可选)nginx + Let's Encrypt 证书。
装完会打印 面板地址、默认账号、API Key。再执行一次同一条命令就是升级,配置、账号、数据库、视频都会保留。
💻 本地电脑运行
下载下方的 Source code (zip) 并解压:
| 系统 | 操作 |
|---|---|
| Windows | 双击 start-local.bat |
| macOS / Linux | bash start-local.sh |
需要提前装好 Python 3.10+ 和 Node.js 18+。首次运行会自动安装依赖并下载 Chromium,完成后打开 http://127.0.0.1:8002/ 。
⚠️ 部署后必做
- 用
admin/admin123登录面板,立即到「用户管理」修改密码。 - dola.com 只允许日本 / 韩国 IP:服务器或本机不在日韩时,先到「代理管理」添加代理。
- 添加账号 → 验证 → 测试生成 → 在「API 密钥」里给调用方创建 Key。
完整步骤见 📖 使用手册 USAGE.md,接口对接见 API.md。
🔍 关于去水印
成片无水印:项目不处理画面,而是直接下载 dola 服务器上本来就有的无水印版本(lr=unwatermarked)。
第三方去水印解析接口(47.104.150.143)已于 2026-10-13 起默认关闭(DOLA_PURE_REMOVE_WATERMARK=0):该接口长期连不上,而 dola 自带的无水印直链一直可用。用本版 install.sh 部署时模板里本来就是关闭的;如果你的 dola.env 里显式写了 =1,建议改为 0 并重启。详见 USAGE.md 第 7 章「去水印说明」。
本版更新
- 新增一键部署脚本
deploy/install.sh和本地启动脚本start-local.bat/start-local.sh - 新增配置模板
deploy/dola.env.example - 新增使用手册
USAGE.md - 管理面板任务列表新增「耗时」列(生成耗时 / 含排队总耗时)
- nginx 示例配置加
Cache-Control: no-cache,避免更新后浏览器仍显示旧页面
完整更新记录见 CHANGELOG.md。
免责声明:本项目为个人学习与互操作性研究,使用者须自行遵守 dola.com 服务条款及当地法律法规。