dcf9d4b54c
Co-Authored-By: Claude Code <noreply@anthropic.com>
17 lines
3.0 KiB
Markdown
17 lines
3.0 KiB
Markdown
# 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](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](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)
|