Files
creator-hub/README.md
T

101 lines
3.8 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. 在「浏览器版本」登记宿主机上实际存在的浏览器版本和绝对路径。
3. 创建抖音账号和运行环境,显式启动环境。
4. 在账号页显示登录二维码,完成登录后核验浏览器身份。
5. 按验证文档手工完成抖音采集、结果保存、停止、再启动和资源释放检查。
已有数据的重启必须复用原控制面主密钥、gateway 令牌、Profile 根目录和素材目录。不要使用 `docker compose down -v`,也不要删除 gateway 的 Profile 根目录。
停止控制面和数据库:
```bash
docker compose down
systemctl --user stop creatorhub-browser-gateway.service
```
## 本地开发(热加载)
```bash
npm --prefix web ci
pnpm dev
```
- `pnpm dev`:同时运行 Go control-plane 和 Vite HMR
- `pnpm dev:backend`:启动 PostgreSQL 依赖,检查宿主机 native gateway 后运行 control-plane
- `pnpm dev:frontend`:单独运行前端。
服务地址:
| 端 | 地址 | 说明 |
| --- | --- | --- |
| 前端 | <http://127.0.0.1:5173> | `/api` 代理到本地 control-plane |
| control-plane | <http://127.0.0.1:8082> | Go 热加载 |
| native browser gateway | <http://127.0.0.1:8081> | 宿主机 Xvfb/浏览器生命周期 |
| PostgreSQL | `127.0.0.1:5432` | 仅数据库依赖使用容器 |
开发默认登录信息和目录可在 `.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
npm --prefix web test -- --run
npm --prefix web run build
docker compose config --quiet
```