2026-09-16 15:32:51 +08:00

CreatorHub

面向团队的新媒体多账号运营管理平台,统一管理浏览器环境、代理资源、账号池、负责人和自动化运营任务。

当前阶段

项目处于阶段 A 技术验证。当前可运行切片提供浏览器容器控制,以及单用户、Mock 连接器的离线业务闭环,功能参考公开上游项目独立实现,不直接复制其代码。

详细的五领域优先级、系统边界、合规知识库与分阶段验证方案见 《合规产品规划与上游调研》

本地运行

以下是完整 Compose 启动方式,适合人工部署验证。命令应在仓库根目录、同一个 shell 中执行;不要把 compose.dev.yaml 混入本次标准 gateway 验证。

首次部署可生成一组新的本地凭据:

git pull --ff-only
export DOCKER_GID="$(stat -c '%g' /var/run/docker.sock)"
export CREATORHUB_PORT=8080
export GATEWAY_TOKEN="$(openssl rand -hex 24)"
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

已有数据的部署重启必须复用原来的 GATEWAY_TOKEN、控制面账号密码和 CREATORHUB_CREDENTIAL_MASTER_KEY,不要重新生成主密钥。三个控制面凭据变量均为必填,主密钥变化会导致已有账号凭据无法解密。

启动后检查服务:

docker compose ps
curl --fail --silent --show-error "http://127.0.0.1:${CREATORHUB_PORT}/healthz"
curl --fail --silent --show-error "http://127.0.0.1:${CREATORHUB_PORT}/readyz"
docker compose logs --tail=200 creator-hub docker-gateway postgres

打开 http://127.0.0.1:${CREATORHUB_PORT}(默认端口为 8080),使用控制面账号登录。首次配置和人工抖音验证:

  1. 在「网关管理」注册 http://docker-gateway:8081,令牌填写当前 shell 中的 GATEWAY_TOKEN
  2. 在「镜像版本」添加已登记的 immutable 浏览器镜像引用。
  3. 创建抖音账号和运行环境,恢复账号后显式启动运行环境。
  4. 在账号页点击「显示登录二维码」;完成扫码或验证码后,点击「核验浏览器身份」。
  5. 所有真实平台操作必须由 CreatorHub 发起,不要直接操作抖音页面;二维码或验证码画面不能作为身份核验成功的证明。

停止服务但保留数据库、账号凭据和素材:

docker compose down

不要使用 docker compose down -v。架构、API 契约、失败语义和 docker.sock 风险边界见 《浏览器容器控制面》

本地开发(热加载)

日常开发不再整仓重建镜像,改用源码热加载:

npm --prefix web ci
pnpm dev
  • pnpm dev:同时起后端(air 热重载)与前端(vite HMR);
  • pnpm dev:backend / pnpm dev:frontend:单独启动其中一端;
  • pnpm dev:deps:仅启动 postgres 与 docker-gateway 两个容器(compose.dev.yaml 会把 5432/8081 映射到宿主机)。

服务地址:

| 端 | 地址 | 说明 | | --- | --- | | 前端 | http://127.0.0.1:5173 | /api 由 vite 代理到本地 control-plane | | 后端 control-plane | http://127.0.0.1:8082 | Go 源码改动即自动重启 | | docker-gateway | http://127.0.0.1:8081 | 容器内常驻,重启不频繁 | | postgres | 127.0.0.1:5432 | 容器内常驻,数据库重建直接销毁 volume |

开发默认值(.env 缺失或留空时):登录 admin / admin123;控制面监听 :8082;凭据主密钥使用本地开发专用密钥;本地网关注册地址用 http://127.0.0.1:8081(容器名 docker-gateway 仅存在于 Compose 网络内)。

注意:本地开发后端占用 :8082,与整仓 docker compose up 的容器端口互斥,两者二选一运行。

最小验证:

go test ./...
npm --prefix web ci
npm --prefix web run build
docker compose config --quiet
S
Description
No description provided
Readme
2.2 MiB
Languages
Go 68.9%
Python 18%
TypeScript 12.6%
PLpgSQL 0.2%
JavaScript 0.2%