Skip to content

支持公网集群、Token 控制台登录与账号入口整合 - #252

Merged
ganisback merged 2 commits into
mainfrom
feat/public-cluster-gateway
Nov 14, 2026
Merged

ganisback merged 2 commits into
mainfrom
feat/public-cluster-gateway

Conversation

@ganisback

@ganisback ganisback commented Nov 14, 2026 •

Copy link
Copy Markdown
Collaborator

公网工作节点可以主动连接 Lite 网关,通过统一入口提供共享模型推理,无需工作节点开放入站端口。

  • 复用集群身份、加入令牌、成员配额和调度器,增加 TLS 出站隧道、模型共享列表、断线重连和成员撤销;节点显示 Master / Slave 角色及真实隧道状态。
  • 控制台支持管理 Token 登录,以及 console_auth_mode=auto|required 和环境变量覆盖:默认本机/局域网免登录,也可强制登录;桌面客户端继续自动鉴权。管理会话、推理 API Key、节点加入令牌分别授权,修复本地推理鉴权与用量归属、上传分片 CSRF 和错误跳转登录页。
  • 整合“访问与连接”,保留手动云端 API Key 配置及连接状态;统一“共享算力”标题与导航,Slave 隐藏公网网关说明和监听地址。

验证:

  • 提交钩子 make lint、前端 148 项测试和生产构建通过;最后的集群界面调整另通过 12 项相关测试及构建。
  • go test ./internal/server ./internal/config ./internal/cli 回归通过,覆盖配置兼容、环境覆盖、本机/局域网强制登录、桌面鉴权及 CSRF。
  • 本地部署验证:required 模式首页跳转登录页、未登录管理 API 返回 401;恢复 auto 后本机页面和管理 API 返回 200。
  • 集群与公网隧道 race 测试、Linux/Windows 集群包编译,以及公网 Linux Master + macOS worker 的 Qwen2.5 普通和流式推理已验证。

强制登录沿用 HTTPS 安全 Cookie,本机/局域网启用时也需通过 HTTPS 访问;推理 API Key 策略保持独立。

范围:单 Master 公网集群;多 Master 高可用和公网模型文件分发尚不支持。模型服务/Provider 管理重构不在本 PR 范围。

Review 建议优先看 ee/cluster/public* 的隧道和身份校验、internal/server/cluster_public_web.go 的访问边界,以及 docs/guides/public-cluster-requirements.md。

Refs #250.

…ounts

Connect outbound workers with explicit model sharing and Token-based remote console access. Simplify account controls, allow disabling the built-in provider, and show node names, roles and tunnel connectivity.

Refs #250.
Add configurable local and LAN login, restore manual cloud API keys, and protect authenticated uploads. Rename shared compute and hide gateway details on workers.
@ganisback
ganisback marked this pull request as ready for review November 14, 2026 06:20
@ganisback
ganisback merged commit 5fa7ba4 into main Nov 14, 2026
4 checks passed
@ganisback
ganisback deleted the feat/public-cluster-gateway branch November 14, 2026 06:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant