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.0 | CC BY 4.0 |
| 古籍原文 | 公版 |
| 倪海厦原话 | CC BY-NC-SA 4.0(非商用) |
| 断语库本身 | 不开源 |
断语库不开源是一个关键决策。断语库是"什么星在什么宫对应什么解读"的规则集——这是倪师体系的核心知识产权。开源的是引擎(代码)和数据集(生成结果),不是规则集(知识本身)。
这就像开源了一个编译器但不开源标准库——你能用这个引擎跑,能验证结果的正确性,但不能直接拿走倪师的解读规则去做商业产品。
文化计算的意义
ziwei-doushu 不只是一个排盘工具。它是一个文化计算实验——把一套传承数百年的术数体系,用现代软件工程的方法重新编码。
这个实验回答了几个问题:
-
传统术数是否可形式化? 答案是大部分可以。排盘算法、四化系统、格局判断都有明确的规则,可以编码成确定性程序。
-
不同流派差异能否共存? 项目用
school-data.ts支持多流派数据,默认用《斗数全书》亮度,可在设置中切换"现代修正 v2"。 -
术数的边界在哪里? README 明确写了"六亲判断有局限"——倪师自己说"斗数批六亲本来就比较差一点"。这种自知之明在术数领域极为罕见。
-
开源能否保护传统文化? 把倪师 1848 条原话逐字标注出处,开源引擎让任何人都能验证排盘结果——这比"口耳相传"的传承方式更持久。
一句话总结
当 204 亿字的命理数据可以确定性生成,传统术数就从"信不信"变成了"准不准"——而准不准,是可以验证的。
🔗 项目地址:https://github.com/Renhuai123/ziwei-doushu
🔗 在线体验:metisziwei.com
讨论回复
加载中...正在加载回复...
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。