跳到正文

03 企业落地推演:对标阿里百炼的 HiMarket 生态平台 ​

一句话:对标百炼要把 14 项能力逐项落到开箱、二开、自建三档,摊开后 HiMarket 只交付门户、市场、订阅、多租户这层“骨架与门面”,执行与调用治理必须自建;真缺口集中在 ID Token 验签、凭证中介、HA 与计量闭环,伪需求是照抄百炼控制台的页面形态;七阶段推演只定路线,能力面齐平不等于通过生产验收。

定性:HiMarket 就是我们未来对标阿里百炼的平台底座。本篇不堆架构名词,把"一个企业从 0 到 1 把 HiMarket 生态落成生产平台"推演完整:现状 → 底座 → 内容 → 网关 → 身份 → 运营 → 执行整合 → 统一皮,每步落到 API、配置、决策级。所有端点来自本地源码(himarket-server 各 Controller),可逐条对照。 审核修订(2026-10-26):本篇是落地路线,不是生产能力证明。身份、凭证、HA、SLO 与验收闸门以 05-AI基础设施架构审核与生产收敛.md 为准。


一、平台定性:我们对标百炼,拼图是什么 ​

阿里百炼=应用编排(Managed Agent / Flow Agent / Playground / Application)+ 能力供给(MCP / Skill / RAG / Memory / Connector / ParseX)+ 治理(Security / Evolution / Observability)+ 身份接入(SSO / 企业集成)。

我们的拼图(乐高积木)对应关系:

百炼板块我们的组件角色
开发者门户 / 应用市场 / 订阅HiMarket(frontend + server)市场与门户层:产品、订阅、审批与授权关系;数据面凭证由 Broker 签发/注入
API 网关 / 调用治理 / 限流计量Higress(AI 网关)运行时层:流量出口、AI 路由、限流计量
能力内容 / 服务注册 / 工具规格Nacos(AI 内容注册中心)内容层:MCP/Agent/Skill/Worker 配置的事实来源
企业身份 / 账号体系企业 IdP + HiMarket OIDC Client身份层:SSO 打通、subject 映射
应用运行时 / 智能体执行agentscope-service + 实例体系(qwenpaw/数字分身)执行层:承载业务流量与智能体运行
管理后台himarket-admin平台运营面

关键认知:HiMarket 给我们的是百炼的“骨架与门面”(门户、市场、订阅、多租户、SSO 接入);能力执行由我们的运行时(agentscope-service、实例体系)承接,调用治理由 Higress + AuthZ/Credential Broker 承接。市场卖的是“引用 + 稳定端点 + 授权”,不是上游连接和密钥。


二、百炼能力对标表(14 项逐项落点) ​

