7ecad93821a181b5eda10c381b66829d560ef86a
技术栈切换(按 AGENTS.md 批准栈):react-admin/MUI → Refine v5 + shadcn/ui
(Tailwind CSS v4),Vite 8 + React 19 + react-router v7 hash 路由。
- 全部 9 个页面重写:AccountsPage/BrowsersPage(BrowserList/CreatePage/Detail)/
BrowserImagesPage/GatewaysPage/NetworkExitsPage/TasksPage/TracePages/
DraftPage/AuditPage;自建 lib/ui.jsx 组件库与 Layout(侧导航 + Outlet)
- 简单创建/编辑改 modal(账号/网关/镜像/出口),环境创建走独立页
/browsers/new;列表按信息密度选表格或移动卡片双形态
- 图标统一 RemixIcon;领域动作保持显式动词(start/stop/upgrade/recycle
等,不伪装成 CRUD update)
- LoginPage:Basic 凭证存 localStorage;401 清凭证并跳 #/login;
AuthGate 改为渲染期读 localStorage(react-router v7 的 pushState 不触发
hashchange,事件订阅会在导航后拿到过期状态导致登录后卡死)
- dataProvider 适配 Refine v5 契约:所有方法收单个参数对象
({resource, pagination, filters, meta, variables}),create/update/
delete/deleteOne 语义对齐
- Modal 关闭时焦点还给触发元素;Select 保持原生 button/combobox 语义
- e2e 补登录前置;账号创建流程同步 modal 交互
验证:npm test 65/65 通过;覆盖率 71.5% stmts / 76.3% lines(门槛 65%);
vite build 成功;playwright e2e 9/9 通过。
CreatorHub
面向团队的新媒体多账号运营管理平台,统一管理浏览器环境、代理资源、账号池、负责人和自动化运营任务。
当前阶段
项目处于阶段 A 技术验证。当前可运行切片提供浏览器容器控制,以及单用户、Mock 连接器的离线业务闭环,功能参考公开上游项目独立实现,不直接复制其代码。
详细的五领域优先级、系统边界、合规知识库与分阶段验证方案见 《合规产品规划与上游调研》。
本地运行
需要 Docker Compose:
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 后显式填写本地值。
打开 http://127.0.0.1:8080,使用 CONTROL_PLANE_USERNAME / CONTROL_PLANE_PASSWORD 登录;局域网内用宿主机 IP 访问同一端口。首次使用:在「网关管理」用 Compose 里的 GATEWAY_TOKEN 注册 http://docker-gateway:8081,在「镜像版本」添加可用的指纹浏览器镜像引用,即可创建环境;网关会在镜像缺失时自动拉取。架构、API 契约、失败语义和 docker.sock 风险边界见
《浏览器容器控制面》。
最小验证:
go test ./...
npm --prefix web ci
npm --prefix web run build
docker compose config --quiet
Languages
Go
67.7%
Python
16.7%
TypeScript
14.7%
JavaScript
0.6%
PLpgSQL
0.2%