Important
凭证安全:本项目是本地部署网关,运行时需要在本地读取用户自行导入的账号凭证,才能调用官方接口;凭证保存在用户自己的 accounts/ 目录。项目不会把凭证上传到本项目的第三方服务器,也没有隐藏的凭证收集或上传逻辑。请立即关闭公网暴露,联系官方吊销全部 OAuth / 设备授权,确认旧 token 返回 401 后再重新授权。
Warning
WorkBuddy 上游正在收紧对非官方客户端的识别与拦截。
- 封禁:2026-10-23 下午起,非官方客户端的识别与拦截明显收紧。
- 维护者:近期工作压力增大,无法保证及时更新与响应。
- 可用性:上游可能随时进一步收紧,导致本项目不可用。
- 账号风险:使用非官方客户端造成的风控、限流或封禁,由使用者自行承担。
Upstream enforcement tightened detection and blocking of unofficial clients from the afternoon of 2026-10-23. The maintainer is under increased workload and cannot guarantee timely updates or replies. The upstream may tighten further at any time; rate limits, account restrictions or bans caused by using an unofficial client are the user's responsibility.
本项目仅用于协议学习、研究与个人自用。请优先使用官方客户端,不要使用主账号,不要共享账号,也不要用于商业转售。
This project is for protocol research and personal use only. Prefer the official client, do not use your primary account, and do not resell or share access.
- 标准 API 兼容:将 WorkBuddy(国际版/国内版)与 CodeArts 封装为标准 OpenAI 格式(Chat Completions / Responses),无缝支持 Codex、Claude Code、NextChat 等各类客户端。
- 开箱即用与多端部署:便携版免装环境(Windows 自带精简运行时),支持 Docker、NAS(群晖/飞牛)一键部署及 OpenWrt 路由器固件。
- 多账号池与出口隔离:支持浏览器 OAuth 快速导入、每账号独立出口代理槽绑定、设备指纹隔离、自动故障转移与配额轮转。
- 自动化福利与签到:内置国内版全套成长任务、加油站签到与猫猫旅行,支持国际版每日活跃会话与 CodeArts 自动签到。
- 可视化管理看板:提供 Web 仪表盘,支持实时请求日志、Token/积分透视、多 API Key 权限分发(模型/账号白名单)与额度护栏。
- 一键工作台启动:
start-workbuddy-all.bat先用--probe-only检查端口上的实例是否健康,未运行才拉起网关并打开 WorkBuddy 工作台,避免重复启动或误连陌生服务。
YTjungle666/workbuddy2api-hub 是社区独立维护的 Rust 重写分支。网关后端与启动器均使用 Rust 实现,提供单文件静态二进制,不依赖 Python 运行时;功能以上游 v2.0.1 为对齐基线。它不是本仓库的官方发布物,问题反馈与版本更新请前往对应仓库。
⚡ Vibe Coding 产物:本项目为 100% Vibe Coding 协同产物——人类开发者提出架构与业务意图,AI 助手端到端完成逆向分析、链路调度、WAF 指纹脱敏与界面编写。
📌 提交代码贡献前:请先查看并严格遵循贡献手册
CONTRIBUTING.md——提交格式、测试门禁与端到端冒烟要求都在那里(AI / 智能体请特别注意其中的硬性规则节)。
想出现在这里?联系 ardeyouxipianyi@gmail.com
|
Agent Router 是免费公益大模型 API 平台,支持 Claude-opus-5.5、GPT-6 Astra、GPT-6.1 Sol、deepseek-v4-flash 等主流模型,国内直连。注册送 $175(每日签到得 $25,被邀得 $50),支持 GitHub / LinuxDo 登录。 |
- Windows:双击
start-wb-proxy.bat(静默后台运行 + 独立日志窗口);如需前台控制台窗口,双击start-wb-proxy-visible.bat。 - macOS / Linux:双击
start-wb-proxy.command或在终端执行./start-wb-proxy.sh [端口](默认 8788,需要 Python 3.9+)。 - 局域网共享模式:运行
start-wb-proxy-lan.bat(Windows)或./start-wb-proxy-lan.sh(macOS/Linux),首次启动将自动生成高强度 API Key 并在控制台打印。 - 启动后访问:
- Web 看板:
http://127.0.0.1:8788/(默认访问密码admin,首次登录请在设置中修改) - API 地址:
http://127.0.0.1:8788/v1
- Web 看板:
预编译多架构镜像发布在 GHCR,无需本地构建:
方式一:一键脚本(推荐)
# 官方源(直连 GitHub 环境):
curl -fsSL https://raw.githubusercontent.com/ardeyouxipianyi/workbuddy2api-hub/main/quick-deploy.sh | bash
# 国内网络 / NAS 加速:
curl -fsSL https://gh-proxy.com/https://raw.githubusercontent.com/ardeyouxipianyi/workbuddy2api-hub/main/quick-deploy.sh | sudo bash公网部署或配合反向代理:在管道前指定
WB_DEPLOY_MODE=public bash,并搭配 Nginx / Caddy / Cloudflare Tunnel 配置 TLS。
方式二:单文件 Docker Compose
services:
wb-proxy:
image: ghcr.io/ardeyouxipianyi/workbuddy2api-hub:latest
container_name: wb-proxy
restart: unless-stopped
ports:
- "8788:8788"
environment:
- HOST=0.0.0.0
- PORT=8788
- TZ=Asia/Shanghai
volumes:
- ./accounts:/app/accounts # 账号凭据与配置(持久化)
- ./usage:/app/usage # 用量流水日志(持久化)更新镜像:docker compose pull && docker compose up -d。
Docker 镜像在构建阶段已经编译好当前架构的 Go/uTLS 桥,容器内不需要 Go。
未设置 WB_TLS_FINGERPRINT 时默认 auto;如需彻底关闭桥,可加
- WB_TLS_FINGERPRINT=python,卷中的账号、设置和用量不会因此改变。
同一份代码、同一个账号池,python3 wb_proxy.py 与 python3 -m wb_proxy 的常驻内存差 47-54 MB
(Windows 11 / aarch64、Python 3.12-3.14 四套环境实测一致,见 #702)。成因仍在排查,
但只要换成 -m 就能拿到这段收益——512 MB 的设备上约 10%。
cd /path/to/workbuddy2api-hub # 必须先进入 wb_proxy.py 所在目录
python3 -m wb_proxy --port 8788-m 把当前目录放进 sys.path,而脚本方式放的是脚本所在目录,所以务必先 cd。
仓库内的资源路径都基于 __file__ 解析,不受影响。Docker 镜像和 OpenWrt 包已改用 -m;
Windows / macOS 的 start-wb-proxy.* 启动脚本暂未改动。
从本版本起,未显式配置 TLS 模式的安装默认使用 WB_TLS_FINGERPRINT=auto:
网关会先尝试随包 Go/uTLS 桥;桥二进制缺失、架构不支持、启动失败、桥进程运行中
退出,或当前请求使用自定义 CA / 不兼容代理时,自动回退 Python/OpenSSL。
回退只发生在当前进程内,不会反复拉起失败的桥,也不会改变原来的代理出口和证书
校验。便捷版、Docker 和 OpenWrt 的受支持架构包都自带对应桥,用户不需要安装 Go。
需要强制指定时:
WB_TLS_FINGERPRINT=python # 强制 Python/OpenSSL
WB_TLS_FINGERPRINT=node # 强制桥;桥不可用时报明确错误node 模式下不要设置 WB_TLS_BRIDGE=off,否则会按显式关闭桥处理而走 Python。
OpenWrt 使用 uci set workbuddy2api.main.tls_mode='auto'、'node' 或 'python'。
实际模式、最近路线和回退原因可在 /health、/settings 及面板网络设置中查看。
降级到不识别 auto 的旧版本前,请临时设置 WB_TLS_FINGERPRINT=python。
逐路径头顺序、代理/桥头隔离和未修改项见
docs/OUTBOUND-HEADER-AUDIT.md。
网关内置进程内直连华为云 CodeArts,支持聊天 SSE 协议转换与自动签到,无需单独运行第三方桥接服务:
- 打开看板 →「设置 → CodeArts 接入」,勾选「启用 CodeArts 出口」并保存;
- 切换至看板顶部「CodeArts」视图,点击「+ 添加账号 (OAuth)」完成华为云授权;
- 在「设置 → API Key」中新建 Key 并绑定出口为
CodeArts(或全局通用)即可调用。
CodeArts 的模型 ID 按上游目录精确匹配:deepseek-v4.1-flash 与
deepseek-v4.1-flash-1017 是两个独立模型,不会互相别名或静默回退。
/v1/models?realm=codearts 返回的是账号当前可用的真实目录 ID;调用时请直接使用
返回的完整 ID。
- 打开看板
http://127.0.0.1:8788/,点击「+ 添加账号 (OAuth)」,在浏览器中完成官方登录授权即可自动入库。 - 独立代理出口槽(Proxy Slot):在看板中可按需配置并命名 HTTP/SOCKS5 出口代理(支持账号密码认证),支持将账号与特定代理槽位绑定,账号身份请求与出站调用均自动走该代理。
- 「设置」页支持创建多个独立 API Key:
- 出口绑定:可固定走国际版、国内版或 CodeArts;
- 模型限制:支持通配符白名单(如
deepseek*,gpt-6-astra),违规请求本机直接返回 400; - 账号白名单:可精确限定该 Key 仅允许调度的账号范围;
- 用量透视:数据看板按 Key 独立统计调用次数、Token 消耗、缓存命中与积分。
- Base URL:
http://127.0.0.1:8788/v1(局域网为http://<局域网IP>:8788/v1) - API Key:看板「设置」中添加并绑定的 Key
- 模型名称:调用
/v1/models中列出的任意官方对齐模型 ID(如deepseek-v4.1-flash,gpt-6-astra,hy3)
Codex CLI / Responses API
export OPENAI_BASE_URL="http://127.0.0.1:8788/v1"
export OPENAI_API_KEY="你在看板设置中添加并绑定的API_Key"Claude Code / Anthropic Messages(实验性)
网关支持实验性 Messages 协议适配,因长会话缓存命中率差异,默认关闭:
# 网关端设置 WB_ENABLE_ANTHROPIC_MESSAGES=1 开启后生效:
export ANTHROPIC_BASE_URL="http://127.0.0.1:8788"
export ANTHROPIC_API_KEY="你在看板设置中添加并绑定的API_Key"| 环境变量 | 默认值 | 说明 |
|---|---|---|
PORT |
8788 |
网关监听端口 |
API_KEY |
自动生成 | 初始 API Key(看板配置多 Key 后优先由看板管理) |
WB_DEPLOY_MODE |
lan |
部署模式:lan(0.0.0.0)、local(127.0.0.1)、public |
WB_MAX_PAYLOAD_BYTES |
16777216 |
单请求体上限(字节,默认 16MB,支持 1–256 MB) |
WB_ENABLE_ANTHROPIC_MESSAGES |
0 |
是否开启实验性 Anthropic Messages 协议转换 |
WB_BACKGROUND_MODEL_TARGET |
留空 | 后台模型别名改写目标(如 DSH 客户端自动映射) |
WB_CA_BUNDLE |
留空 | 自签根证书路径(供抓包调试或中间代理使用) |
WB_CN_CHAT_UPSTREAM |
官方默认 | 国内版出站代理地址 |
WB_IDENTITY_OS |
宿主系统 | 仅 CLI 身份:覆盖 x-stainless-os(如 Linux / Windows) |
WB_IDENTITY_ARCH |
宿主架构 | 仅 CLI 身份:覆盖 x-stainless-arch(如 x64 / arm64) |
WB_IDENTITY_NODE_VERSION |
官方默认 | 仅 CLI 身份:覆盖 x-stainless-runtime-version |
遇到上游 400 / 11-128 时,先按 docs/TROUBLESHOOTING-11-128.md 收集同一请求的
身份、最小请求和提示词对照结果;不要先轮换账号。
| 接口 | 方法 | 端点 | 说明 |
|---|---|---|---|
| 聊天补全 | POST |
/v1/chat/completions |
标准 OpenAI 聊天接口(支持流式 SSE 与思维链回填) |
| 交互式响应 | POST |
/v1/responses |
OpenAI Responses 协议接口(Codex 专用) |
| 模型目录 | GET |
/v1/models |
获取当前出口对齐的官方可用模型列表 |
| 生图 | POST |
/v1/images/generations |
文生图 / 图生图(始终可用,按媒体号池自动选出口) |
| 生视频 | POST |
/v1/videos |
异步生视频任务提交(本地并发排队与空闲调度) |
| 视频状态 | GET |
/v1/videos/<id> |
轮询视频生成进度与结果 |
| 产物下载 | GET |
/v1/videos/<id>/content |
下载视频 MP4 产物直链 |
| 健康检查 | GET |
/health |
网关运行状态、可用账号数与就绪模型分布 |
python tests/run_all.py # 全部套件
python tests/run_all.py realm # 只跑名字里含 realm 的- 290 个套件:218 个 Python + 72 个 JS;JS 需要 PATH 上有
node,缺失时会跳过并提示。 tests/_mobile_check.py是独立的 Playwright 手机/桌面布局检查器(需自行安装 Playwright),按需手动运行,不在上面的套件集里。- CI(
.github/workflows/tests.yml)跑同一条命令:Ubuntu 上 python 3.9 与 3.12(3.9 是本项目声称的最低版本),Windows 上 python 3.12;推送v*tag 时额外断言 tag == 源码版本(-ci演练 tag 豁免)。
本版更新与完整历史版本请查阅 docs/CHANGELOG.md。
在协议逆向、风控规避、任务链路与工程化设计过程中,本项目参考、吸纳并致谢以下优秀开源项目与技术成果(排名不分先后):
- Sliverkiss/workbuddy2api:成长任务逆向、设备指纹派生(
derive_id)、调度器(Scheduler)与reasoning_content回填设计; - L0NE-6/WorkBuddy-Daily:国内版微信小程序专属事件指纹与动态专家深链任务模型;
- 88lin/workbuddy-auto-signin:猫猫日常旅行与成长能量开盲盒(Buddy 盲盒)安全生命周期;
- linguo2625469/workbuddy2api-panel:国内版连登管家闭环逻辑与轻量对话活跃上报事件;
- misakano7545/workbuddy2api-panel:Go/uTLS Node/OpenSSL ClientHello 指纹参数与桥接实现参考(18 Cipher、10 Extension、无 ALPN);
- Zhengyuuuui/workbuddy2api:国际版 11140 账号封禁识别、冷却规避与故障排查清单;
- yuanyuanyuan430/workbuddy2api-hub:国际版 EdgeOne CDN 证书错配排查与活跃上报优雅降级方案;
- CangShui/workbuddy-cliproxy-fix & lovingfish/workbuddy-cliproxy:早期客户端代理修复与网关通信原型;
- mmqz/cpa-multi-plugins:多插件管理与出站调度结构参考;
- ardeyouxipianyi/workbuddy2api:国内版早期分发包逆向分析与出站 User-Agent 规范;
- aodianjun/workbuddy2api-hub:OpenWrt 路由器打包配方(
.ipk/.apk)与系统服务支持; - YTjungle666/workbuddy2api-hub:社区维护的 Rust 后端与启动器重写分支,提供无 Python 运行时依赖的单文件静态二进制;
- astral-sh/python-build-standalone:Windows 便携版免安装精简独立 Python 运行时构建基石;
- deepseek-ai/deepseek-harness:DSH 客户端协议与提示词指纹清洗规避参考。
感谢所有向本项目提交 PR、反馈 Issue 与分享实测样本的社区贡献者!
本项目仅用于协议学习与个人开发测试,不提供任何商业服务或可用性担保。因使用非官方客户端产生的账号风控、限制或封禁由使用者自行承担,请优先使用官方客户端。
