镇江锅盖面 · 招商智能体后端控制台 ZJGGM INVEST AGENT / SRS-2026-001 / IMPL V1.0
正在连接后端…

服务状态(实时读取 /api/v1/health)

加载中…

规格对齐 · 已实现 / 待建

规格项文档要求本次实现状态
数据表16 张(14 业务 + 2 辅助)16 张业务表 + 6 张运行时辅助表,真建表、真索引已实现
REST 接口16 条 /api/v116 条 + 8 条配套接口,逐条 method 显式判断已实现
状态机8 状态,非法 409 / LEAD_002服务端硬校验,禁止跳到 signed,迁移写 lead_events已实现
GEOPostGIS ST_DWithin + 地图解析Haversine 真算 + 本地地址库;未配地图 Key 时 GEO_101可替换
线索分级可配置规则 JSON,A≥80/B≥55/C≥25规则存 config 表,可热改且写审计,两条 −100 硬拦截已实现
合规风控阻断 / 替换 / 提示三级发送前校验,RISK_201 整体阻断 + 固定应答 + 待办 + 哈希已实现
模型编排OpenAI 兼容三配置项协议层已用本地 mock upstream 真网络实测 14 项(llm_probe.js:参数名、Bearer、返回结构、重试、超时、降级);真供应商 Key 仍未实测,默认关闭走降级模板协议已验 / 真 Key 待验
PostGIS / pgvector / RedisPostgreSQL 16 + 扩展 + Redis 7本机未安装,用 node:sqlite + 内存 token 替代,DAO 可换待建
渠道开放平台私信 / 评论 / 企微 / 外呼仅本地接入骨架 + 验签;无平台审批与真 Key,不真发待建
前端管理后台Vue 3 + Ant Design Vue本控制台为单文件零依赖版,功能等价、可换 Vue简化
硬边界:不做自动定价、自动放店、多级返佣、跨租户共享;费用金额只从书面报价单读取且人工确认后外发,系统不外发任何金额。

创建线索(真写库)

试跑带 X-Dry-Run,不落库、不写指标、不产生线索。

线索主档

加载中…

状态迁移演练(表 7)

试试 new → signed,应返回 409 / LEAD_002。

GEO 冲突校验(6.1 / TC-02—04)

选址五维评分(表 8,权重 25/25/20/20/10)

手算锚点:80×.25+60×.25+75×.20+55×.20+70×.10 = 68.0 → 谨慎

智能体回复生成 + 发送前合规校验(4.1 / 9.1)

知识库检索(8.2 无命中即兜底转人工)

书面报价单状态(2.3 不自动报价)

配置项(附录 A,可热改且写审计)

审计日志(仅管理员可导出,导出本身也记审计)

智能体规格(表 4,11 个)

服务端规则回归(TC-01—TC-10,纯内存不落库)

TC-07 / TC-09 属副作用型用例,由 node api_test.js 真实 HTTP 验证。

三层验证说明

层做法抓什么
L1 真实 HTTP 接口回归node api_test.js 另起服务 + 独立测试库,逐条打 16 接口业务规则、鉴权越权、错误码、幂等、签名重放、敏感路径
L2 前端静态契约扫描内联事件函数定义、id 引用、API 路径、页面不含任何密钥点击才炸的未定义函数、路径写错
L3 真实浏览器端到端python tools/e2e_test.py Playwright 缓存 Chromium + 零依赖 CDP,真点击 / 真接口 / 390px 真视口白屏、整段 script 中断、运行时异常、布局塌陷、页签与视图切换
L4 模型协议联调node llm_probe.js 本机 OpenAI 兼容 mock upstream 走真实 TCP请求参数名、Authorization、返回结构、5xx 重试、超时、降级、密钥不泄露
四层均已执行:L1/L2 84 项、L3 26 项、L4 14 项全通过;离线原型另有 node verify.js 176 项。页面绝不包含 API Key、渠道密钥、JWT 密钥。
仍未验证:真实供应商模型的 Key、参数与返回结构;真实渠道开放平台审批;PostGIS / Redis 生产部署。启用 LLM 前必须单独联调。

16 条核心接口(表 9)

错误码(附录 B)

LEAD_001 必填字段缺失      LEAD_002 非法状态迁移(409)   GEO_101 地址无法解析
GEO_102 地址粒度过粗        RISK_201 命中阻断级词(451)   RISK_202 命中替换级词
CHN_301 渠道签名校验失败    LLM_401 模型调用超时/降级
补充:AUTH_501 未登录 / AUTH_502 越权 / IDEM_601 缺幂等键 / IDEM_602 幂等键重放冲突 / REQ_701 非法 JSON

渠道回调验签示例(密钥只在服务端)

TS=$(date +%s); EVENT="evt-001"; NONCE=$(date +%s%N)
BODY='{"channel":"douyin","conv_key":"c1","sender_id":"u1","msg_type":"text","timestamp":"'$TS'","text":"想开面馆","phone":"13800000009","city":"苏州"}'
SIG=$(printf '%s' "$EVENT|$TS|$BODY" | openssl dgst -sha256 -hmac "$CHANNEL_SECRET" -hex | awk '{print $NF}')
curl -X POST http://127.0.0.1:8788/api/v1/messages/ingress \
  -H "X-Event-Id: $EVENT" -H "X-Timestamp: $TS" -H "X-Nonce: $NONCE" \
  -H "X-Signature: $SIG" -H "Content-Type: application/json" -d "$BODY"
所有写接口都需 Idempotency-Key;重复提交返回首次结果。生产环境未配 CHANNEL_SECRET 时明确拒绝,不放行。
镇江锅盖面招商智能体 · 后端实现 V1.1 公网发布版 · 依据《系统开发文档 V1.0》(2026.11)· 零密钥前端 / 零自动外发 / 零自动关注