Files
makemd/.trae/rules/project-specific-rules.md
wurenzhi 72cd7f6f45 chore: 清理归档文件和文档模板
删除不再需要的归档文件和过时的文档模板,包括多个README、安全策略、前端集成蓝图等文件,同时移除了未使用的业务文档和项目结构文件。

优化项目结构,移除冗余文件,保持代码库整洁。主要删除archive/handover目录下的多个文件及doc目录下的部分文档模板。
2026-03-18 01:21:15 +08:00

5.5 KiB
Raw Blame History

项目特定规则 (Project-Specific Rules)

本文件包含 Crawlful Hub 项目的硬性约束和配置,所有代码必须遵守。

📚 详细文档请查阅: docs/ 目录

  • 业务蓝图: docs/00_Business/
  • 架构设计: docs/01_Architecture/
  • AI规范: docs/05_AI/
  • 治理规范: docs/00_Business/Governance_Standards.md

1. 数据与存储约束

1.1 表命名规范

  • 表前缀: 所有表必须以 cf_ 开头(如 cf_product, cf_order
  • 金额字段: 必须使用 decimal(10,2),禁止 float/double
  • 物理属性单位: 长度(cm), 重量(kg), 体积(m³)

1.2 数据完整性

  • 唯一约束: cf_product 表必须保证 (platform, productId) 唯一
  • JSON 处理: images/skus/attributes 入库前序列化,出库解析
  • 幂等性: 所有建表语句必须使用 db.schema.hasTable 前置校验

2. 核心业务规则(硬性约束)

2.1 决策流程门禁

SUGGESTED -> PENDING_REVIEW -> EXECUTED/REJECTED
  • 严禁: Agent 直接修改核心业务数据(调价、退款、下单)
  • 必须: 人工在 Console 端确认后方可执行

2.2 计价与利润红线

  • 计价收敛: 所有价格计算必须走 PricingService
  • 利润红线:
    • B2B 利润率 < 15% → 禁止报价
    • B2C 利润率 < 20% → 触发风控预警
  • 禁止: Controller 或前端硬编码价格公式

2.3 订单限制

  • 设备标记: 所有设备必须标记 Commercial Use Only, Non-Returnable
  • 地址限制: 严禁处理住宅地址订单轻B模式

3. 插件技术规范

3.1 消息类型声明

  • 统一入口: src/shared/types/messaging.ts
  • 新增流程:
    1. 在 messaging.ts 声明类型
    2. background 与调用方同时适配
    3. 补充最小冒烟测试

4. 安全与权限

4.1 RBAC 模型

  • 预设角色:
    • ADMIN - 全权
    • MANAGER - 运营主管
    • OPERATOR - 运营专员
    • FINANCE - 财务主管
    • SOURCING - 采购专家
    • LOGISTICS - 物流专家
    • ANALYST - 数据分析师

4.2 权限校验

  • 强制: 路由层使用 authorize(permission) 中间件
  • 禁止: Controller 中硬编码 role === 'ADMIN'
  • 数据隔离: 非 ADMIN 用户查询必须根据 parentId 层级过滤

5. 架构与性能边界

5.1 基础设施

  • 数据库: 阿里云 RDS (MySQL 8.0)
  • 禁止: 代码中执行 DROP/TRUNCATE
  • 要求: 复杂查询必须通过 EXPLAIN 校验索引
  • 缓存: 本地 Redis (6379 端口)
  • 队列: 所有异步任务通过 BullMQ 走本地 Redis

5.2 单机资源保护

  • 内存: Node.js 进程限制 --max-old-space-size=4096
  • 图片处理: Sharp 必须开启 sequentialRead
  • 并发控制:
    • API 速率限制基于本地 Redis
    • Worker 并发数 ≤ 10

5.3 边界隔离

  • 禁止: 跨 Domain 直接操作数据库模型
  • 必须: 通过 Service 暴露接口或 EventBus 异步通信

6. TOB 与套利专项约束

6.1 套利计算口径

  • 禁止: 仅用 "售价 - 采购价" 判断套利
  • 必须: 使用净利公式(含平台费/物流/税费/汇率/售后/广告摊销)

6.2 利润红线强制执行

  • B2B <15%禁止放行
  • B2C <20%必须进入风控审核

6.3 无 API 平台约束

  • 必须: 走 No-API Bridge + PENDING_REVIEW
  • 禁止: 全自动直发

6.4 Win 节点隔离

  • 一店一上下文: profileDir/proxy/fingerprintPolicy
  • 同店任务: 严格串行执行

6.5 企业交付底线

上线前必须具备:

  • 租户隔离
  • 审计追责
  • 配额治理
  • SLA 指标可观测

7. AI 协作协议

7.1 角色定位

  • Brain: 全局调度与决策
  • Agent (AI-1/2/3): 原子任务包闭环开发

7.2 自省要求

Agent 必须在以下阶段上报"自我问题"

  1. 对话开始时
  2. 执行过程中
  3. 交付前

7.3 执行原则

  • 一次性分发: 每轮下发完整任务包P0/P1/P2
  • 连续执行: 任务包内连续执行到"完成或明确阻塞"
  • 文件占用锁: 同目录协作先声明归属,"谁领取谁编辑"
  • 冲突处理: 后写入方必须先 Read 最新内容,增量合并

8. 追踪与日志

8.1 五元组必填

所有任务与日志必须携带:

{
  tenantId: string;
  shopId: string;
  taskId: string;
  traceId: string;
  businessType: 'TOC' | 'TOB';
}

8.2 状态机门禁

  • 发布、审核、对账流程必须落入统一 FSM
  • 禁止: Controller 中硬编码流程分支

9. 代码质量门禁

9.1 命名规范

  • 服务类: 统一使用 Service 后缀
  • 禁止: Manager/Helper 等后缀

9.2 注释规范

  • 必须: 每个服务类包含完整 JSDoc
  • 必须: 明确标识任务ID和功能描述

9.3 部署标准

completed 的标志:

  1. 数据库表已初始化
  2. 核心逻辑已闭环
  3. 通过 GetDiagnostics 校验

快速参考

规则类别 关键约束 违反后果
数据存储 表前缀 cf_, 金额 decimal(10,2) 数据不一致
业务决策 必须 PENDING_REVIEW 直接修改生产数据
利润红线 B2B<15%禁止, B2C<20%预警 财务风险
安全权限 使用 authorize() 中间件 权限漏洞
性能边界 Worker并发≤10, 内存≤4GB 系统崩溃
追踪日志 五元组必填 无法追溯

本文件仅包含硬性约束,详细规范请查阅 docs/ 目录。