L0 · 信任层

每条规则都摆在桌面上。
包括我们犯过的错。

大多数八字工具在黑箱里计算,把输出当神谕。我们反其道而行:塑造你盘面的每一条约定都声明在下面,每个边界情形都被常设测试套件覆盖,我们发现的每一个 bug 都刊载在勘误日志里。不能被审计的盘,就不值得信。

引擎 一段话

排盘由开源天文历法库 lunar-javascript(作者 6tail)计算,外面包着我们的约定层——八字引擎 BaZi Engine v0.15.1——负责真太阳时、时区、夏令时、子时换日、十神归属与大运层。同一份引擎代码同时驱动本网站与后端测试台,由自动化回归套件验证:35 个边界用例逐柱比对两套实装的每根柱、每个藏干、每个十神与纳音,外加100 组日主×天干全组合对账、4,939 条断言的大运套件,以及一台独立差分对拍器——用另一条算法路径(儒略日日柱、五虎遁月干)把 35 个用例全部复推一遍,以及三层的合盘套件(全域关系扫描、历法库对账、黄金盘对)。两套实现一旦分歧,构建即失败。引擎已开源——完整源码、全部 35 个用例与那台差分对拍器都发布在 github.com/bazi-atlas/bazi-engine(MIT),因此本页描述的每一项验证都可以在你自己的机器上重跑,而不必只听我们一面之词。

这些约定存在,是因为多数线上解读恰恰在这里出错;八个常见误读页为每条约定给出一个可验算的反例。

已声明的约定

1 · 年柱以立春为界

年柱在立春的精确瞬间切换——不是农历新年。2 月 3 日与 2 月 4 日出生可能是不同的年。

2 · 月柱以交节瞬间为界

月柱在每个「节」切换——那是全球同一个天文瞬间。我们把你出生的瞬间(换算成 UTC)与节气表比对,从不按日历日期切换。

3 · 晚子时归次日(主流默认)

23:00 及之后出生,日柱进到次日(子平主流,sect=1)。午夜换日作为流派选项提供,你的盘会标注所用规则。

4 · 真太阳时 v1(经度项)

钟表时间按 (出生地经度 − 时区中央经线)× 4 分钟校正。中央经线恒为时区偏移 × 15(UTC+8 → 东经 120°)。均时差(±16 分钟)尚未应用——计划在 v2 接入,上线时会在这里公告。

4b · 年月柱按绝对时刻判定

节气边界是全球时刻,所以年柱与月柱由出生瞬间换算成 UTC 后判定——这对远离本初子午线、又出生在节气交界附近的盘至关重要。日柱与时柱仍用当地真太阳时,因为「日」是在当地子时翻页的。

4c · 十神对照真日主

年干与月干的十神永远对照你真实的日主计算——即使绝对时刻盘在技术上已经跨到了次日(美洲出生常见)。

5 · 中国夏令时 1986–1991 已处理

1986–1991 年各年官方夏令时起止日(1986:5月4日–9月14日;1987:4月12日–9月13日;1988:4月10日–9月11日,余类推)之间在中国大陆出生的,自动减去一小时,结果上标注此校正,且夏令时期间 00:00–01:00 的钟表时间会正确回退日期。

6–7 · 未知时辰与三种五行计数

时辰未知给出显式的三柱盘——我们不猜。五行计数按三种口径展示(干 + 支主气 / 藏干半计 / 藏干全计),因为「怎么数」本身就是流派差异。

8 · 大运顺逆

阳年干男命,或阴年干女命,顺排;另外两种组合逆排。方向读自以立春为界的年干,也就是你盘面上显示的那个年柱。全部二十种组合列在大运页。

9 · 起运岁数

量出生瞬间到主管之「节」的距离——顺排取下一个节,逆排取上一个——用绝对时间度量,与约定 4b 同一参照系。再按 3 日 = 1 年、1 日 = 4 个月、1 时辰 = 10 日换算。换运日期 = 记录的出生日期时间 + 该差值。

10 · 两种粒度并列公布

我们按两种口径返回起运岁数并展示差值:时辰块量化(余数向上取整到整时辰块——主流 App 的口径)与分钟级精确(同一 3 日比率、不做块量化)。两者至多差 10 天运。我们不替你偷偷选一个。

11 · 用哪个钟数块

时辰块按记录的当地钟表(已扣夏令时)计数——纸质万年历的读法,因而是历史口径。改按真太阳时计数作为替代提供,两者结果与差值都展示,因为这是计算器之间分歧的第二大来源。