百炼能力落点组件状态落地方式
Application(应用发布/集成)HiMarket Product + Publication✅ 开箱POST /products + POST /{id}/publications
Managed Agent(托管智能体)agentscope-service + HiMarket AGENT_API🛠 二开产品引用 Agent 路由/Agent 规格,执行由我们控制面
Flow Agent(流程编排)实例体系(数字分身/多智能体)🛠 自建我们已实证(08 专栏);HiMarket 只做上架
Sandbox(沙箱执行)HiMarket sandbox-shared(ALLOWED_COMMANDS 含 opencode)✅ 开箱远程 ACP 沙箱,与执行体天然连接
Playground(体验台)HiMarket Chat / CodingSession / Session✅ 开箱体验面 Controller
RAG(知识检索)Nacos(能力内容)+ 我们的检索栈🛠 二开Nacos 作为内容源,检索执行在我们侧
Memory(记忆)实例体系(记忆蒸馏,#21 数据飞轮)🛠 自建执行层能力,通过契约挂市场
Connector(连接器)Nacos MCP Server 配置 + Higress MCP 路由🛠 部分开箱Nacos 登记 → HiMarket 拉取;Higress 出口、工具发现与计量需补
MCP(工具协议)HiMarket McpServer + McpConfigResult🛠 部分开箱GET /{nacosId}/mcp-servers → 关联 → toTransportConfig() 仅返回 URL/传输/名称,不含工具与凭证
Skill(技能市场)HiMarket SkillController✅ 开箱POST /skills/import?nacosId= + 定时同步(5min)
Security(安全)OIDC + 网关白名单 + 审计🛠 补强ID Token 验签需自补(见 §六)
Evolution(应用演进)Product 版本 + Publications 生命周期✅ 开箱发布/下架/重发(publications 表)
Observability(可观测)Observability/Sls/DBCollector + 网关计量🛠 二开计量闭环(07-32 接缝 5)
身份与多租户Portal + Developer + Consumer + OIDC🛠 需加固Portal 是门户边界;资源隔离需数据面配合,OIDC 需补验签

✅开箱=HiMarket 原生能力;🛠二开/自建=执行层我们侧已有或需补,市场侧只需按契约上架。


三、企业落地七阶段推演(操作级) ​

阶段 0 · 定位与目标 ​

决策:HiMarket 作为企业 AI 能力市场的控制面与人类入口;Higress 作为唯一数据面出口,Nacos 做内容引用源,agentscope-service 做执行控制面。 收口:对外一句话——"企业 AI 能力统一门户:SSO 登录、市场订阅、网关调用、计量审计"。

阶段 1 · 底座部署(K8s 形态) ​

官方提供 docker compose(mysql→nacos→higress→sandbox→server→admin/frontend)。企业真实环境 = K8s,落地形态:

组件K8s 形态备注
mysql(内置 Nacos DB)3 节点主从/多可用区 + PITR生产不能用单实例;已有企业 MySQL 需评估隔离与配额
nacos3 节点(nacos-server:v3.2.1)企业已有 Nacos 可登记复用;需评估命名空间与租户边界
redis-stack-serverSentinel/Cluster不作为唯一计量账本
higress3 副本,跨故障域all-in-one 仅适合 POC;生产按官方高可用形态部署
sandbox-sharedDeployment(隔离执行沙箱)建议独立 namespace,仅内网可达
himarket-serverDeployment ×3 + HPA无状态;DB 外置;跨 AZ 打散
himarket-admin / frontendDeployment + Ingress绑定 Portal 域名

关键决策(此步就定全盘):

  1. Nacos 复用 or 内置:企业已有 Nacos(且 AI 模块开启)→ 登记复用;否则内置。
  2. Higress 复用 or 新建:07-32 定论是 Higress 替代 One API 兜模型出口,建议新建专用 AI 网关实例,与业务网关隔离。
  3. 端口规划:himarket-server 8080(内网),对外走 Ingress;避免与 agentscope 端口冲突。
  4. JWT_SECRET:K8s Secret 注入(install.sh 要求显式配置,生产绝不落明文)。
  5. 数据面独立:HiMarket 控制面短时不可用不得阻断存量调用;Higress、鉴权与凭证中介需独立扩缩容。

阶段 2 · Nacos 内容接线(登记 + 浏览 + 默认) ​

目标:让 HiMarket 认到企业 Nacos,并能浏览里面的 MCP/Agent/Skill。

text
# 登记 Nacos 实例(AdminAuth)
POST /nacos                        body: 地址/命名空间/账号(MSE 或自建)
GET  /nacos/{nacosId}/namespaces  # 确认能列出 namespace(连通性验证)
GET  /nacos/{nacosId}/mcp-servers # 确认能列出 MCP Server
GET  /nacos/{nacosId}/agents      # 确认能列出 Agent
GET  /nacos/{nacosId}/skills      # 确认能列出 Skill
PUT  /nacos/{nacosId}/default?namespaceId=xxx
#   ↑ 设为默认实例:新 Agent Skill 产品自动绑定它(NacosController 语义明确)

内容组织规范(企业落地必须定的口径):

  • namespace = 部门/项目边界(如 prod-finance、prod-hr);
  • MCP Server 命名 = 域名风格(如 finance-report-mcp),与 Higress 侧命名对齐;
  • Skill 定义走 Nacos AI 模块规范(SkillSummary),HiMarket 每 5 分钟自动同步成产品草稿。

阶段 3 · Higress 网关接线(导入 + 路由对齐) ​

目标:HiMarket 认到 Higress 网关,能浏览其 AI 路由(模型/MCP/Agent)。

text
POST /gateways                    body: Higress 控制台地址/账号/域名(importGateway)
GET  /gateways/{gatewayId}/model-apis   # 模型路由(MODEL_API 关联源)
GET  /gateways/{gatewayId}/mcp-servers # MCP Server(MCP_SERVER 关联源)
GET  /gateways/{gatewayId}/agent-apis   # Agent 路由(AGENT_API 关联源)

Higress 侧要预建(Higress 控制台,不是 HiMarket 建):AI 路由(模型)、MCP Server 定义。HiMarket 的 HigressRefConfig(routeName/mcpServerName/modelRouteName)引用这些命名——所以命名规范必须先定:路由名、MCP Server 名在 Higress 与 HiMarket 两侧一致。

阶段 4 · 企业 SSO 融入(Portal + OIDC) ​

目标:企业员工用企业账号登录开发者门户。

text
# 1. 创建企业门户(多租户)
POST /portals                    body: 企业名/域名/设置
POST /portals/{portalId}/domains # 绑定企业域名
PUT  /portals/{portalId}         body: portalSettingConfig.oidcConfigs=[{...}]

# 2. OIDC Provider 配置(挂在 Portal 上)
# 示例(飞书自建应用 或 Keycloak):
{
  "provider": "feishu", "displayName": "飞书企业账号", "enabled": true,
  "clientId": "cli_xxx", "clientSecret": "***",
  "authCodeConfig": {
    "tokenEndpoint": "https://open.feishu.cn/open-apis/authen/v1/oidc/token",
    "userInfoEndpoint": "https://open.feishu.cn/open-apis/authen/v1/user_info"
  },
  "redirectUris": ["https://portal.example.com/oidc/callback"]
}

# 3. 员工登录链路(OidcController)
GET /developers/oidc/providers              # 前端展示登录按钮
GET /developers/oidc/authorize?provider=feishu&apiPrefix=/api/v1   # 302 → IdP
GET /developers/oidc/callback?code=&state=  # 换 token → 绑 Developer → AuthResult

身份映射链(生产要写清):企业 IdP subject ↔ HiMarket Developer(自动注册,findByProviderAndSubject)↔(未来)agentscope-service user。三层映射 = 07-32 接缝 3 的落点。

生产必补:ID Token JWK 验签(源码 TODO),state 有效期校验已有(10 分钟),redirect_uri 走 IdP 白名单。

阶段 5 · 产品化运营(导入 → 上架 → 订阅 → 凭证) ​

目标:把能力变成"可订阅的产品",员工自助订阅、凭证发放、计量审计。

text
# 导入能力(三种来源)→ 生成产品
POST /products/import              body: 来源(gateway / nacos / airegistry / external market)
POST /products                     body: 产品定义(MCP_SERVER / MODEL_API / AGENT_API / AGENT_SKILL / WORKER)
PUT  /products/{productId}/ref     body: higressRefConfig 或 nacosId+nacosRefConfig(引用,不复制)
POST /products/{productId}/configurations/reload   # 从来源刷新配置

# 发布(到指定 Portal)
POST /products/{productId}/publications  body: {portalId}   # 上架
DELETE /products/{productId}/publications/{publicationId}   # 下架

# 订阅与凭证(工作负载侧,DeveloperAuth)
POST /consumers                    # 为应用/实例创建 Consumer(不是员工身份)
POST /consumers/{consumerId}/credentials   # 创建平台访问凭证
POST /consumers/{consumerId}/subscriptions # 订阅产品
PATCH /consumers/{consumerId}/subscriptions/{subscriptionId}  # 管理员审批

# 消费(读取引用/工具元数据,不是拿上游密钥)
GET  /products/{productId}/ref    # PublicAccess:返回 ProductRefResult 引用元数据
GET  /products/{productId}/tools   # 只读工具清单;是否可调用仍由订阅和网关决定

权限矩阵(注解直读):AdminAuth(管理面)/DeveloperAuth(开发者)/AdminOrDeveloperAuth/PublicAccess(目录与引用元数据可公开读)。PublicAccess 不代表公开可调用,也不代表 GET /ref 会返回上游凭证。

身份校正:员工身份是 Developer;Consumer 是应用/实例的调用主体。一个员工可以有多个 Consumer(dev/prod),但不能把员工账号直接当作 Consumer 凭证,也不能在请求体里自报 user_id。

阶段 6 · 与 agentscope-service 契约整合(执行层打通) ​

市场卖"连接描述",执行跑我们的运行时:

text
契约接口(我们定义,HiMarket 侧实现):
1. 身份契约:OIDC subject ↔ agentscope user(SSO 令牌透传/映射)
2. 能力契约:HiMarket 发布稳定产品端点与工具元数据;agentscope 不直接依赖 Nacos 临时地址
3. 网关契约:消费端携带 Consumer 凭证走 Higress;Broker 校验订阅/工具白名单/配额并注入上游凭证
4. 产物契约:Skill 包下载(GET /skills/{id}/download)→ agentscope pool/import(07-38 已实证)

阶段 7 · 统一皮(Java 模块 + 页面) ​

演进路径(用户拍板):HiMarket 下新增 Java 模块聚合管理面/开发者面 API,页面配套定制成"我们平台的皮"(对标百炼控制台)。此为最终形态:一个入口、一套身份、一个市场、一套计量。


四、关键决策表(每阶段决策 + 默认 + 依据) ​

决策点选项默认依据
Nacos 部署内置 vs 复用企业 Nacos复用(登记)内容即存量资产,复用成本最低
Higress 部署新建专用 vs 复用业务网关新建专用07-32 定论:兜模型出口、独立治理
端口/域名内网 8080 + Ingress内网隔离管理面不暴露公网
身份接入飞书 vs Keycloak vs 多 IdP企业既有 IdPPortal 级可配多 Provider
自动注册OIDC 即注册 vs 需审批需审批企业员工准入要可控
沙箱sandbox-shared 独立 namespace隔离执行体与市场解耦
计量网关权威事件 + 下游重放聚合单一事实源避免双写不一致;HiMarket 只存订阅与账单维度

五、落地检查单(按阶段验收) ​

  • [ ] P0:底座起来(server/admin/frontend 健康;Nacos/Higress 可登记)
  • [ ] P0:SSO 打通(企业账号登录门户,subject 绑定 Developer)
  • [ ] P1:至少一个 MCP 产品从 Nacos 关联、发布、订阅、凭证、调用成功
  • [ ] P1:Skill 定时同步进市场、可下载、可安装(07-38 实证复用)
  • [ ] P2:计量/审计闭环(调用记录可查、用量可统计)
  • [ ] P2:agentscope-service 消费 HiMarket 连接配置端到端
  • [ ] P3:统一皮(Java 模块 + 页面)

六、风险与生产注意(源码直读) ​

风险证据应对
ID Token 不验签OidcServiceImpl.java:310 // TODO: Verify signature with JWK二开补 JWK 验签,或前置企业网关验签
MCP 产品绑定受限ApiDefinitionServiceImpl:绑定产品仅支持 MCP_SERVER其余类型走 ref 直连 Higress/Nacos
公开元数据接口/products/{id}/ref、/products/{id}/tools 为 PublicAccess只暴露引用与工具元数据;禁止把密钥写入这些对象,数据面仍需订阅校验
连接地址选择toTransportConfig() 过滤 intranet 后取公网域企业私有部署需显式配置投递域名,否则会返回空连接
上游凭证泄漏若把供应商 Key 写入连接配置,connector/metadata 可能回显凭证只存 Vault/KMS,由 Broker 注入;日志与备份脱敏
发布状态机PUBLISHING 期间禁止更新/删除(ApiStatus)运营流程按状态机走,不绕过

七、与 02 篇的关系 ​

02 篇讲“三角怎么接”(机制与数据流),本篇讲“企业怎么落”(阶段推演与决策)。部署实证回填 00/04 台账;生产架构、SLO、容量与验收闸门以 05 篇为准。

把 AI 工程讲到既懂也会用