Files
dsh_ai1net_server/归档/交接单-20260924-归档/接续包_注册页验证_20260919.md
T
admin 7bd1151c67 chore(工作区): 归档交接单 27 件 + 新增 CODEBUDDY §9 工作区卫生
交接单按归属约定(正文落文档库、工作区只放指针)归档至
归档/交接单-20260924-归档/,含逐件判定 README:
- 16 件已被文档库正式版取代(T09–T21 + 覆盖网络-24/25/26)
- 4 件主题已被覆盖网络线入口汇总
- 7 件历史接续包/规划件

CODEBUDDY §9:收口清本棒 tmp、tmp 保留期 7 天、禁「待清理」中间态、
工作区入库只放文档与文件、不保留脚本副本、>60 KB 单文件须逐个判。
2026-09-24 07:58:57 +08:00

5.8 KiB
Raw Blame History

接续包 —— 注册页验证 + 品牌标识(档案 134/137)收官后

状态:✅ 全部完成,无在途任务。 本会话三条线都已上线、入仓(971ccc3)、双推、文档镜像对齐。 生成时间:2026-09-19 09:2x|会话:提交到仓库-品牌标识+注册验证 📌 本文件内不写自身 md5(写进去就变、自指无效)—— 指纹见下方「指纹登记」与今日日志。

指纹登记

接续包路径:E:\ProgramData\AI技能\aliyun-dsh-server\接续包_注册页验证_20260919.md 开工前请重算:md5sum "E:/ProgramData/AI技能/aliyun-dsh-server/接续包_注册页验证_20260919.md" ⇒ 不符即停手报告「口径已更新,需重新接续」,⛔ 不要按旧口径开工。


1. 目标(本会话已完成,供下一棒判断"是否还需动手")

注册账号页增加 Cloudflare 人机验证 + 邮箱验证码(含防爆破);并把平台自有页面上所有 DeepSeek 品牌标识换成平台标识(中文「能力枢纽」/其他语言「CapabilityNet」)。

2. 已完成(均已上线 + 入仓 + 双推 + 镜像对齐,无需重做)

# 项 证据
1 档案 134 注册页人机验证 + 邮箱验证码 DB 迁移 v10;4 个新模块;防爆破(三层配额 + 递增冷却 60→60→180→300→900→1800s + 试错 5 次作废 + 码只存哈希 + 单次使用);Turnstile 校 success+action+hostname 三项
2 Turnstile 已启用 密钥写入 47 /etc/systemd/system/dshs.service.d/register-verify.conf(600);线上无 token / 假 token 提交均 403
3 邮件通道 Brevo,发件域名 ai1net.com 已认证(CF 4 条记录 + SPF),发件人 [email protected];实测 delivered
4 档案 137 品牌标识改造 四页(login/register/admin/portal)+ 新建 web/favicon.svg;图标已获用户定稿
5 测试 test/register-guard.test.mjs(19) + test/i18n-brand.test.mjs(2);全量 221 pass / 0 fail / 1 skipped
6 静态校验加固 verify-static.mjs 新增 SVG 段(XML 注释不得含 ASCII 双连字符——否则整份 SVG 解析失败、图标静默不显示;已做反向自证)
7 归档与同步 档案 134/135/136/137 + INDEX + manifest;提交 971ccc3;双推原仓与 CNB 三方 sha 一致;文档镜像 一致 238 / 不一致 0 / 仅本地 0

3. 在途 / 未完成

⏹ 无。本会话没有任何未完成的技术任务。

4. 下一步(均为"待用户决定",不是待执行)

  1. 🟡 users.email 未进管理端 —— 目前只落 DB,管理员用户列表看不到邮箱。属功能增量,未开工。
  2. 🟡 index.html / wake.html 没有 favicon link —— 这两页标签图标为浏览器默认。加一行即可统一。
  3. ⚪ 47 上 5 个孤儿用户目录(3ec95f69…/4eaeb26b…/74e8804a…/7ba268be…/ca3f36e0…,09-15 产生、DB 无对应行)+ 仓库根三个历史临时目录(_tmp_seq24/、_tmp_seq40/、_中间产物_待清理/)—— 均未动,清理需用户点头(不可逆)。
  4. ✅ 已按用户拍板办完:文档镜像已同步(47 文件)|图标定稿采用|三个零引用 DeepSeek 资产(logo.svg/deepseek-text.svg/deepseek.webp)保留不删。

5. 关键决定(⛔ 不要重开讨论)

  • 邮件用 Brevo,驱动可插拔(brevo/http/log)⇒ 换供应商只改 env、零代码。
  • 限流计数落 DB(email_codes 事件表),⛔ 不落进程内(本部署天天重启,进程内计数清零 = 关掉限流)。
  • 三条顺序不变式:先人机验证再花配额 / 被拒绝也落库 / 上游成功才记 sent。
  • 配置默认全空 ⇒「不配任何 env = 与改造前逐字一致」;功能启用 = 策略要求 ∧ 通道配齐。
  • Turnstile 必须校 hostname(sitekey 公开 ⇒ 只校 success 时"拿我们的 sitekey 在自己站点替真人取合法 token 再打我们接口"这条路是通的)。
  • 品牌名走 i18n 词条(brand.name),只写 en 一条即覆盖所有其他语言的回退。
  • 🔴 会话页面(实例内官方 dsh 界面)的标识不动 —— 用户明示「先不替换」,且它属官方 client bundle、受 R2 约束。

6. 回滚点

对象 方式
静态页 / 图标 /opt/dsh/backups/rebrand-20260919-084220/pre.tar(第一批)+ /opt/dsh/backups/rebrand2-20260919-090205/pre.tar(本批)→ 覆盖 /opt/dshs/,tar 即生效、无需重启
后端产物(lib/**) /opt/dsh/backups/register-verify-20260919_070418/{pre.tar,pre2.tar,pre3-turnstile.tar} → 覆盖 + restart dshs
env(含密钥) /etc/systemd/system/dshs.service.d/register-verify.conf.bak-turnstile-20260919-083853(= 只有邮件通道、无 Turnstile 的上一版)
文档镜像 /opt/dsh/backups/docs-sync-20260919-091840/pre.tar(本次 47 文件)|根本回滚依据 = 本机 git 仓库(已全量提交 971ccc3)
只停功能(首选) mv register-verify.conf{,.off} && systemctl daemon-reload && systemctl restart dshs ⇒ 注册恢复成"用户名+密码"

7. 若开新会话:开机四步

  1. 跑 E:/ProgramData/AI技能/aliyun-dsh-server/state.py(第 0 步,先看锁 / git / 在途单)。
  2. 读本文件(先 md5sum 校验上方指纹,不符即停)。
  3. 读档案 D:/github/dsh_shenxian/dsh-server-docs/04-调整方案/134-……md 与 137-……md(细节的唯一来源)。
  4. 抢全局执行锁:bash "D:/github/dsh_shenxian/dsh-server-docs/scripts/handoff-guard.sh" --claim-exec "<会话名>"。 ⛔ 本任务无待执行项 ⇒ 新会话开工前请先判断"是否真有事要做",无事则直接报告并释放锁。