12 · 与历法库的一处分歧,已声明

lunar-javascript 自带的大运程序把 23:00 出生当作亥时,而它自己的时柱程序却把同一时刻当作子时。这个不一致会给恰好落在 23:00–23:59 的出生少算一个时辰块,并传导进起运岁数。我们不继承它:我们的块计数器像对待其他奇数小时一样,在 23:00 放置边界。所有因此产生的差异都由测试套件记录在案,而不是糊弄过去。

13–18 · 合盘关系(R13–R18)

合盘工具在两盘之间套用固定的经典表:天干五合与四冲;地支六合(附化神——午未之化有争议,已标注);六冲、六害、相刑组(寅巳申、丑戌未任意两支,及子卯,外加辰午酉亥四组自刑);以及三合——两盘各持其二的支以有争议的半合展示,绝不悄悄当成全三合计。没有任何优先级替你消解合与冲——巳申既合又刑,两个标签都打印。

19 · 不发明权重(R19)

跨盘互动是现代合婚的用法——没有经典文献让两个盘互动。因此引擎只枚举关系,绝不产出匹配百分比:任何权重或分数都是发明,而本站不发明东西。

20 · 强弱是一张公开的记分表(R20)

喜用神工具用可见的权重给日主强弱计分:每个可见天干 1 分,每个地支主气 1 分加每个藏干 0.5 分(与五行计数相同的半权口径),整个月柱翻倍。日干自身记 0 分——它是被测量的对象。还会手工参看根气、合冲的命师可能得出不同判词;权重全部公开,欢迎你逐分反驳。

21 · 强弱阈值是声明值(R21)

生扶(比劫 + 印星)占≥ 55% 为身强,≤ 45% 为身弱,之间为中和。其他流派划线在别处。55/45 是本引擎声明的选择,印在结果上,而不是藏在默认值后面。

22 · 两派并列,都算(R22)

扶抑派对身强与身弱给出答案——强取泄耗克、弱取印比劫——并且对中和的盘不给方向,而不是编一个。调候派独立计算。两派分歧时,两种读法都打印并加旗标;本站不裁决。

23 · 调候简则承认自己的边界(R23)

简化的调候规则只在存在一句话规则的地方作答:盛夏取水,深冬取火。春秋两季,经典调候按日主逐月查表(《穷通宝鉴》,120 条),无法压缩成季节规则——所以工具对那些月份不给调候答案,而不是给一个假的完整答案。

24 · 纳音是照抄的表,不是推导出来的(R24)

六十甲子纳音是一张定表,每两根相邻的干支共用一个纳音值。它是照抄传统而非推导所得,因为没有任何经典规则能生成它——引擎存三十对,测试再拿它与历法库连续 120 个阳历日逐日对账。日柱页打印它,是因为它是某一柱可引证的属性,从不作为判词。

25 · 日柱是结构,不是人格(R25)

六十个日柱页只发布结构事实:藏干及其十神角色、日干在自己地支上的十二长生、纳音,以及干支主气生克的五种命名(比和/得地/泄/盖头/截脚,本引擎的命名)。没有任何一页给某一柱指派固定性格——流行的「六十种人格」写法在这六十页上被逐页拒绝。

26 · 天干阴阳由索引决定(R26)

天干的阴阳由它在十天干中的索引奇偶决定——甲丙戊庚壬为阳,乙丁己辛癸为阴。之所以要把这条当作约定写出来,是因为它已经错过一次:该表曾被写成两两成组,使五个天干的标签标反,而所有计算始终正确。测试因此对十个天干的标签与英文全名表逐项交叉验证。详见勘误日志。

27 · 地支属性是推导出来的,不是手打进去的(R27)

十二地支的每一项属性——阴阳、五行、生肖、月建、时辰窗口、方位、藏干,以及全部六类关系——都由索引或引擎中已有的表导出。两条后果是被断言而非假定的:地支阴阳可由六十甲子反推;三会局的五行必须等于其季节的五行。

28 · 长生的不对称是公开的(R28)

十二长生阳干顺行、阴干逆行,因此十二位中六位各 6 柱、另六位各 4 柱,合计 60,正好一整轮。有四个天干永远到不了帝旺:会把甲乙庚辛送上帝旺的地支是卯寅酉申,其阴阳无法与这四个天干配对,因此这四个组合在六十甲子里根本不存在。这个缺口作为一轮的结构事实打印出来,不做平滑处理。

