Commit Graph
61 Commits
Author SHA1 Message Date
rogee a2669620da fix(gateways): 支持编辑名称地址和令牌
- 新增 PUT /api/gateways/:name,支持改名、修改 Endpoint 与令牌
- 网关改名通过 PostgreSQL ON UPDATE CASCADE 原子同步环境引用
- 编辑令牌留空时保留原值,避免只改地址时意外轮换
- 网关列表增加编辑弹窗并覆盖成功、冲突、缺失与失败展示
2026-09-03 13:14:13 +08:00
rogee 66a3b142ba Merge pull request 'feat(gateways): 网关列表增加连通性与健康状态探测展示' (#43) from feat/gateway-connectivity-health into main 2026-09-03 12:45:49 +08:00
rogee e5c720e7d5 feat(gateways): 网关列表增加连通性与健康状态探测展示
- GET /api/gateways 并发探测 /healthz(连通性)与 /v1/browsers(健康),失败原因随列表返回
- 前端新增连通性/健康两列,失败原因悬浮提示
- 覆盖健康、令牌被拒、离线三类探测路径的单元测试
2026-09-03 12:44:49 +08:00
rogee a321fd8280 Merge pull request 'feat(network-exits): 表单与详情字段改名(认证/出口IP/出口地区)' (#42) from feat/network-exit-label-rename into main 2026-09-02 19:37:20 +08:00
rogee 93b4b6ba01 feat(network-exits): 表单与详情字段改名(认证/出口IP/出口地区) 2026-09-02 19:36:26 +08:00
rogee 92501bdeae Merge pull request 'feat(accounts): TAGS 标签输入、账号列表 table、内容区域全宽' (#41) from feat/accounts-tag-input-table into main 2026-09-02 18:29:35 +08:00
rogee 24d2451f0c feat(accounts): TAGS 改为标签输入、账号列表改 table、内容区域全宽
- 创建账号弹窗 TAGS 字段使用 TagInput 胶囊标签输入(回车/逗号确认,退格删除,自动去重)
- 账号列表由卡片栅格改为 Table(账号/平台/授权/账号状态/固定资源/可调度)
- 布局移除 max-w-[1280px] 限制,内容区域全宽

验证:npm run test 66/66 通过,npm run build 成功,go test ./... 全 ok
2026-09-02 18:28:26 +08:00
rogee 61543a4a61 chore: ignore .codegraph index and allow LAN access for vite dev server
- .gitignore 增加 .codegraph/(本地代码索引,不进版本库)
- vite dev server 开启 host,便于局域网访问本地前端
2026-09-02 17:11:52 +08:00
rogee 875909bd1e Merge pull request 'fix(account): 创建账号成功后关闭弹窗并允许无 Cookies 创建' (#40) from fix/account-create-modal-cookie into main 2026-09-02 17:01:42 +08:00
rogee 1e92e16ed3 fix(account): close create modal on success and make cookies optional
- AccountList.createAccount 成功后关闭创建弹窗(此前只提示不关闭)
- Cookies 前端改为可选:留空代表扫码登录场景,提交时不携带该字段
- 后端 validAccount 允许空凭据(此前 http.ParseCookie("") 直接拒绝)
- CreateAccount 空凭据时跳过 keyring 写入,不产生空值记录;回滚补偿仅在实际写入过凭据时执行

验证:go test ./... / go vet ./... / 双端构建通过;web vitest 66 用例通过(新增无 cookies 创建+弹窗关闭用例);npm run build 通过
2026-09-02 17:00:19 +08:00
rogee f921a2e835 Merge pull request 'chore(dev): add pnpm dev hot-reload workflow' (#39) from dev/hot-reload-workflow into main 2026-09-02 14:53:42 +08:00
rogee 208f6766af chore(dev): add pnpm dev hot-reload workflow for local development
Replace full docker compose rebuild during development with:
- pnpm dev / dev:backend (air hot-reload control-plane) / dev:frontend (vite HMR) / dev:deps
- compose.dev.yaml: postgres+docker-gateway only, host port mapping (5432/8081), container control-plane disabled via profile
- scripts/dev-backend.mjs: read .env, fill dev defaults (login admin/admin123, listen :8082, 32-byte dev master key with explicit warning on invalid .env value), ensure dep containers, run air
- vite: fixed port 5173, /api proxy to local control-plane (8082)
- README: document hot-reload dev workflow

Verified: pnpm dev end-to-end (login/API/frontend/proxy 200), Go+JSX edit hot-reload, compose config --quiet, go build ./..., web tests 65 passed, npm --prefix web run build.
2026-09-02 14:38:44 +08:00
rogee 2676df12c2 Merge pull request 'refactor(web): migrate frontend to React 19 + Refine v5 + shadcn/ui stack' (#38) from refactor/web-shadcn-ui into main 2026-09-02 13:41:32 +08:00
rogee 7ecad93821 refactor(web): migrate frontend to React 19 + Refine v5 + shadcn/ui stack
技术栈切换(按 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 通过。
2026-09-02 13:40:34 +08:00
rogee 5394b19916 Merge pull request 'docs: merge AGENTS.md.new constraints and update tech stack' (#37) from docs/merge-agents-md into main 2026-09-02 10:16:17 +08:00
rogee f5f1b9fe88 docs: merge AGENTS.md.new constraints and update tech stack
- Merge general engineering constraints from AGENTS.md.new (constitution, communication, reply style, multi-option decisions, sub-agent usage, UI design)
- Update frontend stack: react-admin + MUI -> Refine + shadcn/ui + Tailwind CSS
- Standardize icon library as RemixIcon
- Remove UI replacement boundary section
2026-09-02 10:15:21 +08:00
rogee f054d04321 HH-912: simplify social account creation (#36) 2026-09-02 02:03:36 +08:00
rogee 3729ce910f feat: support direct network exit for runtimes 2026-09-01 19:12:48 +08:00
rogee 5674cfe8c3 fix: expose configuration menus and relax password length 2026-09-01 17:54:02 +08:00
rogee 2332a94a0a HH-900: document manual startup and business validation (#35) 2026-09-01 13:31:23 +08:00
rogee ddd92eea89 HH-868: add fail-closed Douyin read-only connector core (#31) 2026-09-01 12:02:24 +08:00
rogee 2c2291998f HH-878: add control-plane route/method matrix coverage (#32) 2026-08-31 20:06:11 +08:00
rogee 024bf14448 HH-807: harden runtime coordination (#21) 2026-08-31 19:37:17 +08:00
rogee 1d9fd9f0e0 HH-867: 控制面单用户认证与停机通知 (#30) 2026-08-31 18:31:11 +08:00
rogee b117cc738f HH-846 / HH-799: add task recovery and audit (#27) 2026-08-31 13:19:54 +08:00
rogee 0fbfb335c4 HH-805: structure runtime audit and cover phase A HTTP (#29) 2026-08-31 12:30:59 +08:00
rogee c234699ae7 HH-834: tighten gateway lifecycle fences (#28) 2026-08-31 12:07:15 +08:00
rogee cf8fb1db32 HH-859: cover readiness and credential limits in browser E2E (#26) 2026-08-31 09:45:27 +08:00
rogee f6909376e1 HH-849: gate browser starts on readiness (#25) 2026-08-31 09:16:07 +08:00
rogee 59c30d887c HH-847 / HH-799: add draft review and idempotent enqueue (#24) 2026-08-31 09:09:47 +08:00
rogee 14789e9401 HH-845 / HH-799: add phase A account resource pages (#23) 2026-08-31 00:58:49 +08:00
rogee 00d044d440 HH-833: fence gateway generations across replicas (#22) 2026-08-29 23:27:30 +08:00
rogee 9fc8e44123 HH-802: enforce scheduling gates and runtime leases (#20) 2026-08-29 21:44:23 +08:00
rogee f1ccfa0096 HH-803: add stable network exit orchestration (#19) 2026-08-29 07:59:55 +08:00
rogee 884505bb55 HH-800 / HH-804: unify account schema and lifecycle (#18) 2026-08-28 23:14:52 +08:00
rogee 199f7b348a feat: 多镜像版本管理与网关化环境编排 (#14) 2026-08-28 19:46:08 +08:00
杨豪 442a6604fb fix(web): HH-794 BrowserList 原型键安全与断点 CDP 可见性断言 (#17) 2026-08-28 19:32:07 +08:00
rogee 0b9808705d HH-776: gracefully stop managed browser containers (#15) 2026-08-28 19:22:22 +08:00
Com 7a9539767a fix(web): BrowserList 状态标签 own-property 安全判断与断点 CDP 可见性断言
- Status 组件改用 Object.hasOwn 判定 statusLabels,constructor/toString/__proto__
  等原型键不再命中,仍回退「未知状态」并展示原始值
- 补充 vitest 参数化用例覆盖三个原型键
- Playwright 响应式烟测新增 900px/599px 断点 CDP endpoint 可见性断言,
  确认桌面表格与移动卡片分支各自只渲染一个可见 endpoint

HH-794
2026-08-28 19:07:06 +08:00
rogee d57fa68866 HH-789 / HH-793: align theme tokens and BrowserList contract (#16) 2026-08-28 18:58:39 +08:00
rogee 60eda8f39e HH-787: add CreatorHub design system specification (#13) 2026-08-28 17:51:21 +08:00
rogee b875149605 feat: 开发阶段开放局域网访问,移除网络隔离与访问约束
- compose: 去掉 control 网络的 internal 标记(internal 网络上 Docker 会静默丢弃端口发布,导致局域网无法访问)
- docker-gateway: 浏览器网络改为普通 bridge,移除 internal+禁 ICC
- AGENTS.md: 新增开发阶段原则(仅业务功能、不做访问限制、安全自管),删除输入信任/风控/敏感日志约束
- docs/README: 同步移除 localhost-only 与网络隔离声明
- 端口改为 8082(8080 被 multica-backend-1 占用)
2026-08-28 15:58:52 +08:00
rogee c4a5d58f44 chore: ignore .env and add .env.example with DOCKER_GID 2026-08-28 15:09:15 +08:00
rogee 376f9a4d9d docs: translate AGENTS.md to Chinese 2026-08-28 14:45:32 +08:00
rogee 620b9e051f HH-778: use domestic Go module mirror in Docker build (#12) 2026-08-28 14:35:55 +08:00
rogee fa36eeb09b HH-772: add executable deployment guide (#11) 2026-08-28 13:00:40 +08:00
rogee 829521f5bc HH-768: implement phase A offline workflow (#10) 2026-08-28 11:20:00 +08:00
rogee 14c8ce691f HH-750: harden Fiber boundaries and shutdown (#9) 2026-08-28 10:12:52 +08:00
rogeeandmultica-agent 7462e1fb6e HH-749: fix 900px layout overflow
Co-authored-by: multica-agent <github@multica.ai>
2026-08-27 23:17:48 +08:00
rogeeandmultica-agent 45853f4bce HH-749: add CreatorHub react-admin frontend
Co-authored-by: multica-agent <github@multica.ai>
2026-08-27 22:34:36 +08:00