浅念 348e0b5527 fix(admin): es 尾巴空=整键丢弃(spec §3.2 管道身份泄漏修复)
审核页 es 收尾句留空的原语义「不触 es 池(保持快照原值)」是误读——
spec §3.2 要求整键丢弃:出厂 es 池带行业身份(如建材档案的
tuberías),保留快照会把上一行业的收尾句继续投给本租户的西语客户。

- model.ts:新增 applyWallDispatch 纯函数(wall 保存步载荷落地——
  非 null 语言覆写、null 语言整键删除);wallPoolDispatch/WallDispatch
  及三处旧「不触 es 池」注记全部改为整键丢弃语义
- index.vue:wall 步改用 applyWallDispatch;es 输入 placeholder 改
  「留空 = 丢弃现有 es 池」;进审核页后台拉取现 es 池,留空且有句时
  展示丢弃预览(破坏性操作不静默);skipAvatar 勾选保存中禁用
  (防 for-of 期间改动 saveSteps 计算源)
- 测试:原「es新句为null_整键删除」用例名实不符(断言的是保快照)
  已正名并移交载荷断言;新增 applyWallDispatch 两用例——tuberías
  泄漏链回归钉('es' in payload === false)+ 其余语言键透传

后端安全性已核实:boundary_filter 的 pools.get(lang) or pools["en"]
使缺 es 回退到新 EN 尾巴;wall_schema 仅必留 en/zh。

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-20 22:51:30 +08:00
2026-10-14 14:04:54 +08:00

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

S
Description
ai客服管理平台
Readme 2.1 MiB