EveryPublish

EveryPublish 是一个本机部署的多平台内容发布 Web 控制台:用户打开浏览器登录,在网页内完成账号、素材、任务、审核、挑战和结果管理。

当前交付边界:Web-only V1。macOS/Windows 客户端、Agent 配对和设备管理暂停,不进入本阶段验收。

当前架构

浏览器 React + TDesign
        │ REST / Browser WebSocket
        ▼
Go server :8090
        ├─ MySQL / Redis
        ├─ 本地素材 StorageDriver
        ├─ WebExecutor(mock 联调)
        └─ PlatformAdapter(真实平台逐个接入)

服务器运行在当前设备时,发布执行所需的浏览器 profile、cookie 和素材均留在该设备;不需要安装客户端或输入配对码。

本地启动

make infra-up
make run
cd apps/web && npm run dev -- --port 3013

本地联调默认使用 EXECUTOR_MODE=mock,不会访问真实平台。要联调已接入的 B 站 adapter,启动服务前设置 EXECUTOR_MODE=web;二维码扫码或 Cookie 导入成功后,任务才会走真实平台链路。没有人工扫码时,使用 adapter HTTP stub 和 mock 账号完成自动化验证,不把 mock URL 当成真实发布。

  • Go API/Browser WS:http://127.0.0.1:8090
  • Vite Web:http://127.0.0.1:3013
  • 生产构建:cd apps/web && npm run build,设置 STATIC_DIR=apps/web/dist 后由 Go server 托管

网页功能

  • 工作台:任务统计、执行器状态、挑战和最近任务。
  • 账号管理:平台账号、扫码/Cookie 登录、健康检查、重新登录。
  • 素材库:上传进度、SHA-256 去重、预览、分组和删除。
  • 发布管理:新建、草稿、审核、排期、任务详情、重试和取消。
  • 挑战/通知/审计:二维码、验证码、实时状态、历史追踪。

网页端不需要客户端安装、设备配对或 Agent WSS。客户端代码仅作为历史归档保留。

文档入口

文档 说明
docs/web-only-v1-plan.md 当前 V1 范围、页面、执行器和验收
docs/web-only-logic-diagrams.md Web-only 系统、登录、上传、执行、扫码逻辑图
docs/reference-repositories-analysis.md 三个 MIT 参考仓库的拉取记录和借鉴边界
docs/system-design.md 当前系统设计
docs/delivery-plan.md 当前交付排期
docs/page-wireframes.md 网页 ASCII 线框
docs/api.md REST API
docs/progress.md 当前进度和剩余风险

参考项目

  • references/social-auto-upload(MIT,dreammis,CLI/uploader/QR 参考)
  • references/social-auto-upload-web-ui(MIT,DevilJie,Web/SSE/任务队列参考)
  • references/MediaPublishPlatform(MIT,funfan0517,批量上传/定时/发布记录参考)

参考代码只读保存,新增实现必须保留 MIT 版权说明;当前工程不混入 Vue/Flask/SQLite 三套运行时。

开发原则

  • mock executor 只能证明业务状态机,不冒充真实平台成功。
  • 真实扫码无法执行时,状态必须停在“等待扫码”,不能自动标记 active。
  • 所有任务、挑战和素材错误必须能在页面和日志中定位。
  • 不做刷量、绕过平台风控、矩阵养号、私信轰炸等功能。
S
Description
No description provided
Readme MIT
38 MiB
Languages
Python 79.6%
TypeScript 17%
Less 2.8%
JavaScript 0.2%
Dockerfile 0.2%
Other 0.1%