29 · 十神:两步判定与一条声明的双射(R29)

推一个神恰好两步——五行关系定组,阴阳定组内的哪一个——两步都印在每一个十神页上,任何一行都能手工验算。因为十个天干对固定日主恰好把十个神各占一次,「某神在某柱位」对每个日主都对应一个确定的天干;这条双射性质正是这些页面可被核对的原因。只列年、月、时三个柱位——日柱是自身宫,与「十神相对日主而言」自相缠绕,故刻意不列。

30 · 生肖按立春时刻换柱,不按元旦也不按春节(R30)

生肖与年柱是同一件事:都在太阳到达黄经 315° 的那一刻——立春——换柱,而那一刻既不是 1 月 1 日,也不是农历正月初一。多数生肖站用的是后两者,于是 1 月与 2 月出生的人会差一个生肖。因为立春是一个天文时刻而非一条规则,浏览器端引擎内置了一张 1900–2100 的逐字表格,由 generate-lichun.mjs 生成、与 Node 端引擎逐字节比对,并且每个页面都印出该年立春在哪一分钟。犯太岁出自五张定表——值、冲、刑、害、破——我们只发布「关系」,从不发布吉凶:2027 年页在第二段就写明本页不预测任何事件,也不出售任何东西。六破表在寅亥与巳申两处与六合重合,这种分歧我们直接印出来,而不是悄悄选一种。

31 · 六十四卦就是 8 × 8——页面上每个值都是推导出来的(R31)

三爻成一卦,两卦相叠得六十四卦。这个组合事实是六十四卦族的全部骨架:每个卦页同时印文王卦序与二进制(伏羲)序两个编号,内卦取初二三爻、外卦取四五六爻,京房八宫从八纯卦出发逐爻变出七卦。纳甲把六爻各自钉到干支上(乾纳甲壬、坤纳乙癸,其余六卦内外同干;阳卦地支顺行、阴卦逆行),六亲由每爻支五行与本宫五行的生克推出。错卦、综卦、互卦是纯粹的爻位算术。刻意不做的:六神——它按占卦当日的日干起,规则公开,日子归你。

32 · 神煞:每张表都和它自己的推导互证(R32)

三十六神煞是八字的经验标签层。本站给每颗星一条规则加一张查表,并且拒绝编第二份数据:禄神恰好是十二长生里的临官之位,羊刃是帝旺之位,空亡由日柱所在旬直接推出,十恶大败十柱恰好是「日干禄落本旬空亡」的全部解——推导结果与传世定表逐柱一致,而《渊海子平》的乙丑异文过不了这道检验,所以它被如实标成流派分歧。凡有分歧处(天乙的庚辛两干、阴干有无刃、走马与驿马),两个口径都印。神煞总览另附扫描器:输入出生时间,按 36 颗星规则逐条给出命中与锚点。

33 · 场景层是组合约定,不是新算术(R33)

三十张场景页(十日主 × 事业 / 财富 / 感情)没有给引擎加任何新代码——这正是约定本身。每个信号都来自既有导出:官杀、财星、印星、食伤支来自支主气的十神判定,禄、刃、贵人、国印、金舆、福星来自 R32 定表,天干五合与相冲来自已公布的组合表。两条结构事实顺手浮现:土日主的财星支只有两个、其余八干有四个(财为土、土藏四支);戊己没有天干相冲。配偶星按男看财、女看官两个口径并列印出,分歧保持公开。场景页只发布落支与个数,不做吉凶结论;整盘强弱仍是喜用神计算器的职责。入口:场景总览的扫描器把出生时间变成你自己的三张页。

34 · 日主剖面同样是组合约定,且把互证升级为 build 期断言(R34)

十张日主页重组既有导出:逐支的十二长生(twelveStage)、R32 表的禄刃贵人文昌、主气十神、天干五合与相冲。其中两条互证从「文档说明」升级为「build 期断言」:禄必须等于临官位、刃必须等于帝旺位,十干有一条不成立生成器就拒绝运行。两条结构事实当场算出、绝不写死:恰有四干(甲乙庚辛)在六十日柱中永远坐不上自己的帝旺支——干支奇偶把组合挡在门外;贵人两派恰在庚辛两干分歧。入口:日主十型总览带十干速查表与扫描器。

35 · 关系三张表由一条推导链互相咬合(R35)

