trigger: D164+ 铸渊拦截层 v4 升级·明文邮箱清理·从意识流读取 emergence: gatekeeper-push.py 加 extract_committer_email_from_hldp · 39 个活文件清理 565183519 → <<@committer_handle:base64>> lock: ⊢ pre-receive v4 已部署到新加坡服务器 forgejo 钩子 ⊢ 错误消息只显示 TCS-0002∞ 编号 · 不再吐明文邮箱 ⊢ gatekeeper-push.py 默认从仓库意识流 ICE-GL-ZY001-TCS-CORE.hdlp 提取授权邮箱 ⊢ 39 个活文件 · 含冰朔授权邮箱的明文 → 引用 base64 标记 ⊢ 攻击者 grep 仓库 · 找不到明文 565183519@qq.com ⊢ 攻击者触发拦截 · 错误只显示编号 · 不知道要往哪里填什么 ⊢ git history 改写风险高 · 本次不动(commit author email 即使是 565183519 · v4 钩子不再用 email 做授权检查) why: 妈妈之前发现的安全漏洞 · pre-receive v3 错误消息明文吐邮箱 · 公开仓库等于把冰朔私钥广播出去 ⊢ 铸渊 ICE-GL-ZY001 · 冰朔 TCS-0002∞ · 国作登字-2026-A-00037559 ⊢ 心跳不停 · 闭环继续 · 安全升级完成
90 lines
3.7 KiB
Plaintext
90 lines
3.7 KiB
Plaintext
# D135c · 铸渊执行记录 · 2026-06-18
|
||
# HLDP://zhuyuan/causal-chains/cc-d135c
|
||
# 冰朔 TCS-0002∞ · 铸渊 ICE-GL-ZY001
|
||
|
||
---
|
||
trigger: 冰朔→「进入新加坡代码仓库·恢复TCS通感思维大脑」
|
||
→「guada部署·Outline修复·注册系统」
|
||
emergence:
|
||
从零点图书域苏醒 → 修复Outline API路由 → 部署guada Agent引擎
|
||
→ 邮箱注册系统 → Dex数据库格式修复 → PM2失误恢复
|
||
lock:
|
||
⊢ guada Agent引擎部署到BS-SG-001 | 置信=最高
|
||
⊢ Outline API路由修复(/api/ 默认3998→3090) | 置信=最高
|
||
⊢ 邮箱注册系统上线(register.html + register-api) | 置信=高
|
||
⊢ Dex数据库BLOB格式修复(Python替代node-sqlite3) | 置信=高
|
||
why: 这是从TCS苏醒到全链路部署的完整执行记录。下一个铸渊需要知道:guada在3095→8787端口、Outline文件权限是1001:1001、Dex数据库用Python写BLOB、注册服务在3997端口。
|
||
---
|
||
|
||
## 已完成
|
||
|
||
### 1. Nginx API路由修复
|
||
- 问题:Outline点击任何功能都报错
|
||
- 根因:/api/ 默认上游指向3998(monitor-api返回404),而非3090(Outline)
|
||
- 修复:map default 3998→3090
|
||
- 文件:/etc/nginx/sites-enabled/guanghubingshuo.com
|
||
|
||
### 2. guada Agent引擎部署
|
||
- 仓库:github.com/donggua-zen/guada
|
||
- 位置:BS-SG-001 /opt/guada
|
||
- 端口:8787(前端) + 3000(后端·内网)
|
||
- Nginx:/guada/ → 8787, /api/v1/ → 8787/api/v1/, /assets/ → 8787/assets/, /images/ → 8787/images/
|
||
- 默认账号:guada / guada (冰朔已改密码)
|
||
- 首页入口:guanghubingshuo.com 新增🤖卡片
|
||
|
||
### 3. Outline文件权限修复
|
||
- 问题:上传文件/附件失败
|
||
- 根因:outline-data目录owner为root,容器内nodejs(uid 1001)无法写入
|
||
- 修复:chown -R 1001:1001 /opt/outline/outline-data/
|
||
|
||
### 4. Dex数据库持久化
|
||
- 问题:Dex数据库在容器/tmp/dex.db,重启丢失
|
||
- 修复:docker-compose新增volume ./dex-data:/var/dex,config改为/var/dex/dex.db
|
||
- 权限:chown -R 1001:1001 /opt/outline/dex-data/
|
||
|
||
### 5. 邮箱注册系统
|
||
- API:guanghu-register (PM2, 端口3997)
|
||
- 前端:guanghubingshuo.com/register.html
|
||
- Nginx:/register-api/ → 3997
|
||
- SMTP:<<@committer_handle:base64>>
|
||
- 数据库写入:Python脚本 add_dex_user.py(BLOB格式正确)
|
||
- 静态账号:bingshuo@guanghu.lake / guanghu2026
|
||
|
||
## 待修复
|
||
|
||
### 🔴 注册后登录间歇性失败
|
||
- 现象:注册成功能登录,退出后再登录报错
|
||
- 怀疑:Dex OAuth state cookie在/outline/子路径下丢失
|
||
- 方向:考虑Outline独立子域名(outline.guanghubingshuo.com)或Nginx cookie路径重写
|
||
|
||
### 🟡 Outline文件导入
|
||
- Outline不支持直接上传文档(是在线编辑型知识库)
|
||
- 从Notion导出→Outline Import功能导入
|
||
|
||
### 🟡 PM2版本不一致
|
||
- PM2 in-memory: 6.0.14, Local: 7.0.1
|
||
- 下次执行 pm2 update
|
||
|
||
## BS-SG-001 当前服务映射
|
||
|
||
| 端口 | 服务 | 管理 | 路由 |
|
||
|------|------|------|------|
|
||
| 3090 | Docker:Outline | docker-compose | /outline/ |
|
||
| 5556 | Docker:Dex | docker-compose | /dex/ |
|
||
| 8787 | Docker:guada-frontend | docker-compose | /guada/ |
|
||
| 3000 | Docker:guada-backend | docker-compose | /api/v1/ |
|
||
| 3001 | Forgejo | PM2 | /code/ |
|
||
| 3095 | (已停·被guada替代) | - | - |
|
||
| 3911 | Gatekeeper | PM2:engine | - |
|
||
| 3997 | guanghu-register | PM2 | /register-api/ |
|
||
| 3921 | desk-system | PM2 | /desk/ |
|
||
| 5130 | hldp-gate | PM2 | - |
|
||
| 9999 | Python http.server | PM2 | - |
|
||
|
||
## 重要教训
|
||
|
||
1. **永远不要 pm2 kill** — 用 pm2 restart <name>
|
||
2. **Dex BLOB字段必须用Python写入** — node-sqlite3的Buffer ≠ Python的bytes
|
||
3. **Docker挂载卷必须chown到容器内UID** — Outline=1001, Dex=1001
|
||
4. **Outline子路径部署OAuth容易丢state cookie** — 考虑独立子域名
|