择吉日(民俗择日 / 算日子)
概述
本技能用于为传统民俗事项(婚嫁、入宅、开业、动土、安葬、祭祀、出行、签约等)挑选吉日,
并出具可以交付的「择吉文书」。它把《协纪辨方书》的正统七步流程与普通人「翻黄历」的简易流程
结合起来,并提供一个可立即运行的计算引擎(scripts/zheri.py),自动完成历法推算与多层筛选。
择吉必须「年・月・日・时」四柱日课结合,并综合判断四大体系:干支五行、神煞、十二建除、方位。
本技能给出的是民俗层面的参考,重大造葬、婚嫁建议结合福主八字喜用神与师承口诀复核。
一、何时使用
- 用户明确要「算日子 / 择吉 / 看黄历 / 挑日子」办某件具体的事。
- 用户给出事项 + 可用时间范围,求候选吉日清单与吉时。
- 用户要查询某日黄历宜忌、冲煞、建除、黄道黑道、吉神凶煞。
- 用户要一份可交付的择吉单(公历 / 农历 / 干支 / 冲煞 / 吉时 / 注意事项)。
二、采集基础资料(先问清,再算)
执行前先向用户收集以下信息(缺项可合理假设并注明):
| 项目 | 说明 | 必需度 |
|---|---|---|
| 事由 | 婚嫁 / 入宅 / 开业 / 动土 / 安葬 / 祭祀 / 出行 / 签约 | 必需 |
| 福主年命 | 主事人生辰(YYYY-MM-DD)或生肖,用于「日子不冲克主人」 | 强烈建议 |
| 空间信息 | 房屋 / 墓地坐山朝向(如「子山午向」「坐子」),动土/安葬必需 | 动土/安葬必需 |
| 时间区间 | 当事人可用的时间范围(公历起止) | 必需 |
若用户只说「帮我算个好日子结婚」,先追问 可用时间段 与 双方生肖/生日;若只给模糊范围,
可先用较宽区间跑引擎再收窄。
三、正统择日七步流程(《协纪辨方书》通用步骤)
第一步 · 定事由、收齐资料:区分通用小事与造葬、婚嫁等大事,收齐福主年命、八字、坐山、可用时间。
第二步 · 定年份范围,排查年中大忌:避开当年太岁方、岁破方、年三煞方位;年份干支不冲克福主本命与宅命。
(造葬、建房优先。引擎 --zuoshan 可自动校验坐山是否犯年三煞/太岁/岁破。)
第三步 · 筛适宜月份(择月):依事件选利月(婚嫁行嫁大利月见 references/zuoshan_fengshui.md),
剔除月破、月三煞、土府、凶神当道之月,结合山向五行与福主喜用选旺相月。
第四步 · 筛吉日(核心,多层筛选):
1. 硬性排除(一票否决):岁破、月破、四离四绝、十恶大败、杨公忌、重丧、土府、本命相冲日、三煞值日;
婚嫁避三娘煞,动土避土煞。
2. 对照十二建除 + 黄道黑道:大事优先成、开、定、执日;破、闭日大事不用(见 references/shensha_and_jianchu.md)。
3. 核对福主年命/八字:日干支不冲、刑、害主事人年柱、日柱;优先相合、相生之日。
4. 叠加吉神优选:优先带天德、月德、贵人、三合、六合等吉神之日,形成吉日备选清单。
第五步 · 定当日吉时(点睛):在吉日内依日干支、福主八字、坐山挑旺相时辰,
避开时辰冲煞与黑道时(朱雀、白虎等),确定仪式/动工/进门/拜神精确时点。
第六步 · 日课综合校验 + 出文书:整体复盘年/月/日/时五行流通、扶山相主、无重大凶煞,
标注宜忌、方位禁忌、仪式注意事项,形成书面择日单。
第七步 · 事后提醒:民俗层面提醒规避方位与禁忌;现实层面提醒结合天气、日程、现实安排。
> 引擎已内置第 2–5 步的绝大部分机械判断;第 3 步(择月)与第 6 步(八字喜用、五行流通)需人工结合命理复核。
四、使用计算引擎
计算逻辑在 scripts/zheri.py,基于 lunar-python 做黄历推算,并按事项多层筛选、评分排序。
环境准备(已内置,离线可用)
lunar-python 已随技能打包在 scripts/lib/,引擎会优先从本地 lib 导入,无需联网、无需手动安装即可运行。
仅当本地 lib 缺失且运行环境无 lunar-python 时,脚本才会尝试联网 pip install lunar-python 作为兜底(需要网络)。
运行命令
# 完整模式(多层筛选 + 评分)
"$PY" scripts/zheri.py --event 婚嫁 --birth 1990-05-20 \
--start 2026-09-01 --end 2026-10-31 --top 5
# 动土 / 安葬:加 --zuoshan 校验坐山方位
"$PY" scripts/zheri.py --event 动土 --birth 1990-05-20 --zuoshan 子 \
--start 2026-09-01 --end 2026-09-30 --top 3
# 简易黄历模式(普通人自用:宜忌 + 不冲 + 优先黄道/成开定执)
"$PY" scripts/zheri.py --event 开业 --birth 1988-08-08 \
--start 2026-11-01 --end 2026-11-15 --top 3 --simple
# 机器可读输出
"$PY" scripts/zheri.py --event 祭祀 --start 2026-10-01 --end 2026-10-31 --json
参数说明
| 参数 | 含义 |
|---|---|
--event |
事项(婚嫁/入宅/开业/动土/安葬/祭祀/出行/签约/通用),支持同义别名 |
--birth |
福主生日 YYYY-MM-DD,用于生肖/年命与「不冲主人」校验 |
--zuoshan |
坐山,如 子 或 子山午向(动土/安葬方位校验用) |
--start / --end |
公历查询区间 YYYY-MM-DD |
--top |
输出前 N 个吉日(默认 10) |
--simple |
简易黄历模式 |
--json |
输出 JSON |
输出解读
每条候选含:公历/农历、四柱干支、十二建除、值神黄道黑道、冲煞(冲生肖/煞方)、
当日宜忌、吉神/凶神、彭祖百忌、固定凶日标记、入选理由(带加分)、推荐吉时,
动土/安葬还会给出坐山方位犯忌提示。评分越高越优;黑道日仅在「当日宜中含本事项」时放宽为候选。
五、简易黄历择日(普通人自用流程)
当用户要快速自用、不需要完整日课时,按四步:
- 确定要办的事。
- 翻黄历筛选「宜」对应事项的日期(引擎
--simple自动完成)。 - 避开黄历标注冲自己/家人生肖的日子(引擎
--birth自动排除)。 - 查看当日黄道/建星,优先开、成、定、执日;再选当日吉时敲定时间。
六、出具择吉文书(交付模板)
将引擎输出整理为如下择吉单交付用户(可用 Markdown 或纯文本):
【择吉文书】
事由:______ 福主:______(生肖/年命 ______)
查询区间:______ 至 ______
★ 推荐吉日(按综合评分排序)
1. 公历 ______(星期__) 农历 ______
四柱:年[__] 月[__] 日[__]
建除:__日 值神:__(黄道/黑道)
冲煞:冲__ 煞__ 与福主:三合/六合/—
宜:______ 忌:______
吉神:______ 凶神:______
推荐吉时:__时(__:__-__:__,__)
入选理由:______
(动土/安葬)坐山提示:______
★ 注意事项
- 方位禁忌:______(如本年三煞在__,太岁在__)
- 仪式时点:于吉时内完成主要环节
- 民俗提醒:______;现实提醒:结合天气与日程
七、参考资料索引
按需用 Grep / Read 加载 references/ 下文件:
references/shensha_and_jianchu.md— 神煞体系(吉神/凶煞)、十二建除宜忌、黄道黑道值神。references/xiognri_list.md— 固定凶日清单:杨公忌、三娘煞、十恶大败、四离四绝、重丧、红砂。references/zuoshan_fengshui.md— 二十四山向、年三煞/太岁/岁破方位、婚嫁行嫁大利月。references/classics.md— 择吉权威典籍目录(GB/T 7714 参考文献可用)。
八、重要提醒
- 本技能为民俗文化参考工具,输出不具备任何法律/医疗/投资效力;重大造葬、婚嫁、动土务必结合
福主八字喜用神、当地师承口诀与现实条件综合判断。 - 年柱以立春为界(八字/择日正统),福主生肖据此换算;若用户按春节算属相导致边界差异,主动说明。
- 坐山方位校验基于年支三合推年三煞/太岁/岁破,可能与具体罗盘分金、仙命另有细节出入。
- 引擎为确定性计算,结果可复现;如 lunar-python 数据与你手头通胜有细微差异,以你指定的权威通胜为准并说明。