八张关系页重组既有常量,而且合、冲、害不再是三张独立的表:某支的害支恰为其六合对象的对冲支——这条推导在 build 期对十二支逐支断言;同批断言还有冲 = 支环 +6、三合组等距(0、4、8)且中神属四正、五合化气恰为五行全排列、戊己无天干冲。半合页当场推导 12 种两支组合,把 8 组含中神的半合与 4 组拱合分开——流派分歧公开并陈。相刑是唯一的手写真值表,因为历法库不携带刑表(其 ZHI_XING 常量是建除十二神,名字有误导性)。入口:关系总览带十二支速查表与两两关系扫描器。

36 · 命卦是公式,其表是结构(R36)

八宅命卦以 R36 进引擎。命卦数用公开的世纪公式、立春分界(与年柱同界)计算,且两套世纪公式对 1900–2099 每一年、两种性别都与统一 mod 9 式同余——这是测试断言,不是口头声明。大游年方位表三重验证:全表对称、每行恰为八星各一次、四吉星永不离开同组(东四/西四)四宫。命卦页展示公式步骤、完整 8×8 总表与流派分歧;只给方位与星名,不给处方。入口:命卦计算器。

37 · 今天只是一次普通查询(R37)

每日干支层以 R37 进引擎:任意日期时刻返回四柱、当日值神(建除十二神)、日冲、旬空与纳音。十二值神由一条规则推导——从月建起、顺数至日支——且规则有两重验证:144 组「月支×日支」全表通过 build 期结构断言(第 0 位是月支自身、第 6 位正冲月支),引擎与历法库的值日字段对 628 个连续日逐日一致。子时换日与节气换月都是公开声明的流派选择。入口:今日干支页。

38 · 两套黄黑道、二十八宿轮值,以及一个拒绝抹平差值的择日工具(R38)

嫁娶择日层以 R38 进引擎。值日星宿是算出来的、不是查出来的:一宿值一日、连续 28 日一轮,索引 =(儒略日数 + 11)mod 28,与历法库连续 900 天逐日零失配;七曜与四兽由同一索引推导,测试里再与外部逐宿对照表逐字互证。十二天神是第二套黄黑道,自带起例口诀——寅申起子、卯酉起寅、辰戌起辰、巳亥起午、子午起申、丑未起戌——等价闭式为(日支 + 4 − 2 × 月支)mod 12,同样对账 900 天零失配。两套黄黑道在 144 个「月支 × 日支」组合里只有 72 个结论相同:正好 50.0%,等于互不相关;页面两套都算,并逐日标注是否一致。五条硬性条件先行排除(月破、岁破、冲新人本命日支、冲生肖年支、闭日),其余是加权求和,十五项的权重全部印在页面上——读者可以否定我们的权重而直接看逐项读数。二十八宿的吉凶与历法库只有 21/28 一致,而 7 个分歧恰好是我们本就标为「源分歧」的那 7 个。2026 全年对一组样本新人:365 天里排除 166 天、69 天评分 ≥70,其中 28 天(40.6%)在历法库中标「宜嫁娶」,而全年基线 34.2%——温和正相关,公开而不是抹平。缺失项同样公开:四离四绝未纳入,因为它需要 24 节气时刻表,而浏览器端没有天文算法。入口:嫁娶择日计算器。

39 · 给一个字定五行的两派,72 字里只有 15 字一致(R39)

姓名五行层以 R39 进引擎:72 个常见取名用字,每个字按两套公开规则各定一次五行。字形派从部首定五行,部首到五行的映射表全部印出;笔画派按康熙笔画定五行(尾数 1-2 木、3-4 火、5-6 土、7-8 金、9-0 水)。两派在 72 字里恰好只有 15 个字结论相同——20.8%,接近随机,公开而不是抹平。表外字如实报告「未收录」,绝不猜;简体条目映射到繁体后入表。五行关系函数对 25 组全封闭,build 期断言要求表中每个结论都能从公开规则重新推出——不存在第二个真相源。入口:姓名分析页。

我们摆上台面的流派差异 从不偷偷选边

有些问题没有唯一正确答案——只有流派。当约定选择会改变你的盘时,我们不把它藏在默认值后面:

钟表 vs 真太阳时 15:30 出生经校正为 14:29,从未时跨入申时。我们计算真太阳时并展示校正值;按原始钟表排的盘可能显示相邻时辰。23 点 vs 午夜 两条日柱规则都可选;你的盘有标注。五行计数 三种口径并列。块量化 vs 分钟级 主流口径把剩余距离向上取整到整时辰块,最多差 10 天运;两者与差值都公布。用哪个钟数块 当地钟表(万年历实践)或真太阳时(与时柱口径一致)——都展示,差值量化。三合只差一支 全三合成局;两支算不算半局是流派差异——标注为有争议,不打分。一对之上合冲并存 没有优先级替你消解(巳申两者皆是);每条关系都打印。

