MW

mengke-wang/xuziping-bazi

Data science & ML
45 stars 品質 40 トレンド 40

徐子平 · 先排盘再开口的 AI 八字工具

概要

一个"先排盘、再开口"的八字工具。底层是一个严谨的四柱排盘引擎(立春分界、节气换月、真太阳时校时),上层是一段让大模型扮演北宋徐子平、只能引着盘里干支说话的提示词(Claude Skill)。 An "compute-first, then interpret" Bazi (Chinese Four Pillars) tool. A rigorous Python engine casts the chart — Four Pillars, Five Elements, Ten Gods, luck cycles — using precise solar-term boundaries and true-solar-time correction. An LLM prompt then reads only what the engine computed, instead of hallucinating a chart. Engine depends on sxtwl. 王梦珂长期研究两件事:好产品如何被看见,好生活如何发生。这个项目是她把复杂经验和判断,翻译成普通人可以直接使用的工具的一次 Skill 实验。 市面上多数"AI 算命",其实是让模型凭生日直接脑补一段话。问题出在最前面一步:。八字排盘有几个地方极易错,错一步则五行、十神、大运全盘皆错,后面说得再好听也是空中楼阁: - ,不是正月初一,更不是元旦。2 月初出生的人,年柱到底算哪一年,一大半 AI 会算错。 - ,不是农历初一。 - ,按出生日期的均时差、出生地经度和当地时区校正,并保留跨日,不是照搬钟表时。 这个项目把"排盘"这件事交给一个可验证的程序去做,让模型退回到它真正该干的活——。模型只能引用引擎算出的四柱、十神、大运,说不出盘里没有的东西。

README

徐子平 · AI 八字排盘与批命

AI 算命准不准,差别不在它多会说,在它有没有先把盘排对。

一个"先排盘、再开口"的八字工具。底层是一个严谨的四柱排盘引擎(立春分界、节气换月、真太阳时校时),上层是一段让大模型扮演北宋徐子平、只能引着盘里干支说话的提示词(Claude Skill)。

An “compute-first, then interpret” Bazi (Chinese Four Pillars) tool. A rigorous Python engine casts the chart — Four Pillars, Five Elements, Ten Gods, luck cycles — using precise solar-term boundaries and true-solar-time correction. An LLM prompt then reads only what the engine computed, instead of hallucinating a chart. Engine depends on sxtwl.

出品

出品与 Skill 设计:王梦珂 Mengke|好事发生 App 开发者|好事引力创始人

王梦珂长期研究两件事:好产品如何被看见,好生活如何发生。这个项目是她把复杂经验和判断,翻译成普通人可以直接使用的工具的一次 Skill 实验。


为什么要有这个东西

市面上多数"AI 算命",其实是让模型凭生日直接脑补一段话。问题出在最前面一步:排盘。八字排盘有几个地方极易错,错一步则五行、十神、大运全盘皆错,后面说得再好听也是空中楼阁:

  • 年柱以立春分界,不是正月初一,更不是元旦。2 月初出生的人,年柱到底算哪一年,一大半 AI 会算错。
  • 月柱以节气(节)换月,不是农历初一。
  • 时柱宜用真太阳时,按出生日期的均时差、出生地经度和当地时区校正,并保留跨日,不是照搬钟表时。

这个项目把"排盘"这件事交给一个可验证的程序去做,让模型退回到它真正该干的活——解读。模型只能引用引擎算出的四柱、十神、大运,说不出盘里没有的东西。

引擎能算什么

paipan.py 依子平法输出一份结构化命盘:

  • 四柱八字:年、月、日、时干支(立春 / 节气 / 五鼠遁定时柱)
  • 地支藏干:主气、中气、余气
  • 十神:天干、地支主气相对日主的十神
  • 五行分布:只展示天干、藏干的出现分布,不再用数量直接判旺衰
  • 旺衰证据链:以月令为提纲,结合通根、天干生扶克泄耗给出候选与置信度
  • 透干与格局:标出月令藏干透于何柱,给出常规格局及从格 / 专旺 / 合化复核项
  • 地支关系:列出三合、三会、六合、六冲、刑、害,不擅自认定成化
  • 喜用神建议:分列格局用神、扶抑喜神、调候提示,不混成一个机械答案
  • 起大运:阳男阴女顺行、阴男阳女逆行,按节气天数 ÷3 起运,排八步大运及运神

天文历算基于寿星天文历 sxtwl,节气与朔望精度足够排盘之用。

快速开始

pip install -r requirements.txt   # 仅依赖 sxtwl

python3 paipan.py --date 1990-05-20 --time 14:30 --gender 男 --city 北京 --zwt 116.4

参数:

参数 说明 必需
--date 公历生日 YYYY-MM-DD(农历请先自行换算) 是
--time 出生时刻 HH:MM(24 小时制) 是
--gender 男 / 女(定大运顺逆) 是
--city 出生城市(仅作标注) 否
--zwt 出生地经度(东经为正),用于真太阳时校正 否
--tz-offset 出生时当地相对 UTC 的小时偏移;默认 8(中国标准时间) 否

常见城市经度:北京 116.4,上海 121.5,广州 113.3,成都 104.0,西安 108.9,乌鲁木齐 87.6。

传入 --zwt 后,引擎按 NOAA 太阳位置近似公式计算:均时差 + 4 × 经度 - 60 × UTC 时差,得到完整的真太阳日期时间。校正跨过午夜时会同步切换日期;时柱直接使用 sxtwl 的 0–23 小时接口,并区分早晚子时,不做四舍五入。中国大陆通常使用默认 --tz-offset 8;若出生记录来自其他时区或历史夏令时,应传入当时实际的 UTC 时差。

输出样例见 examples/sample_output.txt。

旺衰、格局与用神的处理原则

传统子平法强调“先看提纲(月令),再看其余”,因此当前引擎不再把四柱视为等权元素计数。实现参考《渊海子平》以月令合成格局的次序,以及《子平真诠》关于月令藏干、透干和用神变化的讨论:

月令很重要,但不是固定占 50% 或某个百分比。《滴天髓阐微》也提醒得令未必必旺、失令未必必弱,仍要结合通根、透干和全局损益。因此程序输出的是带证据与置信度的候选;合局是否成化、特殊格局是否成立以及最终取用,仍须结合全局复核。命理本身属于传统文化,不是经现代科学验证的预测模型。

上层:让 AI 扮演徐子平

SKILL.md 是配套的提示词,可作为 Claude Skill 使用,也可直接贴给任意大模型。它规定的流程只有一句话能概括:先跑 paipan.py 排盘,再据盘解读,默认就事业财运、家庭婚姻、健康性格流年、子女四门展开,口吻是古典半白的命师风,每个术语随即用白话点破。

核心约束是:模型不得凭空断命,每句断语都要能回指到盘中某一干支、某一十神。

校验

运行回归测试:

python3 -m unittest discover -s tests -v

测试覆盖时辰奇数整点边界、早晚子时、全天逐分钟对照、均时差与真太阳时跨日,以及月令位置、通根、透干、格局候选、喜用神分层和地支关系。排盘逻辑仍建议与权威工具交叉核对;若结果不同,请同时提供公历生日、精确出生时间、出生地经度、出生时 UTC 时差及对照结果。

声明

八字命理是传统文化,输出仅供参详与自省,非科学定论,更非宿命判决。不构成医疗、投资、婚配等任何重大决策的依据。健康相关只作养生提示,不替代医嘱。

License

MIT

View this README on GitHub

推奨ツール

別のキーワードを試すか、フィルタを外してください。

インストール

npx skillfish add mengke-wang/xuziping-bazi