chore: Phase 4 收尾——部署工件齐备,项目四阶段完成
Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
# all-kefu
|
||||
|
||||
统一多租户 AI 客服平台:一套引擎 + 租户配置包,消除此前"每客户复制一套代码"的分叉模式。项目由 ai-kefu / ai-kefu-jc 两个复制分叉项目合并而来(jc 为主线),Phase 1 引擎合并与租户化改造、Phase 2 平台层(platform.db + admin API)、Phase 3 管理后台 SPA 均已完成。
|
||||
统一多租户 AI 客服平台:一套引擎 + 租户配置包,消除此前"每客户复制一套代码"的分叉模式。项目由 ai-kefu / ai-kefu-jc 两个复制分叉项目合并而来(jc 为主线),**四个阶段已全部完成**(2026-10-14 收官):Phase 1 引擎合并与租户化、Phase 2 平台层(platform.db + admin API)、Phase 3 管理后台 SPA、Phase 4 部署与迁移工件。
|
||||
|
||||
**现状能力**(Phase 3 收尾时点):
|
||||
**能力总览(四层)**:
|
||||
|
||||
- 多租户引擎:TenantRuntime 隔离边界,engine 包不感知平台层,可整体拎走独立部署。
|
||||
- 站点模型:一租户多站点(品牌/主题/站点级覆盖),词表、提示词、品牌全部配置化;配置存 platform.db 版本快照(分组校验 / 回滚 / 热加载),seed_profiles 为出厂档案与测试形态。
|
||||
- Host 路由:按域名解析租户,未知 Host 404;WS 通道租户化客户端 key 防串库,另有限流与每 IP 连接上限。
|
||||
- 引擎行为:cc 区号补全判定树、多语言墙(中/西/葡借道/俄/阿)、dual-contact 分步双要、CC 强制墙、lead 邮件推送。
|
||||
- 平台层:scrypt 认证 + 内存 token + 登录限流;租户管理(创建向导 / 站点 / 域名 / 停用);配置版本管线(整组替换 / 回滚 / 重置出厂 / 试金石);头像上传(魔数校验 + uuid 重命名);数据视图(会话 / 推送日志 / 删除,租户 scope 强制);统计(卡片 / 漏斗 / 趋势 / 分布 / 推送健康,逐库聚合禁 ATTACH);密钥掩码哨兵(`__SET__` 往返);DB 源生产装配(TENANT_SOURCE=db 默认 + bootstrap_platform.py 引导)。admin API 全在 `/api/platform` 前缀(Host 豁免、路由依赖守护),端点清单见 [CLAUDE.md](CLAUDE.md)。
|
||||
- 管理后台 SPA(Phase 3,`admin/` 目录,Vue3 + Element Plus + pnpm):登录 / 强制改密 / 角色化菜单(超管 vs 租户管理员);仪表盘(平台总览 + 租户卡片墙 / 我的指标);租户管理与站点域名;会话与线索(筛选 / 详情消息流 / 推送日志 / 删除);配置中心(品牌 + 本地预览 + 嵌入代码 + 头像上传 / 提示词词表 / 试金石 / 凭据掩码编辑 + SMTP 测试 + 推送探测 / contact·engine·misc 通用 JSON 编辑 / 版本对比回滚重置);统计分析(ECharts 漏斗 / 趋势 / 分布 / 推送健康);平台设置(ai.* / smtp.* 推荐键 KV 表单 + 存储总览,现阶段仅存储不接引擎回退链)。
|
||||
- **引擎层**(`app/engine/`,不感知平台层、可整体拎走单租户独立部署):TenantRuntime 租户隔离;cc 区号补全判定树、多语言墙(中/西/葡借道/俄/阿)、dual-contact 分步双要、CC 强制墙;lead 邮件推送与 UniService 询盘推送;Host 路由(未知 Host 404)+ WS 租户化 client key 防串库 + 每 IP 连接上限。
|
||||
- **平台层**(`app/platform/`):scrypt 认证 + 登录限流 + 角色两级(超管/租户管理员);租户管理(创建向导/站点/域名/停用);配置版本管线(分组校验/整组替换/回滚/重置出厂/试金石/热加载);头像上传(魔数校验);数据视图与统计(逐租户库聚合禁 ATTACH);密钥掩码哨兵(`__SET__` 往返);平台设置三级回退(租户槽位 → 平台设置 → env)。
|
||||
- **管理后台**(`admin/`,Vue3 + TS + Element Plus SPA):登录/强制改密/角色化菜单;仪表盘;租户管理;会话与线索(消息流/推送日志);配置中心(品牌/提示词词表/试金石/凭据掩码编辑 + SMTP 测试 + 推送探测/通用 JSON 组/版本对比回滚);统计分析(ECharts 按需收窄);平台设置。admin API 全在 `/api/platform` 前缀,端点清单见 [CLAUDE.md](CLAUDE.md)。
|
||||
- **部署工件**:`Dockerfile`(两阶段:node 编译前端 → python:3.13-slim 运行时)、`docker-compose.yml`(`name: all-kefu`,data/ + tenants/ 双 bind mount,healthcheck/日志封顶/内存限额)、`deploy/openresty-all-kefu.conf.template`(反代模板)、`scripts/{bootstrap_platform,import_legacy,archive,breach_rate}.py`(引导/存量迁移/归档/破防率观测四件)。
|
||||
|
||||
**本地跑法**:后端 `PYTHONUTF8=1 .venv/Scripts/python -m uvicorn app.main:app --port 8018 --workers 1`;管理后台 `cd admin && pnpm install && pnpm dev`(Vite 代理 /api → 8018)。工作约定与测试基线(后端 pytest 595 / 前端 vitest 156)见 [CLAUDE.md](CLAUDE.md)。
|
||||
**上线指引**:见部署手册 [docs/deploy-production.md](docs/deploy-production.md)(.env 逐项说明、首次部署流程、1Panel 反代三件事、老项目存量迁移与对账、切换 runbook 四阶段、备份恢复演练、踩坑实录 13 条)。上线前浓缩清单与工件核验记录见 [CLAUDE.md](CLAUDE.md) Phase 4 完成状态段。
|
||||
|
||||
**本地跑法**:后端 `PYTHONUTF8=1 .venv/Scripts/python -m uvicorn app.main:app --port 8018 --workers 1`(`--workers 1` 为硬约束);管理后台 `cd admin && pnpm install && pnpm dev`(Vite 代理 /api → 8018)。工作约定与最终测试基线(后端 pytest 630 passed + 2 skipped / 前端 vitest 164 passed)见 [CLAUDE.md](CLAUDE.md)。
|
||||
|
||||
设计文档(spec):[docs/superpowers/specs/2026-10-12-unified-kefu-platform-design.md](docs/superpowers/specs/2026-10-12-unified-kefu-platform-design.md)
|
||||
|
||||
Reference in New Issue
Block a user