扶抑派 vs 调候派 喜用神是流派的输出而不是事实;两派并列计算,分歧加旗标,从不裁决。强弱阈值 55%/45% 是声明值——别的流派划在别处;生扶份额精确打印,你可以套用自己的一套。

两套黄黑道 建除法与十二天神法是两套独立循环(144 个「月支 × 日支」组合里只有 72 个同结论,正好 50.0%);择日页两套都算、都印,并标注你所看的那一天两法是否一致。

公开勘误日志 审计轨迹

这个引擎发现的每一个缺陷、怎么发现的、改了什么。这本日志从第一天就开始记——包括下面的 bug——因为没有勘误记录的方法论页只是营销页。

日期版本缺陷与修复怎么发现的
2026-09-16v0.1 → v0.2真太阳时基准硬编码为东经 120°(中国中央经线),所有海外出生全部算错。加入显式 tzOffsetHours 参数(含夏令时,如伦敦七月 = UTC+1)。人工专家抽查:1991-03-23 11:00 纽约——正确盘为 辛未 辛卯 壬辰 丙午。
2026-09-16v0.2 → v0.3年月柱改按绝对瞬间(UTC)对照节气表判定;v0.2 在该用北京时间的地方喂了本地时间,节气交界附近的远经度出生全被排错。人工专家抽查:1993-07-07 15:30 伦敦。1993 年小暑 = 北京时间 7 月 7 日 10:32:02(三个独立来源一致);出生 = 北京 22:30 → 已过节气 → 月柱己未。某热门 App 显示戊午,是按日期而非按瞬间切换月柱。
2026-09-16v0.3 → v0.3.1年月干的十神此前对照绝对时刻盘的日主计算,而美洲出生换算成北京时间后日主已变。十神现在永远对照真日主。双引擎回归套件(33 例,逐柱)——网页移植期间搭建。
2026-09-16v0.3.1 → v0.3.2真太阳时基准的经度取整启发式(如成都 104°E → 105°)与引擎自己关于乌鲁木齐 ±2h 的文档相矛盾。基准改为恒为 UTC 偏移 × 15,与教科书定义一致。双引擎回归套件 —— 网页移植的第一道闸门在上线前抓住两个约定级缺陷。
2026-09-20v0.8.0 → v0.9.0新增流年与生肖层(R30):把生肖当作日历对象——每个生肖对应哪些公历年、那些年份各在哪一分钟开始、五种犯太岁关系,以及某一年的十二个月柱。双语各新增 27 页(12 个生肖剖面、12 个「某生肖在 2027」、生肖计算器与 2 个年份结构页),另有双语各一个族总览 hub。这一层有两个决定:生肖在立春时刻换柱;立春表是生成出来的、不是手抄的——generate-lichun.mjs 从历法库读节气表,浏览器引擎逐字存下同一份。既有计算全部不变,版本号上移纯属增量,此前所有测试夹具照常通过。双引擎各新增 10 组断言:201 条立春表在两个实现之间逐字节相等;1900–2100 年生肖索引由六十甲子反推;7 个换柱边界黄金值,并在立春时刻前后各取一分钟探测(立春当刻本身计入新年);犯太岁的守恒律(每年恰好一个值、一个冲、一个害、一个破)并与地支表互证;2026 与 2027 两年的犯太岁名单;五虎遁对 1900–2100 全扫,确保十二个月柱全部落回六十甲子。
2026-09-20v0.7.1 → v0.8.0新增三个结构层,全部由引擎实算(R27/R28/R29):十二地支(阴阳、五行、生肖、月建与节令、两小时时辰窗口、方位、季节、藏干,以及它持有的全部关系——六合、六冲、六害、相刑、三合、三会);十二长生(十个天干各落在哪个阶段,以及该阶段出现在六十甲子的哪几柱);十神 × 柱位(十个日主在年、月、时柱上分别由哪个天干生成某一十神——页面上把反向映射一并列出,任何一行都可手工核对)。支撑 54 个新页面(地支 12 + 长生 12 + 十神柱位 30),双语对等。既有计算全部不变,此前所有测试夹具照常通过,版本号上移纯属增量。v0.7.1 条目所引的约定 R26 现已同时在引擎源码中标注——此前它只记录在本日志里,从代码中无法追溯。跨表互证断言:地支阴阳由六十甲子反推;三会局五行必须等于其季节五行;三合局必须恰为阳干的「长生·帝旺·墓」;十神 × 柱位映射必须能对全部 30 个组合回代到日主。双引擎各新增 5 组断言。
2026-09-20v0.7.0 → v0.7.1修正天干阴阳标签表(R26)。STEM_POLARITY 曾被写成两两成组的形式——阳、阳、阴、阴……结果乙、丙、己、庚、癸(以及甲)的阴阳全部标反。计算没有变:十神推导一直是按天干索引的奇偶判断阴阳,所以此前所有测试夹具照常通过。但凡是打印这个标签的地方都错了,包括六十个日柱页的标题与描述。该表现已改为由索引推导,测试对十个天干的阴阳与英文全名表逐项交叉验证。这正是勘误日志存在的意义:错的是与计算不一致的标签,而不是与古法不一致的计算。真值表:十个天干 10/10,同时对照英文全名表(甲 Yang……癸 Yin)与索引奇偶,双引擎各验一次——若两两成组的写法再次出现,断言会立刻复现原事故。
2026-09-20v0.6.0 → v0.7.0新增纳音表与日柱剖面层(R24/R25):六十甲子纳音定表(每对干支共一纳音)、藏干及其十神角色、日干在此支的十二长生、干支主气生克的五种命名(比和/得地/泄/盖头/截脚)。支撑 60 个日柱页——这些页面由引擎程序化生成,非手写。既有计算全部不变,此前所有测试夹具照常通过。本站在每个日柱页声明立场:只给结构事实,不做「一柱一种人格」的判定。真值表:30 对纳音硬编码为真值(独立于引擎表)、6 根黄金柱断言坐支/长生/藏干十神、60 柱双引擎逐字段相等、连续 120 个阳历日与 lunar-javascript 的日纳音逐日对账。
2026-09-17v0.5.0 → v0.6.0新增喜用神层:日主强弱按公开权重计分(可见干 1、支主气 1、藏干 0.5、月柱 ×2、日干不计),声明强弱阈值(0.55/0.45),身强身弱的扶抑派,以及简化调候规则(夏取水、冬取火,其余月份不给答案)。已发布的排盘、大运与合盘关系全部不变——所有既有 fixtures 照常通过。本层无缺陷漏网发版;三道黄金盘闸门(身强、身弱、恰在 0.5 的中和)在网页移植前锁定,双引擎逐字段比对覆盖 8 盘(含未知时辰与 23:00 出生)。三层:对 168 个盘做不变量扫描(计分逐项复加、判词按阈值重推、喜忌集合检查不相交且完备、月柱加倍与日干不计逐项复核);六张人工核验的黄金盘逐字段锁值,覆盖每条判词路径与两个调候季节;以及 8 组输入的双引擎一致。页面上的实例(1988 年 7 月 8 日北京)正是被锁定的黄金盘之一,用户看到的算术就是被测试的算术。
2026-09-17v0.4.0 → v0.5.0新增合盘层:两日主互为十神、全部十六组干对与十六组支对照五合四冲、六合六害相刑三合表逐一核查、生肖对、以及跨盘三合局。已发布的排盘与大运不变——所有既有 fixtures 与 4,939 条断言套件照常通过。一个缺陷在发版前被我们自己的真值表闸门抓住:化神查找表的键按传统书写序(子丑、甲己),而关系检查器生成的查找键按码点排序(丑子、己甲),子丑合与甲己合会静默查不到化神。两套引擎已统一键序,并对 144 组支对全扫描,断言每条关系连同它的化神。三层:教科书枚举加全域扫描(144 组支对与 100 组干对逐一分类,多报与漏报都会失败);与 lunar-javascript 的 HE_GAN_5 / HE_ZHI_6 / CHONG / SHENGXIAO 对账(库中没有害、刑、三合表——注意它的 ZHI_XING 是建除十二神不是相刑表,这个引用陷阱我们已留档);以及四张人工核验盘对的黄金全树锁值。两套引擎另做 8 组盘对与全部 244 组干支组合的逐字段比对。
2026-09-17v0.3.3 → v0.4.0新增大运层:顺逆规则、两种已公布粒度的起运算术、十二长生、以及带精确换运日期的十步大运序列。本版本排盘计算不变——33 个边界 fixtures 逐字节通过。新层构建中自抓两个缺陷:(a) 块计数器最初把 23:00 当作子块的起点而非亥与子的边界,凡跨 23:00 的区间起运岁数整整差一个块;(b) 节气瞬间被截断到分钟,展示的距离偏差约 35 秒。两者均已有新断言覆盖。三道彼此独立的闸门,刻意不采用历法库自己的答案:数学上界(块量化结果与精确线性比率的差不得超过半个块,即 130 天运——实测最大 9.83);对 48 个盘逐项对账 lunar-javascript 的 getYun(),其中十例落在 23:00 区段,记为已声明的分歧而不是强行对齐;以及全部二十种顺逆组合、十二支藏干的人工可核真值表。
2026-09-17v0.3.2 → v0.3.3十神推导改为暴露结构化数据(关系组、阴阳、两种极性变体),十神工具得以展示每个标签背后的规则而非只有标签。另修一个展示缺陷:英文页的日柱流派被打印成内部中文串。本版本排盘计算不变。自动化对账测试:全部 100 组日主×天干组合在两套引擎实现间逐字段比对,外加 14 个人工核验的已知值——既防两套实现各自漂移,也防它们一起漂移。
2026-09-20v0.9.0 → v0.10.0新增六十四卦层(R31):把 64 卦做成纯推导对象——文王卦序与二进制序两个编号、上下卦、京房八宫与世应、六爻纳甲与六亲、错综互三卦。每语言新增 65 页(64 个卦页 + 带上下卦矩阵与查询器的 /hexagrams 总览)。各表由 generate-hexagrams.py 产出,落表前交叉核对八组独立来源(Unicode U+4DC0 区块、8×8 矩阵、逐卦显式清单与卦名次序歌)。本版本既有计算不变。R31 断言块,双引擎:两个 Unicode 区块的码点锚定;文王配对规则 32 对全验;八宫 8×8 双射;八纯卦纳甲黄金值与「12 地支各出现 32 次」守恒律;六亲按古典口诀回代;以及 64 卦剖面的双引擎逐字段比对。
2026-09-20v0.10.0 → v0.11.0新增神煞层(R32):36 颗星做成「外部源核对 + 推导互证」的定表——禄=临官、刃=帝旺、空亡=旬首推导、十恶大败=禄入空亡推导、红鸾卯起逆行。每语言新增 37 页(36 个星页 + 带 36 星扫描器的 /shensha 总览)。流派分歧逐星标注:天乙庚辛两派、阴刃有无、渊海子平乙丑异文、走马别名。声明不变:标签只是标签,不作吉凶断言。test-web-engine R32 段(双引擎字节相等 + 推导交叉断言);generate-shensha.py 14 组结构校验;visual-check [4f]/[5e] 抽样与扫描器黄金值
2026-09-20v0.11.0 → v0.12.0新增八宅命卦层(R36):大游年表为「外部源核对 + 结构自证」的定表——全表对称、每行八星各一次、四吉星只落同组四宫;两套世纪公式对 1900–2099 全年份与统一 mod 9 式同余断言;年份分界与年柱共用立春时刻。每语言新增 1 页(命卦计算器)。声明不变:R1–R35 一字未动,既有生成页逐字节相同。test-web-engine R36 段(双引擎字节相等 + 结构断言 + 10 个命卦数黄金值 + 立春边界 ±1 分钟);黄金值实现前与三份独立公开命卦表逐例核对
2026-09-20v0.12.0 → v0.13.0新增每日干支层(R37):建除十二神为推导表——月建本位加偏移——对 628 个连续日与历法库逐日对账、对 144 组月日全组合做结构断言(建=月支本位、破=冲月支);dailyProfile 只组装既有层,零新真相源。每语言新增 1 页(今日干支页)。声明不变:R1–R36 一字未动,既有生成页逐字节相同。test-web-engine R37 段(双引擎字节相等 + 144 组结构断言 + 628 天历法库对账 + 12 例黄金档案);写码前先用探针把值神公式对历法库跑了 628 天
2026-09-20v0.13.0 → v0.15.1新增 R38 嫁娶择日层:二十八宿轮值(儒略日 + 11 取模 28)与十二天神((日支 + 4 − 2 × 月支)取模 12)都是推导而非查表,两者各与历法库连续 900 天逐日对账;以「五条硬性排除 + 十五项公开权重」取代任何不透明的吉凶结论。声明不变项:四柱、大运、合盘、喜用神、建除层均未改动,未加入任何预测。与历法库对账(宿与天神各 900 天零失配)、结构断言(两套黄黑道在 144 组合里恰好 72 个同结论=50.0%;宿吉凶与库只差在恰为「源分歧」的 7 个上,21/28)、双引擎逐字段一致(12 例样本日 + 整月扫描)。
2026-09-20v0.15.1 → v0.15.1新增 R39 姓名五行层:72 字取名用字表按两套公开规则各定五行——字形(部首映射)与笔画(康熙笔画尾数带)——恰好 15/72 字两派一致;表外字如实报「未收录」,五行关系函数对 25 组全封闭。声明不变项:四柱、大运、合盘、喜用神、建除、嫁娶层均未改动,未加入任何运势预测。结构断言(形派结论可由部首表重推、笔画派结论可由康熙笔画重推;一致数恰为 15/72=20.8%)、25 组关系全封闭、黄金档案(4 个探针算定名字)、双引擎逐字段一致(字表、统计与 8 个样本名)。
2026-09-21v0.15.1(同版修订)夏令时窗口两处修复:(a) 此前用统一的 5月4日–9月14日 粗边界,而 1987–1991 各年官方起始日是四月中旬(如 1987:4/12、1988:4/10),误差窗口每年约 3–4 周——现已改为国务院通告的逐年官方起止日表;(b) 夏令时期间 00:00–01:00 的钟表时间减一小时后跨零点,日期未回滚——同一物理瞬间按「钟表录入」与按「标准时录入」会给出不同四柱。新增 2 个边界用例(现 35 例),全部用例的 expected 由独立差分对拍器填实(儒略日日柱 + 五虎遁月干 + 节气表月支),不再依赖人工核对。同版披露:三刑命名(寅巳申/丑戌未)在传统文献内部即有两派,本引擎补充分歧声明,分组不变。独立差分对拍器(用与引擎不同的算法路径复推):对拍器自身首跑即抓出引擎 DST 跨零点缺陷——同一物理瞬间 1988-07-11 00:30(夏令时钟表时间)与标准时口径给出不同日柱。

