| name | qimen-duanjua |
| description | 奇门遁甲断卦。输入时间和问题,排盘后按9步SOP逐步解盘断卦。 |
奇门遁甲断卦 Skill
工作流
1. 获取输入
需要两个信息:
- 时间:默认当前北京时间。用户可指定。格式
YYYY MM DD HH(24小时制)
- 问题:用户想测什么事("一物一太极",聚焦一件事)
如果用户没给时间,用当前北京时间(澳洲 AEST -2 小时):
python3 -c "from datetime import datetime, timedelta; t=datetime.utcnow()+timedelta(hours=8); print(t.strftime('%Y %m %d %H'))"
2. 排盘 + 自检(含失败处理)
排盘、自检、创建 trace 一步完成,144 项检查:
cd ~/Projects/qimen-engine && python3 -c "
import qimen, json, verify, trace
r = qimen.paipan(YEAR, MONTH, DAY, HOUR)
ok, errs, warns, checks = verify.verify_one(YEAR, MONTH, DAY, HOUR)
# 创建 trace 日志
tid = trace.create_trace('YEAR-MONTH-DAY HOUR:00', 'USER_QUESTION', r)
trace.log_verify(tid, ok, [str(e) for e in errs], checks)
print(f'trace_id: {tid}')
if not ok:
print('❌ 排盘自检失败:')
for e in errs: print(f' {e}')
else:
print(f'✅ 自检通过 ({checks}项)')
qimen.print_pan(r)
print()
print(json.dumps(r, ensure_ascii=False, indent=2))
" 2>&1
记住 trace_id,后续每步都要用。
自检失败 → 定位 → 修复 → 重验:
- 定位根因:verify.py 的错误标签告诉你哪步出问题,按以下决策树修:
| 错误步骤 | 可能根因 | 修复动作 |
|---|
| 四柱 | sxtwl 库版本/输入范围 | 检查年份是否在 sxtwl 支持范围(1900-2100) |
| 定局(节气) | 节气边界时刻判断 | 用 getJieQiJD() 打印精确交节时间,对比输入时间 |
| 定局(元/局数) | 拆补法符头计算 | 手动算日柱甲子序号 → 往前找甲/己日 → 查地支分类 |
| 地盘 | dipan_18ju.json 数据 | 查对应局的 JSON 条目是否完整 |
| 天盘偏移不一致 | rotate_tianpan 逻辑 | 打印 shi_gong、orig_gong、offset,看哪颗星偏移异常 |
| 人盘偏移不一致 | rotate_renpan 逻辑 | 打印 xun_gong、steps、ordered 路径,看哪步走偏 |
| 神盘顺序 | layout_shenpan 的阴阳遁方向 | 检查 dun 参数传入是否正确 |
| 伏吟反吟 | detect_all 计算逻辑 | 独立重算天盘干==地盘干,对比 |
| 值符落宫 | 甲遁+5宫处理 | 检查 shi_gan==甲时 shi_gong 是否做了5→2 |
- 修复后重跑:改完 qimen.py →
python3 verify.py YEAR MONTH DAY HOUR 单盘验证 → 通过再继续
- 如果是数据文件错误(JSON表有误):修 JSON →
python3 verify.py 200 批量回归
- 实在改不了的引擎 bug:明确告诉用户"排盘引擎在此时间点有已知问题",不输出不确定的结果
3. 加载断卦知识库
断卦前必须加载 4个知识库JSON。所有解读必须查表,不靠模型记忆。
| 文件 | 内容 | 用途 |
|---|
duanjua_knowledge.json | 用神表、五行生克、横看关系、应期规则 | 基础判断框架 |
geju_xiangyi.json | 30种具名格局 + 十干/八门/九星/八神象意(人物/事物/场景) | 格局识别 + 断具体事象 |
jiugong_xiangyi.json | 九宫象意(坎坤震巽中乾兑艮离的人物/身体/场所/断事要点) | 落宫断事 |
sanqi_xiangyi.json | 三奇(乙丙丁)象意 + 升殿/入墓 + 27格 + 分事项断事速查 | 三奇专项 |
cd ~/Projects/qimen-engine && python3 -c "
import json
for f in ['duanjua_knowledge','geju_xiangyi','jiugong_xiangyi','sanqi_xiangyi']:
with open(f'data/{f}.json') as fh: d = json.load(fh)
print(f'✅ {f}: {len(json.dumps(d, ensure_ascii=False))} chars')
"
八门/九星/八神的吉凶和象意统一从 geju_xiangyi.json 查表,不使用内联文本(避免两处数据不一致)。
4. 九步断卦SOP
逐步执行,每步从盘面JSON+知识库JSON提取数据,给出解读。
核心原则:
- 判吉凶:第零步~第六步 + 第五步层1-5 + 第七步阶段A
- 断事象:第五步层6-7 + 第七步阶段B
- 先定吉凶,再充实事象。不可颠倒。
R规则说明:本SOP中引用的 R01-R21 规则,定义在 duanjua_knowledge.json 的 断卦规则 字段中。
第零步:信息采集与盘外梳理
- 复述用户问题,确认理解
- 梳理涉及哪些人、哪些方面
- 确定"一物一太极"——本次聚焦什么
第一步:确定用神
根据事项类型查用神对照表(duanjua_knowledge.json + sanqi_xiangyi.json 断事速查):
| 事项 | 主用神 | 辅助用神 | 三奇速查 |
|---|
| 自身/求测人 | 日干 | 年命 | — |
| 所测之事 | 时干 | — | — |
| 工作/事业 | 开门 | 值符星 | 开门宫得三奇=工作好/事业转机 |
| 财运/求财 | 生门、戊 | 天辅 | 生门得三奇=财运旺("生门产业,要得三奇") |
| 婚姻/感情 | 乙(女方)庚(男方) | 六合 | 丙=男第三者,丁=女第三者 |
| 官司/诉讼 | 值符(原告)天乙(被告) | 开门(法官)惊门 | — |
| 疾病/健康 | 天芮 | 死门、天英 | 乙奇=药物/中医,乙奇空亡=药无效 |
| 考试/学业 | 天辅、杜门 | 丁 | — |
| 出行 | 值符+丁 | 马星 | 三奇+三吉门+吉神同宫=最佳时机 |
| 失物 | 值符 | 六合(偷窃)、玄武(暗盗) | — |
| 天气 | 天蓬+坎一 | 天英+离九 | — |
在盘面上标出用神落宫位置。
第二步:看盘外格局(R02一票否决检查)
从排盘JSON的 四柱 和 检测.全局 提取:
-
一票否决检查(R02,最高优先级):
- 硬否决:五不遇时 / 六仪击刑 / 三奇入墓 → 遇之皆凶,无论其他因素多吉
- 近否决:天网四张 / 全局伏吟 / 全局反吟 → 极凶但有化解可能
- 注意:单层伏吟/反吟仅为重大负面,不构成近否决
天网四张:天盘庚加临地盘值符(甲/戊)所在之宫,庚金罩甲=天网覆盖。主谋事受阻、出行不顺。属近否决(非硬否决),有天显时格可化解。⚠️ 多流派对具体条件有分歧,以 duanjua_knowledge.json 中定义为准。
-
五不遇时:检测.全局.五不遇时 → 若 True,触发硬否决
-
三奇入墓检查:查 sanqi_xiangyi.json → 乙墓在坤二宫(未),丙墓在乾六宫(戌),丁墓在艮八宫(丑)。天盘三奇落入对应墓宫=触发硬否决。⚠️ 乙奇入墓有流派分歧(部分说乾六宫/戌),以 JSON 定义为准
-
日干与时干关系:四柱.日干 vs 四柱.时干 五行生克
-
四柱地支关系:年支/月支/日支/时支之间的冲合刑害(简要分析)
第三步:看大环境(R05旺衰+R13大局+R11内外盘)
- 月令旺衰(R05,此步=记录状态,第七步=用它做终极裁判):
检测.全局.旺衰 → 哪行旺/相/休/囚/死
- 旺衰是所有吉凶判断的前提:落宫=能力(长期),月令=天时(临时)
- 旺相+得令=最佳;衰弱+失令=最差
- 伏吟反吟(R13首重大局):
检测.全局.星伏吟/星反吟/门伏吟/门反吟
- 伏吟 → 宜静不宜动,事慢,守为上,利主不利客
- 反吟 → 事有反复,主变动,利客方
- 在横看/主客场景下,伏吟反吟优先级最高
- 内外盘(R11):
检测.全局.内盘/外盘 + 日干/时干落宫判断远近快慢
- 内盘=近+快,外盘=远+慢(7源一致)
- 内外盘与伏吟反吟是两个独立维度,不存在映射
- 日时干一内一外时,按"远+慢"处理(只有两个都在内盘才算快)
第四步:看值符值使(R08分场景优先级+R18值使裁决+R20二分法)
从 值符值使 提取:
- 值符星(
值符值使.值符星)→ 大方向、大势、长远
- 值使门(
值符值使.值使门)→ 具体执行、事情最终结果(R18裁决成败第一要素)
- 核心用二分法(R20):值符=初始走向;值使=最终结局
- 分场景优先级(R08):当下成败→先看值使;长远发展→先看值符;小事→直接看用神
- 检查值使门是否受迫/制(R04门宫关系)、是否空亡
- 符使生克关系:符生使+使生用=必成;符克使+使克用=极难成
第五步:竖看用神落宫(7层分析)
对每个用神落宫,按以下7层依次分析。
分析顺序(从上到下逐层看)和判断权重(决定吉凶冲突时谁说了算)是两回事:
分析顺序:1→2→3→4→5→6→7,逐层看完
判断权重:门 > 格局 > 星 > 神(吉凶冲突时,高权重层覆盖低权重层)
三奇定位:三奇(层7)是加分/减分项,不独立参与权重排序。有三奇=锦上添花/雪中送炭,无三奇不扣分
| 层 | 看什么 | 数据来源 | 分析内容 |
|---|
| 1. 天地盘干 | 天盘干 vs 地盘干 | 盘面[宫].天干 + 盘面[宫].地盘 | 主客关系 + 查81格十干克应(检测.宫[g].格局) + 若命中具名格局则标注(查geju_xiangyi.json吉格/九遁/凶格,如"青龙返首""大格"等) |
| 2. 八门 | 门 + 门宫关系 | 盘面[宫].八门 + 检测.宫[g].门迫/宫制 | 门吉凶(查geju_xiangyi.json八门象意)+ R04五种关系(迫/制/和/义/比和) + R06(凶门旺相→更凶) |
| 3. 九星 | 星 + 月令旺衰 | 盘面[宫].九星 + 检测.全局.旺衰 | 星吉凶(查geju_xiangyi.json九星象意)+ R06(凶星旺相→主流减凶,有分歧) |
| 4. 八神 | 神吉凶 | 盘面[宫].八神 | 查geju_xiangyi.json八神象意 |
| 5. 四害 | 空亡/入墓/击刑/门迫 | 检测.宫[g] | R03优先级: 空亡>入墓>击刑>门迫。击刑/门迫→残余50%;入墓/空亡→残余20% |
| 6. 九宫象意 | 落宫代表什么 | jiugong_xiangyi.json → 该宫的"断事要点" | 断"是什么事/涉及什么人/在什么场所"。例:用神落坎一宫→事有险阻/暗中进行/与水相关 |
| 7. 三奇专项 | 是否有乙/丙/丁 | sanqi_xiangyi.json | 若落宫天盘有三奇:(a)查象意 (b)升殿检查(乙→震/丙→离/丁→兑=大吉) (c)入墓检查(乙→坤/丙→乾/丁→艮=硬否决) (d)R19三奇得使:天盘三奇临地盘值使门所在宫→临吉门大吉/临凶门小吉 (e)玉女守门:值使门临地盘丁奇宫→利婚恋经商 |
门宫关系口诀(R04):"吉门被克吉不就,凶门被克凶不起;凶门得生祸难避"
空亡特殊处理(R07):翻先天宫追查,区分旺空(有力量只是暂时不显)vs衰空(真的没有)
旬首落宫地支关系(R16):查R16对照表。力量排序(R17):刑>冲>害>合
第六步:横看用神间生克(R09落宫五行+R12日干中心+R13首重大局+R14主客排序)
横看前先检查大局(R13):伏吟/反吟状态优先级最高,可覆盖宫间生克判断
核心对比(R09以落宫五行为主,竖看才看天干本身五行):
- 日干宫 vs 时干宫 → 求测人 vs 所测事(R12日干为中心)
- 日干宫 vs 用神宫 → 求测人 vs 事项
- 相关用神宫之间 → 各方势力对比
| 关系 | 含义 |
|---|
| 他生我 | 我得力,吉 |
| 我生他 | 我泄气,付出多 |
| 他克我 | 我受制,凶 |
| 我克他 | 我辛苦但可得 |
| 比和 | 势均力敌,事快 |
主客判断(R14层级):大局(伏吟/反吟) > 门天地盘生克 > 奇仪天地盘生克 > 八神 > 时辰
- 伏吟有反转机制:事已进行中时含义可反转
- 地支关系力量(R17):刑>冲>害>合
第七步:综合判断(吉凶定性 + 事象充实)
分两阶段输出:
阶段A:吉凶定性(好不好、成不成)
- 先检硬否决:R02硬否决格局 → 直接定凶,无需计数
- 汇总第二~六步的吉凶因素,列表:
| 来源 | 吉因素 | 凶因素 |
|---|
| 值符值使(第四步) | ... | ... |
| 用神落宫·门(第五步层2) | ... | ... |
| 用神落宫·格局(第五步层1) | ... | ... |
| 用神落宫·星(第五步层3) | ... | ... |
| 用神落宫·神(第五步层4) | ... | ... |
| 四害(第五步层5) | — | ... |
| 横看生克(第六步) | ... | ... |
- 旺衰终极裁判(R05):即使吉因素多,用神休囚衰弱=力不从心;凶因素多但用神休囚=凶也逞不了
- 吉多则吉,凶多则凶(R21注意:传统无定量体系,判断基于定性而非量化评分)
- 给出明确吉凶结论
阶段B:事象充实(具体是什么事、涉及什么人、在什么场景)
整合以下信息,将吉凶结论具体化为可操作的描述:
| 信息源 | 怎么用 |
|---|
| 九宫象意(第五步层6) | "事涉什么场景/什么人" |
| 三奇分析(第五步层7) | "有无贵人/转机/第三者" |
| 具名格局(第五步层1) | "盘中出现XX格局=传统上意味着..." |
十干象意(geju_xiangyi.json) | "天盘X干代表什么物/什么人" |
八门象意(geju_xiangyi.json) | "此门代表什么行业/什么场景" |
- 回到用户原始问题,直接回答(一句话结论 + 具体描述 + 建议)
第八步:定应期(R10三步法+R11内外盘)
R10应期三步法(编者整合,各部分有据):
- 定大范围:按事项类型(测年→月,测月→日,测日→时辰)
- 定快慢(R11):
- 内外盘:内盘=近+快,外盘=远+慢(日时干一内一外按"远+慢")
- 伏吟=近+慢,反吟=远+快(独立维度,不与内外盘映射)
- 定数值:值使门落宫数
优先级检查(从高到低):
- 空亡 → 冲空/填空之时
- 马星 → 冲马星之时
- 墓库 → 冲墓之时
- 长生旺衰 → 生逢生日,克逢克日
- 值使门所临地支 → 对应时间
5. 输出格式
## 奇门遁甲断卦
**时间**:YYYY-MM-DD HH:00(北京时间)
**问题**:用户问题
**局象**:阳/阴遁X局 | 节气 | 值符X星 值使X门
### 盘面
[print_pan 输出]
### 断卦
**第零步·盘外梳理**
问题聚焦:...
涉及方面:...
**第一步·用神**
主用神:X干/X门,落X宫
辅用神:...
**第二步·盘外格局**
一票否决:[通过/触发XX]
日时关系:...
**第三步·大环境**
旺衰:X行当令...
伏吟反吟:[有/无]
内外盘:日干X宫(内/外) 时干X宫(内/外) → 快/慢
**第四步·值符值使**
值符星X → 落X宫 → 大势判断...
值使门X → 落X宫 → 成败判断...
**第五步·竖看用神落宫**
[用神1] 落X宫:
| 层 | 内容 | 吉凶 |
|----|------|------|
| 天地盘 | X加X = [格局名] | 吉/凶 |
| 八门 | X门 + [门宫关系] | 吉/凶 |
| 九星 | X星 + [旺衰] | 吉/凶 |
| 八神 | X神 | 吉/凶 |
| 四害 | [有/无] | — |
| 宫象 | X宫 = [断事要点] | — |
| 三奇 | [有X奇/无] | — |
[用神2如有,同上格式]
**第六步·横看**
日干宫X vs 时干宫X → [生克关系] → ...
日干宫X vs 用神宫X → [生克关系] → ...
**第七步·综合判断**
吉凶汇总:吉X项 / 凶X项
旺衰裁判:用神X行[旺/相/休/囚/死]
**吉凶结论**:[明确判断]
事象描述:
- 九宫象意:落X宫 → [具体事象]
- 三奇/格局:[如有]
- 综合画面:[用2-3句话描述具体会发生什么]
**第八步·应期**
内外盘=[快/慢] | 值使门落X宫 = X数
应期推断:...
### 结论
[一句话直接回答用户问题]
[具体描述 + 建议]
[应期]
6. 独立复核(Anthropic GAN 模式)— 强制执行
这步不可跳过。 无论 context 多紧张,evaluator 必须执行。没有 evaluator 报告的断卦 = 未完成。
断卦结论输出后,必须派 qimen-evaluator agent 独立复核:
Agent(subagent_type="qimen-evaluator", prompt="
你是奇门断卦复核员。读 ~/.claude/agents/qimen-evaluator.md 获取复核流程。
读 ~/Projects/qimen-engine/output.json 获取排盘数据。
读以下4个知识库JSON:
- ~/Projects/qimen-engine/data/duanjua_knowledge.json
- ~/Projects/qimen-engine/data/geju_xiangyi.json
- ~/Projects/qimen-engine/data/jiugong_xiangyi.json
- ~/Projects/qimen-engine/data/sanqi_xiangyi.json
断卦结论如下:
[粘贴断卦结论]
请按复核流程逐项核实,输出复核报告。
")
复核结果写入 trace:
cd ~/Projects/qimen-engine && python3 -c "
import trace
trace.log_evaluator('TRACE_ID', '通过/有疑点/有矛盾', ['问题1', '问题2'], ['修正1'])
"
如果你想跳过 evaluator,你必须:
- 明确告诉用户"本次未经独立复核,结论可靠性降低"
- 在 trace 中记录
evaluator.result = null(analyze_traces.py 会统计跳过率并告警)
复核发现问题 → 定位 → 修正 → 重验:
| evaluator 发现 | 根因 | 修正方式 |
|---|
| 用神落宫标错 | 断卦agent看错了盘面JSON | 重新从JSON提取,用宫号而非记忆 |
| 格局名称不对 | 没查geju_xiangyi.json或查错key | 重新用 天盘干+地盘干 查吉格/凶格条目 |
| 八神/八门吉凶判反 | 没查geju_xiangyi.json或查错 | 重新查八门象意/八神象意对应条目 |
| 横看生克方向反 | 五行关系搞反 | 重新用落宫五行查 duanjua_knowledge.json 五行生克表 |
| 四害遗漏 | 没看完所有用神宫的检测项 | 遍历所有用神宫的 检测.宫[g] 全部字段 |
| 吉凶计数与结论矛盾 | 数错了或主观偏向 | 重新列表统计,严格按数量判吉凶 |
| 九宫象意/三奇分析缺失 | 跳过了第五步层6-7 | 补充查表分析 |
修正后不再二次复核(避免死循环),但修正内容需标明"经复核修正"让 Boss 知道改了什么。
如果 evaluator 和断卦 agent 对某个解读有分歧且双方都有道理:两种解读都呈现给 Boss,标注各自依据,不替 Boss 做判断。
7. 收集用户反馈
断卦结束后询问 Boss 对结论的看法(一句话即可),写入 trace:
cd ~/Projects/qimen-engine && python3 -c "
import trace
trace.log_feedback('TRACE_ID', 'Boss的反馈内容')
"
Boss 不想反馈就跳过,trace 里记 null。
8. 自动记录 Obsidian
断卦完成后,自动追加到 Obsidian 日记:
记录格式:
> [!log] 奇门断卦 · 问题简述
> - 时间:YYYY-MM-DD HH:00 | 阳/阴遁X局 节气
> - 结论:一句话结论
> → [[奇门遁甲]]
注意事项
- 断卦需要用户提供问题背景,如果信息不足主动追问
- "一物一太极":一次只聚焦一个问题
- 术数有不确定性,措辞用"盘象显示…""从盘面看…"而非绝对断言
- 断卦是引导思考的工具,最终决策在用户
防 Context Anxiety
断卦是长输出任务。不要因为感觉 context 快满就赶工跳步。 规则:
- 每步输出完整再进下一步,宁可少分析一个用神也不跳过四害检查
- 如果 context 确实紧张,优先保证:第五步竖看 + 第七步综合 + 结论。可以压缩第零步到第四步
- 绝不跳过 verify 自检和 evaluator 复核