Files
creator-hub/README.md
T

107 lines
4.2 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.
# CreatorHub
面向团队的新媒体多账号运营管理平台,统一管理浏览器环境、代理资源、账号池、负责人和运营任务。
## 当前阶段
业务范围与验收以 [docs/plan01.md](docs/plan01.md) 为准;离线检查不能替代真实平台验收。
浏览器环境由每台机器上的 **native browser gateway + Xvfb** 管理。gateway 不访问 Docker socket,不创建容器、镜像、卷或网络;登录 Profile 和正式素材持久保留,任务临时资源按执行归属清理。
- [变更评审](docs/native-browser-change-review.md)
- [实施计划](docs/native-browser-implementation-plan.md)
- [验证文档](docs/native-browser-verification.md)
当前目标是单机单节点闭环;多节点调度、A/B 环境和跨机恢复另立目标。
## 本地运行
native gateway 必须先在宿主机以非 root 用户运行。准备已安装的 fingerprint Chromium、Xvfb、systemd user session 和 gateway 配置:
```bash
mkdir -p ~/.config/creatorhub
cp deploy/browser-gateway.env.example ~/.config/creatorhub/browser-gateway.env
$EDITOR ~/.config/creatorhub/browser-gateway.env
scripts/install-native-browser-gateway.sh
curl --fail --silent --show-error http://127.0.0.1:8081/healthz
```
首次部署可生成控制面凭据:
```bash
export CREATORHUB_PORT=8080
export CONTROL_PLANE_USERNAME=creatorhub
export CONTROL_PLANE_PASSWORD="$(openssl rand -hex 24)"
export CREATORHUB_CREDENTIAL_MASTER_KEY="$(openssl rand -base64 32)"
docker compose config --quiet
docker compose up --detach --build
```
Compose 只运行 control-plane 和 PostgreSQL,浏览器 gateway 仍是宿主机 systemd user service。启动后检查:
```bash
docker compose ps
curl --fail --silent --show-error "http://127.0.0.1:${CREATORHUB_PORT:-8080}/healthz"
curl --fail --silent --show-error "http://127.0.0.1:${CREATORHUB_PORT:-8080}/readyz"
docker compose logs --tail=200 creator-hub postgres
```
打开 `http://127.0.0.1:${CREATORHUB_PORT:-8080}` 登录。首次配置:
1. 在「网关管理」注册 gateway。control-plane 在 Compose 中运行时使用 `http://host.docker.internal:8081`;裸机运行 control-plane 时使用 `http://127.0.0.1:8081`。令牌必须与 gateway 配置一致。
2. 创建抖音账号和运行环境,显式启动环境;浏览器由 gateway 使用宿主机配置的默认运行时。
3. 在账号页显示登录二维码,完成登录后核验浏览器身份。
4. 按验证文档手工完成抖音采集、结果保存、停止、再启动和资源释放检查。
已有数据的重启必须复用原控制面主密钥、gateway 令牌、Profile 根目录和素材目录。不要使用 `docker compose down -v`,也不要删除 gateway 的 Profile 根目录。
停止控制面和数据库:
```bash
docker compose down
systemctl --user stop creatorhub-browser-gateway.service
```
## 本地开发(分开启动)
首次安装前端依赖:
```bash
npm --prefix web ci --ignore-scripts
```
分别在四个终端运行:
```bash
npm run db # PostgreSQL 依赖
npm run gateway # native browser gateway
npm run backend # Go control-planeAir 自动重载
npm run frontend # Umi Max 前端,支持 HMR
```
`npm run backend` 不会自动启动数据库或 gateway;先启动 `db``gateway``npm run gateway` 直接运行当前用户的 native gateway,不要求安装 systemd 服务。修改 `browser_gateway` 的 Python 文件后,重启该命令。
服务地址:
| 端 | 地址 | 说明 |
| --- | --- | --- |
| 前端 | <http://127.0.0.1:8001> | `/api` 代理到本地 control-plane |
| control-plane | <http://127.0.0.1:8082> | Go 热加载 |
| native browser gateway | <http://127.0.0.1:28187> | 宿主机 Xvfb/浏览器生命周期 |
| PostgreSQL | `127.0.0.1:15433`(可由 `CREATORHUB_POSTGRES_PORT` 覆盖) | 仅数据库依赖使用容器 |
开发默认登录信息和目录可在 `.env.example``deploy/browser-gateway.env.example` 中查看。不要把真实密码、Cookie、验证码或令牌写入仓库。
最小检查:
```bash
go test ./...
go vet ./...
go build ./cmd/control-plane
go test -race ./...
npm --prefix web ci --ignore-scripts
npm --prefix web run build
docker compose config --quiet
```