「学习过程记录 + 元认知引导」系统:公开端「学轨扫描」让家长 3 分钟看见孩子的学习方式倾向,内部端「学轨陪伴」记录每天的行为信号。核心交付物不是提分,是看见孩子怎么学。AI 只做引导与草稿、不做学科讲解;评分只用规则引擎;未获同意的学生 AI 物理关闭。
分学段题库(小学 3 点 / 中学 5 点频率)、反向题与注意力检查;5 个学习过程维度 + 动机剖面。常模未校准前只报描述性频率标签,不冒充「已校准」;旧版 17 题保留在 /assess/classic/。
题目/选项/分值/维度/等级阈值/模型 Key/兜底文案/决策规则全部可视化编辑;公开漏斗与规则决策建议、测评记录、手机号授权桥接。
签到(按门店位置做球面距离校验)→ 卡点标记 → 核查 → 一句话复盘。一次性引导卡片,无 AI 聊天窗口;小学段引导语经教练中介,不直接给学生。
四个学习过程指标(由数据库直接统计)→ 小学段待用提示 → 离线观察草稿 → 三问题复盘 → 家长摘要草稿与人工审核发送。
统一 AI 网关的第一次业务检查会读取学员的监护人同意时间:年级低于阈值且未同意时直接返回「需要监护人同意」,零外部请求、零审计写入。实测:未同意学生提交卡点只收到「暂时无法生成提示,请稍后再试」;每日离线草稿中该学生被阻断。
姓名 / 学校词库 / 手机号 / 身份证 / 分数全部替换为占位符;疑似学校全称但不在词库时直接阻断、不发出请求,阻断时不回传原文。实测样本文本入库后为「[学生]在[学校]考了[分数],联系电话[手机]」。
发送时间非空前强制校验:定稿非空,且存在「草稿与定稿不一致」的编辑记录或「完全采纳」记录,否则拒绝发送。实测:未审核直接发送被「摘要尚未完成人工审核」阻断,编辑定稿后才放行。
引导语以一次性卡片展示,关闭后不保留入口;AI 输出只写入卡点记录与调用日志,不存在任何对话记录表。
/public
/assess 模块B 学轨扫描(公开测评 H5)
/student 模块A 学生端 H5(签到/卡点/核查/复盘)
/coach 模块A 教练端 H5(指标/待用提示/审核发送)
/admin 管理后台 + assess.php 学轨后台
/api 统一入口 index.php?action=xxx
/assets 原生 CSS / JS / 陪伴组件
/lib
/Ai Gateway · Desensitizer · Drivers
PromptRegistry · AuditSink · RateLimiter
/Srl Metrics.php(4 指标纯 SQL 聚合)
/Assess Scoring.php(规则引擎,不调 AI)· Seed.php
/Ai PublicAi.php(AI 翻译 + 双重校验 + 兜底)
/Auth Session.php(OpenID 会话 / 权限)
/Db Database.php · StudentLookup.php
/config
ai_routes.json 模型主/降级路由
prompts.php 四个 Prompt(硬编码,无编辑入口)
compliance.php 合规开关与脱敏词库
app.php 环境配置(密钥走环境变量)
/cron
daily_summary.php 每日离线生成教练草稿
/api
routes.php action 枚举表(web root 之外)
/migrations
001_init.sql 7 张核心表(MySQL 5.7.40)
002_support.sql 草稿缓存 / 审核证据表
003_assess.sql 模块B 13 张表(公开端物理隔离)
004_assess_seed.sql B1 逐字种子:17 题 / 68 选项
005_staff_auth.sql 员工身份 / 家长授权 / 结构版本
/tests 合规 + 规则引擎单元测试
/scripts lint / 冒烟测试
所有前端请求只打到统一入口 /api/index.php?action=xxx;任何接口不得直接调用外部模型,必须经统一 AI 网关。
路由表一套接口对接豆包 / DeepSeek / 通义的兼容端点,切换只改配置;密钥只从环境变量读。本地验证使用离线驱动,不发出任何外部请求。
# 启动(Windows,已附便携 PHP 8.4)
start-dev.bat
# 一键全量验证
verify-all.bat
# 或手动
.runtime/php/php.exe scripts/lint.php
.runtime/php/php.exe tests/run.php
.runtime/php/php.exe cron/daily_summary.php
python scripts/smoke_test.py
本机无 MySQL 时自动降级 SQLite 并播种演示数据,生产以 001_init.sql 建 MySQL 5.7.40 库。