docs: 新增V30.0版本相关设计文档与指南

新增服务器启动文档、设计说明书、风险清单等核心文档
补充前端集成蓝图、多租户实施清单、上线红线检查清单
添加质量保障文档与早期业务规格书
This commit is contained in:
Ansonai
2026-03-16 01:31:26 +08:00
commit 6759d47de4
74 changed files with 9310 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
# 非 SaaS 多租户实施清单 (V30.0)
## 1. 实施要点
- **数据独占**:每个租户拥有独立的 `tenant_id` 与加密盐。
- **资源配额**:严格限制单个租户的并发 Worker 数量与算力开销。
## 2. 多租户隔离架构
### 2.1 数据层隔离
| 层级 | 隔离策略 | 实现方式 |
|------|----------|----------|
| 数据库 | 逻辑隔离 | 所有表添加 tenant_id 索引列 |
| 表结构 | 租户专属表 | cf_{租户标识}_{业务表} (如需物理隔离) |
| Redis | 键名前缀 | `{tenantId}:{业务Key}` |
### 2.2 应用层隔离
- **TenantContext**:请求级别租户上下文 ThreadLocal 传递
- **行级安全**:所有查询自动注入 `WHERE tenant_id = ?` 条件
- **跨租户校验**API 层验证操作权限与数据归属
### 2.3 资源配额管理
| 资源类型 | 配额限制 | 熔断策略 |
|----------|----------|----------|
| API 并发 | 100 req/s/租户 | 超出返回 429 |
| Worker 并发 | 10 任务/租户 | 队列满拒绝 |
| 存储空间 | 10 GB/租户 | 定期清理日志 |
## 3. 安全实施清单
- [ ] 数据库连接池配置租户路由中间件
- [ ] Redis 键空间隔离验证
- [ ] 日志脱敏 (tenantId 脱敏处理)
- [ ] API 网关层租户识别 (Header: X-Tenant-ID)
- [ ] 跨租户漏洞渗透测试
## 4. 测试用例
- [ ] 租户 A 无法访问租户 B 的数据
- [ ] 超配额请求正确返回 429 错误
- [ ] 租户删除后数据完全清理
---
**版本**: V30.0
**更新日志**: [AI-3 @ 2026-03-15] 补充多租户隔离架构与实施清单

View File

@@ -0,0 +1,82 @@
# Crawlful Hub - Node.js 后端技术指南 (V30.0)
## 1. 技术栈
- **Runtime**: Node.js v20+
- **Language**: TypeScript (Strict Mode)
- **Database**: MySQL 8.0 (Aliyun RDS)
- **Cache**: Redis 6.0 (Local)
- **ORM**: Knex.js
- **AI**: Gemini-3-Flash, CLIP, Sentiment Analysis
## 2. 目录结构
- `server/src/core/`: AGI 内核、算力调度、隐私审计。
- `server/src/domains/`: 业务领域模型Trade, Finance, Product, Logistics 等)。
- `server/src/api/`: 外部与内部 API 路由。
- `server/src/workers/`: 异步任务与爬虫任务。
## 3. 本地开发环境搭建
### 3.1 前置条件
```bash
# 安装 Node.js v20+
node -v # 应显示 v20.x.x
# 安装 pnpm (推荐)
npm install -g pnpm
# 安装 MySQL 8.0 (本地或 Docker)
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:8.0
# 安装 Redis 6.0
docker run -d -p 6379:6379 redis:6.0
```
### 3.2 项目初始化
```bash
# 安装依赖
cd server
pnpm install
# 复制环境变量配置
cp .env.example .env
# 编辑 .env 配置数据库连接、Redis 等
# 运行数据库迁移
pnpm migrate:latest
# 启动开发服务器
pnpm dev
```
### 3.3 常用命令
| 命令 | 功能 |
|------|------|
| `pnpm dev` | 启动开发服务器 (热重载) |
| `pnpm build` | 编译 TypeScript |
| `pnpm start` | 生产环境启动 |
| `pnpm migrate:make` | 创建数据库迁移 |
| `pnpm seed:run` | 运行数据填充 |
| `pnpm lint` | 代码风格检查 |
### 3.4 调试指南
- **VS Code 调试**:配置 `.vscode/launch.json` 使用 Node.js debugger
- **日志级别**:通过 `LOG_LEVEL` 环境变量控制 (debug/info/warn/error)
- **API 测试**:启动后访问 `http://localhost:3000/api/health` 检查服务状态
## 4. 代码规范
- **严格模式**tsconfig.json 启用 `strict: true`
- **路径别名**:使用 `@/*` 引用 server/src 下的模块
- **命名规范**
- 文件:小写短横线 (kebab-case)
- 类/接口:大驼峰 (PascalCase)
- 变量/函数:小驼峰 (camelCase)
## 5. 核心模块说明
- **Core**: AGI 决策引擎、算力调度、隐私计算
- **Domains**: 业务领域服务 (Trade/Finance/Product/Logistics)
- **API**: RESTful 接口层,含外部 API 与内部 API
- **Workers**: BullMQ 异步任务、Crawler 爬虫任务
---
**版本记录**: V30.0 (AI-Native Overhaul)
**更新日志**: [AI-3 @ 2026-03-15] 补充本地开发环境搭建与常用命令

