跳转至

附录 C · 仓库地图

本地图帮助开发者快速定位 TTD monorepo 中的文件与模块。


根目录

the-ttd/
├── backend/          # Python 后端:FastAPI + LangGraph Agentic BI 编排
├── web/              # 前端:Next.js 16 + React 19 + Zustand + shadcn/ui
├── semantic-plane/   # 语义治理层:YAML 元数据资产 + JSON Schema + CI 校验
├── data-plane/       # 数据执行层:PostgreSQL(AGE+pgvector) + pg_mooncake + MinIO
├── deploy/           # 部署编排:docker-compose + Docker Swarm(HAProxy)
├── scripts/          # 根级 CI 校验工具(YAML/SQL/跨层引用/版本号)
├── docs/             # MkDocs Material 文档(本站点)
├── .github/          # GitHub Actions workflows
├── pyproject.toml    # uv workspace 根配置(backend, data-plane 成员)
├── Taskfile.yml      # 统一任务编排(be/dp/sp/web/deploy 命名空间)
├── .env.example      # 共享环境变量(全部 TTD_ 前缀)
├── mkdocs.yml        # 文档站点配置
└── uv.lock           # Python 依赖锁文件

backend/ — 后端核心

backend/
├── app/
│   ├── main.py              # FastAPI 入口 + lifespan + instance registration
│   ├── config.py            # Pydantic Settings(TTD_* 环境变量)
│   ├── deps.py              # FastAPI 依赖注入 + distributed lock
│   ├── errors.py            # 异常层次 + 错误 sanitization
│   ├── schemas.py           # API 请求/响应 Pydantic models
│   ├── agents/
│   │   ├── builder.py       # build_supervisor_graph() 图构建(第 4 章)
│   │   ├── state.py         # AgenticBIState TypedDict(第 4 章)
│   │   ├── supervisor.py    # Supervisor 节点
│   │   ├── embedding.py     # Embedding 工具函数
│   │   ├── sub_agents/      # 所有 Sub-agent(第 4 章)
│   │   │   ├── query_understanding.py
│   │   │   ├── router.py            # 7 路由决策
│   │   │   ├── planner.py           # Plan-and-Execute
│   │   │   ├── data_retrieval.py
│   │   │   ├── sql_generation.py    # SQL 生成(第 6 章)
│   │   │   ├── guardrails.py        # 五层护栏(第 6 章)
│   │   │   ├── visualization.py
│   │   │   ├── insights.py
│   │   │   ├── analytical.py        # ML 分析(第 8 章)
│   │   │   ├── schema_explorer.py
│   │   │   ├── sql_explainer.py
│   │   │   ├── knowledge_qa.py
│   │   │   ├── followup.py
│   │   │   └── suggest_followup.py
│   │   ├── evaluators/      # 三级评估器(第 15 章)
│   │   └── semantic_plane/  # 语义层导入管道(第 9 章)
│   ├── semantic/            # 语义查询规划器(第 6 章)
│   │   ├── query_contract.py
│   │   ├── router.py        # KMB Steiner 树
│   │   ├── rewrite.py       # 三大代数重写
│   │   ├── sql_compiler.py  # SQLGlot 编译
│   │   └── planner_node.py
│   ├── skills/              # AI 技能(第 5/8 章)
│   │   ├── rag.py           # R/V/G/D 四引擎检索(61KB,最核心)
│   │   ├── reranker.py      # 重排序
│   │   ├── corrective_retrieval.py  # 补偿检索
│   │   ├── graph_rag.py     # NL2Cypher
│   │   ├── sql_executor.py  # 数据面执行器
│   │   ├── sql_column_validator.py  # AST 列校验
│   │   ├── visualization.py # 可视化推荐
│   │   ├── chart_templates/ # 35+ 图表模板
│   │   ├── metadata_cache.py
│   │   ├── context_compactor.py
│   │   ├── query_decomposer.py
│   │   └── governance.py
│   ├── tools/               # 工具(第 8 章)
│   │   ├── ml/              # 6 个 ML 工具
│   │   └── interpreter/     # 代码沙箱
│   ├── memory/              # 四层记忆(第 7 章)
│   │   ├── facade.py        # 统一入口
│   │   ├── formation.py     # 记忆形成
│   │   ├── long_term.py     # 长期记忆
│   │   ├── short_term.py    # 短期记忆
│   │   ├── sql_cache.py     # SQL 语义缓存
│   │   ├── dynamic_few_shot.py  # 动态 few-shot
│   │   └── term_mapping.py
│   ├── models/              # 多模型注册表(第 4 章)
│   │   └── registry.py
│   ├── prompt/              # Prompt 管理(第 6 章)
│   │   ├── assembler.py     # Prompt 组装
│   │   └── manager.py
│   ├── security/            # 安全(第 14 章)
│   │   ├── auth.py          # JWKS 验签
│   │   ├── guard.py         # Content Safety
│   │   └── policy.py        # 权限过滤
│   ├── observability/       # 可观测性(第 14 章)
│   │   ├── facade.py        # 统一网关
│   │   ├── langfuse_adapter.py
│   │   ├── automq_exporter.py
│   │   ├── events.py
│   │   └── spans.py
│   ├── audit/               # 审计日志
│   ├── session/             # 会话管理
│   ├── runtime/             # Agent Runtime Pool
│   │   ├── registry.py      # 实例注册 + heartbeat
│   │   └── lifecycle.py     # Graceful shutdown
│   ├── api/                 # FastAPI 端点(第 11 章)
│   │   ├── chats.py         # Chat BI API
│   │   ├── stream.py        # SSE 流式
│   │   ├── admin/           # 20+ Admin 端点
│   │   └── ...
│   ├── db/                  # SQLAlchemy ORM
│   │   └── models.py        # 39KB,所有表模型
│   ├── repositories/        # 数据访问层
│   └── services/            # 业务逻辑层
├── alembic/                 # 数据库迁移(11 个版本)
├── tests/                   # 测试
├── Dockerfile
├── docker-compose.yml
├── Taskfile.yml
└── pyproject.toml

