文档清单: - README.md 仓库导航 - iShare-dev-plan.md 开发规划 - SYSTEM_DESIGN.md 系统设计(角色/流程/接口) - DATABASE_DESIGN_V2.md 数据库完整字段设计 - DATABASE_DESIGN_OVERVIEW.md 设计概要 v4(28张表) - DECISIONS.md 6个关键决策记录 - db/ishare_schema_v2.sql 基础建表 SQL - db/ishare_schema_v3_delta.sql v2→v3 增量(评审修复) - db/ishare_schema_v4_delta.sql v3→v4 增量(决策确认) - memory_2026-02-17.md 工作日志 Phase D 完成:28张表定稿,所有决策已确认
8.5 KiB
8.5 KiB
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 项目,响应式移动端优先
- 基于 PigX 5.11.0 二次开发,新增
- 仓库规划: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 完成状态
- 系统角色定义(4个角色)
- 功能模块清单(用户端11模块 + 管理后台9模块)
- 核心业务流程(注册/购买/凭据查看/续费/拼车/邀请 共6条)
- 数据库完整设计(现有8表修订 + 新增5表:as_order/as_wallet/as_wallet_log/as_invite/as_notification)
- 接口设计要点(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项):
as_user_sub.remarkint→varchar(字段类型 Bug)as_user_sub缺status、expire_time(订阅生命周期无法管理)as_sub_account.passwd_saltint→varchar(64)(加密 Salt 不能用 int)- 缺少个人订阅记录表(无法追踪谁加入了哪个合租位)
重要(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 状态
- 系统角色/功能模块清单
- 核心业务流程(6条)
- 数据库设计 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.sqlDECISIONS.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)