Architecture overview

This page is not yet available in English.

适用于:StablEdge 团队版私有化部署

本栏介绍团队版自部署的架构和准备工作。桌面端连接企业自建服务端的功能将在后续版本提供。

StablEdge 团队版由桌面端和一组部署在企业自己服务器上的服务端组件构成。桌面端负责日常工作,服务端负责账号与组织、对话与模型调用、用量与授权。本页介绍各组件的职责和数据流向,部署前的准备见系统要求,交付方式见部署方式与获取支持。

私有化部署后,账号、组织、对话记录和用量数据都保存在企业自己的服务器上,数据不出企业域。

组件构成

组件英文名职责
桌面端StablEdge Desktop员工使用的桌面应用。项目文件留在员工自己的电脑上,密钥保存在本机钥匙串。对话、生图等请求发往企业自建的服务端。
用户与组织服务User & org service账号与登录、企业组织(公司、部门、成员、邀请、审批)、席位与配额(成员人数和用量额度上限)、用量报表、桌面端准入和模型授权、企业 Skill 的目录与授权、云存储与知识库。
桌面 Agent 后端Desktop agent backend桌面端对话的服务端入口:流式对话、生图任务、可用模型列表、系统提示词下发、用量上报、对话记录,以及桌面端更新下发(版本检查与强制更新)。
模型服务Model service统一的模型网关:对接各家模型供应商(支持 OpenAI、Anthropic,以及兼容 OpenAI 或 Anthropic 协议的服务),管理模型目录、供应商凭据和模型调用的用量记录;图片生成由独立的后台任务进程处理。
数据库PostgreSQL三个服务端组件的业务数据,各组件使用各自的库。
缓存与队列Redis用户与组织服务的限流与会话;模型服务的图片任务队列。
反向代理Reverse proxy对外的唯一入口,负责 HTTPS 接入,并按路径把请求转发给用户与组织服务或桌面 Agent 后端。服务之间的内部接口和模型服务不通过它对外开放。

分层结构

从外到内分为四层,每一层只和相邻的层直接通信:

层组件可从哪里访问
1. 桌面端桌面端员工电脑
2. 接入层反向代理(HTTPS)企业内网或企业指定的网络范围
3. 应用层用户与组织服务、桌面 Agent 后端、模型服务只在服务端内部网络中互相访问;桌面端不直接连接模型服务,对话和生图都经由桌面 Agent 后端发起
4. 数据层PostgreSQL、Redis只供应用层访问

数据流向

登录与组织管理

  1. 桌面端经反向代理,向用户与组织服务登录,取得登录凭证。
  2. 此后桌面端读取组织、席位、授权、企业 Skill、云存储等信息,都由用户与组织服务处理,数据写入它自己的库。

对话与模型调用

  1. 桌面端发起对话或生图,请求经反向代理到达桌面 Agent 后端。
  2. 桌面 Agent 后端校验登录凭证,并向用户与组织服务确认该成员的准入和授权。
  3. 桌面 Agent 后端在服务端内部网络中调用模型服务,调用时附带企业身份凭证,模型服务据此校验请求来自哪家企业。
  4. 模型服务按企业的配置选择模型供应商,转发请求并把结果流式返回;桌面 Agent 后端再把结果流式推送给桌面端。
  5. 生图请求由模型服务放入任务队列,由后台任务进程完成,桌面端按任务状态取回结果。

用量与记录

  1. 每次调用的用量由桌面 Agent 后端写回用户与组织服务,用于额度控制和用量报表;模型服务同时在自己的库里记录调用用量。
  2. 对话记录默认由桌面 Agent 后端录制,保存在它的库中。管理员在组织管理中查询对话时,由用户与组织服务向桌面 Agent 后端发起内部查询。

对外的网络访问

模型服务需要访问企业所配置的模型供应商接口;选用了对象存储时,还会访问对应的存储服务。用户与组织服务需要访问知识库所用的向量化(embedding)模型接口;选用对象存储时,也会访问对应的存储服务。除此之外,服务端组件之间的通信都在企业内部完成。

服务之间的调用

调用方被调用方用途
桌面端用户与组织服务登录、组织、授权、企业 Skill、云存储
桌面端桌面 Agent 后端对话、生图、模型列表、用量上报、更新检查
桌面 Agent 后端模型服务模型推理与生图
桌面 Agent 后端用户与组织服务准入与授权确认、用量写回、企业 Skill 内容获取
用户与组织服务桌面 Agent 后端对话记录查询、企业模型目录、企业 Skill 可用性同步
模型服务模型供应商转发模型请求

服务之间的内部接口不经反向代理对外开放。模型供应商的接口密钥通过管理后台录入,保存在企业自建的服务端,不放在桌面端。

下一步

On this page