LawSeekDog 技术文档
LawSeekDog 是一套「AI Agent 驱动的法律业务平台」的多仓库工程组。
- 业务微服务:Java 21 + Spring Boot(DDD 分层、Google REST、统一
/api/**与/api/v1/internal/**边界) - AI 引擎:Python + FastAPI + LangGraph(技能驱动 + Workbench 工作流编排、可中断的人机协同)
- 工程化:
ai-boot-framework(脚手架/BOM/Starter/Archetype)+infra-templates(统一 CI/CD)+ K8s/Helm
本网站内容以仓库现状为准;涉及“规划/待实现”的内容会明确标注,避免把旧实现/设想写成既成事实。
快速导航
- 架构
- 业务流程
- 核心实现
- API 与规范
- 部署与交付
架构图(概览)
下面两张图用于快速理解系统形态;细节请看「架构」章节。
业务架构(面向用户/律师/运营)
flowchart TB
U[用户/客户] --> FE[Frontend: Vue3 多端]
L[律师/经办人] --> FE
A[运营/管理员] --> FE
FE -->|REST + SSE| CONS[consultations-service<br/>对话/SSE/卡片]
FE -->|REST| MAT[matter-service<br/>事项/待办/阶段]
FE -->|REST| TPL[templates-service<br/>模板/文书]
FE -->|REST| FILES[files-service<br/>文件/对象存储]
FE -->|REST| USER[user-service]
FE -->|REST| ORG[organization-service]
FE -->|REST| AUTH[auth-service]
FE -->|REST| BILL[billing-service]
FE -->|REST| NOTIF[notification-service]
FE -->|REST| PLAT[platform-service<br/>配置/字典/FeatureFlags]
CONS -->|NDJSON stream| AIE[ai-engine<br/>LangGraph 执行/技能]
MAT -->|internal HTTP| AIE
TPL -->|internal HTTP| AIE
AIE -->|internal HTTP| KNOW[knowledge-service<br/>原子检索/GraphRAG]
AIE -->|internal HTTP| MEM[memory-service<br/>事实/记忆]
AIE -->|internal HTTP| FILES
AIE -->|internal HTTP| MAT
AIE -->|internal HTTP| PLAT
COL[collector-service<br/>seed packages 分发] -->|internal HTTP| PLAT
COL -->|internal HTTP| KNOW
COL -->|internal HTTP| TPL
(若本页未渲染 Mermaid,可到 GitHub 查看,或参考 architecture/overview.md 的 ASCII 兜底图。)
技术架构(运行时/部署视角)
flowchart LR
subgraph k8s[Kubernetes]
ingress[Ingress/Gateway] --> svc[Java Services<br/>Spring Boot]
ingress --> fePod[frontend]
svc -->|internal HTTP| ai[ai-engine<br/>FastAPI + LangGraph]
svc -->|internal HTTP| col[collector-service<br/>FastAPI]
end
subgraph data[Data Plane]
pg[(PostgreSQL)]
minio[(MinIO/S3)]
es[(Elasticsearch<br/>可选: keyword/vector/hybrid)]
neo4j[(Neo4j<br/>可选: GraphStore)]
end
svc --> pg
ai --> pg
svc --> minio
svc -.-> es
svc -.-> neo4j
ai -.-> es
ai -.-> neo4j
%% Mermaid 不支持直接连到 subgraph(会触发 syntax error);改为连接到 subgraph 内的工作负载节点。
cr[(Container Registry<br/>GHCR / Aliyun ACR)] --> svc
cr --> ai
cr --> col
cr --> fePod