17a5c9ec1cb4ecb3ed501f51ad0ed73f307fa184
Co-Authored-By: Claude Code <noreply@anthropic.com>
all-kefu
统一多租户 AI 客服平台:一套引擎 + 租户配置包,消除此前"每客户复制一套代码"的分叉模式。项目由 ai-kefu / ai-kefu-jc 两个复制分叉项目合并而来(jc 为主线),四个阶段已全部完成(2026-10-14 收官):Phase 1 引擎合并与租户化、Phase 2 平台层(platform.db + admin API)、Phase 3 管理后台 SPA、Phase 4 部署与迁移工件。
能力总览(四层):
- 引擎层(
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。 - 部署工件:
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(引导/存量迁移/归档/破防率观测四件)。
上线指引:见部署手册 docs/deploy-production.md(.env 逐项说明、首次部署流程、1Panel 反代三件事、老项目存量迁移与对账、切换 runbook 四阶段、备份恢复演练、踩坑实录 13 条)。上线前浓缩清单与工件核验记录见 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。
设计文档(spec):docs/superpowers/specs/2026-10-12-unified-kefu-platform-design.md
Description