autodoubao
AutoDoubao
让 Codex、Hermes Agent 和 LobsterAI 自动调用已登录的豆包网页生图,并把豆包返回的原图下载到本地。
AutoDoubao 是一个 Windows 本地 MCP 桥接服务:Agent 负责提示词和图片验收,豆包网页负责实际生图,Chrome 扩展负责可靠提交和捕获原图,MCP 服务负责任务队列、下载和文件交付。
它不调用火山方舟付费生图 API,不读取账号密码,不绕过豆包登录、验证码、安全验证或免费额度限制。
项目特点
一套 MCP 服务同时供 Codex、Hermes Agent、LobsterAI 使用。
支持 Streamable HTTP;旧版 Hermes 也支持 stdio 兼容代理。
复用用户已经登录的豆包网页和网页免费额度,不需要购买图像 API。
自动填写并提交提示词,检测“文字写入但没有发送”的情况并重试。
监听豆包生成响应中的
image_ori_raw/image_raw,下载真实原图。不从页面
<img>的src或srcset猜原图,避免拿到 384×216 缩略图。SQLite 持久化任务状态,三个客户端共用单任务浏览器锁。
提供可迁移的 Windows ZIP 发行包,不携带 Token、Cookie、数据库或生成图片。
项目简介
Codex / Hermes / LobsterAI
|
v
Streamable HTTP MCP :8878
|
SQLite 单任务队列
|
WebSocket 桥接 :8879
|
Chrome 扩展 0.2.0
| |
v v
提交提示词 监听豆包生成响应
|
v
image_ori_raw / image_raw
|
v
下载原图到本地豆包页面上的 <img width="2848" height="1600"> 可能仍然指向 384×216 的展示缩略图。AutoDoubao 读取的是生成接口返回的原图字段,而不是页面展示地址,这是项目稳定工作的关键。
Architecture
Codex -----------\
LobsterAI --------+--> Streamable HTTP MCP (127.0.0.1:8878)
Hermes --> stdio proxy -----------/ |
+--> SQLite single-job queue
|
Dedicated Chrome profile --> Doubao-scoped extension --> Doubao web UIWhat is included
One shared MCP service; HTTP for Codex/LobsterAI and an stdio compatibility proxy for older Hermes installations.
Persistent SQLite jobs and a single browser-work lock.
A generated token for the extension-to-service WebSocket.
A Chrome Manifest V3 extension that temporarily attaches the debugger Network domain to the selected Doubao tab while a job is active. It extracts the original
image_ori_raw/image_rawURL from the generation response.Safe output subdirectories below one configured root.
Terminal handling for login, captcha, account verification, quota, and rate limits.
Client configuration examples and Windows setup/start scripts.
Initial setup on Windows
Install Python 3.11+ and
uvif they are not already available.Run:
powershell -ExecutionPolicy Bypass -File .\scripts\setup.ps1Create a dedicated Chrome profile for AutoDoubao.
In that profile, open
chrome://extensions, enable Developer mode, choose Load unpacked, and select this repository'sextensiondirectory.The options page opens. Paste the token printed by the setup script and save.
Open
https://www.doubao.com/chat/and sign in manually.Start the service:
powershell -ExecutionPolicy Bypass -File .\scripts\start.ps1Or keep it running in a hidden background process:
powershell -ExecutionPolicy Bypass -File .\scripts\start-background.ps1 # Later: powershell -ExecutionPolicy Bypass -File .\scripts\stop-background.ps1Configure clients using docs/CLIENTS.md.
MCP tools
doubao_status: service, extension, page, queue, and output status.doubao_generate: queue one prompt and return a job ID.doubao_job_status: poll status and retrieve downloaded paths.doubao_cancel: cancel a job owned by the calling agent.doubao_list_jobs: list recent jobs without returning prompt text.doubao_usage: local job/image counts; it never guesses remaining free quota.doubao_setup_guide: setup instructions available to every MCP client.
Example agent sequence:
doubao_status()
doubao_generate(prompt="...", ratio="1:1", candidate_count=2,
output_subdir="my-game/icons", agent_id="codex")
doubao_job_status(job_id="job_...")Configuration
Copy config.example.yaml to config.yaml. Important settings:
output_root: every generated image is copied below this directory.max_candidates_per_job: maximum requested results per job.max_jobs_per_hour: local safety limit shared by all agents.job_timeout_seconds: upper bound for one browser job.
The generated extension token is stored in data/extension-token.txt. Do not
commit config.yaml, data/, downloaded output, or the token.
Browser integration
Prompt submission is isolated in extension/content.js. Image acquisition does
not scrape the rendered <img> element because Doubao can display a small preview
behind large DOM width/height attributes. extension/background.js listens to the
generation response and downloads the original URL returned by Doubao. Chrome may
show a debugging notification while a job is running; the extension detaches when
the job completes, fails, times out, or is cancelled.
See docs/SECURITY.md before enabling the extension.
For the complete Chinese design record, failed-version retrospective, pitfalls, three-client configuration, and copy-ready agent prompts, see docs/AUTODOUBAO_IMPLEMENTATION_ZH.md.
To build or install the portable Windows MCP bundle for another machine, see docs/PORTABLE_PACKAGE_ZH.md.