Skip to content

🧱 模块划分

顶层目录

icp-skills/
├─ cmd/
│  └─ go-icp/            # CLI 入口
├─ server/               # HTTP API 服务
├─ sdk/                  # Go SDK 对外包
├─ core/
│  └─ icp/               # 查询编排核心
├─ source/
│  ├─ zhudun/            # 创宇盾适配
│  ├─ ocr/               # 点选 OCR 适配
│  └─ miit/              # 工信部页面补全
├─ httpc/                # 传输层(重试/限速)
├─ model/                # 领域模型与 DTO
├─ cache/                # 结果缓存
├─ conf/                 # 配置加载
├─ log/                  # 结构化日志
└─ internal/             # 内部工具

职责边界

模块可依赖不可依赖
cmd/go-icpsdk, confsource/*(应通过 sdk)
sdkcore/icp, modelsource/* 直接耦合
core/icpsource/*, cache, modelcmd, server
source/*httpc, model彼此互依赖
httpc标准库业务模型

编排核心 core/icp

唯一知道「先查谁、再查谁、何时降级、如何聚合」的地方。其余模块都是无状态能力提供者。

形态同源

CLI、SDK、HTTP API 三种形态都最终落到 core/icp 的同一组方法,保证:

  • 行为一致(同样输入同样输出)
  • 错误一致(同样错误码语义)
  • 缓存共享(同一查询缓存命中)

📚 延伸阅读

Released under the MIT License.