Files
airz-uniapp/docs/新会话交接.md
T
hujun 2a9ff403c4 feat: 接入内容服务端真实接口并优化页面交互
- 迁移内容数据到服务端接口,移除本地模拟数据
- 首页新增推荐课程加载与未读消息检查
- 资讯、课程、搜索页面支持分页加载与错误重试
- 登录页新增恢复课程、消息、帮助页的路由逻辑
- 评估分析页新增处理中状态动效与阶段提示
- API 环境切换到正式域名 airz.hqling.cloud
2026-10-01 20:26:41 +08:00

381 lines
75 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AI融资项目新会话交接
记录日期:2026-10-01。本文件为接续入口;当前存储与流程以[评估版本与最新资料](评估版本与最新资料.md)、[开发进度](开发进度.md)0.49节(积分协议与隔离检查)及[开发文档](开发文档.md)v1.42为准,0.48/0.47保留基础和规则设计历史。历史章节中的域名、部署及“待开发”以最新记录为准。
## 本轮开发:2026-10-01 积分协议与隔离检查
用户继续开发,仍暂不做运营、真机或发布验收。积分五接口协议已补显式Bearer、原始HTTP方法和覆盖头拒绝、JSON Content-Type/三唯一字符串字段、原始query白名单/重复与编码拒绝;五个精确路径错误方法405,未知路径404,v1框架错误补no-store。Common现有CORS入口已在鉴权前处理允许Origin的匿名OPTIONS,本轮未改共享CORS或其它API鉴权。
真实HTTP87请求/1079项检查通过:草案/发布/暂停/坏规则、同键历史重放、跨日/规则变更、实际丢弃已提交成功响应后原键确认、停用/删除/撤销、Cookie/旧Token头拒绝、原始query和JSON重复键、本人快照分页/隐私/旧NULL/0、余额边界、坏回执和Redis不可用。测试用新合成数据库、Redis DB15随机Token前缀及临时ROOT/RUNTIME、随机ENV_PREFIX;不加载仓库正式.env。自建数据库、Token、服务和临时文件已删除,原两表结构/数据及原Redis队列摘要保持,0模型/worker调用。
主服务238项、HTTP输入190项纯检查通过,原表23项只读预检通过(4增量/14类质量计数全0)。迁移质量检查新增非NULL历史时间(0至253402271999上海四位年份范围)及正UINT流水主键,NULL历史时间继续保留;首次快照坏ID映射POINT_LEDGER_INVALID,不误报客户端422。
迁移纯110项、独立合成apply/双表完整备份/Windows ACL/恢复89项通过。只复制共享两表结构,在第一新库合成2会员4流水,apply4增量/重复apply0;完整schema+NDJSON恢复第二新库、逐列摘要一致,目录3文件仅当前用户ACL及读写probe验证通过。演练修复Windows原生绝对路径及父级路径校验,补纯validateBackupPath。两个自建库、私密INI/备份/probe按所有权精确清理,共享原表摘要保持;安全回执C:/Users/JUN/AppData/Local/Temp/airz-points-migration-20261001/apply-20261001-115749-d50a5cd87fd5a84a/verification.json保留,不能把合成恢复当生产迁移证据。
业务规则仍待DEC-POINT确认,真实配置enabled=false、版本/奖励/权益/期限/等级策略null。POINT-002开发中,POINT-003未做,POINT-004积分页面尚未接后端,27页面/63任务保持。下一子项可实施积分页真实余额/规则/流水读取、登录恢复和签到原键确认;未发布状态不写死10分或固定邀请码,不导入本机体验记录。原表迁移、实际奖励发布和部署另行安排,不复用历史生产授权。
新HTTP开发检查入口为后端tests/points_http.php --env=<明确本机3309私密环境>,附points_http_bootstrap.php/router.php;脚本自行建立和清理独立合成库/临时服务,不复用旧bootstrap初始化应用。3309/PID19100、8097/PID43340仍仅监听127.0.0.1;继续先核对监听/配置,不默认运行worker、旧cleanup/reset或读取正式.env。
## 历史开发:2026-10-01 积分后端基础(默认关闭、原表未迁移/未部署/未接页面)
用户继续下一轮,数额/权益/期限/等级的首阶段建议尚未获业务回复,DEC-POINT/POINT-001待确认。已新增PointsRules/UserPoints、v1 Points五路由(余额/规则/流水/签到/任务),默认enabled=false且规则版本、奖励、权益/期限/等级策略为null。POINT-002后端基础开发中,POINT-003未做,POINT-004页面仍本机体验签到+10及固定码,未接后端;27页面/63任务保持。完整接口与规则状态见[积分契约](积分规则与开发契约.md),结构/迁移说明见后端 `D:/AAdesk/202609/airz/database/points-design.md`。
入账先锁正常会员、优先原成功请求回执,再校验锁后上海日期、固定当日事件及发布规则;同日同键重放、异键拒绝,余额/一条完整流水同事务,历史balanceAfter不覆盖当前余额。仅1062/1205/1213且确定回滚映射写冲突,未知提交/回滚为账本不可用。流水ID有界游标只本人,NULL历史元字段保留,不下发memo。旧后台score/level修改与旧User::score封闭,现有level 0/1初始化保持;资料/邀请任务不可用,不给普通运营发奖入口。
schema.sql期望增加request_id CHAR(36)、rule_version VARCHAR(64),ASCII ascii_bin可空,唯一(user_id,request_id)及idx_user_point_id(user_id,id),ScoreLog中文元注释已补。迁移脚本 `database/migrate_points.php` 默认只读、显式环境/精确目标,apply需停写确认及双表完整私密备份,MySQL DDL隐式提交、无自动恢复。本轮只读预检已在3309/airz_product_test_20260930通过:4项增量、质量计数各项0、applied=false;修正PHP7.4的原生事务追踪,采用PDO::beginTransaction配合RR READ ONLY。未实际迁移任何原fa_user/score_log,apply、完整备份和Windows ACL尚未运行。
本轮开发检查通过:主服务纯237项、旧写保护纯98项、迁移纯84项、隔离事务45项、独立只读预检22项及16PHP lint。事务只使用127.0.0.1:3309隔离库随机pts_合成表,真正双PHP同键/异键、锁等待跨业务日和trigger故障回滚覆盖;原fa_user/score_log结构与数据摘要保持,合成表精确清理且余留0。只读预检连续两次、精确目标、13类安全计数、无backup/apply及原两表结构/数据摘要一致通过。未正式库、未默认.env、未部署、未HTTP/浏览器/Redis/worker/模型,不开展运营或真机验收;后端源码/合成表检查不等于页面已到账。
下一步先确认业务规则,再显式隔离迁移apply/备份/重复预检验证、HTTP开发检查及前端真实读取/原键确认联调;邀请资格/关系留POINT-003,完整POINT-004后续推进。3309/8097仍仅监听127.0.0.1、原PID保持;继续先核对隔离监听/bootstrap,不默认初始化应用、运行worker、旧cleanup/reset或重用历史生产授权,默认.env仍指正式库。
## 历史设计:2026-10-01 积分规则与开发契约(0.47)
本轮仅整理规则/接口/数据库设计草案,新增[积分规则与开发契约](积分规则与开发契约.md)及后端 `D:/AAdesk/202609/airz/database/points-design.md`;未实现任何积分API、签到到账、迁移脚本或部署,未连接DB、执行运行测试或收费模型。POINT-001仍受DEC-POINT待确认阻塞,POINT-002/003/004未实施,27页面/63任务保持;不把本轮文档校验称为开发检查通过。
首阶段建议每日10分、服务端上海业务日每日一次且不补签,资料/邀请关闭,积分不导入本机体验记录。奖励数额、权益、有效期和会员level策略待确认;未发布规则必须停止新入账且奖励null,不使用页面示例兜底。现有score_log已具business_type/business_id、uk_user_business、idx_user_time,首阶段仅拟新增request_id/rule_version两个可空字段、用户请求唯一及idx_user_point_id(user_id,id)游标索引,成功流水保存冻结回执,不重复增加已有业务列/索引或另建签到表;本轮只读仓库结构,目标库须实施前显式预检。
拟接口保留POST /points/check-in,严格三字段requestId/expectedRuleVersion/expectedDate,expectedDate为服务端日期预期、不是补签,取得用户锁后按当日验证,防锁等待跨午夜误发奖。流水目标改为snapshotId/beforeId有界游标,当前无已发布积分API;旧成功请求跨日/暂停可返回原回执,随后重新读取余额,不能用历史balanceAfter覆盖当前值。后台绝对值score编辑、User::score吞异常及level联动是实施前门禁;邀请关系/资格/奖励另属POINT-003。
下一步先确认首阶段规则,再实施POINT-002的写方保护、明确配置、字段增量、余额/流水/签到服务及相应页面;完整邀请和POINT-004后续推进。本轮正式库、默认.env、线上、源码/测试/schema保持,不复用此前生产迁移或部署授权。继续前仍先核对隔离监听/bootstrap,不默认运行worker或旧cleanup/reset。
本轮仅文档校验:8目标文档UTF-8无BOM/无行尾空白,两新方案10处本地链接目标存在、围栏配对,两仓库限定文档diff检查通过(仅既有LF/CRLF提示);只读方案复核已对齐源码字段/已有索引,补清错误优先级、已回滚竞争错误码及ID游标索引。未连接数据库/Redis/HTTP、未调用模型,不是运行测试,未形成真实积分开发检查或到账证据;POINT-001决策仍未批准。
## 历史开发:2026-10-01 模型运行参数与调用额度受控配置(未部署)
用户要求继续开发,仍暂不做运营、真机或发布验收。本轮ADMIN-003独立 `GET modelconfig/index` / `POST modelconfig/update`受控配置子项源码完成,四字段为暂停新调用、新评估模型Flash/Pro、每日三场景共享次数1–1000和评估尝试1–3;助手/产品解释仍固定3次,环境开关是硬限制,不编辑凭据/地址/timeout/maxTokens。复用保留 `fa_config.ai_runtime_policy` JSON,无新表/字段,通用配置入口/模型/refreshFile保护该行;无跨操作缓存,三场景会员锁内一次共享锁策略快照,旧调用模型冻结,进行中的curl自然收尾,暂停后的未开始任务沿禁用路径失败且保留已有预留。
保存CAS版本、CSRF、`cfg_`随机请求键、四种原因和成功审计同事务;审计失败回滚,原键重放返回旧回执,不覆盖后续变更,拒绝日志只记白名单。技术v5继承v4,新增3节点/1模板共4项已仅在 `127.0.0.1:3309/airz_product_test_20260930`显式备份初始化、复检0项,旧规则/绑定保持,不换绑或生产迁移。
本轮检查通过:策略纯83/事务24、双PHP/双连接并发43、业务路径纯63/隔离DB43、权限97、审计20,原服务53/用量76/重试39;服务HTTP207项(95请求)、Chrome Playwright桌面1280×900/手机390×844页面67项。首行并发实测MySQL1213,一方成功另一冲突;只确定1062/1205/1213映射冲突,不自动重试。覆盖提交成功却丢响应后刷新保留原键/同audit及version重放、另一管理员冲突刷新、CSRF/字段白名单/Referer不回显、旧技术v4可读服务但无配置读写权、客服运营拒写和超管通用Config保留行保护。坏策略禁止编辑、服务固定报错,quota保留已预留数但dailyLimit/remainingToday/maxAttempts为NULL。无未解释console/pageerror、横溢或文字重叠,刻意中断响应的一条网络错误另记。
收尾修了确认关闭动画期间快速响应阻断自动刷新的时序问题,以及同请求字段顺序变化误判异意图的问题。元字段固定规范顺序,乱序重放返回原audit/version且不覆盖后续保存;新增2项纯/1项隔离DB检查计入83/24,6表摘要一致并完整回滚。
并发14表、HTTP原13表和Redis原队列摘要一致,原Config与site.php摘要保持;held精确清理3项通过,owned配置/账号/绑定/审计/任务夹具已精确清理,凭据JSON及scope私密JSON删除,0模型/worker调用。23PHP lint、2JS语法、26源码/测试文件UTF-8无BOM/空白检查通过。原MySQL3309/PID19100和PHP8097/PID43340仍仅监听127.0.0.1,无本机analysis:work,bootstrap仍为 `C:/Users/JUN/AppData/Local/Temp/airz-product-editor-20260930/bootstrap.php`。证据目录 `C:/Users/JUN/AppData/Local/Temp/airz-admin-runtime-policy-20261001/`有 `verification.json/ui-result.json`、`saved-desktop.png/saved-mobile.png/invalid-mobile.png`。页面脚本依赖已删夹具,不可直接重跑,须重新建立显式隔离夹具。
仅本地开发,正式库、默认 `.env`、线上、真实worker和移动端未改,未部署/验收,ADMIN-003保持开发中。供应商账单/余额与外部告警尚需能力/方案确认,下一项按已具备依赖选择,不承诺外部能力。维护见后端 `D:/AAdesk/202609/airz/database/admin-services.md`和 `database/admin-permissions.md`。继续先复查3309/8097监听及显式bootstrap,不默认运行worker/恢复、不重跑旧cleanup/reset,不复用历史生产发布授权。
## 历史开发:2026-10-01 分析进程心跳与进度超时提示(未部署)
用户要求继续下一步,仍暂不做运营、真机或发布验收。本轮ADMIN-003最近登记常驻分析进程的进度观测子项源码完成:独立Redis JSON键按数据库及配置队列隔离;随机实例标识本次启动,原子核验instanceId及startedAt,新进程可接替,旧进程不能覆盖新进程的进度或停止状态。首写已落地却丢响应后也只走原子校验,普通进度更新可补登记缺失键,停止不复建。一次执行和仅恢复模式不登记;启动/工作/空闲/队列降级/停止边界记录安全元数据,Redis故障不影响业务执行、任务租约、调用预算和日志。
后台沿用服务检查只读GET及技术v4权限,无新节点/模板、角色换绑或数据库结构迁移。显示最后进度、年龄及阈值,明确区分缺记录、未启用、损坏、存储不可用和进度超时;超时不证明进程死亡、全部worker停止或供应商健康,退出路径上报停止不证明任务正常完成。暂不改DeepSeekClient,阈值为配置值(默认180秒)、模型timeout+60、任务租约及30秒的最大值,TTL86400秒且大于阈值;外部告警投递仍待方案。供应商余额/费用对账和受控配置编辑未完成,ADMIN-003保持开发中。
验证通过:心跳纯133项、真实隔离Redis90项(含首写丢响应12项)、服务纯53项/隔离DB14项、服务HTTP207项(95请求)、Chrome Playwright桌面1280×900/移动390×844页面43项,9文件PHP lint/JS语法通过。覆盖新owner保护、丢键恢复/停止不复建、once/recover-only、退出和致命错误回执、Redis故障和9种后台状态;无console/pageerror、文档横溢或文字重叠,0模型调用。13表原有记录和Redis原队列摘要保持,HTTP held精确清理3项通过;合成账号/会员/会话/调用/日志及所有随机观测键精确清理,凭据JSON和浏览器scope私密JSON删除。
仅本地开发/显式隔离检查,不部署、不改正式库、默认 `.env` 或移动端。维护契约见后端 `D:/AAdesk/202609/airz/database/admin-services.md`;证据目录 `C:/Users/JUN/AppData/Local/Temp/airz-admin-heartbeat-20261001/`有 `verification.json/ui-result.json/redis-result.json`及截图。专用8098/PID36740已停止,原MySQL3309/PID19100、PHP8097/PID43340仍监听127.0.0.1,无真实worker;原bootstrap仍为 `C:/Users/JUN/AppData/Local/Temp/airz-product-editor-20260930/bootstrap.php`。继续先复查监听和隔离配置,不复用已删夹具、不运行默认worker或旧cleanup/reset。下一开发项建议推进模型运行参数和调用额度的受控配置;供应商余额/费用对账仍依赖接口能力确认,外部告警投递方案另定,不复用历史生产发布授权。
## 历史开发:2026-10-01 只读模型与服务检查、调用用量(未部署)
用户要求继续下一步,仍暂不开展运营、真机或发布验收。ADMIN-003 首个只读子项源码完成:后台 `GET servicestatus/index/usage`,固定七项服务检查与任务排队/运行/租约观察,以及按会员/日期/场景/状态的安全调用元数据、20条分页和会员当日预留额度。模型只查PHP当前配置,不探测供应商;队列和登录Redis仅有限只读命令,目录只检查存在/权限不写探针,短信未接入、worker无心跳显示未知。队列正常不能证明进程存活,登记模型/密钥及用户Token额度不作为真实执行或供应商余额。
报表仅含已识别且未删除的评估/产品解释/助手记录,首尾日期包含、最多31天、默认PHP当日。额度按真实预算独立统计今日00:00后全部assistant预留,包含失败、软删除、遗留和未来时间,不随报表窗口/场景/状态变化。Token单值/汇总保留十进制字符串,未知NULL与已知0区分;不估算费用。数据不含正文、输入、报告、匹配、上下文、凭据、连接路径或原异常。包含超管的写入口均拒绝,不派发/恢复/消费队列或调用模型;页面加载/失败清旧指标和分页、锁定查询控件避免筛选错配。
新增3节点及独立技术 `v4` 模板,旧技术 `v3/v2/v1`、客服 `v2`、运营 `v1` 规则和账号绑定保留,不自动扩权。显式隔离库 `127.0.0.1:3309/airz_product_test_20260930` 备份应用4项,重复预检0项,原8097的 `__menu__`精确刷新;无业务表字段迁移。权限备份和本轮页面证据目录 `C:/Users/JUN/AppData/Local/Temp/airz-admin-services-20261001/`。正式库、默认 `.env`、线上与移动端源码未改,未部署。
维护与显式隔离测试见后端 `D:/AAdesk/202609/airz/database/admin-services.md`,权限见 `database/admin-permissions.md`。ADMIN-003保持开发中,供应商余额/费用对账、受控配置编辑和心跳告警仍待开发;ADMIN-002完整外部查询/对账继续依赖DATA-004。FAQ/反馈及全部受控后台仍须配套正式部署后再明确分配新模板,不运行默认.env/worker或旧cleanup/reset。
验证:服务纯48项/隔离DB13项、用量纯76项/隔离DB26项、权限定义90项;服务HTTP203项(95请求)、原权限227项(158请求)、Chrome Playwright桌面1280×900/移动390×844页面56项通过。覆盖真实20条分页、未知/零与大Token、历史筛选不改今日额度、加载防重、错误清旧结果与恢复、超管禁写和旧角色拒绝;无console/pageerror/横溢或文字重叠。全部合成账号/会员/会话/调用/日志精确清理,凭据JSON删除,13表原有行和Redis原队列摘要保持,0模型调用。安全回执 `verification.json`、`ui-result.json`和截图在上述临时目录;脚本依赖已删夹具,不能直接重跑,需显式新建随机夹具。
原MySQL3309/PHP8097保留,监听127.0.0.1,模型关闭、worker未启动。下一轮先重查监听和原bootstrap `C:/Users/JUN/AppData/Local/Temp/airz-product-editor-20260930/bootstrap.php`;不要默认加载正式 `.env` 或运行旧cleanup/reset。下一开发子项建议补分析进程心跳与失联提示,外部告警投递方案另定;供应商余额/费用对账和受控配置编辑尚未完成。
## 历史开发:2026-10-01 受控人工重试与操作审计(未部署)
用户授权继续下一步,仍暂不开展运营、真机或发布验收。ADMIN-002 的人工重试/审计源码已完成:`POST assessment/retry` 严格要求CSRF、预期当前失败版本/任务、`adm_`加32位小写十六进制随机请求键和四种固定原因。失败详情显示确认弹窗,防重复提交,失联保留原键,接受后刷新当前元数据/历史尝试并提供操作日志入口。用户与管理员请求命名空间隔离,排障查询已支持管理员请求键定位原版本和任务。
固定顺序锁管理员/会员/会话/当前输入,复用用户失败重试、尝试上限及每日调用预留。成功审计复用 `fa_admin_log`,与任务及回执同事务;审计失败全回滚。成功重放先核验原审计意图、返回原任务,不随新版本变化创建新任务。提交后才派发,失败保留接受回执,可原键补投;结束钩子的拒绝日志仅白名单,写失败不会覆盖既有固定响应。表单输入、已发布报告、匹配和历史版本保持冻结。Redis可重复投递同任务,执行幂等靠任务/租约校验,不能表述为队列exactly-once。
新增 `assessment/retry` 仅技术 `v3` 模板授权。旧技术 `v2`、客服 `v2`、运营 `v1`及账号绑定保留,不自动扩权。本机隔离库显式备份应用1节点/1模板共2项,重复预检0项,两个隔离runtime的 `__menu__`精确刷新;没有业务表字段迁移。正式库、默认 `.env`、线上及移动端源码均未修改,未部署。维护见后端 `D:/AAdesk/202609/airz/database/admin-assessment.md`。
验证:重试服务纯39项/隔离事务45项、审计90项、权限82项、诊断纯48项/隔离事务47项;重试HTTP/数据库1016项(91请求),原排障回归1075项(200请求),原权限227项(158请求)均通过。Chrome Playwright桌面1280×900/移动390×844页面38项通过,特别覆盖失联→取消→页面内刷新→CSRF更新→原键返回同任务/审计,以及冲突刷新、状态/调用列表刷新和旧技术角色隐藏按钮。无新增未解释console/pageerror,刻意丢弃一次响应的网络错误单独记录。13表原有行及其他队列摘要一致,0次模型调用。
本轮合成账号、会员、评估、调用、消息、日志、专用trigger与随机队列已精确清理,临时凭据JSON已删除,profile恢复。两条浏览器匿名登出日志经确切ID/时间/来源/行hash核验后纳入本轮清理,未按范围删除。安全回执 `C:/Users/JUN/AppData/Local/Temp/airz-admin-retry-20261001/verification.json`、`ui-result.json`;截图和权限备份亦在该目录。临时UI脚本依赖已删除夹具,不能直接重跑;需显式创建新夹具。8098专用PHP已停止,原MySQL3309/PHP8097保留,下一轮先核对监听和原bootstrap,不运行默认.env/worker或旧cleanup/reset。
ADMIN-002 保持开发中,完整外部查询/对账依赖 DATA-004;下一独立开发项可推进 ADMIN-003 服务状态检查。FAQ/反馈及全部受控后台仍须配套正式部署后再明确分配新模板,不直接运行默认worker或旧cleanup/reset。
## 本轮继续开发:2026-10-01 已有评估任务只读排障(未部署)
用户要求继续下一步开发,仍暂不做验收。ADMIN-002 的已有评估任务只读排障完成源码和隔离开发检查:FastAdmin 新增评估任务列表与详情,按评估/任务/请求/会员 ID 精确查询,显示阶段、派发、租约、稳定错误提示及分别分页的提交版本/调用尝试。当前任务、已发布结果和历史输入版本分开;历史零调用、未关联旧调用、坏版本/错指针、缺任务/租约可定位,产品解释不混入评估尝试。未知用量不冒充零,迟到用量更新时间不冒充完成时间。
只在数据库提取安全元数据,不返回表单、报告、匹配、分析上下文、模型正文、供应商异常原文和密钥。控制器包含超管的所有写入口拒绝,无恢复、派发、人工重试或模型调用。新增3个只读权限节点及客服/技术 `v2` 模板,运营仍 `v1`;原客服/技术 `v1` 与账号绑定保留,不自动扩权。只对隔离库 `127.0.0.1:3309/airz_product_test_20260930` 显式备份应用5项,重复预检0项,精确刷新隔离 `__menu__`;备份及UI截图在 `C:/Users/JUN/AppData/Local/Temp/airz-admin-assessment-20261001/`。
48项纯投影、42项隔离事务、1053项HTTP/数据库开发检查通过(194次请求),包含超管写入拒绝和上述异常关联;原后台权限另227项回归通过(158次请求),权限定义75项、隐私37项和字段投影73项通过。桌面1280×900/移动390×844页面27项查询、详情、tab、分页、错误/空态检查通过,无新增控制台错误。合成对象及临时账号JSON已精确清理、原记录保持,0次模型调用。正式库、默认 `.env`、线上和移动端源码未改,未部署或做运营/真机验收。
接口与测试命令见后端 `D:/AAdesk/202609/airz/database/admin-assessment.md`,权限说明仍 `database/admin-permissions.md`。ADMIN-002 保持开发中,下一开发子项建议受控人工重试与操作审计;完整外部查询/对账依赖 DATA-004,ADMIN-003 服务检查也尚未做。正式发布仍须配套FAQ/反馈字段和受控后台,再由超管明确分配新模板。
隔离MySQL3309/PHP8097继续监听127.0.0.1,bootstrap仍为 `C:/Users/JUN/AppData/Local/Temp/airz-product-editor-20260930/bootstrap.php`,模型关闭、worker未启动。下一轮先核对监听;禁止加载默认正式 `.env` 或运行旧cleanup/reset。临时UI脚本依赖已经删除的合成凭据JSON,不能直接重跑,应使用显式隔离测试重新创建随机夹具。
## 本轮继续开发:2026-10-01 后台菜单与角色权限(未部署)
用户同意继续 ADMIN-001 功能开发,仍暂不开展验收。已新增 FastAdmin 运营/客服/技术三个最小权限模板,复用三张管理员权限表,不恢复会员组/会员规则、不创建账号或自动绑定。运营管理产品和内容;客服处理反馈及只读融资资质;技术只读配置、受控启停密钥及查看范围内日志。姓名、手机号、企业信息保持掩码,资料附件/证件原文/密码/令牌/密钥不输出;独立 `user/info/financial` 只给客服。技术模型配置写入及密钥新增/轮换由超管保留,受控配置继续属于 ADMIN-003。
资料与系统消息后台全只读(包含超管和批量/导入/回收站);会员、资料、密钥列表及模型选择器限制查询和返回字段。密钥批量仅改合法状态,不改密文/所属模型/用量。反馈列表和编辑移除历史附件地址;日志新写入和历史读取脱敏,URL不保留查询串。通用排序与缓存清理补权限校验,角色登录首屏只打开有权业务页。
后端 `database/migrate_admin_permissions.php` 必须显式 `--env --target`,默认只读;应用要求 `--apply --backup-dir`,备份/锁表后仅增量插入,模板漂移、危险同名节点或不兼容层级拒绝。只对隔离库 `127.0.0.1:3309/airz_product_test_20260930` 初始化50节点/3模板并精确刷新 `__menu__`,既有角色和账号绑定保持;备份在 `C:/Users/JUN/AppData/Local/Temp/airz-admin-permissions-20261001/`。源码、FAQ/反馈业务及反馈字段必须配套正式部署后再绑定新角色,不能给旧版通用CRUD直接授权。
PHP/JS语法和纯内存回归通过;`tests/admin_access.php` 227项隔离HTTP/数据库检查(158次请求)通过,含角色菜单/默认页、直接越权、财务字段隔离、只读超管、客服回复、密钥事务/选择器及历史日志脱敏。合成对象精确清理,13表原有行保持,0次模型调用。正式库/默认 `.env` 未改,本轮未部署、未做运营或真机验收;台账保持开发中。
隔离MySQL3309与PHP8097已沿用原配置恢复,监听127.0.0.1;PHP关闭模型,未启动worker。临时bootstrap仍为 `airz-product-editor-20260930/bootstrap.php`,继续前先重查监听,不运行旧cleanup/reset脚本。下一步推荐 ADMIN-002:先做已有评估任务的只读阶段/错误定位,完整外部查询仍依赖 DATA-004;FAQ/反馈和权限业务尚未上线。
## 2026-10-01 数据库注释与实体类注释已部署
已按授权完成正式库 `111.230.144.231:3306/airz` 的注释同步:26 张表、157 个已有字段的中文注释已更新,重复预检为 0 项待修改;线上复核为 26 张表注释、342 个已有字段注释。因正式 `fa_feedback` 仍缺少 `request_id`、`reply`、`handled_by`、`handled_at`,本次只同步现有结构,没有上线反馈闭环字段和 API。
同时仅发布 29 个实体模型类的类级 PHPDoc/`@property` 注释,逐文件备份并确认可执行代码未变化。FAQ、反馈闭环和内容编辑业务逻辑仍未部署。部署前后 `airz-analysis`、`php-fpm-74`、Redis 均 active,worker `NRestarts=0`,分析队列、保留队列和延迟队列均为 0。服务器备份为 `/root/airz-comments-20261001/`,本机回执在 `D:/AAdesk/202609/airz-backups/comments-deploy-20261001/`。
## 本轮继续开发:2026-10-01 FAQ服务端化(未部署)
在不进行真机/跨设备验收的前提下,已完成FAQ服务端开发:复用`fa_acticle`的`type=6`和`content` JSON(`schemaVersion=1/kind=faq`),新增公开`GET /api/v1/help/faqs`及分类筛选;新增独立后台FAQ编辑模型、控制器、页面和版本保护;前端帮助页移除本地FAQ数组,改为始终读取服务端。没有新增表或字段,没有写入正式库或部署。
初始内容见后端`database/faq_initial.json`,导入脚本为`database/import_faq.php`,必须显式指定隔离/正式环境与目标,默认预检回滚,重复按slug保留已有记录。源码语法检查及隔离事务中的FAQ保存/读取/下架检查通过;现有本地HTTP服务因尚未导入种子返回空列表是预期。下一步继续做反馈提交/处理闭环;人工客服接入仍等待`EXT-CS`供应商方案。
## 本轮继续开发:2026-10-01 反馈提交与处理闭环(未部署)
已完成`SUPPORT-002`源码:复用`fa_feedback`新增`request_id`、`reply`、`handled_by`、`handled_at`和会员请求键唯一索引;迁移脚本为后端`database/migrate_feedback.php`,显式环境/目标,默认只预检,写入要求`--apply --backup-dir`。本轮仅对本机隔离库`127.0.0.1:3309/airz_product_test_20260930`应用,备份在受限临时目录;正式库、正式`.env`、PHP部署和后台正式资源均未修改。
新增`FeedbackRecords`和登录接口`POST/GET /api/v1/feedback`、`GET /api/v1/feedback/:id`。反馈正文去HTML、最多255字;同会员同`requestId`幂等,参数冲突返回409;附件服务未开放,非空`attachmentIds`拒绝。后台只能编辑状态与回复,自动记录处理管理员/时间,新增、删除、批量和导入拒绝。帮助页保留服务端FAQ并新增意见反馈、本人记录和重试。
验证:新增/修改PHP lint通过;隔离迁移预检、应用及重复预检通过;`tests/feedback_records.php`隔离数据库回归58项通过,含并发幂等、越权、历史NULL键和原始字段保护;HBuilderX 5.26 Web、微信小程序和Android 27页编译通过。未做真机、跨设备、视觉验收或正式部署;人工客服仍等待`EXT-CS`供应商方案。
## 最新内容与部署:2026-10-01 已完成
用户授权继续功能开发、改用airz.hqling.cloud并部署后端。新闻/融资课堂/详情/首页推荐/搜索已接真实服务,支持分类分页、总数、下架/空态/错误恢复及迟到响应保护,移除原静态数组兜底,保留原型页面层级。后台复用文章和融资课堂入口,结构化编辑、发布/下架、封面及章节排序/版本冲突保护完成。FAQ与反馈源码已完成但尚未部署,CONTENT-002/003待真机及多设备验收,27页/63任务不变。
复用fa_acticle(新闻type=5)与fa_finance现有content TEXT保存schemaVersion=1的JSON,不给现有会员/资料/会话/内容表增加字段。新增fa_user_lesson_progress关系表;按当前会员保存固定章节ID、正文摘要和首次完成时间,章节重排保留进度、正文更新使对应进度失效,lessonVersion冲突返回409。消息表uk_user_message_event唯一索引本轮一并上线。初始原文4篇新闻/3门课程按slug只新增,重复预检无改动,不添加环境标签。身份资料、评估输入版本及match_result存储约定保持。
本机40项MySQL5.7隔离数据库、81项内容HTTP/Playwright(42次隔离请求)、13项后台UI/HTTP检查及166项产品编辑纯内存回归通过;390×844与1280×900截图无运行错误,微信/Android开发编译通过。服务器64项真实HTTPS/FPM内容/学习进度/消息/产品目录/评估报告/PDF检查通过,2次显式假评估、0次收费调用。测试会员/Token/消息/进度/资料/会话/独立队列精确清理;26张表按预期摘要一致,所有原有行、无关源码、.env与数据库全局参数保持。
正式34个源码/后台资源文件已通过宝塔文件页面和终端限定发布;排除.env、vendor及环境相关application/extra/site.php。新增消息索引和课程进度表后导入7条内容,重启PHP-FPM,恢复worker与公网入口;维护gate已移除。三服务active,最终worker MainPID=1041115/NRestarts=0、队列[0,0,0],后续需重新核对。不要重跑已完成维护阶段或默认本机worker,默认后端.env仍指正式库。
当前正式域名为 **https://airz.hqling.cloud**,API `/api/v1`,后台 `/ZYurKboadX.php`。DNS A为111.230.144.231,宝塔新增绑定、部署Let's Encrypt RSA2048证书后移除aitest.ychysg.cn旧绑定;内部站点名与目录仍xctai.cn及/www/wwwroot/xctai.cn,public为运行目录。证书到期2026-12-29 16:12:27 UTC;公网11条路径检查和HTTP301跳转通过,TLS校验0,内容/字典200、匿名消息/产品401、敏感路径404。历史旧域名HTTPS阻塞不代表新域名现状。
服务器备份 `/root/airz-content-20261001/`;数据库/源码/nginx/证书/宝塔数据库、增量迁移回执及验收记录共22个文件已下载并校验SHA256至受限本机 `D:/AAdesk/202609/airz-backups/content-deploy-20261001/`(server-files内为解包)。恢复见后端[内容发布维护](D:/AAdesk/202609/airz/database/content-publication.md):优先回限定源码并保留增量数据,禁止整库回退、覆盖新消息或删除有进度的课程表。备份含私密信息,不对外分享。浏览器证据仍在临时airz-content-20261001目录。
前端services/config.uts已用https://airz.hqling.cloud/api/v1,APP_ENVIRONMENT=test、模拟关闭、production地址仍空。本轮小程序尚未代上传,需要重新发行,并将微信request合法域名改为https://airz.hqling.cloud;头像上传/文件下载核对相应平台域名配置。H5未部署,真机/多设备/真实模型未验收。FAQ/反馈的正式字段、API和业务逻辑仍待单独授权部署,或继续开发其他未完成模块。
本机隔离MySQL3309、PHP8097与H5 5173沿用,继续先核对监听及临时bootstrap;3309曾退出后已用原配置恢复,不依赖旧PID。不要用默认.env代替隔离配置。MySQL参数绑定采用TP5命名绑定,列表与计数分别新建Query,不能clone共享Builder;Android账户回调需延后绑定。关键约束已加中文注释。
## 历史消息功能:2026-09-30 本机完成,后于10-01部署
用户暂停公网HTTPS排查,已上传上一版小程序,并授权继续功能开发。本轮完成MSG-001—004本机实施:消息中心接真实分类分页/未读数/单条和全部已读、详情及原版本报告/档案跳转,首页红点同服务器状态;登录可回消息页,旧静态通知/本机已读不再使用。保留原图标、分类和底栏,修滚动高度及分页错误提示位置;离页/换分类/账户切换拒绝迟到响应,Android前向函数引用使用延后绑定兼容。关键约束中文注释,27页/63任务不变。
后端新增UserMessages.php、API Messages.php和五条路由,Assessment.php成功/失败同事务通知;business_id为system输入日志revisionId,事件唯一键原子去重。详情校验当前会员、关联会话和输入日志的归属/删除状态;旧消息始终绑定旧版本。列表snapshotId上界+beforeId分页,全部已读只更新上界内,单条首次readAt保持。复用fa_user_message现有列,仅加uk_user_message_event唯一索引,无新表/字段、无历史补通知。
50项MySQL5.7真实隔离数据库检查(5次假模型)、57项HTTP/Playwright(42次隔离API)及16项索引迁移恢复检查通过;手机390×844/桌面1280×900,console/pageerror为0,微信/Android最终开发编译通过,0次收费调用。测试会员/Token/资料/会话/日志/消息和本批随机队列已精确清理,25表原有行摘要一致,原4条材料草稿及6条产品保留。临时证据C:/Users/JUN/AppData/Local/Temp/airz-messages-20260930/qa.json、qa-migration.json、cleanup.json、messages-390.png、messages-1280.png、messages-empty.png及索引备份;凭据与Token不写入仓库。
**正式消息索引迁移、四文件PHP部署及本轮小程序/H5发行尚未执行**;用户已上传的是上一版,以下旧段落中的“尚未上传”不代表当前上一版状态。正式库及.env本轮未改。维护/恢复见后端[消息说明](D:/AAdesk/202609/airz/database/user-messages.md):新生产维护需本轮授权,先停写/停空闲worker/备份,先索引后PHP最后前端;重复组或错误同名索引阻断,不自动删除消息、不整表回退。测试只允许显式本机airz_product_test_*配置,不直接用默认.env或旧集成测试。
本机3309隔离MySQL5.7、8097隔离PHP和5173 H5沿用,继续先查监听;PHP临时bootstrap模型禁用,不运行默认worker。H5源码API仍为正式域名,Playwright验收仅通过浏览器请求转发到8097,不代表正式消息接口可用。公网HTTPS排查继续暂停,不复测公网/真机/真实模型;后续功能建议为资讯、融资课堂与搜索的服务端接入,复用现有内容表和页面。
## 最新产品展示:2026-09-30 正式数据及三文件PHP已部署
用户要求当前测试数据采用正常业务文案,不显示“演示、非真实”等环境标签。正式`111.230.144.231:3306/airz`现有6条产品ID22—27已精确更新为个人灵活消费贷、个人小额周转贷、个人优享信用贷、企业经营周转贷、企业成长经营贷、普惠基础融资贷,机构显示名及材料/条件/建议同步调整。所有金额、利率、期限、地区、准入条件及有效期保持,内部`demo:airz-`source reference保留。产品与来源规则版本由1增至2;未新增重复产品、未改写会话/历史报告,其他24表逐行摘要一致,0次模型调用。
新增后端`database/update_product_display.php`与[恢复说明](D:/AAdesk/202609/airz/database/product-display-update.md):显式目标、锁定六行、参数保护、写入前完整行备份、事务复验、重复执行无变更;隔离库已演练精确恢复。正式备份`D:/AAdesk/202609/airz-backups/product-display-20260930/product-display-20260930-180754-a4d94caa.json`。不得重新导入产生重复或整表恢复。
前端匹配/详情/报告/对比/行动/助手已移除环境标签,内部来源引用显示为“产品规则档案”;后端报告消息、PDF与助手提示词同步调整,继续按已配置参数及事实解释。已清理上一阶段未完成的前端内存模拟入口和登录绕过,走原真实接口。605项PHP检查与242项Playwright检查通过;390×844、1280×900覆盖个人/企业及展开/分组/选择对比/助手/材料/行动,54次隔离后端GET、错误0。微信开发编译通过,本轮Android未获得有效编译结果。联调账户/Token/评估/队列已精确清理,隔离库24表恢复原摘要,原4条材料草稿保留。证据位于临时`airz-product-editor-20260930/qa-display-ui.json`及`display-*.png`。
**正式产品数据及本轮三文件PHP已部署,小程序/H5未发行。** 用户授权“先做第1项”后,经宝塔上传部署`AssessmentNeedsReport.php`、`AssistantChats.php`、`ReportPdf.php`,备份并停空闲worker后仅替换3文件、重启PHP-FPM。76项服务器本机HTTPS/FPM及假模型检查通过,覆盖个人/企业报告、匹配、实际PDF、助手提示词和权限;4次显式假客户端、0次收费调用。临时对象已精确清理,25表原有数据逐行摘要、其他application源码、生产.env和数据库全局参数保持。原nginx恢复、三服务active,worker消费不存在的合成评估任务后队列为空;最终PID944033/NRestarts0,后续须重查。
服务器备份`/root/airz-product-display-20260930/`,12个备份/验收文件已下载到本机受限目录`D:/AAdesk/202609/airz-backups/product-display-deploy-20260930/`,原源码和完整数据库备份摘要一致;详细部署与三文件恢复边界见上述后端恢复说明。无数据库迁移,不重跑维护阶段、不整库回退。本次未发布产品编辑器/公共目录的其他本地改动,前端仍需重新发行。本机5173 H5、8097隔离PHP及3309隔离MySQL沿用上一轮状态,继续先核对监听;不要启动默认本机worker。公网HTTPS阻塞未复测,本机TLS通过不表示公网恢复。下节关于强制显示环境标签的表述为已被用户最新要求覆盖的历史记录。
## 历史产品联调:2026-09-30 正式库演示数据核对
用户确认正式库也使用当前演示数据,且暂时没有用户。已只读核对正式`111.230.144.231:3306/airz`:6条演示产品与`database/demo_products.json`逐字段一致,正式产品ID为22—27;没有新增重复记录、没有改写会话或报告。产品名称、机构和来源均明确为演示/非真实金融资料,只供功能开发与验收,不代表银行政策或授信承诺。
本机隔离库`127.0.0.1:3309/airz_product_test_20260930`已通过`database/seed_demo_products.php --env <隔离配置> --apply`补齐同一批6条,原4条银行材料草稿保持不变;重复运行返回`kept_existing`。新增v3匹配回归151项、发布编译153项、产品目录45项、材料复核38项通过。正式库不需要再次导入这批数据;本机默认`.env`仍指向正式库,任何本地种子/测试必须显式使用隔离配置。
后续继续评估→匹配→报告链路联调时,个人/企业均可使用这些演示产品覆盖符合、条件不符和待核实三态;真实银行四条草稿仍不可上架,收到确认后另建材料版本。
## 最新产品编辑改进:2026-09-30 待核实与发布检查
用户同意实施下一步第1项,本机开发已完成:新增默认“待核实”地区,保存SQL NULL;明确全国才保存[],指定城市非空列表。NULL地区不再误判旧规则,四条公开材料来源正常显示;真正旧规则的已有来源仍可只读查看,未明确重建时普通保存保留原JSON。发布前检查一次返回data.issues字段/问题列表,覆盖独立字段缺失/错误、范围倒置、日期、用途及逐条条件;可选经营月数空值不误报必填。诊断候选仅在内存中使用,真实保存/模型或后台上架仍走严格完整校验,未知地区不能上架。版本冲突及规则版本上限保持。
450项PHP、89项HTTP/Playwright(含7项只读首屏检查)、7项清理/完整性检查通过,1280×900及390×844无横向溢出或新增console/pageerror。合成产品已精确清理,原ID1—4和五张业务表逐行摘要不变;无正式库修改、部署或模型调用,无UTS改动。证据在临时airz-product-editor-20260930目录的qa-pending-ui.json、qa-pending-view.json、qa-pending-cleanup.json及pending-*.png。首次比较差异来自MySQL JSON格式化,已按插入后的实际存储文本复验;没有旧规则被改写。
PHP8097/MySQL3309隔离服务仍运行,监听127.0.0.1,模型关闭、未启动worker;预览入口沿用下节,下次先复查监听及临时bootstrap。项目.env仍是正式库,不能直接启动默认服务或旧集成测试。不要运行旧cleanup.php/reset-products.php删除四条材料。下一步仍需受理银行确认当前参数/地区/有效期/完整硬条件,再做人工匹配验收;本轮代码未部署。
## 最新材料复核:2026-09-30
已新增只读材料复核命令`D:/AAdesk/202609/airz/database/review_product_materials.php`和`tests/product_materials.php`。复核首批隔离草稿不连接数据库、不读取.env、不访问来源网址、不调用模型,并输出[银行核实与验收表](产品材料/首批产品银行核实与验收-20260930.md)及[复核清单](产品材料/首批产品复核清单-20260930.json)。四条仍为草稿:工银融e借8项、闪电贷7项、农银微捷贷5项、税易贷7项格式缺项;0条格式完整、0条银行确认、0条可发布。个人/企业profileOnly面对当前草稿目录均返回`unavailable/PRODUCT_CATALOG_UNAVAILABLE`,不虚构匹配候选。38项材料/匹配准备检查通过。收到银行回复前不能把公开参数改成当前政策、扩充南京城市或上架;真实材料需另建确认版本,保留本次公开基线。
本轮未重新查阅官网或取得银行回复;目前目标城市及当前银行政策材料仍待用户补充。核实表给出每产品特殊问题、可填写的统一回复表及规则表达能力差距;真实银行样例期望尚待签核,合成收入8000元门槛只用于技术测试,不能套用于四条产品。未改应用运行逻辑、数据库或UTS,未部署或调用模型。
## 最新产品材料:2026-09-30 本机草稿
用户要求准备几个产品材料录入。本轮查阅银行官网,整理工银融e借、闪电贷线上公开材料、农银微捷贷、建行税易贷四条,在127.0.0.1:3309/airz_product_test_20260930保存草稿ID1—4;没有改写正式库、既有演示产品或历史报告,没有上架、部署、模型调用或源码改动。材料、原文依据、准备建议和待核实事项见[首批产品材料](产品材料/首批产品材料-20260930.md),结构化元字符串见同目录JSON。
所有未知最低额度、最短期限和有效期保留NULL;微捷贷官网长图的3.5%起只记录下限,上限未知。官网全国通用栏目仅支持微捷贷regions=[];其余三条地区NULL,闪电贷南京分行材料不能外推全国,南京也不在现有城市字典内。后续编辑器已支持“待核实”,NULL地区不再需要重建,来源正常显示;未核实地区前不要改成全国。四条均缺发布参数,模型发布检查全部阻止上架。信用良好等非量化条件、年龄例外、共同借款及连带保证保留说明,不补造机器规则。正式匹配前还需银行确认当前政策与完整硬条件,并验证系统表达能力。
本机MySQL/PHP原进程已停止,本轮用原my.ini及router/bootstrap恢复3309/8097,均监听127.0.0.1,分析模型禁用,未启动worker。后台列表显示四条草稿,微捷贷编辑页来源及空值正常;重复执行只核对已有记录,不产生重复,会员/资料/会话/日志/用量表计数未变。录入脚本及无凭据回执public-materials-import.json、四个官网来源截图和public-materials-catalog.png位于C:/Users/JUN/AppData/Local/Temp/airz-product-editor-20260930。旧cleanup.php/reset-products.php会删除本机产品,不要再用于本批材料。继续仍先检查监听,不假定旧PID有效;后台地址和测试管理员沿用下节。
## 最新功能开发:2026-09-30 产品后台
用户暂不处理公网HTTPS,转而继续PRODUCT-003。本轮完成本地产品结构化编辑、来源/用途/城市控件、动态准入条件、只读发布检查、版本冲突和上架/下架工具栏;补GET /api/v1/products会员公共目录并复用详情DTO。不新增数据库字段/权限节点,不改UTS,不重写历史匹配结果。旧规则默认保存原JSON,明确重建才替换及清除旧年龄条件;发布资料完整性不等于来源真实性。
入口:后端ProductEditor.php/ProductCatalog.php、admin Product控制器/模型、product/form.html及backend/product.js、API v1 Products与路由。保存时锁定最新行检查_base_version,后台入口固定走结构化映射,删除客户端标记不能绕过;source/purposes/conditions变化才增加规则版本。匹配v3不采集金额/期限/用途的约定保持,产品自身范围仍需真实录入。
326项PHP检查与89项真实隔离HTTP/浏览器检查通过;Playwright桌面1280×900、手机390×844,console/pageerror均0,无收费模型调用。本机测试库airz_product_test_20260930,127.0.0.1:3309/MySQL5.7.26;8097 PHP7.4.3使用临时router/bootstrap覆盖配置,模型禁用。证据及脚本在C:/Users/JUN/AppData/Local/Temp/airz-product-editor-20260930。项目.env仍连接正式远程库,禁止直接启动默认PHP服务/worker或运行旧集成测试。新的tests/product_publication_model.php与product_catalog.php必须显式传本机airz_product_test_*配置;纯内存product_editor.php可直接运行。
本轮未进行线上写入或部署,也未收到真实产品材料;PRODUCT-003仅工具与接口完成,真实产品发布/业务金标准仍待验收。继续时优先准备真实材料并核对录入草稿,不能把演示产品改名当成真实产品,不得延用旧生产迁移授权发布本轮代码。
收尾额外10项关闭调试/生产静态资源模式检查通过,企业默认条件、金额输入、响应式布局和资源加载正常。合成产品、会员、日志与Token已清理,业务六表为0;仅保留一个本机测试管理员便于预览,登录信息在临时fixture.private.json,不含生产凭据或会员令牌。8097隔离PHP及3309临时MySQL保留运行,模型禁用、监听127.0.0.1;预览地址http://127.0.0.1:8097/ZYurKboadX.php/index/login?url=product%2Findex。这些进程会随终端/任务环境变化停止,下次先复查端口;不得用项目默认.env替代临时bootstrap。临时目录可能被系统清理,仓库中的代码/测试/契约才是持久交付。
## 最新线上维护:2026-09-30 已完成
本轮后续维护已完成:`fa_ai_chat.context_data`后由17列精简为8列,迁移前已阻断入口、停worker、完整备份;独立脚本同步当前输入JSON状态后删9列,普通助手/历史结果保留。MySQL5.7隔离迁移与恢复演练通过;线上4个PHP文件部署,71项本机HTTPS/FPM假模型检查通过,23张无关表、原数据和私密环境逐行一致,worker实际消费失效合成任务后恢复,0次收费调用。服务器备份:`/root/airz-backups/assessment-chat-compact-20260930-131231-873749/`,恢复说明见后端`database/assessment-chat-compact.md`。维护末尾探针已复查线上为8列;外网HTTPS仍连接重置,小程序/H5未发行。
用户本轮授权继续迁移与恢复方案,已完成111.230.144.231:3306/airz(服务器.env连接127.0.0.1)的评估版本正式迁移、21个配套源码文件部署、维护验收并恢复服务。MySQL5.7.44-log、PHP7.4.33;PHP-FPM/Redis/airz-analysis均active,最终worker PID848445/NRestarts0,后续重查。生产.env逐字未变,nginx原配置恢复,log_bin_trust_function_creators恢复0。
63项真实服务器本机HTTPS/FPM和假模型检查通过:新建独立会话、修改复用并保存新JSON版本、失败保留旧报告、历史报告/匹配/助手/PDF、最新个人企业资料上限、鉴权/越权及Token撤销。www恢复扫描为0,systemd实际消费已不存在的合成任务通过;无storage error、队列为空,0次收费模型调用。合成用户/资料/会话/日志/Token/任务已清理。维护前无评估资料和报告,原普通助手449及两日志按旧列逐行摘要一致;22张无关表一致,仍1会员、6产品。
完整数据库、代码/.env/nginx及验收备份:`/root/airz-revisions-20260930/`;三表迁移备份:`/root/airz-backups/assessment-revisions-20260930-115301-810221/`。详细过程与恢复边界见后端`database/assessment-revisions.md`。正式写入已恢复,禁止整表恢复旧备份或换回旧PHP丢失新增数据,不得重跑迁移或旧测试。本机worker仍不要连接活动库。
完整备份及验收摘要10个文件已下载到本机受限目录`D:/AAdesk/202609/airz-backups/assessment-revisions-production-20260930/`,数据库gzip和代码tar.gz的SHA256均与服务器一致。无凭据final-summary.json保存实际结构、服务和63项检查结果;完整备份含私密环境和身份信息,不对外分享。临时运维脚本/截图在`C:/Users/JUN/AppData/Local/Temp/airz-maintenance-20260930/`,不是公开应用代码。
前端原型09及版本流程此前已编译通过,**小程序/H5尚未发布**。体验版配置已有https://aitest.ychysg.cn/api/v1。外网本次HTTP301跳转正确HTTPS,但HTTPS仍Connection reset;此前备案阻断是历史证据,尚未确认当前外网重置原因。下一步排查外网访问、核对微信request合法域名,恢复后发行体验版并完成真机流程;服务器本机TLS通过不代表外网可用。
## 最新界面调整:2026-09-30 原型09还原
用户反馈报告与原型09差异较大,已重新对照原型图实施:白底、顶栏下载PDF、三栏、浅绿准备状态区(需补充时浅黄)、摘要正文、橙红编号重点改善项、固定底部“重新评估”。完整度/逐项事实/状态依据/核验边界移到“查看完整报告”,建议证据可展开,报告信息/独立新建/历史入口弱化。使用真实状态和实际建议,不补造B+或固定三条。重新评估仍修改同记录,报告版本/导出绑定及旧版失败提示保留;本轮仅前端显示调整,未迁移/部署。
页面验证使用现有Playwright CLI(Browser plugin not available),localhost:5173受控响应来自隔离合成报告,视觉样例摘要/三条建议仅在测试响应中设置,没有改写数据库。360×844、390×844、1280×900验证首屏/固定按钮、详情展开、三栏、空建议、旧版失败提示、PDF503失败回执/重试成功及修改回填。除刻意注入的PDF503外无新增console/pageerror;截图 `C:/Users/JUN/AppData/Local/Temp/airz-revisions-20260929/report09-after-390.png` 等。微信/Android本地编译通过,微信胶囊和底部安全区已做布局处理,真机未验收。PHP/数据库/结果计算不变,正式发布状态仍见下节。
## 2026-09-30 评估版本与最新资料实现记录
已完成:fa_user_info每用户个人/企业各最多一条最新资料,保留企业名称/信用代码/经营月数,city_code在city前,delete_time末列;业务身份明文保存。新建评估新增fa_ai_chat,修改重评复用原会话并在fa_ai_chat_log.input_data增加JSON输入版本;最新成功匹配仍存fa_ai_chat.match_result数组。任务状态移到会话,历史输入/报告/匹配冻结在日志。无新业务表。
前端已接本人完整回填、提交版本冲突保护、档案版本分页、历史报告/匹配/对比/助手/行动/PDF及登录恢复。处理中或失败保留上次成功结果;历史解释只读,旧助手不切换上下文。关键代码已加中文注释。
验证:MySQL5.7.26和MySQL8隔离库各51项版本集成检查通过(含两个独立连接并发新建/修改);5.7真实建表、合成迁移及备份恢复演练通过;微信/Android编译通过。H5在localhost:5173通过真实隔离后端8097联调修改回填、旧输入/报告/PDF/匹配/助手;假模型,不收费。未覆盖真机与正式模型语义。前轮历史验证数仅代表当时版本,旧任务测试依赖旧表结构不可对新版库直接运行。
本地阶段当时未发布;本轮用户授权后,正式迁移与PHP部署现已完成,详见顶端线上维护记录,小程序尚未上传。当前后端.env仍指远程正式库,不要直接启动本机worker或运行旧集成测试。迁移脚本和完整恢复方案位于 `D:/AAdesk/202609/airz/database/migrate_assessment_revisions.py`、`database/assessment-revisions.md`,本轮迁移不得重跑。
以下2026-09-29部署/表单恢复均为历史和本次迁移前基线;本轮结构是否上线以上方最新维护记录为准。正式域名外网HTTPS仍连接重置,本机联调不代表外网恢复。
收尾补测:390×844和1280×900下历史报告→匹配→对比→助手、行动页→修改回填、退出重进通过,最终console/pageerror均无新增错误;修复修改页onHide创建提示文本引起的attachVmProps错误。截图与临时脚本保留在 `C:/Users/JUN/AppData/Local/Temp/airz-revisions-20260929/`。合成UI用户/Token/队列已清理,8097临时PHP及3309临时MySQL5.7已停止,隔离库文件和恢复备份保留。自动审批策略拦截了清理Python缓存的命令,后端未跟踪 `database/__pycache__/` 保留,不属于交付代码。
## 最新优先状态:2026-09-29 恢复原资料表单
个人/企业信用融资恢复至2026-09-23 19:04需求扩展之前的采集范围:删除融资金额、融资期限、资金用途、其他用途说明;保留经营月数和原有身份/经营收入/资产负债/资料授权。提交使用inputVersion=3,结果仍为resultVersion=2,保留报告三栏、产品匹配、助手、PDF与行动入口。v3不生成需求事实或匹配规则,不把取消采集的字段列为“未提供/待核实”、补填项或完整度扣分项;产品自身额度、期限、利率和用途资料保留。其他真实缺失或来源未核验仍按既有规则处理。
已按用户授权在111.230.144.231/airz执行:删除报告161/229、关联会话151/219及2条日志;普通助手449及其2条日志保留,会员1个、产品6个保留。fa_user_info删除requested_amount、requested_term_months、purpose_code、purpose_detail四列;input_version、analysis_context属于必要版本和快照元数据,继续保留。两个触发器同步移除需求列校验,输入版本允许1/2/3,接口新建最低3。22张不相关表摘要一致,log_bin_trust_function_creators临时开启后恢复0。备份:D:/AAdesk/202609/airz-backups/restore-profile-20260929-180938/。
PHP十个生产文件已通过宝塔文件页面部署,php-fpm/Redis/airz-analysis恢复active,最后worker PID604113、NRestarts0(后续须重查)。站点仍/www/wwwroot/xctai.cn;代码与nginx备份及临时验收包已归档/root/airz-profile-20260929/。前端改动尚需重新发行并上传微信体验版,H5未发布。
当前外网阻塞:aitest.ychysg.cn已被腾讯云备案检查拦截,HTTP跳转dnspod.qcloud.com/static/webblock.html,外网HTTPS连接重置。服务器本机TLS与应用接口通过,不等于外网可用;体验版联网前需完成域名备案/接入并复测。此前“外网正常”的记录仅代表早先验收时间。
验证:53项资料表单专项、51项匹配兼容、29项PDF、18项助手回复、29项助手金额检查通过;服务器维护窗口22项实际HTTPS与假模型流程通过,测试用户/Token/任务已清理,无收费AI调用。微信最终编译通过;Android编译通过,未覆盖真机。H5通过Playwright受控响应检查个人/企业表单及v3提交、报告和对比;仅用于页面验证,不能代替外网或真实模型验收。
恢复与旧脚本禁用说明见后端database/restore-profile-form.md。以下部署、历史报告保留及旧输入版本记录仅作历史追溯,与本节冲突时以本节为准。
## 1. 当前停在哪
最新部署(2026-09-29,优先于下文历史PID):PHP后端已通过宝塔网站页面部署到 **https://aitest.ychysg.cn**,API前缀 /api/v1,后台 /ZYurKboadX.php。旧 xctai.cn 绑定已移除,宝塔内部站点名及目录仍 /www/wwwroot/xctai.cn,运行目录 public。Let's Encrypt证书已部署、HTTP强制HTTPS、外网信任校验成功;到期2026-12-28,面板续签任务正常、每天04:38,尚未经历续签。PHP7.4.33、Redis7.2.16及systemd airz-analysis均active/enabled;已停本机worker PID1876,现由远程接管,最后PID566317/NRestarts0。**不要直接执行下文本机worker启动命令连接活动库;测试用隔离配置,维护先核对远程任务。** 服务器.env连接127.0.0.1的既有MySQL5.7/airz,未重新迁移。39项HTTPS检查(含原报告161/229、金额、解密、助手上下文和两份PDF)通过,外网接口/后台登录页/敏感路径通过;未调用收费AI。仅PHP已部署,H5尚未发布。配置/兼容处理/恢复见 D:/AAdesk/202609/airz/deployment-baota.md,服务器私密备份 /root/airz-deploy-20260929/,部署包与检查脚本已归档其deployment-artifacts/。下一步可对接新HTTPS API、发布H5,再做移动端/跨平台验收。
最新数据库切换(2026-09-29):已完成用户授权的远程MySQL5.7.44迁移与后端连接切换,当前使用111.230.144.231:3306/airz及用户指定root账号。25表184行、2份历史报告内容摘要一致;20个CHECK用8个触发器保留,51项约束与24项应用/真实HTTP检查通过。log_bin_trust_function_creators临时设1后已恢复0,当时Web入口及本机worker已恢复;后续宝塔部署已停止本机worker并由远程接管。.env仅改database段,其余加密/Redis/Token配置保持;无真实AI调用。本机MySQL8保留回退,正式写入恢复后不能直接回切旧库丢弃新数据。最终备份D:/AAdesk/202609/airz-backups/mysql57-switch-20260929/prepared-20260929-144304/;后端database/mysql57-switch.md含完整记录,凭据不输出。后端schema.sql现为5.7含触发器结构,历史本机迁移脚本不得直接重跑远程。
最新(2026-09-29):用户限定的07/08/09首屏调整已完成。08上下文一行摘要点击展开,历史入口弱化,其余助手界面保留;07核心参数三列同屏、完整依据可展开;09紧凑元信息/导出入口和浅色准备状态卡,改善内容更早出现。H5受控响应在360/390/1280px通过交互与截图验证,最终console无错误;Android/微信编译通过,详见进度6.25。无数据库/后端改动、无真实AI调用;下一步仍是真机/微信内H5/Safari验收。
用户要求界面内容尽可能还原`docs/原型.jpg`。原型08已继续实施:界面、持久会话、固定评估/产品上下文、异步回复、分页、原键重试、共享额度、报告/产品/对比入口及登录返回已完成本地联调;关键代码有中文注释。原型10也已完成本地联调;09 PDF普通H5也已实施;08累计13次真实调用,新增连续三轮金额精度专项已通过;下一步为移动端、跨平台与真实产品验收。
| 内容 | 当前状态 |
| --- | --- |
| 04/05 产品匹配详情 | 原型布局与单产品解释保留;咨询AI已接08;产品对比仍可进入 |
| 06 产品详情 | 公共资料和本次评估冻结快照分开读取 |
| 07 产品对比 | 同次2—3产品、补选/移除/刷新保留;可带选择进入08,PRODUCT-005待验收 |
| 08 上下文AI助手 | CHAT-001—003待验收,CHAT-004开发中;76项助手回归通过,H5及平台编译为前轮结果;演示边界与金额精度真实三轮专项通过,真机/跨平台待验收 |
| 09 报告 | 三栏及本次报告咨询AI入口完成;REPORT-004整体仍开发中;REPORT-005普通H5导出已本地验证,平台/容量待验收 |
| 10 下一步行动 | REPORT-006待验收;四项行动/登录恢复/状态守卫已接通,38项H5检查及Android/微信编译通过 |
当前27个注册页面、63个稳定任务编号。本轮承接上一轮前后端未提交改动并保留;未提交/推送。PHP后端已部署,H5尚未发布。
## 2. 原型08实现与下一步
完整契约见[上下文AI助手开发契约](上下文AI助手开发契约.md)。前端`packages/finance/assistant/assistant.uvue`、`packages/finance/services/assistant.uts`;后端`AssistantChats.php`、v1 `Assistant.php`和`AnalysisWork.php`。旧sendAssistantMessage模拟入口已移除。
- 普通会话scene=assistant、assessment_id/analysis_context=NULL。本轮用户明确授权后已执行后端`database/migrate_assistant_context.py --apply --worker-stopped`,新增两列及归属约束共5项,复跑0项。备份`D:/AAdesk/202609/airz-backups/assistant-context-20260928-154651-271907/`,原2份评估会话/2条日志逐条未改写。恢复优先保留可空列、回退助手代码,不能整表覆盖后续记录。
- GET `/assistant/context`只读预览,GET/POST `/assistant/chats`读取列表/创建,GET `/assistant/chats/:id`恢复并校验URL绑定,GET/POST `/assistant/chats/:id/messages`分页/发送。创建与进入页面均不调用模型,快捷问题只填入文本框。
- 明确发送创建用户行与ast:调用日志,analysis:work持久消费。每条逻辑消息requestId保持不变;回执丢失同retryAttempt重放,明确失败才手动递增0→1→2。每会话100轮、同时一条待处理;每日创建30会话,调用与评估/单产品解释共享每日额度。
- 并发序号/幂等/额度必须保持锁定当前读,不能仅依赖用户锁后普通SELECT;测试发现MySQL可重复读旧快照会造成重复序号。
- 页面每3秒查询、最多60次,可续查;离页清空、Token变化拒绝迟到回包。消息/报告不落本机缓存,H5只保存chatId等ID到URL。登录后只接受白名单助手返回并重新鉴权。
- 2026-09-29在首轮6次、边界4次之后,追加同一对比会话3轮真实Flash金额复测,全部成功落库,持续保持123456.78元=12.345678万元,口头修改不影响冻结报告和三态。本轮输入16582/输出971 token,累计13次、输入51709/输出3391 token;无自动重试。第1项金额专项限定样例通过,不能外推为全量真实产品或所有输出格式通过。见[真实语义验收记录](AI助手真实语义验收.md)。
tests/assistant_semantics.php支持--boundaries定向4例、--money-precision同会话3例,默认只读计划,显式--fake/--live;tests/assistant_money.php验证金额。服务端从冻结facts/产品条件提取金额白名单,使用BCMath,带单位的错误金额拒绝成功落库、保留用量、不自动重试;不替代所有自然语言数值语义验收。前轮76项助手与舍入拒绝回归已通过;本轮生产源码未变,真实/假模型各11项流程、30项金额单测/回放、21项格式解析/回放通过,三条真实回复金额全部通过。首条原始JSON出现相同内容的重复answer键,已确认现有解析/落库有效文本一致,严格重复键拒绝不在本轮金额专项范围。测试数据已清理,原有四表摘要一致,仍1用户、2评估/会话、2日志;正式worker恢复PID44944,后续重新查PID。
原型10及09 PDF已实施;下一步做移动端键盘/安全区/长回复滚动/返回恢复/失败重试,再补微信内H5/Safari、真实产品人工样例及生产容量验收。供应商与真实产品准备仍可推进,不虚构整体完成率。
## 3. 必须延续的业务约定
- 不做草稿;新建评估进入空白表单并新增会话,修改评估回填本评估最新提交并复用会话、增加版本。
- fa_user_info每用户每类型仅存最新资料;fa_ai_chat保存独立评估及最新成功报告/匹配数组;fa_ai_chat_log.input_data保存历史输入与该版结果,原消息和调用日志保留。不新建独立评估/报告/匹配表。
- Token保存在Redis,fa_user_token已删除。
- 金额数据库DECIMAL(11,2),单位元;API用元十进制字符串;客户端万元,保留精度,例如123456.78元显示12.345678万元。
- 产品稳定条件、额度/期限/利率等使用独立字段,地区/补充规则JSON;沿用冻结产品快照,不用当前产品参数覆盖历史。
- 规则决定eligible/ineligible/unknown,AI只解释;无评分策略则score=null,不使用原型92%、B+或固定三正三反。非候选的正向部分称“已满足条件”。
- 申请仅限资料准备与引导;不提交银行申请、不声称受理成功。真实产品尚未提供,本地6条上架资料是明确标注的演示产品。
- DeepSeek走腾讯TokenHub,已配置Flash/Pro;默认Flash。短信、微信/一键登录、外部查询、客服服务商仍待定。
- 中文交流与关键中文注释;UTF-8无BOM。保留未提交工作,不自行提交/推送/建PR、迁移或覆盖用户改动。凭据只从后端私密配置读取,不在文档、命令输出、日志或客户端复述。
## 4. 04/05实现入口和注意点
前端:`packages/finance/product/product.uvue`、`packages/finance/services/matches.uts`、`packages/finance/services/compare.uts`。
后端:`application/common/library/ProductExplanations.php`、`MatchRecords.php`、`DeepSeekClient.php`、`AnalysisTasks.php`、`application/admin/command/AnalysisWork.php`、`application/api/controller/v1/Assessments.php`、`application/route.php`。
- POST `/api/v1/assessments/:id/matches/:productId/explanation`仅接受requestId;返回HTTP200的匹配详情及异步状态,不能把HTTP200理解为模型完成。
- fa_ai_chat.match_result中单项ai_explanation保存queued/running/completed/failed和逐条解释;首次not_requested。fa_ai_chat_log的`pex:`调用日志作为持久待办,analysis:work在报告队列空闲时消费。
- 成功缓存、并发点击和同键重放不会重复调用。每评估每产品最多三次尝试,与报告共享每日用户调用预留额度。失败新键可重试;租约失效明确失败,迟到仅补用量。
- 模型可能重排理由,按reasonId完整集合校验无重复/遗漏/外来项,再恢复规则顺序,不能再用数组位置强制匹配。
- 更新解释不能使分页失效:游标摘要排除ai_explanation,仍校验其他冻结字段。
- 前端每三秒读状态、最多六十次,可手动续查;离页停止轮询、清理数据并拒绝迟到回包。UTS Android局部函数不支持任意前向引用,声明顺序须注意。
详见[产品匹配规则开发契约](产品匹配规则开发契约.md)第9节及[需求与评估结果数据契约](需求与评估结果数据契约.md)。
## 5. 验证与现场状态
- 51项单产品解释测试、70项匹配HTTP/快照检查通过。真实Flash共6次调用,4次成功、2次因旧顺序校验失败,修复后不符及待核实样例通过;不是6次均成功。
- HBuilderX5.26 Android/微信小程序编译通过;H5 Chromium在390×844、390×1000、1280×900验证,正常最终流程无业务console.error/warn。微信内H5、Safari及真机、真实产品人工金标准未验收。
- 合成测试账号/评估/会话/日志、Token与队列已清理,测试HTTP和浏览器会话已关闭。上次数据库核验为1会员、2成功评估/会话、25张表;原评估161/229未改写。
- 2026-09-28本轮收尾正式analysis:work已重启加载助手代码,PID45420已恢复运行(原型10测试后);新会话应重新检查进程/任务状态,不能将旧PID视为永久有效。已有模型worker需在代码变更后安全重启。
- 前后端均有未提交改动;本次已实施原型08及10,不清理既有工作树。开始新一轮修改前先git status并保留用户现有改动。
本轮08验证:助手70项、产品解释51项、任务31项、评估HTTP36项、匹配HTTP/快照70项通过;H5 Chromium390×844/1280×900完成发送/刷新/分页/重试/回执丢失/三入口/越权/登录返回验证,Android和微信编译通过。合成数据、令牌、隔离服务、浏览器已清理。截图和无凭据QA脚本在`C:/Users/JUN/AppData/Local/Temp/airz-assistant-20260928/`。共享layout既有H5类型警告保留,正常浏览器运行无业务error/warn。
此前04/05测试与截图目录:`C:/Users/JUN/AppData/Local/Temp/airz-product-explanation-20260928/`。其中flow/retry/states/capture05/edges/final-capture脚本和截图可参考,但临时目录可能被系统清理;fixture.json已删除,不假定旧账号仍可登录。产品对比和报告三栏证据分别在airz-compare-20260928、airz-report-tabs-20260928临时目录。
原型10最新验证见开发进度6.20:38项H5检查(真实API主流程+边界响应注入)、Android/微信27页编译通过。测试已清理,原161/229报告会话摘要未改变,数据库恢复1用户、2评估/会话、2日志。H5最新5173/PID51832,worker PID45420;新会话先检查当前状态。截图与无凭据脚本在`C:/Users/JUN/AppData/Local/Temp/airz-next-step-20260928/`。
原型10代码:`packages/finance/next-step/next-step.uvue`、`services/next-step-route.uts`。只读status/report/matches接口,核对成功归属与快照元数据;eligible且available才开放准备。重新评估按status.type进入空白表单;登录白名单恢复;onHide清空个人数据、generation/token拒绝迟到请求。未修改后端业务或迁移。不要把模拟不可用/旧版响应测试说成真实产品/旧数据验收。
原型09 PDF最新见进度0.20/6.21:29项PDF、20项真实HTTP、24项受控浏览器检查通过,最终Android/微信编译通过。引擎Dompdf3.1.6在后端extend/report-pdf独立composer.lock,字体Noto Sans SC含许可与哈希;部署须在该目录composer install,详见其README。后端ReportPdf与report.pdf路由、MatchRecords::exportSnapshot;前端ReportExport组件/report-export.uts,登录report-route白名单。无迁移,无收费模型调用。仅普通H5开放下载,其余端给操作提示;不能把编译通过说成原生下载验收。
本轮曾被自动审批拒绝组合UI夹具启动,改以受控响应验证浏览器,不声称完整真实浏览器联调。真实HTTP检查独立通过。全部真实合成账号/Token/队列已清理;原两份报告摘要相同。worker现PID34324,H5仍5173/PID51832;每次重查。PDF/截图证据在`C:/Users/JUN/AppData/Local/Temp/airz-report-pdf-20260928/`。
## 6. 环境与验证命令
前端目录:`D:/WorkSpace/cyun/ai融资`,uni-app x/Vue3/UTS、HBuilderX5.26 VDOM,无npm构建入口。后端目录:`D:/AAdesk/202609/airz`,FastAdmin/ThinkPHP、PHP7.4、MySQL/Redis。
```powershell
# 在对应项目目录执行;后端合成任务测试前先核对并停止全部分析worker,结束清理后恢复。
& 'D:/Develop/phpstudy_pro/Extensions/php/php7.4.3nts/php.exe' tests/product_explanations.php --worker-stopped
& 'D:/Develop/phpstudy_pro/Extensions/php/php7.4.3nts/php.exe' tests/match_records.php --worker-stopped
& 'D:/Develop/phpstudy_pro/Extensions/php/php7.4.3nts/php.exe' tests/assistant_chats.php --worker-stopped
& 'D:/Develop/phpstudy_pro/Extensions/php/php7.4.3nts/php.exe' tests/assistant_reply.php
& 'D:/Develop/phpstudy_pro/Extensions/php/php7.4.3nts/php.exe' tests/assistant_money.php
# 默认仅输出计划;--fake --worker-stopped才执行合成流程。
& 'D:/Develop/phpstudy_pro/Extensions/php/php7.4.3nts/php.exe' tests/assistant_semantics.php --money-precision
# --live会真实调用并产生用量,日常回归不加。
& 'D:/Develop/phpstudy_pro/Extensions/php/php7.4.3nts/php.exe' think analysis:work
& 'D:/Develop/HBuilderX/cli.exe' launch app-android --project 'D:/WorkSpace/cyun/ai融资' --compile true --continue-on-error false
& 'D:/Develop/HBuilderX/cli.exe' launch mp-weixin --project 'D:/WorkSpace/cyun/ai融资' --compile true --continue-on-error false
```
H5已清理旧开发服务器并以最新代码恢复`http://localhost:5173/`,新会话先核对监听。注意HBuilder多次launch可能保留旧端口产物,新增代码未加载时先重启正确服务,不把旧包误判为业务错误。可用Python为`D:/Develop/Python311/python.exe`。已有Playwright CLI使用`npx --no-install @playwright/cli`,从临时QA目录运行避免向项目写入日志;工具可用性按新会话实际环境选择,无需安装全局依赖。
本地PHP测试服务需指定`-t D:/AAdesk/202609/airz/public`,否则可能返回首页HTML。UI测试使用随机合成账号,不输出密码/Token;原有真实用户账号无需改动。恢复扫描可能拾取测试任务,仅换Redis队列不足以隔离,故测试前要检查worker。
## 7. 新会话可以直接发送
> 请先阅读docs/新会话交接.md、开发进度0.23/6.24和原型04-10页面方案,继续原型08移动端及跨平台验收,先阅读AI助手真实语义验收记录:金额精度三轮真实专项已通过,无需重复收费调用;核对可用浏览器和真机环境,清楚区分模拟与真机结果。界面尽量还原docs/原型.jpg,关键代码加中文注释;保留已有04/05解释、07对比、08上下文助手、09报告及10行动成果。只做材料准备与引导,不提交银行申请;PDF未完成时不做假下载。先检查工作树与数据库/worker现状,新增迁移仍按具体方案申请授权。