项目现状与路线图
一句话定位
云族记是一个私有部署的家族管理应用,由两大模块组成:人际关系(族谱关系网络)与家族事务(图文纪事、收支)。它核心解决传统族谱软件"只会画父系树、表达不了真实婚姻与跨家关系、误删不可恢复"的问题。
当前状态
V1 核心流程已跑通,处于收尾与打磨阶段,尚未正式对外发布。
- 族谱画布、分身体系、称呼引擎、权限模型、归档撤销、真人认领等核心业务链路已完整可用
- CSV / GEDCOM 导入导出等配套能力已具备
- 第二大模块「家族事务」(图文纪事、收支)已搭出主体,仍在打磨,详见家族事务
- 代码约 3 万行,核心算法由 50 个无头回归脚本守护
- 仓库内保留了多个模拟家族(黄氏、陆氏、云氏、赵氏等)作为关系算法的测试夹具
已经完成
关系建模与展示
- 一人多位的分身体系,配偶 / 外亲跨家族挂接
- Canvas 全自绘画布:缩放、平移、长按菜单、等待区拖拽上树、图片导出
- 200+ 条规则的自动称呼引擎,支持血亲 / 姻亲 / 双向称呼
- 父系族谱模式、配偶覆盖矩形、近亲关系提示、分身连线
身份与治理
- 真人注册 → 认领模拟登记 → 身份合并的完整认证链路
- 家族认领自证题,防止同名误认
- 家族开放三档(开放 / 半开放 / 封闭)+ 逐人特批名单
- 分身匿名、主分身设置、默认进入家族偏好
安全与可恢复
- 三层权限(数据库 schema / 云函数校验 / 前端显隐)
- 数据出口的匿名 id 净化,防止抓包反推
- 全写操作归档留痕,删除 / 认领 / 导入均可撤销,删除虚影可恢复
数据与工程
- CSV 批量导入(预览 → 提交 → 可整批撤销)与全族导出
- GEDCOM 5.5.1 / 7.0 转换兼容
- 云函数按业务域拆分 + 公共核心模块
- 50 个 Node 无头回归脚本,一条命令跑完全部核心校验
计划中
以下是 V1 之后的主要方向(会随实际使用反馈调整优先级):
- 首页与信息架构改版:让长辈用户第一眼就知道该做什么,降低上手门槛
- 家族事务模块完善:把第二大模块的图文纪事、老照片、收支、已读反馈补齐做稳,并探索纪事与族谱成员/纪念日的关联
- 画布双实现收口:废弃旧的只读版画布,统一到全功能主画布,降低维护成本
- 工程整理与重构:在保留一个"可运行基线版本"后,对历史中间态代码做模块化重构、主题令牌统一、死代码清理
- TypeScript 迁移评估:对称呼引擎、数据组装等纯逻辑模块优先类型化
- 更多导出形态:族谱大图、分页打印、代际报告
设计原则
这些原则贯穿了整个开发过程,也是面对新需求时的取舍依据:
- 数据真相唯一:服务端数据库行是唯一事实源,前端缓存只做加速,不定义关系语义。
- 危险操作必须可逆:族谱数据不可再生,宁可归档留痕,也不做无法挽回的物理删除。
- 列表不过滤、操作才校验:搜索和候选列表不按性别 / 生日等条件硬筛(避免误杀真实数据),校验放到用户真正提交的那一刻。
- 前端隐藏不是安全边界:所有权限在服务端重新判定。
- 接口失败不覆盖正常内容:网络出错时保留页面上已有的数据,不用空结果把界面清空。
- 面向自家人,而非公网:私有部署、威胁模型小,安全护栏按"低成本保险"设计,不引入面向公共互联网的重型防滥用机制。
技术栈速览
uni-app(Vue 3 + Vite)· uniCloud 阿里云(云函数 + 文档数据库)· Pinia · Canvas 2D · 微信小程序 / App / H5 三端。
详细的架构说明见 技术架构。
关于源码与协作
云族记是一个独立开发的实践项目,源码托管在 Gitee 与 GitHub(页面右上角的 GitHub 图标可跳转)。如果你对其中的关系建模、称呼算法或权限设计感兴趣,欢迎交流。
