Files
EveryPublish/README.md
T

73 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# EveryPublish
EveryPublish 是一个本机部署的多平台内容发布 Web 控制台:用户打开浏览器登录,在网页内完成账号、素材、任务、审核、挑战和结果管理。
> 当前交付边界:Web-only V1。macOS/Windows 客户端、Agent 配对和设备管理暂停,不进入本阶段验收。
## 当前架构
```text
浏览器 React + TDesign
│ REST / Browser WebSocket
▼
Go server :8090
├─ MySQL / Redis
├─ 本地素材 StorageDriver
├─ WebExecutor(mock 联调)
└─ PlatformAdapter(真实平台逐个接入)
```
服务器运行在当前设备时,发布执行所需的浏览器 profile、cookie 和素材均留在该设备;不需要安装客户端或输入配对码。
## 本地启动
```bash
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](docs/web-only-v1-plan.md) | 当前 V1 范围、页面、执行器和验收 |
| [docs/web-only-logic-diagrams.md](docs/web-only-logic-diagrams.md) | Web-only 系统、登录、上传、执行、扫码逻辑图 |
| [docs/reference-repositories-analysis.md](docs/reference-repositories-analysis.md) | 三个 MIT 参考仓库的拉取记录和借鉴边界 |
| [docs/system-design.md](docs/system-design.md) | 当前系统设计 |
| [docs/delivery-plan.md](docs/delivery-plan.md) | 当前交付排期 |
| [docs/page-wireframes.md](docs/page-wireframes.md) | 网页 ASCII 线框 |
| [docs/api.md](docs/api.md) | REST API |
| [docs/progress.md](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。
- 所有任务、挑战和素材错误必须能在页面和日志中定位。
- 不做刷量、绕过平台风控、矩阵养号、私信轰炸等功能。