CroupierCroupier
指南
架构
API 参考
开发
  • C++ SDK
  • Go SDK
  • Java SDK
  • JavaScript SDK
  • Python SDK
  • C# SDK
  • Lua SDK
分析
GitHub
指南
架构
API 参考
开发
  • C++ SDK
  • Go SDK
  • Java SDK
  • JavaScript SDK
  • Python SDK
  • C# SDK
  • Lua SDK
分析
GitHub
  • 系统架构

    • 架构概览
    • 分层设计
    • 数据流

Core / Extension Mapping

更新时间:2026-03-15 状态:草案

本文件用于把当前代码目录映射到目标架构,作为重构拆分依据。

一句话边界: 核心只保留稳定底座;业务能力默认以扩展安装形态交付。


1. 目标目录结构

建议目标形态:

internal/
  core/
    auth/
    permission/
    audit/
    workspace/
    game/
    node/
    function/
    invocation/
    config/
    secret/
    ops/
    extension/
      catalog/
      installation/
      manifest/
      runtime/
      reconciler/
  drivers/
    openapi/
    webhook/
    grpc/
    workflow/
    internalui/
  agent/
    runtime/
    extension/
    bridge/
  extensions/
    official/
      analytics/
      externalplatform/
      alerting/
      approval/
      backup/

说明:

  • core 只保留平台底座。
  • drivers 是少量稳定驱动,不承载业务。
  • agent 放 Agent 执行时逻辑。
  • extensions 放官方扩展实现。

2. 当前目录映射

2.1 直接归入核心

这些目录应保留为核心能力,后续只做收敛和归类,不做扩展化:

当前目录目标归属说明
internal/api/authinternal/core/auth核心认证能力
internal/api/permissioninternal/core/permission权限体系必须统一
internal/api/roleinternal/core/permission角色仍属于权限域
internal/api/auditinternal/core/audit扩展必须复用审计
internal/api/configinternal/core/config配置中心属于底座
internal/api/agentinternal/core/node节点与 Agent 管理
internal/api/nodeinternal/core/node节点管理
internal/api/functioninternal/core/function函数注册与编排核心
internal/api/functioncallinternal/core/function调用记录与控制属于函数域
internal/api/workspaceinternal/core/workspace工作区基础模型
internal/api/gameinternal/core/game游戏主体模型
internal/api/metainternal/core/config元信息接口可收敛到核心
internal/api/opsinternal/core/ops仅保留基础 ops 能力
internal/appinternal/agentAgent 运行逻辑
internal/nnginternal/core + internal/agent按 server/agent 分层重组
internal/service/permissioninternal/core/permission中间件和服务保留统一
internal/middlewareinternal/core收敛为核心通用中间件
internal/routerinternal/core核心 HTTP/路由装配
internal/handlerinternal/core核心 handler 装配层
internal/svcinternal/core服务上下文,后续要瘦身
internal/securityinternal/core身份、安全、令牌属于底座
internal/jobsinternal/core任务基础设施
internal/configinternal/core/config配置结构定义
internal/modelinternal/core后续按领域拆,不直接外放给扩展
internal/repointernal/core核心数据访问层

2.2 先保留在核心,但需要拆分

这些目录不是完整业务模块,但内部混有未来会扩展化的内容,需要二次拆:

当前目录暂定归属后续动作
internal/platformdrivers + extensions + core把 driver、绑定、历史平台逻辑拆开
internal/logiccore + extensions按领域重分,不能继续做混合逻辑仓
internal/api/provider过渡层需要判断是 runtime API 还是业务 API
internal/api/openapidrivers/openapi 或扩展辅助层不应继续作为独立业务域存在
internal/api/monitoringcore/ops + official.monitoring保留基础监控,其余迁扩展
internal/analyticscore telemetry + official.analytics基础采集与分析产品拆开
internal/telemetrycore telemetry仅保留底层指标和 tracing 能力

2.3 优先迁移为官方扩展

这些模块不应长期留在核心:

当前目录目标扩展原因
internal/api/analyticsofficial.analytics重业务、重 UI、重依赖
internal/api/alertofficial.alerting告警规则和通知不属核心
internal/api/approvalofficial.approval业务流程域,应扩展化
internal/api/backupofficial.backup高级备份能力可选安装
internal/api/feedbackofficial.feedback非底座能力
internal/api/ticketofficial.feedback 或 official.support工单系统是业务域
internal/api/platformofficial.external-platform第三方平台接入应成为第一批样板扩展
internal/api/providerofficial.external-platform 过渡层与平台接入高度相关
internal/api/monitoringofficial.monitoring除基础节点监控外都应外移
internal/platform/quicksdkofficial.external-platform明确属于外部平台适配
internal/platform/openapidrivers/openapi作为驱动复用,不再当业务模块

2.4 暂不纳入扩展主线

这些目录先不作为本次重构重点:

当前目录处理建议
internal/cache暂保留基础设施
internal/connpool暂保留基础设施
internal/common后续按核心共用能力收敛
internal/helper后续清理,不作为扩展依据
internal/pkg2后续清理命名和边界
internal/ports视抽象质量决定保留与否
internal/runtime需要与新 extension runtime 避免命名混淆
internal/validation保留通用验证层

3. API 分域目标

3.1 核心 API

最终建议保留的核心 API 分组:

  • auth
  • permission
  • audit
  • workspace
  • game
  • node
  • function
  • functioncall
  • config
  • ops
  • extension

3.2 扩展 API

这些 API 最终应由扩展独立提供:

  • analytics
  • alert
  • approval
  • backup
  • platform
  • feedback
  • ticket
  • monitoring advanced

4. 优先迁移顺序

按收益和风险排序:

  1. external-platform
  2. analytics
  3. alerting
  4. approval
  5. backup
  6. feedback / ticket

5. 当前结论

本轮重构不追求一步把目录完全改完,而是先完成:

  1. 新扩展运行时骨架
  2. official.external-platform 首次迁移
  3. official.analytics 拆出核心

只要这两块跑通,后续其余模块按相同路径推进即可。

在 GitHub 上编辑此页
最后更新: 2026/3/19 10:26