English | 中文
基于 Google Agent Developer Kit (ADK) 构建的 AI 驱动地理空间分析平台。通过自然语言语义路由,自动调度四大专业管道完成空间数据治理、用地优化、多源数据融合和商业智能分析。
系统实现了《Agentic Design Patterns》21 种设计模式中的 21 种 (100%),包括 SequentialAgent / LoopAgent / ParallelAgent 三种 ADK Agent 类型、4 个 Agent Plugins、4 个输入/输出 Guardrails、SSE 流式输出、A2A 智能体互操作、Pareto 多目标优化、动态 Agent 组合、主动探索建议、推理链与置信度评分以及自我改进。前端为 React 三面板 SPA(11 标签页),后端集成 85 个 REST API。
本项目提供基于 DITA XML 标准编写的工业级技术文档,内容涵盖架构白皮书、API 参考及多引擎配置指南等。
提示: 您可以通过运行
python preview_docs.py自行编译最新的 DITA XML 源文件(位于docs/dita/目录),并查阅《多智能体架构深度解析》、《多源多模态数据融合引擎(MMFE)》、《GraphRAG 知识图谱》等深度内容。
| 指标 | 数值 |
|---|---|
| 测试覆盖 | 2104 tests, 92 test files |
| 工具集 | 22 BaseToolset, 5 SkillBundle, 122+ 工具 |
| ADK Skills | 16 场景化领域技能 + DB 驱动自定义 Skills |
| REST API | 85 endpoints |
| Agent Plugins | 4 (CostGuard, GISToolRetry, Provenance, HITLApproval) |
| Guardrails | 4 (InputLength, SQLInjection, OutputSanitizer, Hallucination) |
| ADK Agent 类型 | SequentialAgent + LoopAgent + ParallelAgent |
| 设计模式覆盖 | 21/21 (100%) |
| Streaming | 批量 + SSE 流式 |
- 五阶段流水线:画像 → 评估 → 对齐 → 融合 → 验证
- 10 种融合策略:空间连接、属性连接、分区统计、点采样、波段叠加、矢量叠加、时态融合、点云高度赋值、栅格矢量化、最近邻连接
- 5 种数据模态:矢量、栅格、表格、点云 (LAS/LAZ)、实时流
- 智能语义匹配:
- 四层渐进式匹配:精确 → 等价组 → 单位感知 → 模糊匹配
- v7.0 向量嵌入匹配:Gemini text-embedding-004 语义相似度(可选启用)
- 目录驱动等价组 + 分词相似度 + 类型兼容检查 + 单位自动转换
- LLM 增强策略路由 (v7.0):Gemini 2.0 Flash 根据用户意图智能推荐融合策略
- 分布式/核外计算 (v7.0):大数据集(>50万行/500MB)自动分块处理,避免 OOM
- 地理知识图谱 (v7.0):networkx 实体关系建模,空间邻接/包含关系检测,N跳邻居查询
- 栅格自动处理:CRS 重投影、分辨率重采样、大栅格窗口采样
- 增强质量验证:10 项检查(空值率、几何有效性、拓扑验证、KS 分布偏移检测等)
- 拓扑审计(重叠、自相交、间隙检测)
- 字段合规性检查(GB/T 21010 国标)
- 多模态校验:PDF 报告 vs SHP/数据库指标
- 自动生成治理报告(Word/PDF)
- 多源数据融合(v6.0 集成)
- 深度强化学习引擎(MaskablePPO)用地布局优化
- 耕地/林地配对交换,严格面积平衡
- 分类着色地图渲染(Categorized Layer):按地类/变化类型自动着色,中文图例
- 语义查询:自然语言 → 自动映射 SQL + 空间算子
- 选址推理链(查询 → 缓冲 → 叠加 → 过滤)
- DBSCAN 聚类、KDE 热力图、分级设色
- POI 搜索、驾车距离、批量/反向地理编码
- 交互式多图层合成 + 自然语言图层控制
- Agent Plugins:CostGuard (Token 预算)、GISToolRetry (智能重试)、Provenance (数据溯源)、HITLApproval (人机审批)
- 并行 Pipeline:ParallelAgent 数据摄取,多源并行处理
- 跨会话记忆:PostgresMemoryService 持久化对话记忆,跨会话上下文延续
- 智能任务分解:TaskGraph DAG 分解 + 波次并行执行
- Pipeline 分析:延迟/成功率/Token 效率/吞吐量/Agent 分布 5 维度分析
- Agent 生命周期钩子:Prometheus 指标 + ProgressTracker 进度追踪
- Guardrails (4):InputLength (>50k 拒绝) + SQLInjection (注入检测) + OutputSanitizer (敏感信息清理) + Hallucination (幻觉警告),递归挂载到所有子 Agent
- SSE Streaming:
run_pipeline_streaming()异步流式输出 +/api/pipeline/streamREST 端点 - LongRunningFunctionTool:DRL 优化异步执行,防止 Agent 重复调用
- 集中测试夹具:conftest.py 共享 fixture,事件循环安全隔离
- GraphRAG 知识增强:实体抽取 (Gemini+正则) → 共现图谱构建 → 图增强检索(向量 + 图邻居重排序),9 个 KB 工具
- Per-User MCP 隔离:用户可创建私有 MCP 服务器,owner_username + is_shared 控制可见性
- 用户自定义技能包:DB 驱动的工具集 + ADK Skills 自由组合,意图触发匹配
- 高级空间分析 Tier 2:IDW 插值、Kriging、地理加权回归 (GWR)、多时相变化检测、DEM 可视域分析
- 工作流模板市场:5 个预置模板 + 发布/克隆/评分,一键复用工作流
- 图片理解:自动分类上传图片,Gemini 视觉分析
- PDF 解析:文本提取 + 原生 PDF Blob 双策略
- 语音输入:Web Speech API,中/英文切换
- deck.gl + maplibre 3D 渲染器
- 支持拉伸体、柱状图、弧线图、散点图层
- 2D/3D 视图一键切换
- 多步管道链式执行,参数化 Prompt 模板
- React Flow 可视化拖拽编辑器(数据输入/管道/输出三种节点)
- APScheduler Cron 定时执行
- Webhook 结果推送
GIS Data Agent 采用了先进的层级式多智能体架构(Hierarchical Multi-Agent Architecture)。系统内置了三种主要的工作流(Pipeline),并由一个顶层的 Dynamic Planner 进行意图识别和动态分发,完美践行了 ADK 的 Generator-Critic 和 AgentTool 最佳实践。
graph TD
User["用户输入"] --> Root["顶层 Agent"]
Root --> Planner["Dynamic Planner"]
Planner -- 优化 --> OptP["Data Pipeline"]
Planner -- 治理 --> GovP["Governance Pipeline"]
Planner -- 通用 --> GenP["General Pipeline"]
OptP --> Exp1["Exploration"] --> Proc1["Processing"]
Proc1 --> Ana1["Analysis"] --> QC["Quality Check"]
QC -- 不达标 --> Ana1
QC --> Viz1["Visualization"] --> Sum1["Summary"]
GovP --> Exp2["Gov Exploration"] --> Proc2["Gov Processing"] --> Rep2["Gov Reporter"]
GenP --> Proc3["General Processing"] --> Viz3["General Viz"] --> Sum3["General Summary"]
Sum1 --> Output["结果返回"]
Rep2 --> Output
Sum3 --> Output
subgraph Plugins ["Agent Plugins (v9.0)"]
CG["CostGuard"] ~~~ GR["GISToolRetry"]
PR["Provenance"] ~~~ HL["HITLApproval"]
end
subgraph Guards ["Guardrails (v9.5)"]
IL["InputLength"] ~~~ SI["SQLInjection"]
OS["OutputSanitizer"] ~~~ HG["Hallucination"]
end
管道路由:DYNAMIC_PLANNER=true(默认)使用规划器进行动态意图分配,极大地降低了单体大模型的上下文负担。
模型分层:Explorer/Visualizer → Gemini 2.0 Flash,Processor/Analyzer/Planner → Gemini 2.5 Flash,Reporter → Gemini 2.5 Pro。
docker-compose up -d
# 访问 http://localhost:8000
# 登录: admin / admin123# 1. 配置环境
cp data_agent/.env.example data_agent/.env
# 编辑 .env,填入 PostgreSQL/PostGIS 凭据和 Vertex AI 配置
# 2. 安装依赖
pip install -r requirements.txt
# 3. 启动后端
chainlit run data_agent/app.py -w
# 4. 启动前端(开发模式,可选)
cd frontend && npm install && npm run dev默认账号:admin / admin123(首次运行自动创建)。登录页内置自助注册。
| 类别 | 功能 | 描述 |
|---|---|---|
| AI 核心 | 语义层 | YAML 目录(15 领域、7 区域、8 空间算子)+ 3 级层次 + DB 注解 |
| 技能包 | 16 个细粒度场景技能(耕地合规、坐标变换、空间聚类、PostGIS 分析等),三级增量加载 (v7.5) | |
| 自定义 Skills | DB 驱动用户自建专家 Agent:自定义指令/工具集/触发词,@mention 调用,LLM 注入防护 (v8.0) | |
| NL 图层控制 | 自然语言 显示/隐藏/样式/移除 地图图层 | |
| MCP 工具市场 | 配置驱动的 MCP 服务器连接 + 工具聚合 + DB 持久化 + 管理 UI + per-User 隔离 (v7.1/v10.0) | |
| 分析视角注入 | 用户自定义分析关注点,自动注入 Agent 提示词 (v7.1) | |
| Memory ETL | 管道执行后自动提取关键发现,智能去重,配额管理 (v7.5) | |
| 动态工具加载 | 按意图动态裁剪工具列表 (8 类别 + 10 核心工具),ContextVar + ToolPredicate (v7.5) | |
| 失败学习 | 工具失败模式记录 + 历史经验提示注入 + 自动标记已解决 (v8.0) | |
| 动态模型选择 | 任务复杂度评估 → fast/standard/premium 模型自适应切换 (v8.0) | |
| Context Caching | Gemini 上下文缓存:长系统提示复用,降低 Token 成本,环境变量控制 TTL (v7.5) | |
| 反思循环 | 全部 3 条管道含 LoopAgent 质量反思 (v7.1) | |
| Agent 协作 | Agent Plugins | CostGuard (Token 预算) + GISToolRetry (智能重试) + Provenance (数据溯源) + HITLApproval (人机审批) (v9.0) |
| ParallelAgent | 并行数据摄取 Pipeline,多源并行处理 (v9.0) | |
| 跨会话记忆 | PostgresMemoryService 持久化对话记忆,跨会话上下文延续 (v9.0) | |
| 任务分解 | TaskGraph DAG 分解 + 波次并行执行 (v9.0) | |
| Pipeline 分析 | 延迟/成功率/Token 效率/吞吐量/Agent 分布 5 维度分析 (v9.0) | |
| Agent Hooks | Prometheus 指标 + ProgressTracker 按管道追踪完成百分比 (v9.0) | |
| 生产加固 | Guardrails | 4 个输入/输出护栏:InputLength + SQLInjection + OutputSanitizer + Hallucination (v9.5) |
| SSE Streaming | run_pipeline_streaming() 异步流式 + /api/pipeline/stream 端点 (v9.5) | |
| LongRunningTool | DRL 优化异步执行,防止重复调用 (v9.5) | |
| conftest.py | 集中测试夹具,事件循环安全隔离 (v9.5) | |
| v10.0 扩展 | GraphRAG | 实体抽取 + 知识图谱构建 + 图增强向量检索 (v10.0) |
| Per-User MCP | 用户级 MCP 服务器隔离,私有/共享控制 (v10.0) | |
| 自定义技能包 | 用户自由组合工具集+ADK Skills 的 DB 驱动技能包 (v10.0) | |
| 空间分析 Tier 2 | IDW/Kriging/GWR/变化检测/可视域分析 5 个高级工具 (v10.0) | |
| 工作流模板 | 预置+用户发布的工作流模板市场,克隆/评分 (v10.0) | |
| 数据融合 | 融合引擎 (MMFE) | 五阶段流水线(画像→评估→对齐→融合→验证),10 种策略,5 种模态 |
| 语义匹配 | 五层渐进匹配:精确 → 等价组 → 嵌入相似度 → 单位感知 → 模糊 | |
| 嵌入匹配 (v7.0) | Gemini text-embedding-004 向量语义匹配(可选启用) | |
| LLM 策略路由 (v7.0) | Gemini 2.0 Flash 意图感知策略推荐 (strategy="llm_auto") |
|
| 知识图谱 (v7.0) | networkx 空间实体关系建模,N跳邻居查询,最短路径 | |
| 分布式计算 (v7.0) | 大数据集 (>500K行) 自动分块读取和处理 | |
| 栅格处理 | 自动 CRS 重投影、分辨率重采样、大栅格窗口采样 | |
| 点云 & 流数据 | LAS/LAZ 高度赋值、CSV/JSON 流数据时态融合(时间窗口+空间聚合) | |
| 质量验证 | 10 项检查:空值/几何/拓扑/CRS/微面/异常值/KS分布偏移 | |
| 多模态 | 图片理解 | 自动分类上传图片 → Gemini 视觉分析 |
| PDF 解析 | pypdf 文本提取 + 原生 PDF Blob 双策略 | |
| 语音输入 | Web Speech API,中/英切换,脉冲动画 | |
| 3D 可视化 | deck.gl 渲染 | 拉伸体、柱状图、弧线、散点图层 |
| 2D/3D 切换 | MapPanel 一键切换,自动检测 3D 图层 | |
| 工作流 | 引擎 | 多步管道链式执行 + 参数化模板 |
| 可视化编辑器 | React Flow 拖拽编辑,3 种自定义节点 (v7.1) | |
| 定时执行 | APScheduler Cron 调度 | |
| Webhook 推送 | 执行完成后 HTTP POST 结果 | |
| 数据 | 数据湖 | 统一数据目录 + 血缘追踪 + 资产一键下载(本地/云/PostGIS) |
| RAG 知识库 | 用户上传文档 → 向量化存储 → 语义搜索,多租户隔离 (v8.0) | |
| 实时流 | Redis Streams 地理围栏告警 + IoT 数据 | |
| 遥感分析 | 栅格分析、NDVI、LULC/DEM 下载 | |
| 前端 | 三面板 UI | 对话 + 地图 + 数据;支持 HTML/CSV 伪影渲染;React 18 + Leaflet + deck.gl |
| 分类着色图层 | categorized 图层类型:按属性字段自动着色多边形 + 中文图例(v7.5) |
|
| 文件管理 | 数据面板点击文件即可打开/下载(PDF/DOCX/HTML 等)(v7.5) | |
| Action 按钮 | 导出 PDF 报告、分享结果等按钮通过 ChainlitAPI 调用后端回调 (v7.5) | |
| Token 仪表盘 | 每用户日/月用量 + 管线分布可视化 | |
| 地图标注 | 协作式点击标注 + 团队共享 | |
| 底图切换 | 高德、天地图、CartoDB、OSM | |
| 安全 | 认证 | 密码 + OAuth2 (Google) + 应用内自注册 |
| MCP 安全加固 | per-User 工具隔离 + 安全沙箱 + 审计日志 (v7.5) | |
| RBAC + RLS | admin/analyst/viewer 角色 + PostgreSQL 行级安全 | |
| 账户管理 | 用户自助删除 + 级联清理 + 管理员保护 | |
| 审计日志 | 企业级审计追踪 + 管理仪表盘 | |
| 企业 | Bot 集成 | 企业微信、钉钉、飞书 Bot 适配器 |
| 团队协作 | 团队创建、成员管理、资源共享 | |
| 报告导出 | Word/PDF 含页眉页脚、管线定制标题 | |
| 运维 | 健康检查 | K8s 存活/就绪探针 + 系统诊断 |
| CI 管道 | GitHub Actions:测试 + 前端构建 + Agent 评估 + 评估门控 (v8.0) | |
| 容器化 | Docker + K8s (Kustomize)、HPA、网络策略 | |
| 可观测性 | 结构化日志 (JSON) + Prometheus 指标 + 端到端 Trace ID (v7.1) | |
| 国际化 | 中/英双语,YAML 字典 + ContextVar |
| 层级 | 技术 |
|---|---|
| 框架 | Google ADK v1.26 (google.adk.agents, google.adk.runners) |
| LLM | Gemini 2.5 Flash / 2.5 Pro(Agent),Gemini 2.0 Flash(路由) |
| 前端 | React 18 + TypeScript + Vite + Leaflet.js + deck.gl + React Flow |
| 后端 | Chainlit + Starlette(85 个 REST API 端点 + SSE Streaming) |
| 数据库 | PostgreSQL 16 + PostGIS 3.4 |
| GIS | GeoPandas, Shapely, Rasterio, PySAL, Folium, mapclassify |
| ML | PyTorch, Stable Baselines 3 (MaskablePPO), Gymnasium |
| 云存储 | 华为 OBS(S3 兼容) |
| 流式 | Redis Streams(含内存回退) |
| 容器 | Docker + Docker Compose + Kubernetes (Kustomize) |
| CI | GitHub Actions(pytest + npm build + evaluation + route-eval) |
| Python | 3.13+ |
data_agent/
├── app.py # Chainlit UI、语义路由、认证、RBAC
├── agent.py # Agent 定义、管道组装、ParallelAgent
├── frontend_api.py # 76 个 REST API 端点
├── pipeline_runner.py # 无头管道执行器 + SSE 流式输出
├── workflow_engine.py # 工作流引擎:CRUD、执行、Webhook、Cron 调度
├── multimodal.py # 多模态输入:图片/PDF 分类、Gemini Part 构建
├── mcp_hub.py # MCP Hub Manager:配置驱动的 MCP 服务器管理
├── fusion_engine.py # 多模态数据融合引擎(MMFE,~2100 行)
├── knowledge_graph.py # 地理知识图谱引擎(networkx,~625 行)
├── custom_skills.py # DB 驱动自定义 Skills:CRUD、验证、Agent 工厂
├── failure_learning.py # 工具失败模式学习:记录、查询、标记已解决
├── plugins.py # Agent Plugins:CostGuard、GISToolRetry、Provenance、HITL
├── guardrails.py # Agent Guardrails:4 个输入/输出护栏(递归挂载)
├── conversation_memory.py # PostgresMemoryService 跨会话记忆
├── task_decomposer.py # TaskGraph DAG 任务分解 + 波次并行
├── pipeline_analytics.py # Pipeline 分析仪表盘(5 个 REST 端点)
├── agent_hooks.py # Agent 生命周期钩子(Prometheus + ProgressTracker)
├── knowledge_base.py # RAG 知识库:文档向量化 + 语义搜索
├── graph_rag.py # GraphRAG:实体抽取 + 图构建 + 图增强检索 (v10.0)
├── custom_skill_bundles.py # 用户自定义技能包:CRUD + 工厂 + 意图匹配 (v10.0)
├── workflow_templates.py # 工作流模板市场:CRUD + 克隆 + 评分 (v10.0)
├── spatial_analysis_tier2.py # 高级空间分析:IDW/Kriging/GWR/变化检测/可视域 (v10.0)
├── conftest.py # 集中测试夹具 + 事件循环安全
├── toolsets/ # 22 个 BaseToolset 模块
│ ├── visualization_tools.py # 10 个工具:分级设色、热力图、3D、图层控制
│ ├── analysis_tools.py # 分析工具 + LongRunningFunctionTool (DRL)
│ ├── fusion_tools.py # 数据融合工具集(4 个工具)
│ ├── knowledge_graph_tools.py # 知识图谱工具集(3 个工具)
│ ├── mcp_hub_toolset.py # MCP 工具桥接
│ ├── skill_bundles.py # 16 个场景技能分组
│ ├── spatial_analysis_tier2_tools.py # IDW/Kriging/GWR/变化检测/可视域 (v10.0)
│ └── ... # 探查、地理处理、数据库、语义层等
├── skills/ # 16 个 ADK 场景技能(kebab-case 目录)
├── prompts/ # 3 个 YAML 提示词文件
├── evals/ # Agent 评估框架(trajectory + rubric)
├── migrations/ # 29 个 SQL 迁移脚本
├── locales/ # 国际化:zh.yaml + en.yaml
├── db_engine.py # 连接池单例
├── tool_filter.py # 意图驱动动态工具过滤(ToolPredicate + ContextVar)
├── health.py # K8s 健康检查 API
├── observability.py # 结构化日志 + Prometheus
├── i18n.py # 国际化:YAML + t() 函数
├── test_*.py # 85 个测试文件 (1993 测试)
└── run_evaluation.py # Agent 评估运行器
frontend/
├── src/
│ ├── App.tsx # 主应用:认证、三面板布局
│ ├── components/
│ │ ├── ChatPanel.tsx # 对话 + 语音输入 + NL 图层控制
│ │ ├── MapPanel.tsx # Leaflet 地图 + 2D/3D 切换 + 标注
│ │ ├── Map3DView.tsx # deck.gl 3D 渲染器
│ │ ├── DataPanel.tsx # 7 标签页:文件/表格/资产/历史/用量/工具/工作流
│ │ ├── WorkflowEditor.tsx # React Flow 工作流可视化编辑器
│ │ ├── LoginPage.tsx # 登录 + 应用内注册
│ │ ├── AdminDashboard.tsx # 管理仪表盘
│ │ └── UserSettings.tsx # 账户设置 + 自助删除
│ └── styles/layout.css # 全部样式 (~2100 行)
└── package.json
.github/workflows/ci.yml # GitHub Actions CI 管道
k8s/ # 11 个 Kubernetes 清单
docs/ # 文档
自定义 React SPA 替代 Chainlit 默认 UI:
┌───────────────────┬──────────────────────────┬──────────────────────┐
│ 对话面板 (320px) │ 地图面板 (flex-1) │ 数据面板 (360px) │
│ │ │ │
│ 消息流 │ Leaflet / deck.gl 地图 │ 7 个标签页: │
│ 流式输出 │ GeoJSON 图层 │ - 文件 │
│ 操作卡片 │ 2D/3D 切换 │ - 表格预览 │
│ 语音输入 │ 图层控制 │ - 数据资产 │
│ NL 图层控制 │ 协作标注 │ - 管线历史 │
│ │ 底图切换 │ - Token 用量 │
│ │ 图例 │ - MCP 工具 │
│ │ │ - 工作流 │
└───────────────────┴──────────────────────────┴──────────────────────┘
| 方法 | 路径 | 描述 |
|---|---|---|
| GET | /api/catalog |
数据资产列表(关键词/类型筛选) |
| GET | /api/catalog/{id} |
资产详情 |
| GET | /api/catalog/{id}/lineage |
数据血缘(上下游) |
| GET | /api/semantic/domains |
语义领域列表 |
| GET | /api/semantic/hierarchy/{domain} |
领域层次浏览 |
| GET | /api/pipeline/history |
管线执行历史 |
| GET | /api/pipeline/stream |
SSE 流式管线输出 (v9.5) |
| GET | /api/user/token-usage |
Token 消耗 + 管线分布 |
| DELETE | /api/user/account |
自助删除账户 |
| GET/PUT | /api/user/analysis-perspective |
分析视角查看/设置 (v7.1) |
| GET | /api/user/memories |
自动提取的智能记忆列表 (v7.5) |
| DELETE | /api/user/memories/{id} |
删除指定智能记忆 (v7.5) |
| GET | /api/sessions |
会话列表 |
| DELETE | /api/sessions/{id} |
删除会话 |
| GET/POST | /api/annotations |
标注列表/创建 |
| PUT/DELETE | /api/annotations/{id} |
更新/删除标注 |
| GET | /api/config/basemaps |
底图配置 |
| GET | /api/admin/users |
用户列表(管理员) |
| PUT | /api/admin/users/{username}/role |
修改角色(管理员) |
| DELETE | /api/admin/users/{username} |
删除用户(管理员) |
| GET | /api/admin/metrics/summary |
系统指标(管理员) |
| GET | /api/mcp/servers |
MCP 服务器状态 |
| POST | /api/mcp/servers |
添加 MCP 服务器 (v7.1) |
| GET | /api/mcp/tools |
MCP 工具列表 |
| POST | /api/mcp/servers/test |
MCP 连接测试 |
| POST | /api/mcp/servers/{name}/toggle |
MCP 启停(管理员) |
| POST | /api/mcp/servers/{name}/reconnect |
MCP 重连(管理员) |
| PUT | /api/mcp/servers/{name} |
更新 MCP 服务器配置 (v7.1) |
| DELETE | /api/mcp/servers/{name} |
删除 MCP 服务器 (v7.1) |
| GET/POST | /api/workflows |
工作流列表/创建 |
| GET/PUT/DELETE | /api/workflows/{id} |
工作流详情/更新/删除 |
| POST | /api/workflows/{id}/execute |
执行工作流 |
| GET | /api/workflows/{id}/runs |
执行历史 |
| GET | /api/workflows/{id}/runs/{run_id}/status |
执行状态查询 |
| GET | /api/map/pending |
待处理地图更新(前端轮询) |
| GET/POST | /api/skills |
自定义 Skills 列表/创建 (v8.0) |
| GET/PUT/DELETE | /api/skills/{id} |
Skill 详情/更新/删除 (v8.0) |
| GET/POST | /api/kb |
知识库列表/创建 (v8.0) |
| POST | /api/kb/search |
知识库语义搜索 (v8.0) |
| GET/DELETE | /api/kb/{id} |
知识库详情/删除 (v8.0) |
| POST | /api/kb/{id}/documents |
上传知识库文档 (v8.0) |
| DELETE | /api/kb/{id}/documents/{doc_id} |
删除知识库文档 (v8.0) |
| GET | /api/analytics/latency |
管线延迟分析 (v9.0) |
| GET | /api/analytics/tool-success |
工具成功率分析 (v9.0) |
| GET | /api/analytics/token-efficiency |
Token 效率分析 (v9.0) |
| GET | /api/analytics/throughput |
管线吞吐量分析 (v9.0) |
| GET | /api/analytics/agent-breakdown |
Agent 分布分析 (v9.0) |
| GET | /api/mcp/servers/mine |
我的 MCP 服务器 (v10.0) |
| POST | /api/mcp/servers/{name}/share |
MCP 共享切换 (v10.0) |
| GET/POST | /api/bundles |
技能包列表/创建 (v10.0) |
| GET | /api/bundles/available-tools |
可用工具集+技能列表 (v10.0) |
| GET/PUT/DELETE | /api/bundles/{id} |
技能包详情/更新/删除 (v10.0) |
| GET/POST | /api/templates |
工作流模板列表/创建 (v10.0) |
| GET/PUT/DELETE | /api/templates/{id} |
模板详情/更新/删除 (v10.0) |
| POST | /api/templates/{id}/clone |
克隆模板为工作流 (v10.0) |
| POST | /api/kb/{id}/build-graph |
构建知识库实体图谱 (v10.0) |
| GET | /api/kb/{id}/graph |
实体关系图谱数据 (v10.0) |
| POST | /api/kb/{id}/graph-search |
图增强语义搜索 (v10.0) |
| GET | /api/kb/{id}/entities |
知识库实体列表 (v10.0) |
# 全量测试 (1993 测试)
python -m pytest data_agent/ --ignore=data_agent/test_knowledge_agent.py -q
# 单个模块
python -m pytest data_agent/test_guardrails.py -v
# 前端构建检查
cd frontend && npm run buildGitHub Actions 工作流(.github/workflows/ci.yml)在 push 到 main/develop 及 PR 时触发:
- 单元测试 — Python 测试 + PostGIS 服务容器 + JUnit XML
- 前端构建 — TypeScript 编译 + Vite 生产构建
- Agent 评估 — 仅
mainpush 触发(需GOOGLE_API_KEYsecret) - 路由评估 — API 端点计数校验
| 版本 | 功能集 | Tests | 状态 |
|---|---|---|---|
| v1.0–v3.2 | 基础 GIS、PostGIS、语义层、多管道架构 | — | ✅ 完成 |
| v4.0 | 前端三面板 SPA、可观测性、CI/CD、技能包、协作标注 | — | ✅ 完成 |
| v4.1 | 会话持久化、管道进度可视化、错误恢复、数据预览、i18n | — | ✅ 完成 |
| v5.1–v5.6 | MCP 市场、多模态输入、3D 可视化、工作流编排、融合引擎 | — | ✅ 完成 |
| v6.0 | 融合增强(栅格重投影、点云、流数据、语义增强) | — | ✅ 完成 |
| v7.0 | 向量嵌入匹配、LLM 策略路由、知识图谱、分布式计算 | — | ✅ 完成 |
| v7.1 | MCP 管理 UI、WorkflowEditor、分析视角、反思推广、Trace ID | — | ✅ 完成 |
| v7.5 | MCP 安全加固、Memory ETL、动态工具加载、16 场景化 Skills、Context Caching | 1530 | ✅ 完成 |
| v8.0 | 失败学习、动态模型选择、评估门控 CI、DB 自定义 Skills、RAG 知识库 | 1735 | ✅ 完成 |
| v9.0 | Agent Plugins (4)、ParallelAgent、跨会话记忆、任务分解、Pipeline Analytics、Agent Hooks | 1859 | ✅ 完成 |
| v9.5 | conftest.py、Guardrails (4)、SSE Streaming、LongRunningFunctionTool、评估增强 | 1895 | ✅ 完成 |
| v10.0 | GraphRAG、per-User MCP 隔离、自定义技能包、高级空间分析 Tier 2、工作流模板 | 1993 | ✅ 完成 |
| v11.0 | 并发任务队列、推理链+置信度、主动探索建议、A2A 互操作、设计模式 19/21 | 2074 | ✅ 完成 |
| v12.0 | Pareto 多目标优化、动态 Agent 组合、前端 11 标签页 | 2104 | ✅ 完成 |
| 设计模式 21/21 (100%) 全覆盖 |
| 模式 | 状态 | 实现 |
|---|---|---|
| 提示链 (Ch1) | ✅ | 3 条 SequentialAgent 管道 |
| 路由 (Ch2) | ✅ | Gemini 2.0 Flash 意图分类 |
| 并行化 (Ch3) | ✅ | ParallelAgent + TaskDecomposer |
| 反思 (Ch4) | ✅ | LoopAgent 全部 3 管道 |
| 工具使用 (Ch5) | ✅ | 21 工具集, 113+ 工具, 16 Skills |
| 规划 (Ch6) | ✅ | DAG 任务分解 + 波次并行 |
| 多智能体 (Ch7) | ✅ | 层级 Planner + 7 子 Agent |
| 记忆管理 (Ch8) | ✅ | Memory ETL + PostgresMemoryService |
| 学习适应 (Ch9) | ✅ | 失败学习 + GISToolRetryPlugin |
| MCP (Ch10) | ✅ | 3 传输协议 + DB CRUD + 管理 UI |
| 目标监控 (Ch11) | ✅ | ProgressTracker + Prometheus |
| 异常恢复 (Ch12) | ✅ | 恢复建议 + GISToolRetryPlugin |
| HITL (Ch13) | ✅ | BasePlugin + 13 工具风险注册 |
| 资源感知 (Ch16) | ✅ | 动态工具 + 动态模型 + CostGuard + LongRunning |
| 护栏安全 (Ch18) | ✅ | RBAC + RLS + 4 Guardrails |
| 评估监控 (Ch19) | ✅ | 4 管道评估 + CI + 5 Analytics |
MIT