View File

@@ -0,0 +1,51 @@
# 前期业务与 ToC 功能架构规格书 (V30.0)
## 1. 核心目标
- **快速上线**:在 AGI 完全体演化完成前,提供高可用的 ToC 贸易加速基础。
- **数据积累**:通过基础订单流积累 AGI 策略演化所需的先验数据。
## 2. 核心功能
- **多平台连接器**:实现 Amazon/AliExpress 的基础订单与商品同步。
- **ConsumerOrderService**:支持 TOC 订单的归集、分润与基础状态流转。
- **基础选品雷达**:基于热销榜单的初级趋势分析。
## 3. 模块详细设计
### 3.1 多平台连接器 (Multi-Platform Connector)
| 模块 | 功能描述 | 状态 |
|------|----------|------|
| Amazon Connector | OAuth2 授权、订单拉取、ASIN 映射 | 待开发 |
| AliExpress Connector | 开放平台 API、SKU 同步 | 待开发 |
| 统一适配层 | 抽象 PlatformInterface统一订单/商品模型 | 规划中 |
### 3.2 订单归集服务 (ConsumerOrderService)
- **订单归集**:跨平台订单统一归集,按 tenantId 隔离
- **分润计算**:基于订单利润的自动分润比例计算
- **状态流转**`PENDING` -> `CONFIRMED` -> `SHIPPED` -> `DELIVERED` -> `COMPLETED`
### 3.3 选品雷达 (Product Radar)
- **热销榜单抓取**Amazon Best Sellers、AliExpress 热销榜
- **品类趋势分析**:基于销量增长率的品类热度计算
- **价格带分析**:目标价格区间的竞品分布
## 4. API 端点设计
| 方法 | 路径 | 功能 |
|------|------|------|
| GET | /api/v1/connector/platforms | 获取支持的平台列表 |
| POST | /api/v1/connector/sync/:platform | 触发平台数据同步 |
| GET | /api/v1/orders | 获取归集订单列表 |
| GET | /api/v1/orders/:id | 获取订单详情 |
| GET | /api/v1/radar/trending | 获取热销趋势 |
## 5. 数据库设计
- `cf_platform_connection`: 平台连接配置 (platform, credentials, status)
- `cf_consumer_order`: 归集订单表 (platform, platform_order_id, amount, status)
- `cf_product_trend`: 选品趋势数据 (platform, category, trend_score)
## 6. 依赖关系
- **前置依赖**Knex.js, Redis (缓存), 平台 OAuth 凭证
- **后续演进**AGI 策略引擎接入、自动化采购路由
---
**负责人**: AI-3 (Biz) | **看板索引**: [collaboration-board.md](../governance/collaboration-board.md)
**更新日志**: [AI-3 @ 2026-03-15] 补充模块详细设计与 API 端点