Servify DocsServify Docs
首页
架构
实施计划
  • WeKnora 集成
  • CI / Runner
  • 版本发布
  • 测试金字塔
  • Mermaid 兼容性
GitHub
首页
架构
实施计划
  • WeKnora 集成
  • CI / Runner
  • 版本发布
  • 测试金字塔
  • Mermaid 兼容性
GitHub
  • 实施计划

    • Servify Implementation Backlogs
    • 01 Platform And Runtime
    • 02 AI And Knowledge
    • 03 Business Modules
    • 04 SDK And Channel Adapters
    • 05 Engineering Hardening
    • 06 Voice And Protocol Expansion
    • 07 SDK Multi Surface
    • 08 AI Provider Expansion

10 Migration Scorecard

本文件记录 10-service-to-module-migration 的当前完成度,用于支持 M5 的持续追踪。

状态定义:

  • legacy
    • handler/runtime 仍主要依赖旧 services/*
  • mixed
    • 已部分接入 modules/*,但 HTTP 或 runtime 主入口尚未收口
  • contracted
    • handler-facing 或 runtime-facing 主入口已收口到 modules/*/delivery
  • stabilized
    • 已收口,且有 CI / 文档 / 兼容职责规则持续守护

判定补充:

  • 若某能力已经收口,但尚未进入 scripts/module-boundaries.rules,不能标记为 stabilized
  • 若文档已声明收口,但 CI 规则尚未覆盖,最多只能标记为 contracted

Scorecard

CapabilityHandler EntryRuntime EntryLegacy Service RoleStatusNotes
ticketmodules/ticket/delivery.HandlerServiceticketdelivery.NewHandlerServiceAdapter(...)compatibility facade + orchestration side effectsstabilizedhandler/router/runtime 已收口,边界脚本已覆盖
agentmodules/agent/delivery.HandlerServiceservices.AgentService as contract implcompatibility facade + runtime state holderstabilizedhandler DTO 与 transfer runtime contract 已回收到 module delivery;运行态内存状态仍在 legacy service;runtime surface 收窄已纳入边界脚本守护
analyticsmodules/analytics/delivery.HandlerServiceservices.StatisticsService as contract implcompatibility facade + event bus gluestabilizedDTO 已抽到 module contract,handler 不再直连 concrete service
routing / session transfermodules/routing/delivery.HandlerServiceservices.NewSessionTransferServiceWithAdapters(...)compatibility facade + runtime gluestabilizedsession 读取/assignment/system message 已走 conversation runtime adapter,waiting queue/transfer record 已走 routing module,ticket assignment 已走 ticket module runtime adapter,agent load 调整已走 agent module runtime adapter;websocket 通知依赖已收窄为接口,主运行时也已切到显式 adapter 装配,setter 式注入已移出活跃路径
conversation / websocket runtimen/amodules/conversation/delivery.WebSocketMessageWriterruntime connection hubstabilized主 runtime 与 lightweight realtime runtime 都已走 adapter 注入
aimodules/ai/delivery.HandlerServiceAIAssembly.RuntimeServiceruntime compatibility surface for websocket/router/transferstabilizedhandler 主路径已切到 orchestrated enhanced AI;assembly 不再暴露 legacy concrete AI service
customermodules/customer/delivery.HandlerServicemodules/customer/delivery.NewHandlerService(db)compatibility facade + DTO mapping for old callersstabilizedhandler/router/runtime 主路径已直接走 module delivery,集成测试与边界脚本已守护
automationmodules/automation/delivery.HandlerServicemodules/automation/delivery.NewHandlerService(db)compatibility facade + event bus gluestabilizedhandler/router/runtime 主路径已直接走 module delivery;subscriber 仍在 legacy service,但 HTTP 入口与测试已收口
knowledgemodules/knowledge/delivery.HandlerServicemodules/knowledge/delivery.NewHandlerServiceWithProvider(db, ...)compatibility facade retained for old callersstabilizedhandler/router/runtime 的主路径已走 module delivery;index job 仓储与 WeKnora provider 装配已纳入 runtime 主路径,并进入边界脚本守护
voicealready module coordinatormodule coordinatornot primarily legacymixed已较模块化,但不属于本轮 services -> modules 的典型迁移样式

当前结论

  • ticket、agent、analytics、routing、conversation runtime、ai、customer、automation、knowledge 已具备持续守护条件
  • customer 的旧 facade 仅保留历史调用兼容与 DTO 映射职责
  • automation 的旧 facade 仅保留 event bus subscriber 与少量兼容 glue
  • knowledge 已完成 handler/runtime 收口,索引任务仓储与 provider 集成已纳入 module delivery 主路径
  • 一批尚未模块化的薄 handler 能力已完成 app/server 装配面收口:satisfaction、macro、app integration、custom field、shift、suggestion、gamification
  • message router 已完成 runtime/router/handler 装配面收口,保留 concrete 生命周期实现于 services.MessageRouter
  • sla 已完成 handler/runtime/router 的装配面收口,但 service 本体仍保留 automation glue 与 runtime 组装职责
  • realtime runtime 已去掉 WebSocketHub / WebRTCService 的顶层 concrete 暴露,仅保留 gateway contract 与内部启动细节
  • 上述 stabilized 条目都已进入 scripts/module-boundaries.rules,其中 customer / automation / knowledge 的 handler 集成测试也已切到 module delivery 主路径
  • 旧 services/* 仍然存在,但对这些能力来说,已不再是 HTTP 默认入口
  • 下一阶段重点不再是“再找一个模块收口”,而是:
    • 扩大 scorecard 覆盖范围
    • 持续压缩剩余 legacy 状态条目,并补齐 knowledge 的 indexing/runtime 策略
    • 为 legacy 条目明确冻结策略与退役条件
Edit this page
最近更新: 2026/3/22 16:20
Contributors: cuihairu