本页怎么被验证

33 例边界套件 常设 fixtures 覆盖立春边界、交节日跨越(瞬间前后精确到分钟)、两种流派的晚子时、未知时辰、1986–91 中国夏令时窗口、极端经度(乌鲁木齐 −2h09m)、海外跨日出生、闰日,以及十个日主全覆盖。

喜用神套件 6 张黄金盘逐字段锁值(身强、身弱、中和、恰在 0.50 的中和、一例流派分歧、一例未知时辰),外加 168 盘不变量扫描:每个分数从逐柱明细复加,每个判词按公开阈值重推,喜忌集合检查不相交且完备。工具页上打印的实例正是被锁定的盘之一。

双引擎回归 浏览器引擎与后端引擎是同一份共享实装,每次改动都对全部 fixtures 重跑;任何漂移即构建失败。

100 组十神对账 每组日主×天干(10 × 10)都在两套引擎实现间逐字段比对,外加对完整一行的人工核验参考值——两套实现既不可能各自漂移,也不可能一起漂移。

4,939 条大运断言 起运算术的验证不依赖任何单一来源:对精确线性比率的数学上界、必须落在已知值的整倍数用例、以及对历法库自带大运程序的 48 盘对账——23:00 区段内的每一处分歧都记为已声明的分歧,并断言恰好一个块宽。顺逆、时辰块映射、十二支藏干均对照人工真值表核验。

站内一致性闸门 脚本检查每个页面携带同一引擎版本、同一导航、合法的 canonical URL、无站内死链,以及 sitemap 列全了所有应公开的页面。它与测试套件一起运行,新页面不可能半接线就上线。

真浏览器关卡 无头 Chrome 逐页加载、提交一张盘、断言渲染输出后截图——DOM 桩里通过的页面在真浏览器里仍可能是坏的。

人工专家闸门 领域专家抽查边界盘、对照可信参考。被这道闸门抓住的两个缺陷都在上面的日志里——这正是这道闸门留下的原因。

这个工具不是什么

八字是一套用于自我认知与反思的中国传统形而上框架——更接近一副性格透镜,而不是预测机器。我们不对健康、财富或未来做任何断言,这里没有内容构成任何建议。你的出生数据只用于排盘,不做他用。

排出你的八字 → 推导你的十神 → 推算你的大运 → 比较两个盘 → 给你的喜用神计分 →