# 2026-02-17 日记 ## 上午/下午 ### 1. 补充 VPS 环境文档 - 对比记忆 vs Gitea 文档,发现几处缺漏 - 已补充推送到 Gitea:https://git.puro.im/purovps/vps_env/src/branch/main/vps-environment.md - 补充内容: - Redis (localhost:6379 无密码) / Prometheus (9090) / Loki (3100) - jshERP 架构:后端容器 `jsherp`(host network, 9999)、前端静态 `/opt/jshERP-web/` - Drone Trusted 模式、Dockerfile 需要 fontconfig + ttf-dejavu - 踩坑记录:Redis slave 问题、Portainer 改 9000 (HTTP)、前端 403 改到 /opt/jshERP-web/ 等 - Caddy conf.d 路径:devops.conf / erp.conf / im.conf / claw.conf - Mattermost Bot:@erp_devbot token,助手启停方法 - Fail2ban + Swap 4GB ### 2. iShare 开发规划 - 项目仓库:https://git.puro.im/purovps/pigx_ishare - 规划文档已推送:https://git.puro.im/purovps/pigx_ishare/src/branch/master/iShare-dev-plan.md - 技术路线决策: - 基于 PigX 5.11.0 二次开发,新增 `pigx-ishare` 业务模块(不动框架原代码) - Java 17 + Spring Boot 3(javax → jakarta 迁移) - 开发阶段用 `pigx-boot` 单体模式,一个 JAR 跑全部;上线后按需拆微服务 - 管理后台:pigx-ui(Vue3 + TypeScript + Tailwind) - 用户端:独立 H5 项目,响应式移动端优先 - 仓库规划:3个独立仓库(ishare-backend / ishare-admin / ishare-web) - 开发周期:约 7-8 周到 MVP(不含支付) - **下一步待定:开始执行哪个 Phase** ## 晚上 - /compact 压缩后 /new 新开 session - Ami 粘贴了上次对话记录,同步上下文 --- ## ✅ 待办:iShare 开发执行 ### 项目概况 - **产品**:流媒体订阅合租分享平台(Netflix/Spotify 等) - **技术栈**:PigX 5.11.0(Java 17 + Spring Boot 3)二次开发 - **规划文档**:https://git.puro.im/purovps/pigx_ishare/src/branch/master/iShare-dev-plan.md - **PigX 框架**:https://git.puro.im/purovps/pigx - **旧版代码**:https://git.puro.im/purovps/pigx_ishare/src/branch/pigx_ishare ### 仓库规划(待创建) - `ishare-backend` — 后端主仓库(Fork PigX 5.11.0 + pigx-ishare 模块) - `ishare-admin` — 管理后台(Fork pigx-ui) - `ishare-web` — 用户端 H5(独立 Vue3 项目) ### 开发阶段(已调整优先级) - [ ] **Phase D(最高优先)**:系统设计 — 功能清单 + 业务流程 + 数据库设计 ← 进行中 - [ ] **Phase 0**(1-2天):创建仓库 + Fork PigX + 本地环境 + Drone CI/CD + 建库 SQL - [ ] **Phase 1**(1-2周):后端核心 CRUD API(平台/计划/商品/账号/用户订阅) - [ ] **Phase 2**(1周):管理后台前端(ishare-admin) - [ ] **Phase 3**(2-3周):用户端 H5(ishare-web,按 Figma 设计稿) - [ ] **Phase 4**(按需):支付集成(支付宝/微信) - [ ] **Phase 5**:测试 + 上线 ### Phase D 完成状态 - [x] 系统角色定义(4个角色) - [x] 功能模块清单(用户端11模块 + 管理后台9模块) - [x] 核心业务流程(注册/购买/凭据查看/续费/拼车/邀请 共6条) - [x] 数据库完整设计(现有8表修订 + 新增5表:as_order/as_wallet/as_wallet_log/as_invite/as_notification) - [x] 接口设计要点(AES加密/席位并发控制/价格快照) - [ ] 待决策项确认(6个决策点,需 Ami 确认) - 设计文档:https://git.puro.im/purovps/pigx_ishare/src/branch/master/SYSTEM_DESIGN.md ### 关键设计决策 - 开发阶段用 `pigx-boot` 单体模式(一个 JAR),上线后按需拆微服务 - 用户端做响应式 H5,二期再考虑小程序 - 账号密码 AES 加密存储(复用 PigX Jasypt) - 数据库复用 VPS MariaDB,CI/CD 复用 Drone ### 下一步 → 确认从 **Phase 0** 开始执行 --- ## 🛠️ OpenClaw 配置修复(2026-02-17 晚) ### QMD 记忆后端修复 - **问题**:`qmd-wrapper.sh` 强制用 nvm v24 Node,但 `better-sqlite3` 编译于 v22(MODULE_VERSION 127),版本冲突导致 `qmd update` 每次都失败 - **修复**:改 wrapper 用 `/usr/bin/node`(系统 v22),兼容 better-sqlite3 - **文件**:`/home/macsvr/clawd/scripts/qmd-wrapper.sh` - **结果**:QMD 正常索引 78 个文档,BM25 记忆检索恢复正常 ### Local Embedding(memorySearch) - 重新启用(之前临时关闭) - 模型:`hf:ggml-org/embeddinggemma-300M-GGUF/embeddinggemma-300M-Q8_0.gguf` - 文件存在:`~/.node-llama-cpp/models/hf_ggml-org_embeddinggemma-300M-Q8_0.gguf` --- ## 📐 iShare Phase D:数据库设计 v2.0 完成 ### 已推送到 Gitea - 设计文档:https://git.puro.im/purovps/pigx_ishare/src/branch/master/DATABASE_DESIGN_V2.md - 建表 SQL:https://git.puro.im/purovps/pigx_ishare/src/branch/master/db/ishare_schema_v2.sql ### 修复的原版缺陷(15项) **严重(4项):** 1. `as_user_sub.remark` int→varchar(字段类型 Bug) 2. `as_user_sub` 缺 `status`、`expire_time`(订阅生命周期无法管理) 3. `as_sub_account.passwd_salt` int→varchar(64)(加密 Salt 不能用 int) 4. 缺少个人订阅记录表(无法追踪谁加入了哪个合租位) **重要(6项):** 5. `as_sub_product.Tags`→`tags`(Java 命名 Bug) 6. `as_sub_plan.platform_id` varchar→bigint,`capacity` varchar→int 7. `as_sub_payroll.sub_plans`→`sub_plan_id`(语义混乱) 8. 7 处 int/Long→bigint 类型对齐 9. `as_sub_product` 缺 `platform_id`、`status`、`cover_image` 10. `as_sub_payroll` 缺 `duration_months`、`original_price` ### 新增 6 张表 | 表 | 作用 | |----|------| | `as_user_sub_member` | 个人订阅记录(最关键缺失表) | | `as_order` | 完整订单(含状态机) | | `as_wallet` | 用户钱包(含乐观锁) | | `as_wallet_log` | 钱包流水 | | `as_invite` | 邀请关系/返现 | | `as_notification` | 系统通知 | **总计:9 App 基础表 + 14 业务表 = 23 张表** ### Phase D 状态 - [x] 系统角色/功能模块清单 - [x] 核心业务流程(6条) - [x] 数据库设计 v2.0(修复+新增) - [ ] 待决策项确认(6个,见 SYSTEM_DESIGN.md) - [ ] Phase 0 环境搭建(等 Phase D 决策确认后) --- ## 🌙 晚上(Session 2) ### iShare Phase D 完成 #### 数据库评审(7 个问题全部修复) | 问题 | 处理 | |------|------| | R1 充值流水缺失 | 新增 `as_recharge` 表 | | R2 续费唯一键问题 | 移除 UNIQUE KEY,续费改为新建记录 | | I1 Banner 表缺失 | 新增 `as_banner` 表 | | I2 M:N 逗号分隔 | 新增 `as_product_plan_rel`,移除 `sub_plan_ids` | | I3 文档字段不一致 | 概要统一至 v2 修订字段名 | | L1 拼车状态未建模 | `status=4` 等待车主录入凭据 | | L2 索引缺失 | 补充 12 项关键索引 | **表数量:v2(23张) → v3(27张)** #### 5 个决策项确认 | # | 决策 | |---|------| | 1 | 三种支付全支持(复用 pigx-pay) | | 2 | 拼车广场 Phase 2,一期仅自营 | | 3 | 凭据查看需二次验证(SMS OTP) | | 4 | 邀请返现完全可配置,新增 `as_invite_config` 表 | | 6 | 提现 Phase 2 | **最终:28 张表,Phase D 完成** #### Gitea 提交记录 - `v1-initial-design` — 初版设计快照 - `v2-db-reviewed` — 评审修复完成 - `v3-phase-d-complete` — Phase D 全部完成(决策确认) **新增文件:** - `db/ishare_schema_v3_delta.sql` / `db/ishare_schema_v4_delta.sql` - `DECISIONS.md` — 完整决策记录 - `DATABASE_DESIGN_OVERVIEW.md` — v4 最终版概要 --- ## 📋 前置信息整理(开发背景) ### VPS 环境文档同步(2026-02-17 下午) 文档与记忆对比,发现缺漏并已补充推送: **文档里有但记忆缺的(新信息):** - LCMP (teddysun/lcmp) 一键安装 + lcmp-guide.md - PHP 8.4.18 (php8.4-fpm) - MariaDB 11.4.10 版本 **记忆里有但文档缺的(已补充):** - Redis (localhost:6379, 无密码) / Prometheus (9090) / Loki (3100) - jshERP 架构:容器 `jsherp`(host network, 9999)、前端 `/opt/jshERP-web/`、Drone Trusted 模式、Dockerfile 需 fontconfig + ttf-dejavu - 踩坑记录:Redis slave 问题、Portainer 改 9000 (HTTP)、前端 403 改路径等 - Caddy conf.d 路径:devops.conf / erp.conf / im.conf / claw.conf - Mattermost Bot:@erp_devbot token,MS 助手启停方法 - 安全基础:Swap 4GB、Fail2ban 文档地址:https://git.puro.im/purovps/vps_env/src/branch/main/vps-environment.md ### iShare 规划来源 - 旧版代码(基于 PigX 5.2):https://git.puro.im/purovps/pigx_ishare/src/branch/pigx_ishare - 新版 PigX 框架:https://git.puro.im/purovps/pigx - 已有资产:旧版代码 + 数据库设计 + Figma 设计稿(iShare_Design/iShare_设计文档.html)