写在前面: 去年(2025年),因为身体原因在医院接受治疗了一段时间。在此期间无意间接触到了玄学有关话题,正好闲来无事,在视频平台了解了各种玄学的基本知识,于是出院后作此玄学数术系列排盘库。
在这个开发者笔记中,我会讲述我为什么写这个库,每个库的最初构思和一些技术细节,最后再聊一下我对玄学、神秘学的一些看法和对未来的创作与更新计划。
🔍 目录 (Table of Contents)
一、为什么写这个库?
在前面说过,作者在 2025 年花了一些时间研究了东西方的神秘学和玄学。因为不想让这段时间的“研究成果”白白浪费掉,故想做一个跨平台的、支持多平台的玄学排盘 App。但因为时间有限和现实因素,目前只完成了核心天文历法层、紫微斗数、八字、老黄历(包括九宫飞星等杂七杂八的,还没完全写完)的核心库设计。
二、为什么使用 Dart 语言写这几个库?
上面说了,作者想要写一个跨平台的库。目前来看 Flutter/Dart 是不错的选择,性能表现较好。考虑到有些大师的电脑 CPU 可能也就是个 i3-4170 + 4G 内存 的水平,如果用 Electron 写,单单一个 Chromium 内核就够这老电脑喝一壶的。于是选择 Flutter/Dart 开发这款跨端应用软件。目前名字想好了,可能会叫 OpenDestiny?
三、对于这几个库的最初构思和技术细节
1. 关于 ziwei_core
实际上,我最早一开始就是只是想单独开发一个紫微斗数排盘软件库。目前市面上的排盘 App,很多只能支持 1800 年以后的时间;现在市面上最流行的“殿堂级”排盘软件,受限于早期的 Adobe AIR + ActionScript 虚拟机架构,在 2026 年的高刷屏和多核处理器下,已显露出明显的渲染瓶颈和交互迟滞,并且在某些罕见的历法边界案例(Edge Cases)中存在鲁棒性挑战”。
当然,目前开源社区也有非常优秀的排盘库如 iztro,但是不支持公元前的时间排盘,而且没有真太阳时转换的功能;它的 Dart 移植版 dart_iztro 虽有真太阳时转换功能,但貌似不够准确,其内部的日上中天时间是使用“日出时间和日落时间的平均值”来求的,得出的结果可能在某些情况下产生较大的误差。
在了解这些后,我于是移植了原作许剑伟先生的 sxwnl 中的部分算法(即 sxwnl_spa_dart)。由于原作者没有说明使用什么类型的开源许可证,只有一段原作的版权说明,故我在 README 里面留了一段比较长的免责声明提示。
因为紫微斗数流派很多,一些星曜的安放方法、亮度、四化表都有较大分歧,故设计初期时,为了避免后期代码变成全是 if-else 的面条代码,我把它设计为数据驱动的架构,实现机制与策略分离。把每个星曜的亮度、排列方式还有四化表数据从硬编码中分离出来,可以通过热补丁(Hot Patch)的方式覆盖自带的流派设置,实现配置的自定义。
对于紫微斗数的每个星曜,它们的安放方式大体可以分为:相对于某个锚点的偏移、硬查表、硬查表+偏移,还有这三种的排列组合。于是我在程序内部设计了这四种安放星曜的方法,你只需要修改 JSON 文件就能改变某个星曜的安放方法,甚至可以自己自创一些星曜进去。正是如此,ziwei_core 在创建命盘时,相较于定位轻量级的 iztro 库来说可能会非常笨重。。。
2. 关于 sxwnl_spa_dart
在项目创作初期,ziwei_core 是使用 lunar 库作为底层的历法库的,但是发现不支持公元前的时间,于是移植了这个库。在初期移植的时候,其中的一些数学公式还有硬编码数据是由 AI 移植的,当然其中遗留了不少 Bug,还有一些实用的 API 接口没有移植。在经过人工的校验和排除 Bug 之后,现在的 0.15.1 版本上已经是完全可用的版本了。
在移植的过程中也踩了不少坑。比如说 AI 一开始将原版的 qi_low、qi_high 等写成了私有方法,而且没移植 qi_accurate、so_accurate 这样的精确定气和精确定朔的函数,导致整个库只能调用 ssq.calcY 来计算节气。但是这个节气并不是最准确的时间,而且经过历法修正,基本上不可用。在人工校验后加上了 qiAccurate 等方法,又添加了真太阳时、一年精确节气等功能后,现在基本上完全可用了。
在最开始写这个库的时候,我因为偷懒,没有移植算日出日落的方法,转而缝合了 Dart 社区现有的 dart-spa 太阳位置算法。但是后面我觉得这么不完整移植不好,所以又补上了原作的日出时间算法。不过因为反三角函数在计算的时候两种不同语言的行为有所区别,所以数据没办法 100% 完美对齐,但是差异很小,在实际使用的时候基本可以忽略不计。原先的 SPA 算法,在问了问 AI 后告诉我,这个东西算真太阳时的准确率比寿星万年历可能还要高一点,所以库默认的太阳位置算法使用的是这个。
3. 关于 bazi_dart
写这个排八字的库,其实主要还是因为大部分紫微斗数排盘软件的中宫大多数有一个八字的栏位,因为 sxwnl 自带八字计算功能,顺手就写了。在写这个库的时候倒没什么特别的地方,就是那个“起大运”算法没有准确的说法,本人是使用乘以 120 倍的膨胀系数来算起运时间的,别的没什么好讲的。。
4. 关于 chinese_lunar_almanac
这个项目也是因为个人感觉在底层库如此完善的情况下,不写一个万年历库实在是可惜。而且相较于紫微斗数、八字这样的玄学神秘学,老黄历受众群体更广,更偏向于“传统文化”的方向。
这个项目最大的难点就在于神煞和每日宜忌部分。在了解了相关资料之后,我发现关于这方面内容在民间也是众说纷纭。AI 告诉我说可以参考《钦定协纪辨方书》来写,先写出来每日神煞,再根据神煞的宜忌来确定今天宜什么忌什么。我发现网上也早就有开源项目 cnlunar 实现了对《钦定协纪辨方书》书中算每日神煞逻辑的实现。看完了相关源码之后,我把相关原作的每日神煞的查询方式移植了过来,并且加入了我对书中一些神煞查询方式的看法,所以修改了部分神煞的查询逻辑。
写完每日宜忌部分之后,我发现现在市面上的万年历 App 上面的每日宜忌部分基本上都和我写的不一样。
在查阅了《钦定协纪辨方书》之后,我基本可以断定:现在市面上的老黄历应该都不是严格按照《钦定协纪辨方书》写的。这本书一共有三种查询每日宜忌的方式:
- 神煞推演法(本库实现方式):大体流程是,先查询今天有什么神煞,而书中记录了每个神煞忌什么宜什么,然后得到原始的宜忌数组,然后再根据 “宜忌等第表” 判定今天应该“从宜不从忌”或者“从忌不从宜”之类的,中间还有很多特殊规则处理,最后得到两个集合。
- 活动逆查法:是按照活动来,根据每种活动宜见什么神煞不宜见什么神煞,看每天有没有什么神煞,然后判定今天适不适合做这个活动。
- 万年历硬查表:根据书中最后给出的硬查表来计算。
在调查了相关 App 后,我发现他们应该不是按照第一种和第三种来写的。因为结果跟第一种对不上,而且在官方的硬查表(第三种)里,“诸事不宜”的日子会把宜项直接清空,但大部分万年历即使在这种时候,宜的那一栏仍有一些活动在。
具体现在市面上的万年历用的什么查询逻辑,我也说不清楚。相较于古书,这些现代 App 还加入了 “安门”、“买衣服”之类从未在古书上见过的词。在这里我想说的是:这个东西看个乐子就好,现在市面上的老黄历每日宜忌基本上对现实生活没有任何参考价值。
重点优化: 对部分用月支查日支的神煞(一共 12*12 种情况),我直接用原作预计算出了一个硬编码表,用 bitset 存储,并且把原作中对 List<String> 的求交集并集等操作,全部替换成了对 bitset 的位运算操作! 总体来看,程序的运行效率理论上可能比原作高不少。
关于繁体模式:
顺带提一句,老黄历(chinese_lunar_almanac)中存在大量的民俗术语(如“纳采”、“祭祀”、“開”、“滿”等),在玄学圈里繁体字才是刚需。虽然目前核心库为了数据源统一和计算效率,在内部逻辑中使用的是简体中文,但架构上预留了 “输出层延迟翻译” (Late-binding Translation) 的扩展能力。未来版本将支持在输出层通过简单的字典映射实现一键简繁切换,让排盘结果看起来更“专业”。
四、我对玄学、神秘学的看法
虽然在研究了一段时间的玄学神秘学之后,从感性的角度讲,好像确实能算出来一点事。但是经过这段时间对这些玄学算法的起局算法的研究,我发现其中人工编纂的痕迹非常大。
大部分人在接触这些东西之后,总是会被其中玄而又玄的名词话术给蒙住,但是其中最大的漏洞就藏在最开始的起局之中。
1. 关于紫微斗数
很多人一说起它就会说什么“皇家秘传数术”,包装得非常厉害。我不否认可能确实能算中一些事情,比如 AI 看我的盘都能看出来“天机巨门入疾厄主肠胃不好”之类的。但是就起局方法来看,其存在严重漏洞。
1. 真太阳时或许需要更复杂的计算
在大多数的排盘软件中,计算真太阳时就是通过 TST = LMT + E 这么个公式来算。这看起来很“科学”,但是殊不知,中国的农历本身就是跟经纬度强行挂钩的。中国的农历规定,每个月初一的时间,是由朔(日月合相)的时间来确定的,并且朔月和节气一样,是全球同步的事件。
比如说,在北京时间的 2026年3月19日 09:23:12 发生了朔月,那么农历就会规定这一天就是初一的时间。发现问题了吗?这个概念是跟北京时间强行挂钩的! 所以对于地球另一边的美国来说,2026年3月18日才是初一的时间!举个更极端的例子,如果某次朔月发生在北京时间 00:23:12 am,对于中国西部地区甚至中部地区,由于此时的真太阳时还没到第二天,所以初一的日子是要比北京早一天的!
所以如果真的想算准紫微斗数,或许需要“北京本地农历”、“河南本地农历”、“新疆本地农历”这样根据本地经度算出来的农历?不过也对,毕竟是“皇家秘术”,古代的农历也是按照北京的当地时间来定制的,所以理论上紫微斗数也只能给北京城里面的人算命。。这么看“皇家秘术”这个说法或许是自洽的。。哈哈。
我调查了市面上的大部分排盘软件,其真太阳时的逻辑就是简单的算出真太阳时,然后查这一天的北京农历是什么时间,然后按照这个排,但是其实这个算法本身是要打个问号的。。。
怎么解决这个问题?很简单,也就是这些“大师”在“定盘”的时候,现在不仅要看上下一个时辰的盘,也许还要看前后两天的同时辰的盘。
更新: 看前后一天的盘也不行!因为在换算真太阳时的时候,假如北京在 0:30 发生合朔,而 A 地区真太阳时 23:00 发生合朔,此时恰巧今年需要闰月,恰巧中气在北京时间 0:30 发生,此时对于 A 地区来说,上个月份是有中气的,下个月闰月,对于北京下个月有中气,所以上个月闰月,所以说,看前后两天的同时辰的盘也不行,出现这种情况一整年都是乱的,根本没法算。
从上面一点来看,它的起盘基石就摇摇欲坠了。更不要说,本来把发生朔月当天当作初一本来就是简单的取整逻辑,还有闰月的规则也是人为打出来的补丁。。由此来看,紫微斗数本身的历法锚点就是不稳定的,从而它的输出结果的正确性根本无从保证。
2. 早晚子时问题
在紫微斗数中,有些人认为 23:00 换日,有些人认为 0:00 换日,但在这里我可以给出结论,虽然用 0:00 换日不一定准,但是用 23:00 换日算紫微斗数盘一定是算不准的。这是由底层的历法规则导致的。因为不管古代还是现代,如果合朔发生在 23:00-0:00 之间,初一就会被规定在当天而不是下一天,所以如果你认为 23:00 换日,理论上你就要写一个不区分早晚子时版农历才能让你的逻辑自洽。
3. 紫微斗数的重盘率太高
对于紫微斗数而言,去掉大小月和闰月的影响,其一共大约只有 60 × 12 × 30 × 12 = 259,200 种有限的状态。有意思的是,八字一共有 60 × 12 × 60 × 12 = 518,400 种状态,刚好比紫微斗数多一倍。所以很多人说紫微斗数比八字看的细致,其实完全是错觉。大家只是被紫微斗数满盘的各种杂曜搞晕了,误以为它的状态比八字更多。
实际上,因为有限的年月日时输入,再加上十天干四化的影响,它的独立状态其实很少。反映在排盘面上,就是很多星曜共享着同一个约束,导致整个盘面的自由度极低。当然,很多流派可以引入一些外部理论来算“同盘不同命”,但即使这样,你强行引入了 10 个、20 个甚至 100 个外部变量,它的状态基数依然很少,这甚至还不如引入地域、祖坟、风水等物理变量来得高明,而且你也不知道是不是某个大师为了打补丁瞎编的理论。
2. 关于八字
对于八字来讲其实没什么好说的,在起局方法来看,“现代八字”相对于紫微斗数确实要“科学”得多。因为八字的八个字由两个部分组成:一部分是“全球同步”的、由节气决定的年月柱(即在这个时间点,全球出生的人的前两柱是绝对同步的);另一部分则是由本地真太阳时来决定的日时柱。但其实深究下来,八字的问题同样非常多。
1. 南半球出生的人怎么算?
有些人说八字是跟地球的节令强挂钩的。比如说,“寅”属于木,因为寅月是春天的起点,万物生发所以是木;“午”属火,因为夏天热所以是火。那么问题来了,南半球的人怎么办? 难道他们排列八字的时候,要手动反转 180 度,把子改成午,申改成寅?这么看还挺合理,但往南走多少才算南?难道一跨赤道就要换?如果一家医院横跨赤道,在里面同一个时间出生的俩人八字难道完全对冲?
问题就在于,如果你觉得南北半球的八字月令都是一样的,那你就要彻底舍弃八字底层的“取象”逻辑。因为如果你在北半球把立春规定为寅月,南半球也照搬,那么“寅代表春天、万物生发”的理论在南半球就根本不成立,整个取象逻辑就会陷入无法自洽的矛盾之中。
很多人也许把这个问题想得过于简单,觉得“大不了南半球的人不算了”。但问题在于,整个八字的天干地支,本质上就是古人对节令规律的抽象——也就是说,八字本质上就是描述节气的。关于天干地支和四季物候的关系,在《史记·律书》中早有明确的记载:
天干:
- 【甲】:“甲者,言万物剖符甲而出也。”(种子破开外壳钻出来)
- 【乙】:“乙者,言万物生轧轧也。”(幼芽弯弯曲曲、发出轧轧声生长)
- 【丙】:“丙者,言阳道著明,故曰丙。”(太阳高照,阳光明媚)
- 【丁】:“丁者,言万物之丁壮也,故曰丁。”(万物长得结实壮大)
- 【戊、己】:(注:《史记·律书》原稿在此缺失解释)
- 【庚】:“庚者,言阴气庚(更)万物,故曰庚。”(秋风起,阴气开始更替万物)
- 【辛】:“辛者,言万物之辛(新)生,故曰辛。”(果实掉落,完成收成等待新生)
- 【壬】:“壬之为言任也,言阳气任养万物于下也。”(阳气在地下包容、孕育、滋养万物)
- 【癸】:“癸之为言揆也,言万物可揆度,故曰癸。”(地下孕育的万物可以被度量测量了)
地支:
- 【子】:“子者,滋也;滋者,言万物滋于下也。”(冬天,万物在地下偷偷滋生)
- 【丑】:“其于十二子为丑。”(注:原文提及丑,但缺释义文本)
- 【寅】:“寅言万物始生蚓然也,故曰寅。”(春天,万物像蚯蚓蠕动一样开始苏醒了)
- 【卯】:“卯之为言茂也,言万物茂也。”(万物开始长得茂盛)
- 【辰】:“辰者,言万物之蜄也。”(万物苏醒活动的样子)
- 【巳】:“巳者,言阳气之已尽也。”(阳气已经达到顶峰极限了)
- 【午】:“午者,阴阳交,故曰午。”(夏至,阴气阳气开始正面交锋、对撞)
- 【未】:“未者,言万物皆成,有滋味也。”(果实长成,开始有味道了)
- 【申】:“申者,言阴用事,申贼万物,故曰申。”(秋天阴气主管大局,开始肃杀伤害万物)
- 【酉】:“酉者,万物之老也,故曰酉。”(万物都衰老成熟了)
- 【戌】:“戌者,言万物尽灭,故曰戌。”(万物彻底凋零寂灭)
- 【亥】:“亥者,该也。言阳气藏于下,故该也。”(阳气被该括、掩盖隐藏在地下了)
这大概就是早期人们尝试把天干地支和节令联系起来的方式。值得注意的是,这些汉字本身原本并没有这些含义,天干地支在出现之初也并没有描述季节的作用。但关键在于,八字的理论基础完全建立在这些解释之上,八字的“取象”完全就是这些理论的无限延伸。
比如,为什么寅是木?因为寅月是春天,万物生发,所以寅是木。现代大师的取象也是一样的套路,为什么有些大师认为木主“教育”呢?本质上依然是“万物生发”这个取象的无限延伸。
说这么多,跟南半球有什么关系呢?关系就在于,如果解释不了南半球,这说明无论天干还是地支(不只是月令,因为所有天干地支的象义都是来自四季节令),其取象的锚点已经跟真实的四季更迭脱钩了。既然脱钩了,那就说明它和紫微斗数一样,底层的锚点是不稳定的。
2. 古代人的节气算法和现代不一样
在古代,节气是用“平气法”来算的,也就是一年内节气之间的间隔是统一等分的。直到明朝末期、清朝初期,才引入了“定气法”,也就是西方计算太阳星座的方式——通过太阳在黄道上的真实度数来定位节气(也就是说,现代大家用的 24 节气“定气法”,在历史上其实是在《时宪历》改革期间引入了西方天文学的推算模型)。
这就导致了一个很致命的问题:古代人的八字算法跟现在是完全不一样的! 在古代的八字排盘里,可能只有年柱是准的,而月柱用现在的定气法角度来看,完全是不准的。
对于现代八字来说,年柱月柱按照节气(即太阳的真实位置)来算,但是到了日柱和时柱,却又变成了按照 60 甲子直接死板地循环下去了。这里有着极其生硬的拼接痕迹。还有十天干最初是怎么定起始点的,也没人说得清楚。而八字的绝对核心偏偏就是按照日柱的天干来定“日主”,它的基准锚点真的有效吗? 根本没有明确的理论源头。更别说“甲子年甲子月甲子日甲子时”这个所谓的终极时间起点,你在天文学上也是绝对找不到的。总不能是古代某人某天一拍脑袋说:“哇,今年好热,那就当今年是丙午年吧”,哈哈。
3. 关于各种占星
相比于上面的紫微斗数和八字,因为占星这个东西很多国家很多时区的人在用,所以时区问题在各路占星上是不存在的。主要的缺陷就是老生常谈的岁差问题和西洋占星各种乱七八糟流派的宫位划分。
现在流行的回归黄道制本身上还是跟八字一样是由地球的节气决定的,即规定春分的时候是太阳在白羊座的 0 度,而这个规定的源头也是最开始的大师一拍脑袋决定的。。 因为岁差的影响,白羊座的 0 度其实已经到了双鱼座。。。那既然你按照地球节气划分星座,那为什么还要拿远处的星体当作锚点呢?
其实中国古代也有占星术,也就是“七政四余”。这玩意儿因为年代久远早已断代,导致现在的流派乱到我也懒得吐槽。最离谱的是,我发现有些软件居然还提供了一个“还原古籍星象”的选项,其做法是强行把岁差扣除掉从“书成之日”到现在的差值。这应该是为了兼容某些特定流派的玩法,但我看后真是一口老血喷出来:你要么像西洋占星那样彻底不管岁差(玩回归黄道),要么像印度占星那样追求真实星历(玩恒星黄道),你非得整一个“古人眼里的星空”在那儿刻舟求剑,是打算给古人算命吗??
还有,这东西本来就是西方传入的,你加上中国特有的神煞系统你确定好用?那一堆化曜啥的更是玄之又玄(我怀疑紫微斗数的四化就是从这抄的),再加上一个更搞笑的 Bug:相较于西洋占星 and 印度占星使用复杂的公式计算上升点,七政四余计算命宫的方式仅仅是用简单的偏移来计算命宫。。也就是说,本质上,七政四余不会计算上升点。。 写七政四余排盘软件的程序员也是神人了,能对着这么多流派写出跟飞机中控台一样的设置界面,我是真的佩服。。所以这个东西建议学的人尽早放弃,省得被现在的各种“大师”骗。
其实关于占星的有效性,西方科学界做过不少实验,结论基本都是找不到统计学上的相关性。对此,很多占星师会反驳说:“那是科学家不懂,占星是很复杂的系统工程,不能只看单颗星体,得看星体间的互动、相位和宫位。”
但这个说法在逻辑上其实是站不住脚的:
- 观察的起点悖论:最初发明占星的古人肯定是从观察单颗星开始的(比如:“火星出来了,这孩子脾气大”)。如果单颗星体对个人的影响力微弱到根本观察不到,那古人哪来的动力去研究更复杂的“星体互动”呢?
- 逻辑只有两种可能:
- 单星本身就有显著的数据相关性,才诱发了后人去研究复杂的关联(但这已经被科学实验否定了);
- 一开始玩单星看盘的人发现不准,为了圆谎才不断地“叠 Buff”,编造出一套更复杂的理论来增加玄虚感,好让外行看不懂。
如果基石本身就是 0,那堆叠再多复杂的系统,最终的结果也只能是 0。
对于东方的数术,处理方式显然比西洋占星高明得多。得益于东方玄学大多没有明确的发明人,很多“秘传”也都是口口相传、查无实据,所以干脆把解释权交给 “神明的启示” 或者 “神仙的意志”。对此,我也没办法说这东西就是编的,毕竟谁也没法去证伪神仙。
4. 我的个人经历(A/B 测试)
4.1 关于网络上的大师
在接触玄学的这段时间,我也找过大师看,其中这些大师的水平竟然连 AI 都不如。起码 AI 在事前能看出来“天机巨门入疾厄主肠胃不好”这样的话,我去年生病确实是肠胃问题,而且你跟 AI 说你得了啥病,AI 也能告诉你生病是因为“天机属木表示免疫系统,巨门属于土表示消化系统或者管道,所以你先天就有免疫系统攻击肠胃的隐患”这样的事后解释。起码在事后的解释性上比网上 99% 的大师靠谱得多,因为大师根本就不知道这个世界上有**“免疫系统攻击血管又攻击肠胃”**这样的疾病。
4.2 关于同八字不同命
之前在网上偶然加上了一个同八字同性别的人的微信,经过一段时间的交流,我发现:我们两人的成长路径、家庭背景、性取向乃至人生运势,几乎找不出任何共性,在很多关键节点上甚至是完全南辕北辙的。
有些算命大师喜欢吹嘘自己可以“过三关”。但我这就纳闷了:既然八字完全一样,为什么他父母离婚了而我的家庭却很稳固?一般大师都是拿印星看母亲和学历,这俩八字印星状态完全一样,为什么他在现实中母亲角色完全缺失,而我妈却在家里非常强势?
对此,大师们总能掏出“过犹不及”或者“物极必反”这种万能补丁,横竖都能自圆其说。
最离谱的莫过于算“正缘”。就拿我们这种性取向的巨大差异来说,既然命盘底层逻辑里压根就没法体现这种差异,大师们却能对着同一个盘信誓旦旦地描述未来另一半的身高长相、性格特质。我甚至都能替他们想好怎么打补丁了:如果拿这种“取向完全相反”的情况去质问大师,他们大概率会一脸深沉地说道:“喔,你这夫妻宫里坐了个‘七杀’,气场太刚太硬了,所以变大老爷们了!” 这种强行修复 Bug 的逻辑真的绝了,那请问同一个盘,为什么另一个人就喜欢女的?难道“七杀”还看人下菜碟吗?哈哈。同八字的人连亲妈的状况都算不出来,父母有没有离婚看不出来,你指望他能看出来你以后有没有对象?难道女朋友男朋友比亲妈还亲?
但是既然算不到出身背景,这些大师为什么能信誓旦旦说“等着吧以后你们的人生就是一样的”之类的话?由于对方的隐私原因我不能说太多,我只能说既然学历不一样,那算考运就是白扯,你要硬说考上市一中和考上中专的考运是一样的那我也没招哈哈。。而且还有一些不方便说的事情,但是总体来说我们两人基本上没有任何相似的地方,就从家庭关系上来看,大部分的地方甚至是完全相反的。。
就此来看,八字、紫微这样中国传统的以时辰为单位的算命术是不准的。当然有些大师说“还得看风水祖坟面相”。。额,反正我没遇到这么厉害的大师过。。。
客观来说,既然这东西连基本的成长路径和个人取向都算不准,那些关于“特质”和“未来”的描述,大概率也只是幸存者偏差或者是大师们的语言艺术罢了。
当然,这并不意味着能精细到分钟的西洋占星就绝对准。我和那位朋友虽然八字相同,但在西洋星盘上是有显著技术差异的。
虽然西洋占星能通过 ASC(上升点)从巨蟹座移到狮子座来强行解释“盘确实不一样”,但预测逻辑依然在现实面前撞了墙。至于最搞笑的“七政四余”,由于其粗糙的算法根本抓不住这种边际上的上升点切换,在它的计算结果里,我们两人的命宫位置居然还是一模一样的,简直是逻辑死循环,哈哈。
4.3 关于 AI 算命与逻辑验证
从逻辑上分析,如果命理学真的存在某种底层规律,那么在大数据与算法的加持下,AI 的预测精度理应远超人类。古代术数家受限于样本规模和个体寿命,其结论往往带有一定的偶然性;而现代 AI 则能整合海量名人案例与历史记录,构建出极其精细的模型。
倘若在这种规模的计算下,AI 依然无法在“出生时间”与“命运轨迹”之间建立有效的关联,那么基本上可以断定:八字作为一套预测系统,其底层的逻辑是失效的。此时,命理学唯一的解释便只能归结为“灵性”或“感应”这类不可量化的范畴。但这恰恰完成了一次“变量分离”——它证明了真正起作用的并非那套数术规则,而是某种超自然的个体能力。
基于这个思路,我们完全可以设想一个专门的神经网络实验。通过对人生的关键节点(如教育、婚姻、事业、健康等)进行标签化处理,并以八字的五行生克关系作为输入特征进行训练。而且八字有一个明显的优势:即使时辰缺失,仅凭前三柱(年、月、日)也能确立大部分的特征。这意味着我们可以利用海量出生日期明确的名人案例来扩充数据集,极大地提高样本的覆盖面。
我们可以将这种模型架构开源到 GitHub,由社区协作来完成数据的采集与清洗。最终,我们只需要观察模型在极大学习量下是否能够有效收敛,便能从统计学层面为这场真伪之争提供一个明确的答案。虽然这目前只是一个异想天开的构思,但它确实是人类在技术层面上,尝试验证“天命”是否存在的一种科学路径。
2026-3-28更新:前几天去考研面试,当时看了个看手相的视频,看了会自己的手,考完一回家发现自己手相变了??卧槽?哈哈哈哈,“感情线”多了俩向上挑的小分叉,这要是真准还能动态加载??而且难道是我考研这个动作导致了以后的“正缘”换人了?哈哈哈哈,等看看能不能考上再说。虽然我不知道那个本来要跟我在一起的“正缘”是谁,但是我还是跟她说个再见吧哈哈哈哈。想到这里突然有点悲伤是咋回事? 哎不对啊哈哈,难道这个世界上有个小姑娘手相也变了?然后还有俩男的手相也变了?然后接着俩女的也变了…卧槽,这绝壁是级联更新吧??哈哈哈哈没完了,月老服务器迟早因为栈溢出崩溃哈哈哈哈。
2026-3-29更新:前几天拿去年的考研录取名单看了一下,我拿落榜生的准考证号起卦,找了3个人的准考证号,一起卦基本都是好卦哈哈,体用比和体克用用生体这样的,而且最离谱的是用一个人的考号起卦,抽到了巽为风卦,是第四爻动爻,如果看爻辞上面写着“悔亡,田获三品。”,那邵雍说“得此爻者,正当好运,多福多利。读书人会取得佳绩。”无敌了哥们。。。就算你用五行生克看,以我有限的梅花易数知识看,考研复试一般都在寅卯月,体用比和卦,力量都不算弱吧?这怎么看都不能高出复试线20分然后复试被刷,太离谱了。。
五、以后的更新计划
随着各底层历法库(特别是老黄历库 chinese_lunar_almanac 的神煞与宜忌逻辑)告一段落(虽说还没发布正式版),我原本计划将重心转向 Flutter 前端应用的开发。然而,由于中途启动了高精度星历表引擎的开发,目前手头的其他工作已暂时搁置,正全力推进 C++ 星历引擎的实现。以下是调整后的更新计划表:
🛠️ 核心开发计划
-
底层算法库移植:完善并持续更新维护
ziwei_core、bazi_core、sxwnl_spa_dart。 -
万年历库完善:完成
chinese_lunar_almanac的神煞与宜忌逻辑。 -
Flutter 前端应用:完成 OpenDestiny App 的基础架构与 UI(已完成八字和紫微斗数部分,见OpenDestiny)。
-
高精度天体测量/星历引擎:开发 C++ 高精度太阳系星历引擎
taiyin-ephemeris。目前0.0.1MVP 核心运行时已基本完工(支持 OPM4/SPK 星历源加载、视位置计算含光行时/岁差/章动修正、极简 void* 管线,且视位置对照swisseph测试偏差在0.0001至0.0013角秒内)。后续将围绕此引擎构建现代占星的星盘、宫位、相位等高层领域层。 -
TypeScript 移植:将核心算法移植到 TS/JS 生态,支持 Web 侧套皮开发(大概率会做!)。
⏳ 进阶功能探索
- 术数全家桶:六爻、梅花易数、奇门遁甲、小六壬、大六壬等。
- 3D 塔罗:基于 Unity 或 WebGL 的 3D 卡牌交互演示。
🛑 暂无计划? (Backlog)
- 七政四余:流派太乱,古籍考据成本过高。
- 印度占星:资料匮乏,暂不涉猎。
2026.6 更新:计划有所调整。由于高精度星历引擎
taiyin-ephemeris已经动工,底层的坐标与物理计算基石已初步成型。针对七政四余和印度占星,后续大概率不会从零起炉灶,而是会参考或对接社区中其他成熟的项目来实现,以规避过高的古籍考据与特定领域逻辑的开发成本。
暂时先这样,以后想到还会加。
2026-6-5 更新:
很久没有更新这个文件了,也不知道有没有人看这个文件。最近在写星历表,因为压缩算法还有架构设计真的累的掉了不少头发。。。感觉自己的时间有点不够用,自己想开发完全部的玄学术数不大现实,因为内容实在是太多了。。更新完 taiyin-ephemeris 我觉得应该要休息一段时间了。个人主页也已经上线,www.redsc1.com。
2026-7-13 更新:
这个taiyin-ephemeris拖的太久了,我打算最近赶紧收尾看看写个星盘app看看能不能上架app store,可能会用dart/flutter写,有新功能会一直加,感觉卖20块钱/5美元正合适,看看吧。
💡 写在最后: 如果你能看到这里,首先非常感谢你能抽出宝贵的时间来看我的“胡言乱语”。在开发这些玄学排盘库的时候真是被气到不行,各种乱七八糟流派真的太多了,还有各种天文历法的坑,能支撑到这里的就是对开发 App 的热爱。如果你觉得这个项目帮到了你,请点一个 Star ⭐️ 吧!感谢!