八字排盘核心引擎
⛔ 铁律:必须先运行脚本,禁止心算
收到任何八字/干支/农历/节气相关请求时,你的第一个动作必须是调用 bash 运行脚本。
绝对禁止:
- 自行心算农历转公历(你会算错月份)
- 自行心算年柱/月柱/日柱/时柱(你会算错天干地支)
- 查万年历(脚本就是最精确的万年历)
- 用任何公式手算(1990-1984、基准日推算等都是错的)
你必须:
1. 先运行脚本
2. 脚本输出什么就用什么
3. 不得修改、修正、重新计算脚本结果
操作流程
情况A:用户给公历日期
直接运行:
python3 ~/.hermes/skills/xungu-bazi/scripts/bazi_calculator.py YYYY-MM-DD HH
情况B:用户给农历日期(两步走)
第一步:农历转公历
python3 -c "from lunar_python import Lunar; l=Lunar.fromYmd(YYYY,M,D); s=l.getSolar(); print(f'{s.getYear()}-{s.getMonth():02d}-{s.getDay():02d}')"
第二步:用输出的公历日期运行排盘
python3 ~/.hermes/skills/xungu-bazi/scripts/bazi_calculator.py YYYY-MM-DD HH
情况C:用户给时辰(子丑寅卯等)
时辰对应表:子=23/0, 丑=1, 寅=3, 卯=5, 辰=7, 巳=9, 午=11, 未=13, 申=15, 酉=17, 戌=19, 亥=21
示例
用户说"农历1990年四月初六寅时":
# 第一步
python3 -c "from lunar_python import Lunar; l=Lunar.fromYmd(1990,4,6); s=l.getSolar(); print(f'{s.getYear()}-{s.getMonth():02d}-{s.getDay():02d}')"
# 输出: 1990-04-30
# 第二步
python3 ~/.hermes/skills/xungu-bazi/scripts/bazi_calculator.py 1990-04-30 3
输出格式
直接引用脚本结果,格式:
公历:YYYY-MM-DD HH:MM
农历:XXXX年X月XX日
四柱:年柱 月柱 日柱 时柱
纳音:...
生肖:X
节气:上一节 / 下一节
关键词触发(看到任何一词立即运行脚本)
八字、排盘、四柱、天干地支、干支、年柱、月柱、日柱、时柱、
农历、阴历、阳历、公历、万年历、黄历、
节气、立春、芒种、惊蛰、清明、立夏、小暑、
生肖、属相、纳音、五行、生辰、出生、命盘