204 亿字的命理数据库——紫微斗数开源排盘引擎的文化计算实验

1956 年某个冬日凌晨三点,北京西城区某四合院。一个男婴出生了。按紫微斗数排盘,这个时辰对应"壬寅年、辛亥月、丙寅日、戊子时"——命宫落在某宫,七杀星坐守,对宫是破军。

目录
  1. 204 亿字的命理数据库——紫微斗数开源排盘引擎的文化计算实验
  2. 场景开篇
  3. 核心工程:把"老先生的经验"变成代码
  4. 倪海厦《天纪》体系:选择一个流派做到底
  5. 204 亿字的数据集意味着什么
  6. 开源的边界:什么开,什么不开
  7. 文化计算的意义
  8. 一句话总结

204 亿字的命理数据库——紫微斗数开源排盘引擎的文化计算实验

场景开篇

1956 年某个冬日凌晨三点,北京西城区某四合院。一个男婴出生了。按紫微斗数排盘,这个时辰对应"壬寅年、辛亥月、丙寅日、戊子时"——命宫落在某宫,七杀星坐守,对宫是破军。

传统做法是找一个老先生翻书——《紫微斗数全书》翻到对应页,查星曜、查四化、查格局、查运限,一个命盘批下来要大半天。

2026 年 10 月 15 日,Renhuai123 在 GitHub 发布了 ziwei-doushu v4.0 数据集:674,976 张命盘 × 13 个分析维度 = 8,774,688 段解读,正文约 204 亿字,解压后 56.6 GB。压缩后只有 161 MB,按年份分 77 个文件。

任何一个人的出生日期、时辰、性别,都能在几秒内查到对应的 13 维解读——命格总览、性格、感情、事业、财运、健康、兄弟、子女、迁移、人际、田宅、福德、父母。

这不是 AI 算命。这是把一套传承数百年的术数体系,用 TypeScript 编码成确定性算法,再批量生成所有可能的解读。

核心工程:把"老先生的经验"变成代码

紫微斗数排盘的复杂度远超一般人想象。一个完整命盘涉及:

  • 14 颗主星(紫微、天机、太阳、武曲、天同、廉贞、天府、太阴、贪狼、巨门、天相、天梁、七杀、破军)
  • 数十颗辅星(左辅、右弼、文昌、文曲、天魁、天钺、禄存、天马……)
  • 四化系统(化禄、化权、化科、化忌,每年不同)
  • 12 个宫位(命宫、兄弟、夫妻、子女、财帛、疾厄、迁移、奴仆、官禄、田宅、福德、父母)
  • 格局知识库(紫府同宫、杀破狼、日月并明……)
  • 大限/流年/流月 运限推算
ziwei-doushu 项目把这些全部编码成 TypeScript 模块:

模块功能
algorithm.ts核心排盘算法(641 行)
sihua.ts四化系统
true-solar-time.ts真太阳时校正(经度差 + 均时差)
dst-cn.ts中国 1986-1991 夏令时
lunar-solar.ts农历/公历互转与闰月边界
school-data.ts星曜亮度流派数据
shier-shen.ts十二神煞
yunxian-context.ts运限上下文(含童限)
cities.ts城市经度数据库(含县级单位)
真太阳时校正是一个被大多数排盘软件忽略的细节——同一北京时间,哈尔滨和乌鲁木齐的"真太阳时"差近两个小时,因为北京时间是东经 120 度的标准时间。ziwei-doushu 根据出生城市经度做校正,甚至补全了神农架、阿拉尔等偏远地区城市的经度数据。

倪海厦《天纪》体系:选择一个流派做到底

紫微斗数有多个流派——三合派、四化派、飞星派……每个流派对同一颗星在同一宫位的解读不同。ziwei-doushu 选择了倪海厦《天纪》体系作为基准。

倪海厦(1954-2012)是台湾中医和术数家,《天纪》是他讲授紫微斗数的视频课程。选择倪师体系的原因在 README 中写得很明确:

倪师在《天纪》中指出:"斗数批六亲本来就比较差一点。"(2上·00:25:27)

项目对倪师原话做了逐字校正——1848 条原话,每条标注《天纪》第几集、几分几秒。查不到出处的引文删掉或换成逐字可查的原话。不会发生的四化(如七杀化权、紫微化忌)相关句子删去。只在某种条件下才成立的断语补上条件。

这种做法在术数开源项目中极为罕见——大多数项目要么全盘接受传统说法,要么全盘否定。ziwei-doushu 选择了第三条路:保留传统体系,但每一条断语都要有出处,每个条件都要写清楚。

204 亿字的数据集意味着什么

v4.0 数据集的规模:

  • 674,976 张命盘:公历 1950-2026 年 × 每月真实天数 × 12 时辰 × 男女
  • 8,774,688 段解读:每张盘 13 维
  • 约 204 亿字:每张盘约 3.0 万字
  • 56.6 GB 解压后,161 MB 压缩后
这不是 AI 生成的。README 明确标注:"排盘引擎 + 断语库确定性生成,不经 AI,同一输入恒得同一输出。"

确定性生成意味着:给定同一个出生日期、时辰、性别,任何人运行这个引擎都会得到完全相同的解读。这是"可复现的术数"——传统术数最大的问题就是"同一命盘不同先生给出不同解读",ziwei-doushu 用代码消除了这种模糊性。

204 亿字是什么概念?中文维基百科全量约 30 亿字。这个数据集是中文维基百科的 7 倍。但它覆盖的只是 77 年 × 12 时辰 × 2 性别 = 1848 种组合的解读——平均每种组合约 1100 万字。

开源的边界:什么开,什么不开

ziwei-doushu 的开源策略很精细:

内容许可
排盘引擎代码MIT
解读数据集 v4.0CC BY 4.0
古籍原文公版
倪海厦原话CC BY-NC-SA 4.0(非商用)
断语库本身不开源
断语库不开源是一个关键决策。断语库是"什么星在什么宫对应什么解读"的规则集——这是倪师体系的核心知识产权。开源的是引擎(代码)和数据集(生成结果),不是规则集(知识本身)。

这就像开源了一个编译器但不开源标准库——你能用这个引擎跑,能验证结果的正确性,但不能直接拿走倪师的解读规则去做商业产品。

文化计算的意义

ziwei-doushu 不只是一个排盘工具。它是一个文化计算实验——把一套传承数百年的术数体系,用现代软件工程的方法重新编码。

这个实验回答了几个问题:

1. 传统术数是否可形式化? 答案是大部分可以。排盘算法、四化系统、格局判断都有明确的规则,可以编码成确定性程序。

2. 不同流派差异能否共存? 项目用 school-data.ts 支持多流派数据,默认用《斗数全书》亮度,可在设置中切换"现代修正 v2"。

3. 术数的边界在哪里? README 明确写了"六亲判断有局限"——倪师自己说"斗数批六亲本来就比较差一点"。这种自知之明在术数领域极为罕见。

4. 开源能否保护传统文化? 把倪师 1848 条原话逐字标注出处,开源引擎让任何人都能验证排盘结果——这比"口耳相传"的传承方式更持久。

一句话总结

当 204 亿字的命理数据可以确定性生成,传统术数就从"信不信"变成了"准不准"——而准不准,是可以验证的。


🔗 项目地址:https://github.com/Renhuai123/ziwei-doushu 🔗 在线体验:metisziwei.com

暂无表态

想参与讨论或点赞?登录后使用完整功能

讨论回复(0)

暂无回复,登录后可参与讨论
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens