# CreatorHub 面向团队的新媒体多账号运营管理平台,统一管理浏览器环境、代理资源、账号池、负责人和自动化运营任务。 ## 当前阶段 项目处于阶段 A 技术验证。当前可运行切片提供浏览器容器控制,以及单用户、Mock 连接器的离线业务闭环,功能参考公开上游项目独立实现,不直接复制其代码。 详细的五领域优先级、系统边界、合规知识库与分阶段验证方案见 [《合规产品规划与上游调研》](docs/product/compliance-product-plan.md)。 ## 本地运行 需要 Docker Compose: ```bash export CONTROL_PLANE_USERNAME=creatorhub export CONTROL_PLANE_PASSWORD="$(openssl rand -hex 24)" export CREATORHUB_CREDENTIAL_MASTER_KEY="$(openssl rand -base64 32)" DOCKER_GID=$(stat -c %g /var/run/docker.sock) docker compose up --build ``` 三个控制面凭据变量均为必填;Compose 不提供默认凭据。`CREATORHUB_CREDENTIAL_MASTER_KEY` 必须在重启后保持不变。开发环境可复制 `.env.example` 后显式填写本地值。 打开 ,使用 `CONTROL_PLANE_USERNAME` / `CONTROL_PLANE_PASSWORD` 登录;局域网内用宿主机 IP 访问同一端口。首次使用:在「网关管理」用 Compose 里的 `GATEWAY_TOKEN` 注册 `http://docker-gateway:8081`,在「镜像版本」添加可用的指纹浏览器镜像引用,即可创建环境;网关会在镜像缺失时自动拉取。架构、API 契约、失败语义和 `docker.sock` 风险边界见 [《浏览器容器控制面》](docs/architecture/container-control.md)。 ## 本地开发(热加载) 日常开发不再整仓重建镜像,改用源码热加载: ```bash 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 映射到宿主机)。 服务地址: | 端 | 地址 | 说明 | | --- | --- | | 前端 | | `/api` 由 vite 代理到本地 control-plane | | 后端 control-plane | | Go 源码改动即自动重启 | | docker-gateway | | 容器内常驻,重启不频繁 | | postgres | `127.0.0.1:5432` | 容器内常驻,数据库重建直接销毁 volume | 开发默认值(`.env` 缺失或留空时):登录 `admin` / `admin123`;控制面监听 `:8082`;凭据主密钥使用本地开发专用密钥;本地网关注册地址用 `http://127.0.0.1:8081`(容器名 `docker-gateway` 仅存在于 Compose 网络内)。 注意:本地开发后端占用 `:8082`,与整仓 `docker compose up` 的容器端口互斥,两者二选一运行。 最小验证: ```bash go test ./... npm --prefix web ci npm --prefix web run build docker compose config --quiet ```