web/ — 前端

web/
├── app/
│   ├── (auth)/              # 登录/注册
│   ├── (chat)/chat/         # 对话主界面 + admin/
│   └── api/                 # auth/[...all], token, v1/[...path] 反代
├── components/
│   ├── chat/                # 流式消息、思考步骤
│   ├── results/             # 结果表、图表、下钻、ML/知识/图面板
│   ├── query/               # 查询组件
│   ├── admin/               # 管理后台组件
│   ├── landing/             # 落地页
│   └── ui/                  # 62 个 shadcn 组件
├── stores/                  # Zustand(chat/query-workspace/session-detail/ui-preferences)
├── hooks/                   # use-chat-stream, use-models, use-few-shots, use-evaluation...
├── lib/
│   ├── auth.ts              # Better Auth 配置
│   ├── api/
│   │   ├── generated/       # openapi-ts 生成客户端
│   │   ├── sse-schema.ts    # SSE 事件 Zod schema
│   │   ├── query-stream.ts
│   │   └── chat-stream.ts
│   └── chart-templates/     # 前端图表模板
└── package.json

semantic-plane/ — 语义治理资产

semantic-plane/
├── domains/                 # Layer 1: table_asset(含 metrics/ 子目录)
├── terms/                   # Layer 1+2: business_term
├── term_relationships/      # Layer 2: 术语关系
├── few_shots/               # Layer 1: few-shot 示例
├── join_rules/              # Layer 1: JOIN 规则
├── business_rules/          # Layer 3
├── business_contexts/       # Layer 3
└── schemas/                 # 8 个 JSON Schema

data-plane/ — 数据执行环境

data-plane/
├── docker-compose.yml       # PG Supernode + pg_mooncake + MinIO + AutoMQ
├── sql/
│   ├── 001_create_schema.sql  # semlayer schema + pgvector + AGE
│   └── 100_hm_create_schema.sql  # H&M gold 表
└── scripts/
    ├── load_hm_data.py      # 加载 H&M 数据
    └── publish_semantic_plane.py  # 发布 YAML 到 S3

deploy/ — 部署编排

deploy/
├── docker-compose.yml       # 本地全栈
└── swarm/
    ├── docker-compose.swarm.yml  # Swarm HA
    └── haproxy.cfg          # 一致性哈希配置

scripts/ — CI 校验工具

scripts/
├── validate_all_yaml.py         # JSON Schema 校验
├── validate_sql_definitions.py  # metric SQL 语法
├── validate_cross_layer_refs.py # 跨层引用
├── check_version_bump.py        # 版本号检查
├── build_changeset.py           # 增量 changeset
├── build_full_changeset.py      # 全量 changeset
└── analyze_metadata_diff.py     # 变更影响分析

按角色推荐阅读顺序

角色 阅读顺序
后端开发 agents/builder.pystate.pysub_agents/router.pyskills/rag.pysemantic/
前端开发 web/app/(chat)/stores/chat-store.tslib/api/sse-schema.tscomponents/results/
数据治理 semantic-plane/scripts/validate_*.pybackend/app/agents/semantic_plane/
运维 data-plane/docker-compose.ymldeploy/swarm/backend/app/runtime/backend/app/observability/

相关文档