Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cdc8fe7fd2 | ||
|
|
1a0eed1999 | ||
|
|
b20fd5c3c9 | ||
|
|
415cb472b1 | ||
|
|
433c9b4a41 |
@@ -3,3 +3,9 @@ __pycache__/
|
||||
*.pyc
|
||||
.pytest_cache/
|
||||
.venv/
|
||||
|
||||
# 运行时本机状态:授权文件与自更新缓存一律不入库、不随 zipball 分发
|
||||
# (与 tools/build_manifest.py 的 EXCLUDED_FILES 保持一致;公众版须不带
|
||||
# 授权状态文件出货,否则下载者会拿到别人已签发/已耗尽的额度)
|
||||
data/.license.json
|
||||
data/.update_check.json
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# ZiPingEightChar · 子平八字(公众授权版)
|
||||
|
||||
> 子平八字排盘 + 《子平真诠》格局法解释的 AI 技能(Skill)。
|
||||
> 输入姓名、性别、出生日期时刻、出生地,输出结构化命盘 Markdown,并由模型依随附的 541 条编号规则完成取格、成败、用神相神、行运、六亲与流年流月解释。
|
||||
> 输入姓名、性别、出生日期时刻、出生地,输出结构化命盘 Markdown,并由模型依随附的 542 条编号规则完成取格、成败、用神相神、行运、六亲与流年流月解释。
|
||||
|
||||
## 这是什么
|
||||
|
||||
这是一个面向 AI Agent 的技能包(Skill),由两部分组成:
|
||||
|
||||
- **排盘脚本(`scripts/`)**:纯计算器,不含任何命理判断。把出生钟表时间换算成真太阳时(经度修正 + 均时差 + 夏令时回拨),经子初换日定日历日,调用内置的 tyme4py 排出命盘,输出自包含 Markdown:四柱、地支藏干、空亡、纳音、神煞(子平通行查法、注明锚点)、节令、大运、小运(童限)、全量流年(出生年至今 +10 年、逐年标注所属大运)、流月及排盘审计;生于交节前后 12 小时内的盘自带节气边界提示。
|
||||
- **规则库(`rules/`)**:541 条编号规则,以《子平真诠》格局法为骨架,蒸馏《滴天髓阐微》《穷通宝鉴》《命理探源》《三命通会》为参看层(`rules/sources/` 按书归档五书原文可供回查),含女命专篇、神煞细节、童限等拓展层(拓展条逐条标注【拓展】)。模型按 SKILL.md 的执行顺序加载规则完成解释。
|
||||
- **规则库(`rules/`)**:542 条编号规则,以《子平真诠》格局法为骨架,蒸馏《滴天髓阐微》《穷通宝鉴》《命理探源》《三命通会》为参看层(`rules/sources/` 按书归档五书原文可供回查),含女命专篇、神煞细节、童限等拓展层(拓展条逐条标注【拓展】)。模型按 SKILL.md 的执行顺序加载规则完成解释。
|
||||
- **命主档案(`memory/`)**:本地留存每位命主的排盘与解读归纳(含「已核实/已证伪/未核实」三态反馈记录),同一命主再看时查档延续。档案只存本机,不随副本分发。
|
||||
|
||||
## 快速开始
|
||||
@@ -49,7 +49,7 @@ python scripts/cast_chart.py --name 张三 --gender 男 \
|
||||
|
||||
```
|
||||
SKILL.md 技能入口:用法、输出契约、解释规则、文风要求
|
||||
rules/ 541 条编号解释规则(20 个文件)
|
||||
rules/ 542 条编号解释规则(20 个文件)
|
||||
sources/ 五书原文归档(回查用)
|
||||
tests/golden/ 原书命例黄金集
|
||||
scripts/ 排盘脚本(astro/ chart/ geo/ render/ 分层)与岁运神煞查询
|
||||
|
||||
@@ -25,6 +25,8 @@ python scripts/cast_chart.py --name 张三 --gender 男 \
|
||||
--birth "1990-05-14 08:30" --place "四川省成都市" --html
|
||||
```
|
||||
|
||||
加 `--shot` 则在生成 HTML 的同时截图 PNG(playwright 优先、Chrome 无头兜底,见「盘面图」节),HTML 与 PNG 路径打在 stdout 末尾;截图工具不可用时只出 HTML 并附降级提示,不影响命盘输出。
|
||||
|
||||
另配岁运神煞查询工具(本命神煞已列于命盘 `## 神煞`,此工具查某流年/流月/大运/流日干支相对本命所逢之神煞):
|
||||
|
||||
```bash
|
||||
@@ -34,7 +36,7 @@ python scripts/query_shensha.py --gender 女 \
|
||||
|
||||
## 运行环境
|
||||
|
||||
- **只需 Python ≥ 3.10,无需安装任何依赖。** tyme4py 1.5.0 与 tzdata 已内置在 `vendor/`(纯 Python / 纯数据,跨平台跨架构),脚本启动时自动优先加载,优先于环境中已安装的同名包。原理与升级方法见 `vendor/VENDOR.md`。
|
||||
- **只需 Python ≥ 3.10,无需安装任何依赖。** tyme4py 1.5.0 与 tzdata 已内置在 `vendor/`(纯 Python / 纯数据,跨平台跨架构),脚本启动时自动优先加载,优先于环境中已安装的同名包。原理与升级方法见 `vendor/VENDOR.md`。解释器低于 3.10 时脚本拒绝运行:stderr 打印中文提示(说明所需版本与当前解释器路径)并以退出码 3 结束——macOS 系统自带 python3 为 3.9,不可用,请改用更新版本的 Python 运行。
|
||||
- 开发模式回退:删除 `vendor/` 即改用环境安装的包(`requirements.txt` 锁定不变),两种方式输出一致。
|
||||
|
||||
## 输入参数(四个,全部必需)
|
||||
@@ -48,14 +50,16 @@ python scripts/query_shensha.py --gender 女 \
|
||||
|
||||
**时刻是必需的。** 时辰决定时柱,差一个时辰就是另一张盘。用户只给了日期(「1990 年 5 月 14 日」)时,**必须追问具体时刻**,不要自行假设 12:00 或任何时刻。
|
||||
|
||||
## Intake 追问话术
|
||||
## Intake 对话式询问(强制)
|
||||
|
||||
输入不全或不可用时,按退出码与下列口径追问,语气温和、一次只问必要的项;多项缺失时合成一次提问,不逐条单独打断:
|
||||
命理询问是分支式的——前一个回答决定下一个问题。**所有询问一律以普通对话消息进行,禁止调用结构化问卷/点选工具(AskUserQuestion 之类),也禁止在正文罗列编号问题清单让用户勾选。** 口吻是命理老师傅聊天:自然、简短、口语化。
|
||||
|
||||
- **缺时刻**:「时辰决定时柱,差一个时辰就是另一张盘,所以出生时间需要精确到小时。您大概几点出生?(如『早上 8 点半』『下午 3 点左右』均可)」若用户确实记不清:「那我按该时段的两个相邻时辰各排一张,并说明哪些结论会随时柱变化、哪些不受影响。」
|
||||
- **缺地点或地点无法解析**(退出码 2):「出生地用来换算真太阳时,差一个经度时辰就可能变。请告诉我您出生的城市或县(如『四川成都』『浙江义乌』)。」
|
||||
- **缺性别**:「性别决定大运顺排还是逆排,请补充一下性别。」
|
||||
- **场景判定**(断运、回溯类问题先问):「这盘是您本人看,还是替别人看?本人或知情人在场、能核对以往的事吗?」——定人称、定能否走核对轮(R-运-33)、定事件候选的颗粒度(命主本人可核到月份与部位,代看通常只能核到年份)。与缺项追问合成一次提问,不单独多占一轮。
|
||||
- **节奏**:一次最多问 1~2 个最关键的问题,得到回答再决定下一个问题。缺多项时按 时刻 → 地点 → 性别 的优先级逐个补,不把整串问题一次甩给用户。
|
||||
- **先铺垫再问**:盘已排出时,提问前先用一两句不依赖提问即可断出的盘面信息做铺垫(日主、月令、显著特征),再自然带出问题。例如:「这盘甲木生腊月,底子偏寒——先问一句:十来岁那年是不是住过院?」出生信息还不全、盘未排出时没有铺垫可用,直接问缺项即可。
|
||||
- **缺时刻**:「时辰决定时柱,差一个时辰就是另一张盘,出生时间得精确到小时。大概几点出生?(『早上 8 点半』『下午 3 点左右』都行)」若用户确实记不清:「那我按该时段的两个相邻时辰各排一张,哪些结论会随时柱变化、哪些不受影响,分开说明。」
|
||||
- **缺地点或地点无法解析**(退出码 2):「出生地用来换算真太阳时,差一个经度时辰就可能变。生在哪个城市或县?(如『四川成都』『浙江义乌』)」
|
||||
- **缺性别**:「性别决定大运顺排还是逆排,补一下性别。」
|
||||
- **场景判定**(断运、回溯类问题先问):「这盘是您本人看,还是替别人看?本人或知情人在场、能核对以往的事吗?」——定人称、定能否走核对轮(R-运-33)、定事件候选的颗粒度(命主本人可核到月份与部位,代看通常只能核到年份)。
|
||||
- **时间格式错误**(退出码 2):照 stderr 提示转述,不自行猜测改写。
|
||||
- **库内部错误**(退出码 3):把 stderr 原样报告给用户,**不要猜盘**,不要凭印象编造四柱。
|
||||
- **授权不可用**(退出码 4):把 stderr 原样转述给用户(次数用尽 / 已到期 / 授权文件被改动)。**不要尝试绕过或猜测授权状态**;需要续期请用户联系授权方(见 LICENSE.md)。
|
||||
@@ -66,7 +70,7 @@ python scripts/query_shensha.py --gender 女 \
|
||||
|---|---|---|
|
||||
| 0 | 成功 | 读 stdout 的 Markdown,进入解释 |
|
||||
| 2 | 输入不可用(出生地无法解析 / 时间格式错误或缺时刻) | 读 stderr 的提示,**向用户追问**后重试 |
|
||||
| 3 | 库内部错误 | 把 stderr 内容原样报告给用户。**不要猜盘**,不要凭印象编造四柱 |
|
||||
| 3 | 库内部错误 / 运行环境不符(Python < 3.10) | 把 stderr 内容原样报告给用户。**不要猜盘**,不要凭印象编造四柱 |
|
||||
| 4 | 授权不可用(软锁:次数用尽 / 已到期 / 授权文件被改动) | 把 stderr 原样转述给用户,**不要绕过** |
|
||||
|
||||
## 授权与分发
|
||||
@@ -76,6 +80,7 @@ python scripts/query_shensha.py --gender 女 \
|
||||
- **公众版(首启签发个人副本)**:公众版不带授权状态文件,只带标记 `data/.public_edition.json`;首次排盘时由 `scripts/_license_gate.py` 就地签发个人副本——**初始 20 次、不限期**,授权对象 `public-personal`,个人副本编号此时生成。之后与定制副本同样校验。**推送脱敏档案每盘 +10 次,同一盘只计一次**(见「档案共建(share/)」节)。
|
||||
- **水印指纹**:副本在 `SKILL.md`、`rules/` 各文件、`scripts/cast_chart.py` 与授权状态文件中嵌入唯一副本编号(定制副本形如 `LY-20261007-A3F9`,公众版为池编号形如 `LY-20261009-PUB0`),副本泄露可按编号溯源。
|
||||
- **软锁**:授权副本含 `data/.license.json`,排盘脚本按授权次数与有效期放行;用尽、到期或授权文件被改动时退出码 4。总开关为 `scripts/_license_gate.py` 顶部 `_ENABLED` 一行变量——软锁防君子不防小人,是授权边界的可见表达,真正约束以 `LICENSE.md` 为准。
|
||||
- **评测豁免**:跑 `评测/` 测试集复测时在命令前加 `ZIPEC_EVAL=1`(如 `ZIPEC_EVAL=1 python scripts/cast_chart.py ...`),授权门直接放行——不签发、不扣次、不创建任何文件,不消耗副本额度(口径见 `评测/测试规则.md` §1.1)。
|
||||
- **母版与副本**:技能开发目录为母版(无授权状态文件、无公众版标记,不锁)。分发副本由授权方一侧的 `tools/make_license_copy.py` 生成:定制副本 `python tools/make_license_copy.py --licensee 张三 --uses 20 --expires 2027-12-31 --out <目标目录>`;公众版 `python tools/make_license_copy.py --public-edition --out <目标目录>`。该工具不随副本分发。
|
||||
|
||||
## 输出契约(v1.2,章节标题冻结)
|
||||
@@ -103,13 +108,13 @@ stdout 的 Markdown 依次包含以下章节。标题是解释规则的定位锚
|
||||
- **节气边界提示**:出生真太阳时距交节不足 12 小时时,命盘开头出现 ⚠️ 提示。月令对出生记录误差敏感,误差超过提示值则月令改变、四柱全变;解释须声明此敏感性,断运证伪回查(R-运-33 第 4 步)时重排另一月令之盘对照。
|
||||
- **夏令时**:1986–1991 年全国夏令时期间(每年 4 月中旬至 9 月中旬)出生者,钟表时间先回拨 1 小时再作后续修正——「钟表 23 点 ≠ 真太阳时 23 点」,是否晚子时以真太阳时为准(「排盘审计」段有「夏令时:是/否」)。
|
||||
|
||||
## 解释规则(rules/ 目录,库版本 3.5)
|
||||
## 解释规则(rules/ 目录,库版本 3.9.0)
|
||||
|
||||
取格、用神、断运等解释规则在 `rules/` 下,共 20 个文件、542 条编号规则,以《子平真诠》格局法为骨架,并蒸馏《滴天髓阐微》《穷通宝鉴》《命理探源》《三命通会》四书为格局定论后的参看层(性情/事类/六亲女命增补、调候、神煞书证、旺衰扶抑、童限;拓展条均逐条标注【拓展】);`rules/sources/` 按书归档五书原书全文可供回查,书目登记见 `rules/sources/README.md`。格式规范与锚点约定见 `rules/README.md`。
|
||||
取格、用神、断运等解释规则在 `rules/` 下,共 20 个文件、568 条编号规则,以《子平真诠》格局法为骨架,并蒸馏《滴天髓阐微》《穷通宝鉴》《命理探源》《三命通会》四书为格局定论后的参看层(性情/事类/六亲女命增补、调候、神煞书证、旺衰扶抑、童限;拓展条均逐条标注【拓展】);`rules/sources/` 按书归档五书原书全文可供回查,书目登记见 `rules/sources/README.md`。格式规范与锚点约定见 `rules/README.md`。
|
||||
|
||||
**执行顺序**:
|
||||
|
||||
0. **问题归类**:判定用户所问的主线(健康/感情/财运/事业/学业/六亲)、前瞻或回溯、以及场景(命主本人/替人看、能否核对——见 Intake 场景判定)。次级关注(隐藏线)只作附带:输出时以一条「顺带看了 X 这条线」声明并简答,不铺成第二主线;
|
||||
0. **问题归类**:判定用户所问的主线(健康/感情/财运/事业/学业/六亲)、前瞻或回溯、以及场景(命主本人/替人看、能否核对——见「Intake 对话式询问」场景判定)。次级关注(隐藏线)只作附带:输出时以一条「顺带看了 X 这条线」声明并简答,不铺成第二主线;
|
||||
1. 读命盘 Markdown,加载 `rules/00_总纲_取格.md`,按 §1 六步决策流程定格;
|
||||
2. 命中后加载对应分格文件(`rules/11_正官格.md` … `rules/19_杂格.md`),判成/败/救/应、用神相神、格局高低;
|
||||
3. 断运时加载 `rules/90_行运.md`(§7 断运操作序列定喜忌应期,§8 事类落地把关键流年译成现实事件候选,§9 断年核对回路,§10 童限)与分格文件的「取运」节;覆盖多个流年的批量断运按 R-运-33 **核对前置**——先以场景判定分流,可核对者先锚点核对、不可核对者直推,输出只出现一次。**推断任一具体流年/流月前,必须按 R-运-34 五步核对重新打开规则文件查表,不得凭会话记忆推断**;编号记录只列本轮实际查阅的条目(R-运-35),收调试层(见「调试与溯源」);
|
||||
@@ -126,7 +131,7 @@ stdout 的 Markdown 依次包含以下章节。标题是解释规则的定位锚
|
||||
解释按以下骨架呈现。标 ★ 的项为强制项,其余为结构引导——行文可详可略,阶段次序不可乱。**输出次序直答在前、推理在后**;思考次序不变——先完成取格、成败、用神相神、高低、行运的全部判定,再落笔,不得边写边编判断。
|
||||
|
||||
1. **排盘口径** —— 真太阳时修正量(含夏令时回拨);晚子时盘必须在此声明两派分歧(子正换日者日柱、时柱不同),并说明下文按子初换日之盘解释;命盘带 ⚠️ 节气边界提示时,声明月令对出生记录误差敏感;
|
||||
2. **直答** ★(问及具体事项或断及流年时必须有;纯取格问答可省)—— 对用户问题的一手回答:**一个主答案**,至多带一个备选,再给**置信度**(能定到年/只能定到窗口/定不了)。白话,三条以内,不展开底盘。用户问题预设某事已发生而盘上无硬信号时,直答「盘上看不出必见此事」(R-运-32 前提挑战),不顺其预设铺年份;
|
||||
2. **直答** ★(问及具体事项或断及流年时必须有;纯取格问答可省)—— 对用户问题的一手回答:**一个主答案**,至多带一个备选,再给**置信度**(能定到年/只能定到窗口/定不了)。白话,三条以内,不展开底盘。依编号规则被排除、但直白取象路径仍有支撑的候选只降级不删除——主答案置信度不足「高」(只能定到窗口、定不了,或两路径结论相分歧)时必须带备选(R-运-32 降级保留)。用户问题预设某事已发生而盘上无硬信号时,直答「盘上看不出必见此事」(R-运-32 前提挑战),不顺其预设铺年份;
|
||||
3. **现实对应** ★(问及婚姻、六亲、财运、健康等具体事项,或断及流年时必须有)—— 白话详解,见下「现实对应段」;
|
||||
4. **分析推理(术语段)** —— 按 取格 → 格之成败 → 用神与相神 → 格局高低 → 行运喜忌 的内部次序给出专业判定,须与问题紧密关联。出处用篇名级(如「依《子平真诠》论行运篇」)或直述,**不出现规则编号**(编号收调试层,见「调试与溯源」)。行运喜忌用户问到才展开,按 `rules/90_行运.md` §7 断运操作序列走:先运后年,喜忌系于格局成败,不逐年流水断,关键流年按 §8 落地为现实事件候选(每年 2–3 个、按可能性排序),逐年落笔前经 §9 核对回路重新查表;**全量候选与排序依据收在本段,直答段只取其一**。现实对应段的每一条在本段都必须有出处;
|
||||
5. **存疑与边界声明** —— 命中的存疑规则、规则两可处、无法确认处,如实声明;无则写「无」;不取某条规则之判时,在此段按 R-禁-22 声明偏离(编号、理由、书证);
|
||||
@@ -134,12 +139,15 @@ stdout 的 Markdown 依次包含以下章节。标题是解释规则的定位锚
|
||||
|
||||
> 以上内容由灵爻妙解依据古籍《子平真诠》制作技能,ai生成,仅供娱乐参考,不替代医疗、法律、投资、心理咨询等任何专业意见。灵爻妙解,传承易学智慧,欢迎访问 https://lingyaomiaojie.com
|
||||
|
||||
**共建提示(首次讲解后)**:本次会话的第一次完整讲解(第 1–6 段全部输出完毕)之轮,在免责引用块**之前**顺带一句共建提示——第 6 段引用块保持一字不改、仍在全轮末尾;**同一会话只提示一次**,后续问答轮不再重复。口吻延续老师傅人设,自然一句带过,不写成广告,参考:「这盘先看到这。若愿意为这门手艺出份力——会话结束后直接发我『推送』二字,会把脱敏后的盘面存入共建档案库,用来校准后续版本;推与不推,都不影响看盘。」用户回应「推送」(或「推送黄金集」等明确意图)后,进入「档案共建(share/)」节既有流程:导出过目 → 授权问答 → 推送授权话术 → 推送计励。
|
||||
|
||||
**★边界声明的次数上限**:单轮回答中「这一层我给不出 / 这不是干这个的 / 硬报数字就是忽悠」型的方法边界说明**至多出现一次**,且必须并入第 5 段,不得另起一段、不得打断解读节奏。其余场合一律改用模糊语自然带过(见「文风」节)。声明本身不得写成辩解或自嘲。
|
||||
|
||||
**阶段纪律**:落笔之前遇下列情形,**必须先向用户声明分歧再继续**——
|
||||
|
||||
- 晚子时盘(两派日柱时柱不同);
|
||||
- 杂格闸门两可(正格与外格均可入,依总纲第六步逐条核对后声明取舍);
|
||||
- 从格/正格临界(日主仅一微根、合化存疑、透干不稳)——按 R-杂-38 两轨并推,声明主轨与备选轨及临界因素;
|
||||
- 命中标 `> 存疑` 且**影响判定走向**的规则条文(仅涉讹字校勘、不影响判定的存疑,归入第 5 段声明即可,无须中途停下)。
|
||||
|
||||
这一段属判定分歧的声明,不受上条次数限制;但同样只说一次、说完继续,不反复申明。
|
||||
@@ -148,10 +156,10 @@ stdout 的 Markdown 依次包含以下章节。标题是解释规则的定位锚
|
||||
|
||||
## 断运交互(核对前置)
|
||||
|
||||
用户问「过往发生了什么 / 哪几年是转折」这类覆盖多个流年的问题时,按 `rules/90_行运.md` R-运-33 执行**核对前置**——所有提问发生在铺开断语之前,输出只出现一次:
|
||||
用户问「过往发生了什么 / 哪几年是转折」这类覆盖多个流年的问题时,按 `rules/90_行运.md` R-运-33 执行**核对前置**——所有提问发生在铺开断语之前,输出只出现一次。核对同样走对话式询问(见「Intake 对话式询问」):不用结构化工具、不列编号选项,一次最多问一两个锚点,答完再定下一个;R-运-33 的核对程序(锚点选取、候选排序、证伪回查)照旧执行。
|
||||
|
||||
1. **先定场景**:intake 一问分流(命主本人还是替人看、能否核对过往),与缺项追问合成一次提问;
|
||||
2. **可核对 → 锚点核对**:挑 3 个左右锚点年(组数最多、落在人生阶段窗口、用户所问之线各占其一),每个锚点年一个问题,选项为按可能性排序的 2–3 个候选事件、外加「都对不上」(证伪入口);几个锚点年合成一次结构化提问,不逐条单独打断。断语涉及学业年份时,学制锚点并入同一次提问,不单独多问一轮。核对后按 R-运-32 第 4 步收敛,一次性输出完整断运。无询问工具的环境,在正文列出编号选项请用户回复编号;
|
||||
1. **先定场景**:intake 一问分流(命主本人还是替人看、能否核对过往);
|
||||
2. **可核对 → 锚点核对**:挑 3 个左右锚点年(组数最多、落在人生阶段窗口、用户所问之线各占其一)。每问先给铺垫——该年盘上的显著信号一两句——再自然带出按可能性排序的 2–3 个候选事件,外加「都对不上」(证伪入口);用户答完再挑下一个锚点。断语涉及学业年份时,学制锚点顺嘴并入当轮提问,不单独多问一轮。核对后按 R-运-32 第 4 步收敛,一次性输出完整断运;
|
||||
3. **不可核对 → 直推**:命主不在场、不知情,或用户明言测试、「不用问、直接说」时,跳过核对,一次性输出最佳推断——直答给主答案与置信度,全量候选收分析推理段。
|
||||
|
||||
锚点全部落空时先回头查组数判定、阶段假设、时辰边界与节气边界,不硬铺(R-运-33 第 4 步)。
|
||||
@@ -189,15 +197,19 @@ stdout 的 Markdown 依次包含以下章节。标题是解释规则的定位锚
|
||||
`python scripts/memory_lookup.py --birth "1990-05-14 08:30" --place "四川省成都市" --gender 男`
|
||||
(亦可按 `--name` / `--pillars "丁亥 乙巳 庚子 辛巳"` 任意组合检索)。有档则读档延续——此前的归纳、已核实/已证伪反馈在分析推理时直接参用,已证伪的断法不得再断;无档则正常排盘解释,解释完成后用 `python scripts/memory_save.py --name ... --gender ... --birth ... --place ...` 建档(建档即一次排盘,授权副本照常扣次)。
|
||||
- **回写纪律**:用户核对或澄清了任何断语后,当轮把结果写回该档案的 `## 反馈与澄清` 小节,每条以状态标签开头——推测性归纳标【未核实】,命主确认改【已核实】,被否改【已证伪】并补一句实际情况;结构性结论同步更新 `## 归纳` 各行。
|
||||
- **换盘纪律(工作盘唯一 + 变更留痕)**:经用户确认换盘(日界规则分歧、时辰/出生地校正等)后,**必须当轮重排并把档案 `## 盘面` 段整体替换为新盘**——档案任何时候只有一个工作盘,旧盘不得留在盘面段,防止续推时误用。操作:
|
||||
`python scripts/memory_save.py --update-chart <档案路径> [--day-boundary 子正] [--birth "校正后时刻"] [--place "校正后地点"]`
|
||||
(重排一次,授权副本照常扣次;frontmatter 四柱/日主同步为新盘,四柱变动时文件自动改为新主键名;目标档案已存在则拒绝覆盖)。留痕:旧盘四柱、换盘原因、确认方式与时间记入 `## 反馈与澄清` 校订条目;凡受变动柱(如日柱/时柱)影响的已有推断条目(`## 归纳`、`## 流年大事` 各行),同轮标记【待复核】,复核前不得继续引用。
|
||||
- **隐私**:档案属命主个人信息,只存本机、不随授权副本分发、档案原文不进 share;不得把档案原文外发(不粘贴到外部对话、不上传网络、不写入其他文件)。回传授权方的只有按下节规格生成的结构化脱敏包,且必须经用户授权。
|
||||
|
||||
## 档案共建(share/)
|
||||
|
||||
用户可自愿把**脱敏后**的命盘数据回传授权方,用于技能优化与规则蒸馏(脱敏规格、隐私协议与撤回方式见 `share/README.md`)。每成功推送一盘,本副本授权次数 **+10**;同一盘(按盘 hash)只计一次,不重复加次。
|
||||
|
||||
- **导出**:`python scripts/share_export.py --archive <档案路径>`(或按 `--birth/--place/--gender` 检索定位),生成结构化 JSON 脱敏包到 `share/pending/<盘hash>.json`。完整度门槛:性别/四柱/大运齐全 + 至少一条反馈事件(任意核实状态),不满足则拒绝导出(退出码 2)。**未核实推测不得入包**:归纳小节的推测性结论一律不导出;反馈事件(带核实状态标签)可入包,自由文本(反馈原文、盘面细节、归纳文字)一律不入。
|
||||
- **导出**:`python scripts/share_export.py --archive <档案路径>`(或按 `--birth/--place/--gender` 检索定位),生成结构化 JSON 脱敏包到 `share/pending/<盘hash>.json`。完整度门槛:性别/四柱/大运齐全 + 至少一条反馈事件(任意核实状态),不满足则拒绝导出(退出码 2);事件简介缺失(档案未写事件内容)不挡导出,包内如实反映。**未核实推测不得入包**:归纳小节的推测性结论一律不导出;反馈事件与流年大事(带核实状态标签)连同事件简介(note)可入包。脱敏纪律:姓名一律删除;出生信息只留年月日与时辰;地域保留到城市级(省+地级市,区县及以下删除);事件简介中**城市级地名保留**(方位信息供规则蒸馏定位),真实姓名、详细住址(小区/门牌/街道号)、身份证/电话等直接定位信息一律删除——脚本自动脱敏,书写事件简介时也只写到城市级;归纳文字、盘面细节等其余自由文本一律不入。**换盘清理纪律**:换盘/出生信息重大更正后重新导出前,先清理 `share/pending/` 中同一命主的旧 hash 包——盘 hash 随四柱/出生地变化,旧包即成孤儿,可能被误推;share_export.py 导出时检测到疑似残留(同出生日同性别、盘 hash 不同)会打 WARN 提示,确认后手动删除。
|
||||
- **授权询问(强制)**:推送前必须先把脱敏包**全文展示**给用户,并询问是否授权推送——用户同意才执行推送;不同意则取消,脱敏包保留在 `share/pending/`(用户可随时删除),不影响技能正常使用。
|
||||
- **推送**:`python scripts/share_push.py`,把 `share/pending/` 的包推送到 `share/config.json` 配置的共建远端(GitHub 与 Gitea **两条线都推**,至少一个成功即算成功;远端地址由授权方填写)。推送成功后包移入 `share/pushed/`,并告知用户新增授权次数(+10;该盘已计励过则不重复加)。推送失败(无 git / 无网络 / 远端不可达)保留 pending,不丢数据。
|
||||
- **推送授权话术(宿主权限层)**:调用推送脚本时宿主会请求执行权限,请用户确认——**「点一下允许」是唯一主路径**。① **推送前先预告**:得到用户口头授权后、调用脚本前,先发一句话预告,如「接下来运行推送脚本,你的环境可能弹出执行权限确认,点『允许』即可」;② **被拦即停、零重试**:脚本被权限层拦截后不得重试(权限状态不会因重试改变),直接向用户说明并问「是否看到权限确认?点允许我就能继续」;③ 终端手动执行 `python scripts/share_push.py` 仅作为宿主静默拦截(不弹确认、直接拒绝)时的兜底,向用户提及时一句话带过,**不列为推荐步骤**;④ **话术宿主中立**:不写死任何具体宿主的权限界面名称,统一表述为「宿主会请求执行权限,请用户确认」。
|
||||
|
||||
## 版本与自更新
|
||||
|
||||
@@ -205,11 +217,14 @@ stdout 的 Markdown 依次包含以下章节。标题是解释规则的定位锚
|
||||
- **更新提示(缓存制、不打扰排盘)**:每次排盘成功后,若本地缓存的检查结果已过期(24 小时)则后台线程拉一次远端 VERSION 刷新缓存(超时 3 秒、失败静默,主流程不等);缓存显示有新版本时,stderr 提示一行「技能有新版本 X.Y.Z,运行 `python scripts/self_update.py --apply` 可更新」。
|
||||
- **应用更新(须用户同意)**:用户说「更新技能」时再运行 `python scripts/self_update.py --apply`——从 GitHub 拉取(失败转 Gitea),**先按 manifest.json 逐文件校验 SHA256、任一不符即中止不动本地**,通过后覆盖更新;`data/.license.json`、`memory/archives/`、`share/pending/`、`share/pushed/`、`.git` 保留不动。不得替用户自动执行 --apply。
|
||||
|
||||
## 盘面图(HTML)
|
||||
## 盘面图(HTML,默认生成)
|
||||
|
||||
排盘后同步生成 HTML 盘面图(`cast_chart.py --html`):四柱主表(当前大运与流年并列对照)、大运/小运条、全量流年、当年流月,五行配色、空亡标虚线、节气边界与晚子时出警示条。模板在 `scripts/render/templates/paipan.html`,样式可直接改。
|
||||
拿到出生信息排盘后,**默认立即生成盘面图、截图并发给用户**,然后才进入对话式核对与分析。流程次序:排盘(`cast_chart.py --shot`)→ 生成盘面图并发送 → 对话式核对/补缺 → 分析 → 结论。
|
||||
|
||||
- **给用户看图**:agent 环境具备浏览器/发图能力时,排盘后生成 HTML 并直接打开,或截图发送给用户;纯文本环境则告知文件路径。
|
||||
- **生成**:`--shot` 一步完成——stdout 出命盘 Markdown,同目录出 HTML 盘面图与 PNG 截图(路径打在 stdout 末尾;`--html 路径` 可另指定 HTML 位置)。截图分级回退:环境装有 playwright 用 playwright(file:// 全页、2 倍分辨率),否则用本机 Chrome 无头截图;两者都不可用只出 HTML 并附降级提示,不影响排盘。也可单独调 `scripts/chart_shot.py <html路径>` 补截图。
|
||||
- **发给用户**:以宿主支持的方式把盘面图发给用户(图片引用或文件链接);截图不可用时给出 HTML 文件路径并说明可直接打开查看。
|
||||
- **重排必重生**:出生信息有任何变动(校正时辰、节气边界确认、晚子时分歧对照等)重排时,必须重新生成盘面图与截图,不得沿用旧图。
|
||||
- 盘面内容:四柱主表(当前大运与流年并列对照)、大运/小运条、全量流年、当年流月,五行配色、空亡标虚线、节气边界与晚子时出警示条。模板在 `scripts/render/templates/paipan.html`,样式可直接改。
|
||||
- HTML 只是 Markdown 命盘的图形化重渲染,内容以 stdout 命盘为准;解释时引用的字段名仍以 Markdown 章节为准。
|
||||
|
||||
## 文风与反 AI 腔(强制)
|
||||
|
||||
+28
-28
@@ -1774,12 +1774,12 @@
|
||||
"香港": {
|
||||
"lon": 114.17,
|
||||
"lat": 22.32,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Hong_Kong"
|
||||
},
|
||||
"澳门": {
|
||||
"lon": 113.54,
|
||||
"lat": 22.2,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Macau"
|
||||
},
|
||||
"北京市东城区": {
|
||||
"lon": 116.4125,
|
||||
@@ -16024,132 +16024,132 @@
|
||||
"香港特别行政区中西区": {
|
||||
"lon": 114.1494,
|
||||
"lat": 22.2847,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Hong_Kong"
|
||||
},
|
||||
"香港特别行政区湾仔区": {
|
||||
"lon": 114.178,
|
||||
"lat": 22.2791,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Hong_Kong"
|
||||
},
|
||||
"香港特别行政区东区": {
|
||||
"lon": 114.2212,
|
||||
"lat": 22.2825,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Hong_Kong"
|
||||
},
|
||||
"香港特别行政区南区": {
|
||||
"lon": 114.155,
|
||||
"lat": 22.2486,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Hong_Kong"
|
||||
},
|
||||
"香港特别行政区油尖旺区": {
|
||||
"lon": 114.1684,
|
||||
"lat": 22.3145,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Hong_Kong"
|
||||
},
|
||||
"香港特别行政区深水埗区": {
|
||||
"lon": 114.1582,
|
||||
"lat": 22.3366,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Hong_Kong"
|
||||
},
|
||||
"香港特别行政区九龙城区": {
|
||||
"lon": 114.1879,
|
||||
"lat": 22.3153,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Hong_Kong"
|
||||
},
|
||||
"香港特别行政区黄大仙区": {
|
||||
"lon": 114.199,
|
||||
"lat": 22.3391,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Hong_Kong"
|
||||
},
|
||||
"香港特别行政区观塘区": {
|
||||
"lon": 114.2092,
|
||||
"lat": 22.3237,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Hong_Kong"
|
||||
},
|
||||
"香港特别行政区荃湾区": {
|
||||
"lon": 114.116,
|
||||
"lat": 22.371,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Hong_Kong"
|
||||
},
|
||||
"香港特别行政区屯门区": {
|
||||
"lon": 113.9717,
|
||||
"lat": 22.3968,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Hong_Kong"
|
||||
},
|
||||
"香港特别行政区元朗区": {
|
||||
"lon": 114.0274,
|
||||
"lat": 22.4442,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Hong_Kong"
|
||||
},
|
||||
"香港特别行政区北区": {
|
||||
"lon": 114.1423,
|
||||
"lat": 22.4988,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Hong_Kong"
|
||||
},
|
||||
"香港特别行政区大埔区": {
|
||||
"lon": 114.1668,
|
||||
"lat": 22.4484,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Hong_Kong"
|
||||
},
|
||||
"香港特别行政区西贡区": {
|
||||
"lon": 114.2598,
|
||||
"lat": 22.3171,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Hong_Kong"
|
||||
},
|
||||
"香港特别行政区沙田区": {
|
||||
"lon": 114.1905,
|
||||
"lat": 22.3823,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Hong_Kong"
|
||||
},
|
||||
"香港特别行政区葵青区": {
|
||||
"lon": 114.1343,
|
||||
"lat": 22.3666,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Hong_Kong"
|
||||
},
|
||||
"香港特别行政区离岛区": {
|
||||
"lon": 113.9413,
|
||||
"lat": 22.2894,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Hong_Kong"
|
||||
},
|
||||
"澳门特别行政区花地玛堂区": {
|
||||
"lon": 113.5478,
|
||||
"lat": 22.2108,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Macau"
|
||||
},
|
||||
"澳门特别行政区花王堂区": {
|
||||
"lon": 113.5439,
|
||||
"lat": 22.2021,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Macau"
|
||||
},
|
||||
"澳门特别行政区望德堂区": {
|
||||
"lon": 113.5451,
|
||||
"lat": 22.1967,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Macau"
|
||||
},
|
||||
"澳门特别行政区大堂区": {
|
||||
"lon": 113.5486,
|
||||
"lat": 22.1915,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Macau"
|
||||
},
|
||||
"澳门特别行政区风顺堂区": {
|
||||
"lon": 113.5368,
|
||||
"lat": 22.1903,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Macau"
|
||||
},
|
||||
"澳门特别行政区嘉模堂区": {
|
||||
"lon": 113.5536,
|
||||
"lat": 22.1567,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Macau"
|
||||
},
|
||||
"澳门特别行政区路凼填海区": {
|
||||
"lon": 113.5645,
|
||||
"lat": 22.1396,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Macau"
|
||||
},
|
||||
"澳门特别行政区圣方济各堂区": {
|
||||
"lon": 113.5549,
|
||||
"lat": 22.1264,
|
||||
"tz": "Asia/Shanghai"
|
||||
"tz": "Asia/Macau"
|
||||
},
|
||||
"_aliases": {
|
||||
"乌市": "乌鲁木齐",
|
||||
|
||||
+376
-39
@@ -1,16 +1,16 @@
|
||||
{
|
||||
"files": {
|
||||
".gitignore": "1e4671dee2d3123a45609ed82a4329531e0d41bf1b6895ab169ecd8813cfb8f5",
|
||||
".gitignore": "6afd9b30daced03071366d6069e30682c6d4bccd6e0aa08d17936c8d373e8789",
|
||||
"LICENSE.md": "6b839540e0fd4ab75530ec31fc5c3cbc3c2d5de5fe85068ef1c0901e54be9315",
|
||||
"README.md": "1e11e5d19856fbd9bb15068c74e184617a10b2e0b18c7e42d9b617cd0d8f534a",
|
||||
"SKILL.md": "eaff2bc3cc1221417caaf40cf86741c7fe2e43f7538fd9efc0f436c13c030a0b",
|
||||
"VERSION": "eb41f86c3d67299b46490cde10158a521148fdc03641aa14a93fa2797becd78c",
|
||||
"README.md": "adb4481f20360c66e67fd89076c1535c577cdf85f34122d2dac1ff727dd81c38",
|
||||
"SKILL.md": "fc478ff1416acf0aff7ef8ba84b9136a23acd2e02606b3f9fb90c84d979a9e7c",
|
||||
"VERSION": "5c0f9e710d6f59bb59980444f3dc58886fc564a0a2d8a1d534d3296be2c67da8",
|
||||
"data/.public_edition.json": "e8692c45d512c78903fc89a924d0e6d4dc9b95a78ca6b359bb7a5ef5c946ffee",
|
||||
"data/cities.json": "00f17905c8843218162e25238a78aeb4c4a3bb5424b611cc30ed9e436db31854",
|
||||
"memory/README.md": "b3cf2c58a8418a8c1a54243c2e09fbdb42f31dcd48ba8c841b74f1234c7fe063",
|
||||
"pyproject.toml": "58e415e53d2418721fa07bd81b829e4bc5bbfb2155a446bce6222d3f7afeda12",
|
||||
"data/cities.json": "9ae91a498d2b12e5c2f53efc5dc4989e891cf138b06c9b593796427cdc272393",
|
||||
"memory/README.md": "a979f985dd87e87bfca49676ebf10a537d299b1eeebac121c506c320c88a3afd",
|
||||
"pyproject.toml": "fab09f4f2de9f411994cd3090c3cd1cc5af7ba8e9bdf882edd5417153d4f966c",
|
||||
"requirements.txt": "46a4c971b192cbf2c4972dd0f420e7928b7e44cd3cb9f7dc5a36efb321ab6fd6",
|
||||
"rules/00_总纲_取格.md": "829a35454f5c91966ecafe4dd2113b913588933efe08d0e1c127ae82ccec0da8",
|
||||
"rules/00_总纲_取格.md": "949f7eec5e2d6da87d2fc775b6bf3ade4b69c18ef2778d015634699db8b6bb39",
|
||||
"rules/11_正官格.md": "385193d93dfba89a935ca8907098f70548ad1fc12ab6a07a5280fd04224c83b6",
|
||||
"rules/12_财格.md": "8d2bafdf859d51e4d3932e0dbcddb0eb6b300cbef412b3b17a8b8232a0cef8c8",
|
||||
"rules/13_印绶格.md": "57e6e02a47b464ed0983145f01e7dd457ea34be8d7beaccc851f34680b6b10e0",
|
||||
@@ -19,18 +19,18 @@
|
||||
"rules/16_伤官格.md": "c70f90d7d6823bb330e8f53141408e304b6761b3e0ec6adfc9fadf109a22fbf5",
|
||||
"rules/17_阳刃格.md": "51055e7c0edd607f6fe98425b7c82c69fb9ec88f2c058fcd3e5aa04d6ede8c0a",
|
||||
"rules/18_建禄月劫格.md": "f0b400292d22cb3b38ab5011bda8080d511a065c661305f7a9c0485f1c57705c",
|
||||
"rules/19_杂格.md": "78939bc9d61621a427fd41a31156086b3ae6675eccc77c899a3aa7443408ef26",
|
||||
"rules/19_杂格.md": "95131e31bb86c92639475898f740137115c03295f8443cdc93fda323026a0429",
|
||||
"rules/89_旺衰扶抑.md": "758180d5ee0aa46f4b22e8817baa831974c9c3b239078ba51e0a7b9016f7f47b",
|
||||
"rules/90_行运.md": "510c243e84f3cffacf0a85887b8cc8650bb009083112390c50d5f8ab8c969587",
|
||||
"rules/91_何知事类.md": "3775448e1830929dbcbc90cacf1065a4ab0592c9c4ee984c09ec187911bcf2c1",
|
||||
"rules/90_行运.md": "6b6fa85731c68eaf309e6ed8452dd13a7b0b79677b5fb6481479a9760e4d1700",
|
||||
"rules/91_何知事类.md": "d3236bffa2221e7d3321fc3f3eb34d954dc4bce903660ddf300bcd32c95a3823",
|
||||
"rules/92_调候.md": "8d37d2cb722ae4b581532b7b73218fd648f1e75d8e16c6bedbabe0f93a2e1946",
|
||||
"rules/93_性情.md": "c9d3003cf4e0869e5075623e34bad41faa294623df1b2481e0f30b80fc61cec6",
|
||||
"rules/93_性情.md": "14b2e1d29f703b73d4346b9b9bc5d4a5cb3722ec92ff0c387f000a89de6b962a",
|
||||
"rules/94_神煞细节.md": "96daaac4ff70ece5d1fb7b4eea3da458ef30578933d770b9ce7e1fed067f78a2",
|
||||
"rules/95_禁则.md": "c151aba005c1789ed5e75eb26fcccab4b636035d8f035fa4e0fc18bcdcbf6251",
|
||||
"rules/96_六亲.md": "96cf362bd180558352d0181401ac8e297ac89c09d91d1098972a9d1c40468198",
|
||||
"rules/95_禁则.md": "389d8311d014eac098e88adcce78523e29a470966de5809c62197ef4f8f7609a",
|
||||
"rules/96_六亲.md": "8ce87573c10ef19bcfc0f1cdbaebbe4f2964a95feea41dad040b33c3ee03d6d6",
|
||||
"rules/97_女命.md": "52962aa666faa3fa2a5175d352380df14f54fefb8f57cfe0761779ad51e18696",
|
||||
"rules/99_附录_干支通例.md": "da906502391833eb1744ff0145a03c7d1e10781ac7156034632dc5994da0d2f4",
|
||||
"rules/README.md": "80a77a744fcac31673dd7eb9f84cb80b83c9d61c4d0aaabcb39e86f98f661c2f",
|
||||
"rules/README.md": "91ace5436bcdddfd05321d903d7e7e06290910b7df9721a97bed53727b8a044a",
|
||||
"rules/sources/README.md": "183ba554b1d89c16b19fb65ac8a4d0614069c865676fb4c1bd20d95b5581c209",
|
||||
"rules/sources/三命通会/00_卷一·原造化之始.md": "6329058dd08aed5f41d1111da99027cac38761aeea7120a84eff02683426294d",
|
||||
"rules/sources/三命通会/01_卷一·论五行生成.md": "c9db87683a6d3f9b7eea665e3814e383e11a69b608114d9317beb2a2c56825f8",
|
||||
@@ -563,48 +563,61 @@
|
||||
"rules/tests/golden/93_性情.yaml": "acfefd4165008a145152fd11cddfbac92d4a5cd7b1abfd68e31ac73b1923dd48",
|
||||
"rules/tests/golden/96_六亲.yaml": "dd45a0dd94ebb2a32e2e2d2613dc99fc6335183cc0832abdd69988a1d074ccdd",
|
||||
"rules/tests/golden/97_女命.yaml": "dc229eae558be6592f392be4f71e72ec6650d64590c9bac3361febed9ead9b89",
|
||||
"scripts/_license_gate.py": "4f3a24685c86abc6c66a158b441b89e2738bd14f5d63e8bdd41489654a29e837",
|
||||
"scripts/_license_gate.py": "1caa771382848a5f2c177f02a6b90f1e736ba021d97dc803231f7e438d321226",
|
||||
"scripts/_memory_store.py": "690e088a208ee5aeb9f66e6d4b5d4342f44bfc852bad51870cdfe397fbdf7660",
|
||||
"scripts/_runtime_guard.py": "c4f9d00acbb5b2ba49680b23ed4f846c60211e67b9d58950079b3e8909dcfe81",
|
||||
"scripts/_update_sig.py": "9bb3521b950ab834c770e313a98c9cc8f7e997997540258724505af774a4abe6",
|
||||
"scripts/astro/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"scripts/astro/day_boundary.py": "5dbd942f08a009400c2fbc60faa77c9d9a0c315d01e0cc6edf3d7b2efc09d2c3",
|
||||
"scripts/astro/day_boundary.py": "b0ddd270be439b51fab46595661d2f9b11d83b52acda9c2f1ec6f79fec7aae78",
|
||||
"scripts/astro/equation_of_time.py": "ee9331022b4ed35d407664e97b5ce9ce99167a06ce7cb8c9ffba5497a437da8e",
|
||||
"scripts/astro/solar_time.py": "35b45edc365083a6ce90afe076176c6f3e798509e76d3f03819fd1845491b153",
|
||||
"scripts/astro/timezone_resolve.py": "3a287a64bd50736ce91ac15876e88edeb98745eb6d0459cf18e7e6ee3c026aba",
|
||||
"scripts/cast_chart.py": "16e5e9f0df1bcb0c0eef1febd1ae2395a84c1676e0c629058821056861daa05e",
|
||||
"scripts/cast_chart.py": "f5fd58dffc9a66d85d018740714b4b7e497cbc13b75c9bf4e901d827ae5f026e",
|
||||
"scripts/chart/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"scripts/chart/ganzhi.py": "94d53d2a8cd7674312223e976ce6e1379a6fbb53873253b34963b3e3d645508e",
|
||||
"scripts/chart/luck.py": "d930f3f402cf814eaaa10fdcaa0a8be4a47411e6961dd0324ac38a8f898b4299",
|
||||
"scripts/chart/model.py": "8279145da10901cfb1a7b4823762074169dfd554bbe8ce39ae15862334b001f6",
|
||||
"scripts/chart/shensha.py": "1a9a59fa35ad5f2e2700d6b1a0155979dd7bf6f9fea4637356bfd41c5eae7e05",
|
||||
"scripts/chart/tyme_adapter.py": "06a46f16efc3d745edb5f35bbdcfee1c78552a44235fc85de0af3eb6c163eaca",
|
||||
"scripts/chart/shensha.py": "9db4a0e4cfaaa667efa9bbdcf7b8fd3d0c461cafbdf125e037cb467d75803939",
|
||||
"scripts/chart/tyme_adapter.py": "5a8831050738d41e7a27a9bee55f86a84b351b0e9a203a35d12f383a9f9ef801",
|
||||
"scripts/chart_shot.py": "0096a01e64128a2628ee0e2d3bc211d93fbb0e2b17a49a34f4f2f9a37da4960c",
|
||||
"scripts/geo/__init__.py": "1211b885ec767b399472df572f970b07d6d028a5889af49fe50f6fc1a2a0cf7d",
|
||||
"scripts/geo/cities.py": "9d393608c03a2ad5c7352939e70ea717dae5dd4bc833dfdd0e2f663940c61fb5",
|
||||
"scripts/memory_lookup.py": "853c815a97b457ca20d5b4c03aff234dfb218a58a5511f6c1a55dc635de31c90",
|
||||
"scripts/memory_save.py": "42638841cceb586783b8764eacff91a8518d8df7dfe99b3919b3caa5a432e0ec",
|
||||
"scripts/query_shensha.py": "1d77205c8781676f3536bbeb2f36d397b825ff3065a4b968344fb95e5b8859dd",
|
||||
"scripts/memory_lookup.py": "23f02b04636924a1f6872d338e85ee2145ed1cde742b3e2e5b6ee4592ff92d50",
|
||||
"scripts/memory_save.py": "eea51e7483966630c89705094b8a56c14f999573e7b06f5bb911bdd6d0accbca",
|
||||
"scripts/query_rules.py": "22fc054cd0b92a185f11d644d304c20bec6a2a2f536102df8ee135abf56e4b43",
|
||||
"scripts/query_shensha.py": "e4c852c8e56fb8b32bde0fb376d985647bcfd93a74fe30fd34c5884d2ab77dc3",
|
||||
"scripts/render/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"scripts/render/html.py": "9896ffc7c1f29cdce0d2ce9c21ce78ec6035b77851249466776945de918de49d",
|
||||
"scripts/render/assets/lingyao-logo.png": "3d63f71ff9af61a443708f2665d1331737bb567a4e731d049676dfeb4710e323",
|
||||
"scripts/render/assets/logo-font.ttf": "0b3a28b91d30276a68501a837ce7c1874274276c21793957b83f1efbb4a9264a",
|
||||
"scripts/render/assets/qun-qrcode.jpg": "437854ff4ea6d2b3452b16371afbba1b9bb97e1f2c7fdbc77580ae2cceb3cbaf",
|
||||
"scripts/render/html.py": "f6054c3fddc9223e32061bbc2bb88c01b9888606baf118ab3ddfb1d11f11ec14",
|
||||
"scripts/render/markdown.py": "4b2bcc3fc6581728d74bbaa357bf1db2e8aec1d3ec54c2c27ca645b6c5179977",
|
||||
"scripts/render/templates/paipan.html": "9cdeed44834ef0de7adf0d775486b8ece7c81cf228107295e51bc31847a81688",
|
||||
"scripts/self_update.py": "b1c9ad0ef90e20ac75ac6b8e857a4a5bd31181c67a58c7c1d46b45f468fd9f26",
|
||||
"scripts/share_export.py": "21396143ad5cc2d244c7cc060a3ece25702594465689a9f12438dfe92de3296f",
|
||||
"scripts/share_push.py": "42683c27a93f12208c20b0a5cd2feb7cd81f9be3efb76b46d4789ad4d2aab4ca",
|
||||
"share/README.md": "42ebed92285752af93c7c7af5eb4b6e84ed836408d0cedb57e1b32c796746b26",
|
||||
"scripts/render/templates/paipan.html": "62fc3fcf355089cbedfc9e7b39fae54bb93e91cab73be3c376145b2643853a28",
|
||||
"scripts/self_update.py": "c7bbb58e750fdbbecad00936948e37d7ff7a47c57e22d116c537c104aa74e8de",
|
||||
"scripts/share_export.py": "eab38048e3737de1eb8731e6f4860f4061d29dedb9e9f3a1c9d9ac44ec200c20",
|
||||
"scripts/share_push.py": "307e83747b8d244f20632a198b7bfba51352a6b6bf0a8f98b73c904e719a6b89",
|
||||
"share/README.md": "adccd0f7691bedd64441b11cdd8ce66e20adce55fe4d8de1333f531b689f82b8",
|
||||
"share/config.json": "b0747cb29b01e65c79e612062e1d572f6658c3046ae8bb5d97020ab2d7c6f04e",
|
||||
"tests/golden/history_tz.yaml": "3fb74e90c4f53abebaac0a5de8825ac3794fc0b5b41dc84121201e70cecade47",
|
||||
"tests/golden/longitudes.yaml": "6fda1e6b632d29c135362c9273b931c4416c9f24c31b07e2a7baadc6e2077bc2",
|
||||
"tests/golden/time_boundary.yaml": "637090a1c081b9b824fc0073d29dad073d29138c3b48082bdf41ce77f5af3b37",
|
||||
"tests/test_day_boundary.py": "0e6c9ee32177a178f21a7812f83032abe4d1f585de48d07d21e2b432bdbcbd04",
|
||||
"tests/test_chart_shot.py": "7923d2868ded898331a65152b237cf014fa49b180b08706584ff7319f88b7a33",
|
||||
"tests/test_day_boundary.py": "6e2038152738a02642a3b04edfaf542328179998e62c1960a59389a527868850",
|
||||
"tests/test_e2e.py": "e324930fad582dc38618fa3599425bb48ec718beaf426efcb76531911c9464fa",
|
||||
"tests/test_equation_of_time.py": "8a3a1baf7e61c42015405cc80fc0bdf4fd9bc732d440bc156f9c92c94e30f790",
|
||||
"tests/test_html.py": "0972e938f37e7f2f70569cc3abbd9bf313a2610cd227537dcde6add010d46737",
|
||||
"tests/test_license_gate.py": "ee44226b75620b3965ba52cc2a0cc5404fbff37822fd96a6faf2aed89d07d47e",
|
||||
"tests/test_html.py": "d40f4558ddfda156706a0c3d4c52c794fbc1e59427acdc93bcdad7df34217638",
|
||||
"tests/test_license_gate.py": "6694f45972e08b0e028f3af49dbcb825972031c6520a5714cf58a01d3a44fc30",
|
||||
"tests/test_luck.py": "821f98bc19ab1e920353de58c6ffacac5d757c887c690a2d596f51c1485b21ea",
|
||||
"tests/test_memory.py": "d3decfdc8d7c5bbfc4af5e3aed93bb3c53ab09071b682a0f4808614ac2cd3c6f",
|
||||
"tests/test_self_update.py": "183c2fb82d2d20285941b6c75a1890c4417d400c3c7e7d5f8a9680b4fa7bf76c",
|
||||
"tests/test_share.py": "399f20da22689d00e71eb78c76d60507060c29a7d68865e6b0e9f591d19be871",
|
||||
"tests/test_shensha.py": "b8a20d264e18c79f1fe546281381b0d929543af44ec68dc890ef8b64efc625b0",
|
||||
"tests/test_memory.py": "bec4427e3e874b655583a6d9a69c85a590aab15c09ad645e6f7ce2a7139403db",
|
||||
"tests/test_query_rules.py": "bef99f53e088969373ea38208557861fd1ad4b7d2e12355175a8afb125fa388a",
|
||||
"tests/test_runtime_guard.py": "6116760f1f19437c806f62e23d6360ed3e70530a903daf5881482984ec86a18d",
|
||||
"tests/test_self_update.py": "87a0fdaf28132e70fe407a552ff77f5911e13e67ca1d568581a273eaba875712",
|
||||
"tests/test_share.py": "7938344415cbba95f683b2a09ecec9af28d00658f475ff0a56563dd13beff630",
|
||||
"tests/test_shensha.py": "2aaa181279739356828f05a2175027b0ae711b322b4bd0e60d5c5e62538bcac8",
|
||||
"tests/test_solar_time.py": "f072e5ea82fd0cb331c8a4fdc6dce08148cd9ac81ef9fe4506196fa68a42d1e4",
|
||||
"tests/test_timezone.py": "3698878999d232bd431d6908c42fe8f4845c696da6085731abaf2f74017d722d",
|
||||
"tests/test_sync_tool.py": "b96cf8ac26480cc7431c95335095b77f718d240caf04243e844d2b5c10d7dd76",
|
||||
"tests/test_timezone.py": "8b292cc8e5649b8af3e9e1a0214fcd28c06a2aef28f3529874f43c3c6d77ba42",
|
||||
"tests/test_update_sig.py": "3bfd6ce28a699afe233fe51d9d9c7aacc308f54a4dcb9f9e7ecd272bb0a9b5a2",
|
||||
"tests/test_version_sentinel.py": "9b2bc603a2e86aa33d904f1381ecd8ab41eb0e759803ec47122d662c10a7df83",
|
||||
"vendor/VENDOR.md": "dbf017616ac2fda4fef56ce95e3610e77457108b7fa426136fd25764d78fa3c8",
|
||||
"vendor/tyme4py.LICENSE": "e017c12d3476152144886c06e12b67277bb64e922b88c902b76ac02a84ea1c9d",
|
||||
@@ -1266,7 +1279,331 @@
|
||||
"vendor/tzdata/zoneinfo/zone.tab": "e2e8e31c4e10f44576c79345e76060591dbb3eef6ce14e006afc8a373caa9593",
|
||||
"vendor/tzdata/zoneinfo/zone1970.tab": "5f23781702bf51408ff1581daa109ab3b9257fb433b1554e579d92172892c0cf",
|
||||
"vendor/tzdata/zoneinfo/zonenow.tab": "7f9d1c11445af7a17862c20a9081226d31a09a1730e270ff59a34c8d2b4c7f7f",
|
||||
"vendor/tzdata/zones": "28d8f3eb25839095fa8a209997bb20e822ebfbebe21e60edc483a3d5e20dc881"
|
||||
"vendor/tzdata/zones": "28d8f3eb25839095fa8a209997bb20e822ebfbebe21e60edc483a3d5e20dc881",
|
||||
"评测/README.md": "7455988261f52b6d4158527be1652cd5001576eafeedd4e9c75b41b63f25777a",
|
||||
"评测/ai模型纬度得分/deepseek-v4-flash/with-skill/得分.html": "642386a9f3f36027cd2fa0bfbd7e337be678827936f9ca48d7e6f87b53787c52",
|
||||
"评测/ai模型纬度得分/deepseek-v4-flash/with-skill/得分.json": "e582453300a80900b38d4739f5f473e164540ce59b55528588f1ea0f95d87877",
|
||||
"评测/ai模型纬度得分/deepseek-v4-flash/with-skill/得分.md": "3857a08b8a8fef8ed78dcb1bbe7b7e84a00c9588b584b98fd884927669ee7634",
|
||||
"评测/ai模型纬度得分/deepseek-v4-flash/without-skill/得分.html": "ab1cd088cee9cc8fb302f7d6f17a888281f47d2fa105ce1d0d219554c3fb0c46",
|
||||
"评测/ai模型纬度得分/deepseek-v4-flash/without-skill/得分.json": "a405c51ad260b1af8a99b901f8ea848772b9d989f281636db8d491aa6b6798ca",
|
||||
"评测/ai模型纬度得分/deepseek-v4-flash/without-skill/得分.md": "7e5e5d2ea5880728fe894156c9951045143bb072d16d2c38ad96561b5afa083c",
|
||||
"评测/ai模型纬度得分/kimi-k3/with-skill/得分.html": "ee4e62fe76b07a79e33b9b68ad86ce06b1a9f1cf108d4bb4b9eb0a9190bf4b28",
|
||||
"评测/ai模型纬度得分/kimi-k3/with-skill/得分.json": "020ecd9ca216b2cc70089eeb3c213e3909eb4b84e9de876ef6e119c5c7bba54f",
|
||||
"评测/ai模型纬度得分/kimi-k3/with-skill/得分.md": "d56465109a0d72f131a6e398c988f49041e758ec580f34ebad4795136146a8f8",
|
||||
"评测/ai模型纬度得分/kimi-k3/without-skill/得分.html": "27beb06cdda91fac42b738e4f755560816b35cf1b3a044c0922aee91705febd1",
|
||||
"评测/ai模型纬度得分/kimi-k3/without-skill/得分.json": "cb072934cf794096eb2934b11ade307ddfb7bc612fd839aa3337f6eebca4e6a7",
|
||||
"评测/ai模型纬度得分/kimi-k3/without-skill/得分.md": "94148e8925688303936e49d33fc235a0afbe16b3971625bf03dde861f41b7dc2",
|
||||
"评测/ai模型纬度得分/qoder-agent/with-skill/得分.html": "f4fbb15d7eecd10b8938975868255b6ce486d6816c65abf1505724b5304526f5",
|
||||
"评测/ai模型纬度得分/qoder-agent/with-skill/得分.json": "718016b40e40a24ad0bc7cfa3be84d6495fa590f196fa31727545635c873734d",
|
||||
"评测/ai模型纬度得分/qoder-agent/with-skill/得分.md": "fd115bb745fe333bfeaf40a91600fb0504552ce0926b7a56e74f88d59c449161",
|
||||
"评测/ai模型纬度得分/qoder-agent/without-skill/得分.html": "a763f5d19def764399247afc27a9c4bd217a3d53df5f424babdc695905e1145a",
|
||||
"评测/ai模型纬度得分/qoder-agent/without-skill/得分.json": "5f1daa853d27ba9aab852f3d089cdba423e36426f50960b30907bcb61b3ea8cb",
|
||||
"评测/ai模型纬度得分/qoder-agent/without-skill/得分.md": "f2e48d3a3f5189e286e45803b3116807e18026e0aea5fa6bf5e683506780ef52",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2021_female_19670827_P034.md": "163f5280828b2d9686c448b8497190c520d4ff95a99a55d31da603e8e1c6cc38",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2021_female_19750107_P030.md": "301c5f81310ad69d53ee47bbc1827acff42da7ffed4218e9a11e7f1cf0fc4c83",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2021_female_19841220_P027.md": "edd65932f39f6cfa11c9add10b8845e26de93429c8435681613190030131dab5",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2021_male_19530127_P031.md": "7b2e130b3d37d3995a39d8e018a58f3cf8882265616e79b0beecfcdc783188d9",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2021_male_19540318_P025.md": "69984efbc43a4454f6a537d360d6c5f7c880d3b5b10d4a4b656ac1076ce9f2ab",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2021_male_19700723_P029.md": "88dcdd8c4766dfce4c8911cc947063eb6c6999d8b5db660f56d009d2dcca4a56",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2021_male_19710910_P033.md": "def75a7ad2a83b245d8e891bff452002d66bb3db859a3abd6daa4ce592cc21fc",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2021_male_19770706_P028.md": "56416ce68d5980abc1306380519fc0173b533d91059c795a02b794bcfaa93d2e",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2021_male_19831019_P026.md": "2830ce881c3108e54ad117954b978c7529a5f556ecb7f1aa6bd92935124bc572",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2022_female_19771026_P020.md": "0caa6a232820b5cf3ce3bc20b42583aea80a965603553f06644e5c7a349a3af3",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2022_female_19810526_P018.md": "94cd6eba2b4d41ab80d9abbae3c84a8424c6654592f42f200cec75a93ee9ad35",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2022_female_19841209_P023.md": "960cbe4b71ea48598fdc06427f395b86c571e8165ba03f2100e68e26cfbfe960",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2022_female_19900523_P019.md": "cadcbb45422a9a6db026bf198dea5dbbf5e40d471cd1f73e097ae9cfc6a90457",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2022_male_19740428_P017.md": "0c82655daede248181b702af5fd598296537a54987f6eb9ca5e1b878b3948675",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2022_male_19810617_P024.md": "8d3960e5af591c3fc129f53b4226ae64376482b0e8df69ff3a8852311989a4bb",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2022_male_19831101_P022.md": "263a9033dae90125a9f8f2e15ccc845f57b81cc3c11d98c3e1c55363b8ed1b27",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2022_male_19850629_P021.md": "2ef4a50688f1079320fd4b07fd6c2d5755c12637810370ef7eeef8d91bfdb993",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2023_female_19581027_P014.md": "62579b008d5c478f316da248d94ba139993aa6e18134bbaa870afd473a822109",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2023_female_19661018_P009.md": "5d8528156c53849603bd26c2ca3fac373e26722426c1a9e38241ee471b89c2e9",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2023_female_19780405_P013.md": "971652b3427feb1fcbc8856a424b4270999edf8f5be59f9d085659147a6dc3f1",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2023_female_20020601_P015.md": "d165226c07e3f939b7673b763ad71a82058f51701181b224f99989464010263a",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2023_male_19560311_P012.md": "b5c647a977424cdc42e187ccf1f94434ee0d35afb974ab897d5962424a7ec3fd",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2023_male_19620806_P010.md": "43766884563b6a5ac789c5f5fc85aa47a1ded8c713372fca6dd8542007619598",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2023_male_19800711_P016.md": "a9055c62b3c933a3d7600efc58646a14b1281aae809b34f642a702d2d4273338",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2023_male_19860424_P011.md": "f2afdd382a1911dc35e333e06cca0c3dacebcba6520aaf90acdcddf64a951ada",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2024_chaozhou_male_19720108_P002.md": "2f9b32a4d199f8ce363ed8f0ee51c0e2f450d550d9082ae7a8a9aadaec3cffaf",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2024_female_19800921_P007.md": "2cec0c34c771ec03bf5a1e0dcd00760c92676421943b366ca6e8afb0748417e9",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2024_female_19830326_P006.md": "26738984566c41561d46aa3faa94c909f040db6bcda8e3fadd9e9a7937a0dde5",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2024_female_19831028_P004.md": "08d5c1dfaf969bcc7a0282d9b2d83d7667c05fb27a0705a39be0c565fe8e0a85",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2024_guangdong_female_19800824_P001.md": "19ea74812fb493daaebf11ec8f243f7ac448c76bdfea832886a9864f4c7c23d0",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2024_male_19611230_P003.md": "eecabde780a53890a98364009c5017473571e0e7a843f28b60a1652fdd28011e",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2024_male_19710412_P005.md": "650419e7e140c380321aef0c089da18392e79041f73fb9e46f750215f220b480",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2024_male_20070131_P008.md": "47128c5b8f9d1d03a62d3b0988bbfee40cbebead1238b8ce34858b2cc89f8009",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2025_beijing_male_19700722_P008.md": "1da527b3c22d294f2adcaed0cffb14ed008d066d9455d8a645546f434a09eb70",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2025_guangdong_female_19511114_P001.md": "1f0c1f9028073576a386153469cd63c2c4de8ee0d2a0e589029636e9e5515bbc",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2025_hongkong_female_19870705_P002.md": "b333abb851b47f0493a368b2ce8cf3bbd8780405f70abf133bcfb3ca55d2bd15",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2025_malaysia_male_19730824_P006.md": "c46293d1422e679f65d5eee22ef2adbd09a28505aadf9141c7c5aaf55756426b",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2025_malaysia_male_19880110_P005.md": "ba3bda5c86264f64e5d259e28df7f41e7f0a15ca2db38764c5928e235cd9097a",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2025_miyazaki_male_19830421_P003.md": "ade59b6177429942066862cc26e6d57403e110eeb47b80075edce9f812339783",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2025_singapore_male_19930408_P004.md": "c432d85f3118d66e0af9057db073286aad8d9c36ef31405b372c8ef0c2be4bf0",
|
||||
"评测/ai答案/deepseek-v4-flash/with-skill/contest8_2025_taiwan_female_19880215_P007.md": "259691ab8ecc3d501029cd7c575822a088681de4872e6863f0509684cf944725",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2021_female_19670827_P034.md": "60044262a3c3e8dd5cd1220fd2c492588e19de67a8b04df73888147a6eef4ea2",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2021_female_19750107_P030.md": "b75f58254c7702925725e5908af1086ed32192523b8fa431731a6deb38f7f2ee",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2021_female_19841220_P027.md": "be007e8b6ab46a1a6723b9e42ec9d4aa8740da8d9d96f4c2cc6a7cb720895a54",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2021_male_19530127_P031.md": "24b9fb86094a202391fa3eba871f8c6eb79e3f33e16026d39a320c61276335a1",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2021_male_19540318_P025.md": "5ff9828d2cc677126ad8f6bf0216fbfd51873b97f954281bc92e7e857bfeb3c1",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2021_male_19700723_P029.md": "25bfc039a3dc421be2ad59439ec948a82fb2e82c21de1c4c5b9ce6ca12bcfb98",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2021_male_19710910_P033.md": "c63b0b04f3514b46989f038952f00a571827d7bad0926e370a39c8cf7cedea9a",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2021_male_19770706_P028.md": "6bdbadfb3c9f127b781b17410d75c814eff58cfd2141048554d1b172c724eb37",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2021_male_19831019_P026.md": "d42727e82d552fe650ebe5e7a3a79f0f331dac650d9adf2db2149075b8c83208",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2022_female_19771026_P020.md": "785971f2c16c21684c57e37c2ca24ad974ca959c9d6363f4e3a6262cecc431de",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2022_female_19810526_P018.md": "efd2953d20ecc615a47440092748766a1d1da4f44b11efdd5416f6b290214055",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2022_female_19841209_P023.md": "d9ca00c96539fb3e1562508aca72ef11d0cd0a577ae2167061c648753bfaf574",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2022_female_19900523_P019.md": "8f9c80e044d598acfca420e8e72eecc0b7ffebc8b268225169021c8ff2531eb1",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2022_male_19740428_P017.md": "671a8366bb75399b56078e50efd3fd264439441a7eb3bb3cbd314b0d2dab82f9",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2022_male_19810617_P024.md": "a51ab1d4fadfd8d8992c48a81d495c7cbee4e7d4ae0d1b982358eb1a06858713",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2022_male_19831101_P022.md": "c4d159aead377a18b8c72d31e78643905205e0da48da05d961e237872217816c",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2022_male_19850629_P021.md": "6e855f7a957459dd2438baa96e7f0fa8a518ba8bcfb0f2fe23dd87b0500fdfd1",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2023_female_19581027_P014.md": "9e16d3319ec69695a9a56b6ad23b67d65be84a5b43399b42157faf60087577a9",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2023_female_19661018_P009.md": "4e26969607c2090262245f8f2c7636e690c7d4f137d182901bd132c3290ab5c7",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2023_female_19780405_P013.md": "a26e28c6b1cd652f52ed96536035921b174945c9502235c4f08340be87ac56d8",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2023_female_20020601_P015.md": "0939b6bbce7c62634796c72c9592f28d4b35336274562300355b2d0719d64149",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2023_male_19560311_P012.md": "6c5d4a54904925f6e7131dbecf5c94f01b590d8c4042a38c0642dc58baaacf20",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2023_male_19620806_P010.md": "ad24eb8c944919fd9fca9038ff35451ee45c5614b541a703be8545dfb90fb623",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2023_male_19800711_P016.md": "ba2c134c4de084791281f6e274c6abaad025d5cd14c7d51afc098d07d1a5f5b2",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2023_male_19860424_P011.md": "900f320228243091d02e961ec3cb7025bbc452610db580737ab60605dfe79189",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2024_chaozhou_male_19720108_P002.md": "5e520ad500e1f1c7c20c99fd326d0612ec68fbd43c42746372a0f023567a143d",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2024_female_19800921_P007.md": "051137cce3483313f32f89cccc677b03ff94ff4f40433ecff5f1e75472b7ea44",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2024_female_19830326_P006.md": "5b00cdbd0f782417563dcaa09230d5dc33958832e233890245a9b801ecb4fd9c",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2024_female_19831028_P004.md": "33975179a6176a350a2c1575378450d16a7c5e576c0cc40cbf9be19188e873da",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2024_guangdong_female_19800824_P001.md": "aea3b8660a63b3f521b55c5828bae564f855c9bfe0a8434e03899530067827c7",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2024_male_19611230_P003.md": "bf518f79034a95c9fc7f4a0c4f35d20487b520a79b3e909a45fd3b7a1a9b742f",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2024_male_19710412_P005.md": "607113e4f9f32d3487a3987e7884c8d095ab68bedfc600bd56de61ed5f4e9c5c",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2024_male_20070131_P008.md": "eb8e63ed94fcf185fb951983f989806430e1e411dbd78b111fa70228b0051679",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2025_beijing_male_19700722_P008.md": "a06925c000fe74c29f655aa13ca42c4838a81ba188f45765b8c5e708733216f7",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2025_guangdong_female_19511114_P001.md": "4457cc438d4db05c91649cc37d9922387ba4c51013d7b58c6fe5409b371aeda4",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2025_hongkong_female_19870705_P002.md": "1e7e40cea3aaa7738bc1456c1d4180ba86f179af819fec5ee185385da34ff99d",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2025_malaysia_male_19730824_P006.md": "d188a6f870feb5490630a97dcb46bfa09742ed760daa59238da83dcc788ec979",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2025_malaysia_male_19880110_P005.md": "7ab12648a4f223d75215ca6c953a7ce01cf89380b91af338cc6ec383b781ec04",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2025_miyazaki_male_19830421_P003.md": "ace742ff937dd97ef899852abe254ab762c893991429e123da24b8dc36242f20",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2025_singapore_male_19930408_P004.md": "4b13dc654024c7e964f18d20ac3a4f0eef9bdbdf4648ec26aea555bf61140d64",
|
||||
"评测/ai答案/deepseek-v4-flash/without-skill/contest8_2025_taiwan_female_19880215_P007.md": "cd463315fdbbb28faf83ae606ce7b06363534ebfebe9114abc57cbde607a1dbb",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2021_female_19670827_P034.md": "fd6d7d6fabeea42e3c133b5fee06c7d966962568b8bbd5f5280290c30fabd4ee",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2021_female_19750107_P030.md": "5f8e9db35415b3e23de26bf8f7571aa534d67efbc3ca51448b1f9eec57d9b4f1",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2021_female_19841220_P027.md": "32d946e6549f4cffbc75479110d5dd8cbeded90b92f9b815b8222e5a49b87faa",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2021_male_19530127_P031.md": "b4133dfb791adbfefc644e5e32a1bd1a1376db940bc24ad2160c032ff503248a",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2021_male_19540318_P025.md": "4574d14596b73116775ea54ef243c2e2a0f78807f19c944c3cfcebe413a93de8",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2021_male_19700723_P029.md": "af0a7cd62fa7301061375f42ad00620b382258d8a77631bf99edc3770b01323c",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2021_male_19710910_P033.md": "32c30a185f9014dfc2d8392f33eb257d1d33740689358abc56af5be3dccc39ba",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2021_male_19770706_P028.md": "3c83b4e0d4042b891851706ff792c113f5231870a868bc9fdbfe397294aef388",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2021_male_19831019_P026.md": "3ea802b6036d53b1c6ac168f635c32dea17c530e3cce11b55f0a3039ece145a4",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2022_female_19771026_P020.md": "6e268483b9b6a72fb3106aecee4bf61c53c6e799e22328cd73973abc0b3199e6",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2022_female_19810526_P018.md": "259de17f9cba98903f8e35ce1573effc1998c5617a7bb0403640898404e6b4d8",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2022_female_19841209_P023.md": "a19979edf6a8f71047a4fb8c608a1e51f8ceb5ea6ca634ed00f0059509bad9e3",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2022_female_19900523_P019.md": "782927fda111264b4a7b0f5a3240f522c6e1a7500ae85e46a6ee34d596b88d79",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2022_male_19740428_P017.md": "b784e60a0a0eabb4b6533adb2853a24c0c56a6986c148a21acab2e536e90059e",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2022_male_19810617_P024.md": "b8f06af3423a82f5a6220f707384888d5e33858b3a6ba75fba199301a510e4e5",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2022_male_19831101_P022.md": "63e5bdcd29f9c3b6bcb2fe809249662874a6bd3bea06468386aeceb6d9d66aab",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2022_male_19850629_P021.md": "0c31ddd5ce4e3f960859caa05364c882689b4778c8c10e932d3098c6d2f75f31",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2023_female_19581027_P014.md": "75b3faca8e1d80ec5f02206d1b3db9a1bc71039c9166268cee29545b2e39e3f9",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2023_female_19661018_P009.md": "760673c1544bf60a1eff7d7713a21ed325e8bb3f4fd050c89b79f06c54f70382",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2023_female_19780405_P013.md": "02f288f21ee0f68c107e89d2d31a77fb704a3c41576b49071c33b06fe7f10344",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2023_female_20020601_P015.md": "ba049c6ab47726585043a6b0d3c639a397aaadd6ff78d468531f2f184dad4e54",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2023_male_19560311_P012.md": "07e4ed1d2c6f36b5536e13c5780c676d04bd25c0e52995c9f148096aec2def55",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2023_male_19620806_P010.md": "45a7ddfc56e12d444859d3240cc629e96dec9dfc0873d4f32f285dc5e8cc0207",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2023_male_19800711_P016.md": "e6cd4ef30f1e36adfa7d62095513909baa11d38b1fae1a964334429492342e75",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2023_male_19860424_P011.md": "a2b7b7dda5283916926745735d824023ae1fb43ccadeac60b13a309e2163a39b",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2024_chaozhou_male_19720108_P002.md": "428b3d75c7185f01b9ea79e50ea476570fb156f76460984a89aafb196567f13f",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2024_female_19800921_P007.md": "112242c85e6e533ac644dec340c149240d58b0338c4d0c6b3b30daf3a371133f",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2024_female_19830326_P006.md": "6fdea63e37aac27eacebed07a4fbb071f73cef91bc8bfbf58020ac946071f893",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2024_female_19831028_P004.md": "f94c1fda8d8d52368f1633d574795fe01c7a1e568d660e1b404128826b16f492",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2024_guangdong_female_19800824_P001.md": "ee8072b27f52713f6106e3aa2a33d777c50ec03c4c17a615b67e6b78cf1ed731",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2024_male_19611230_P003.md": "2eb50edf1668d004c577c3c7a323084368d1e96e78baa688d32cb42cf24cc5a7",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2024_male_19710412_P005.md": "6f99178d2b05df802f5801a192ae24f2d48adcd649e80a19024f5eaa06701d6a",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2024_male_20070131_P008.md": "2c4f013e43b602de76c57ff1b1eff079e34491c7ae8bcd45472f2d0237f16245",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2025_beijing_male_19700722_P008.md": "edacbb7400c7676ead6025e65e8e3e62e2b5630e91e5277eee3871dadef52ed4",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2025_guangdong_female_19511114_P001.md": "c4e77810d7345b86b10a78d8f5d7b8a2d2c372617e04f9b8bfd0e105d0396516",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2025_hongkong_female_19870705_P002.md": "fb01ed89df463a4b04c7fa22dcc977151e172541f4f227f3398b6df78026afbb",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2025_malaysia_male_19730824_P006.md": "8411611ce5d1c72efa170e0b140843f3f57f92980377cf8b9e0a06c709b51b9d",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2025_malaysia_male_19880110_P005.md": "82bb1a966d892185d3f5313f76350df5adbd15e3f991bad47b9c852751746f9d",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2025_miyazaki_male_19830421_P003.md": "83e198d2104f4bfb965d8d10940b6a346fa7be6f3357afe5e11dde981a1d321e",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2025_singapore_male_19930408_P004.md": "af9a2ba66cac3bf8d4326c4aee7e1295bc4bf81730d76cf6ae95cb3156f1a057",
|
||||
"评测/ai答案/kimi-k3/with-skill-v3.6/contest8_2025_taiwan_female_19880215_P007.md": "37e74234df45bd5c1397b0d6b30ca6a08b1060ed7e68f4c4ef6db494187f23db",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2021_female_19670827_P034.md": "ee81411cdc6bbba2881a3ada22efd70b7480929393c8c44f3b320e2b5b238b76",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2021_female_19750107_P030.md": "25c7646e2b00c1726ce0107b79e3abbec296986a3191a3a9ded6f610278faba5",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2021_female_19841220_P027.md": "8fdd1ba96ce4e36dd6c3553cc9952b94fc9abe8f026d52fbc615ec7216bc1577",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2021_male_19530127_P031.md": "27dad4273f2a0ff526ecf380b949dd9c448d6b08188b6353c68f34a2d5bf47e6",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2021_male_19540318_P025.md": "988d13a7672f0d39c0e69f6cb4713a33272f2f4b53ac99ff02e24060ba083719",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2021_male_19700723_P029.md": "2bfe2ec9be2777d9151a58c38aa2af0d920e1589750cdc2e5de5b52fa3732720",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2021_male_19710910_P033.md": "4e9a9b6f2f2fc823d64e45feb8ff90bedb54bafbccb6cae1e9a9086e0554e97a",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2021_male_19770706_P028.md": "c2c69d96411038d97ad593a9dc0bd72594e975abeabf267e142bfe12cc9d6dfd",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2021_male_19831019_P026.md": "d565f4cbfd13d86725d0b2cb0c5f9e8873ef7311e0709b40292e202cd5ec1693",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2022_female_19771026_P020.md": "4143b0ba66322ea2973e9da677f99bd4bc799d2815c738baed096d138b01b363",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2022_female_19810526_P018.md": "ea3529a5c0a550db5f117b993cebd1f40efd27200a0509777c41d1e35ca8755d",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2022_female_19841209_P023.md": "a3623eea4d6f502bdf8145edc09b1275e8b8ba1cb479e55f0a369674cab8701d",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2022_female_19900523_P019.md": "b2c38d15a8a36f38ce4d50551c21354782cf4b240ffa0e60851862201cd6140a",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2022_male_19740428_P017.md": "02407ca998ea64b901329abf0c9f3c3c77e4f9a8604ceffa21b37a8ab474b745",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2022_male_19810617_P024.md": "943da34cac808e82af16bcbc79a4dae8f7dee1c619d606614901f9a5f7845463",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2022_male_19831101_P022.md": "e27145ebbde7fa5f058663d0000329725ce23b65a87b82907c30ee4d15c587b9",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2022_male_19850629_P021.md": "d34797aa202db971931fe8d2e81ebf3498f50892b400301f03b49fccb09cdfae",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2023_female_19581027_P014.md": "59acd0400f37763024880ea5ecc17fd125fd77f6d16d144dec31bea88ca0e1e6",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2023_female_19661018_P009.md": "9b6ad5ac4b453797c5d2c9c96d05b2d3c66c9c6065301d3b64ef61d182135aef",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2023_female_19780405_P013.md": "3f8f382282e2ed0c97d2f08a4e9ded2bdd6f49e124bb781cc6d0e683dbfc32e5",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2023_female_20020601_P015.md": "80b39705ce8a4bfb7eeaa9b8c3d190995d2b6d10c0039471617fe88f128db977",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2023_male_19560311_P012.md": "68f7aba10f3fc6bc6a9ea72d3f5c47424159c38ff6444be8b3e93912943bb984",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2023_male_19620806_P010.md": "ecf1c87d86a999f5ccc6392095530f0d8c08a0c861bcc79279b78f31f6258272",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2023_male_19800711_P016.md": "4b2845f7553304ab27716cceaf5da6ed5c1c53777aedf49e8270817da613bc6d",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2023_male_19860424_P011.md": "46945895c8c7fd3e3fcc8ddfe7dd2163d7928cb3446489c105b54f75f2ae37a3",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2024_chaozhou_male_19720108_P002.md": "443cc804b4e7626b85519447797e18147fe0548085d4d4763b5718e69050344e",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2024_female_19800921_P007.md": "ced0bdfbe280d4497d10f25f1c398b8bfe82bd537971e7358960a085a7925ce0",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2024_female_19830326_P006.md": "f20afe8b8c3358f95f2d09c458a43b709ac626e28a1a0a7ca05d65ea1ad15736",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2024_female_19831028_P004.md": "88d9d614c432cfcdff23f4445904aed4ac2771dc12c174724eb51ef6cedcf979",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2024_guangdong_female_19800824_P001.md": "831162ecaab5f416af2251b999f33c04551fe5eabb3cf58e7b7f32e62d052a60",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2024_male_19611230_P003.md": "c0ccd5dea489266e229b3894a78db5458a25b7c2b36422614421834d7629141f",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2024_male_19710412_P005.md": "71d47aca06eb20f3a01a7004e883d068e054e0770d4fbeded45e7a1663826efb",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2024_male_20070131_P008.md": "d901af6c056da834323fbc92c604da323e31e50c529f86f66748c9db4a2ba1d5",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2025_beijing_male_19700722_P008.md": "49dbdaff537afb6e49689506f5c75343b2001d041b41bf4c1e049cb5baf864b8",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2025_guangdong_female_19511114_P001.md": "67f5b5391c3f0f870d61b7159f996d16b092cc22a6efc2582c4bf6012f6ac811",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2025_hongkong_female_19870705_P002.md": "df72105214a2dd983f8c4e9483979cc42f280f3f059d2cbd3f12b77d1e6ba57c",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2025_malaysia_male_19730824_P006.md": "0e2ec9078eed02c5e3ada854d8873c1c951df144ac8cbcedb1cde729f83bdf47",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2025_malaysia_male_19880110_P005.md": "6303b2071e963c2d517f2f8927af8fb140990c4bcabf0195f2689796030aec68",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2025_miyazaki_male_19830421_P003.md": "606ac01aab499474aa28cd4a408e869267e0482399b4154f57c67a14470b0500",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2025_singapore_male_19930408_P004.md": "c3b4adc1de18ec20423f696ef7145e6a57174d23eed63cfd9431db3328a71675",
|
||||
"评测/ai答案/kimi-k3/with-skill/contest8_2025_taiwan_female_19880215_P007.md": "b160ddc6748f1146edcbac732a01fef52f39a2ee89f6f66257444d442f5b0209",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2021_female_19670827_P034.md": "269d232c101be5ae7bd1483b2d00c651cc32a9fdb8a59f8039c4e5edfb2e4d30",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2021_female_19750107_P030.md": "4394ea0ff5a60be304306dc8e06d9dd2ec9e953cdd0735a5754a84281c9ea878",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2021_female_19841220_P027.md": "37cbb1648503661186b4f4843412cecf059870454f61114508d182ebfb54d823",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2021_male_19530127_P031.md": "eddbf1649cef0bba3eafbd5b6caa8cc01446223e4b6fd5b49fadf4e01d1662b7",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2021_male_19540318_P025.md": "0bf1d67c2c0cd231280163beab71ea7588d3cf1cce582144d17dcd294a3b0bd3",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2021_male_19700723_P029.md": "d5b766de2f0358c59009af19c2bcca0d72a36fcab7064e0a978753dec3d551ab",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2021_male_19710910_P033.md": "ad3a17a9298c88157524cfabca71a516cc53a4a97830c9f0054acc7dbaf3aacb",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2021_male_19770706_P028.md": "52b7ea3b65df8253a9cf469d68f953deeedfe8753454787117db7c11289f8564",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2021_male_19831019_P026.md": "6d2dee7bfc8a3a87af67cf482bc89629a88d506bf0e29f077fab99969147471c",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2022_female_19771026_P020.md": "49811f8fe449d65b818086ea1fe5351d2f28501fae6262b5fc156890d7f91ebc",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2022_female_19810526_P018.md": "2e7e5fa0db775483fcd55a431a537c84d439e673e58f9e251a52559e344a77be",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2022_female_19841209_P023.md": "76aac24f4c82baf098cc60c2553bab3dce3af2817dedd8ae004307f73c0f0ccf",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2022_female_19900523_P019.md": "75e5a7fde24f3d0c5b73b371a4609b87ebd7d96ee734874664993cf0c8bc9873",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2022_male_19740428_P017.md": "dee0069991ef45a4875c490973d036bafc10b41340839232b972748c0dcf20db",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2022_male_19810617_P024.md": "45366ed514ca1f3ba98b848d7b1c1375866b355c99f9f88302dbe074bde3a80f",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2022_male_19831101_P022.md": "8f513113a767816f835a4db9640f2b7a8791c6aa1b96e5b12af867fd80d91900",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2022_male_19850629_P021.md": "65f396358f294d317d6ab16d2b309ba17ed4086c7fde088be87c20f06819eebf",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2023_female_19581027_P014.md": "4a107196b3e3751732846cb5b49f4cf76f589b1a90a86e1ac39868710d6bd478",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2023_female_19661018_P009.md": "0b7cf65d6dd8155a3b5cff6178a2a6b0425aa60d4bb4f2c054c605d6a61440dd",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2023_female_19780405_P013.md": "716da251ba235e923dad30ba071230ef057c2335a51dc1e37436843c36598f8a",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2023_female_20020601_P015.md": "0f6c27e6babbd0d295b9f5fe6baeb86153e5f0fa366e12dabfdbd5099029dbfd",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2023_male_19560311_P012.md": "492471cfd53b0a3f1bb066b1b11547bdd15bb14ddcea3e733ad203138b7c8387",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2023_male_19620806_P010.md": "cbe6e794dea5b5f44cdbca22084788045ff1105418cbb1a99658f8ad0c132c67",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2023_male_19800711_P016.md": "e058f8854e2dbbc6525ea33ebcbc995ee32718e8f5f812fd2b3f765fc22ecadf",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2023_male_19860424_P011.md": "044c90a00d3b075be67c4230d2ebd16a211465314f397331ecdd54920cf75933",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2024_chaozhou_male_19720108_P002.md": "7fbbfec6d6e83c327e6782f2ee979c995ad5fcc64cf4968e50097f4a465e51fe",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2024_female_19800921_P007.md": "cd100e55c404a13e9ed4d400d68b6c3e399311484b135b55f5c8d7585bc43dfd",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2024_female_19830326_P006.md": "e516858ec8deb671ec560489d14dd8e164affbe6db425036674ebfa9558c7185",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2024_female_19831028_P004.md": "b38d1f725e43e38dd5092e32cd818459095def601f8c7d422f9a34137952c960",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2024_guangdong_female_19800824_P001.md": "82a95ecea55bce0df52602c04301bc992a18bf3063f30001bca726d50e2ed310",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2024_male_19611230_P003.md": "323c49b3b54710e1ced172ff9717358ed0fb6df73c6555ac1c9dfae8cd063871",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2024_male_19710412_P005.md": "b51133a35cfab09e2144aabda0458c47439c74d86574fc37d6e078bcc6be6955",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2024_male_20070131_P008.md": "ae663dae3de71785f86cb073bb43c77764c41ea4dff989d088c07b7142e9ec90",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2025_beijing_male_19700722_P008.md": "c919a8bee44c09aaaee10b09290160fc64561d0033014a59fa05a9e0fd707aec",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2025_guangdong_female_19511114_P001.md": "497cbcbfc3ae2d309694833264d92c0299aa2668a9e9e2b5310d5e3fda48c89c",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2025_hongkong_female_19870705_P002.md": "20bc4fd71835f8c4bcffac83cda8232f9f3c227b7da2463481e580bacb0c97c0",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2025_malaysia_male_19730824_P006.md": "67e37899af8d9c6e7961b95777fe1403751f805dc24ac58d124af513fefc0b55",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2025_malaysia_male_19880110_P005.md": "c2bd8fda179e2d5519478268668f347688dec616aa872b36d9fa4941a1ff0b88",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2025_miyazaki_male_19830421_P003.md": "d35e857bd6338719356e366da287c572d9ae025a5e212614a6463176d5ae90aa",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2025_singapore_male_19930408_P004.md": "896452b1cfb74cd33bbed86100d91a1afd20cb9622b936b892e3a227e3dc1f14",
|
||||
"评测/ai答案/kimi-k3/without-skill/contest8_2025_taiwan_female_19880215_P007.md": "225657f531b1fbc161f9a5676cbeaec826d950630b64e93b5cda26ce6233ba69",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2021_female_19670827_P034.md": "87fed0726c9a02092d5f4293b8338cee00843b2306a20b04bcbf4c965db9581b",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2021_female_19750107_P030.md": "1897a11941449420e768e8da445fa650f5cff0d262d8156b70e71b65f5cfdde7",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2021_female_19841220_P027.md": "6993696244a12ea5bfc40969078799bec321d3547c2334fe5b4d56eb63bb3130",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2021_male_19530127_P031.md": "1538a103b4f915662bfaf7d31dee93ac3f730e24c194c593a017daa1f9081abd",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2021_male_19540318_P025.md": "30992c677c751eb38d26625057113ea91ba11447579a2197525723e3acaf1408",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2021_male_19700723_P029.md": "8e9b5927c0483952baf54bed99344b77d276ad26f17f1f28a70cbaabaa3b0e4c",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2021_male_19710910_P033.md": "00a199eb464594fb3f7a43e0a48c85259ddafd9d32e9c1b48750617e5422b6dd",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2021_male_19770706_P028.md": "119a695a23bdeec73fdd6816bdf5f5b3cb1de069fc90fd3ec1da2b3c1aafb746",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2021_male_19831019_P026.md": "63cba9627d48ddbc176b0555091648b59efa1933842d1d31bf19df9a87a04a6c",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2022_female_19771026_P020.md": "f45fb2882db389c07ba0701f1b853826361d4c74ee53f3352ee237868dfb2201",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2022_female_19810526_P018.md": "c75d5528d2659b88eb35e34954c73064b1599e2c64d2f4746e5bfaa59fe0ab3e",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2022_female_19841209_P023.md": "1056ef463b979e7dbbfeb9d8dbc94a62882a17a7ac270b113ebfe23fcc9f353d",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2022_female_19900523_P019.md": "6bd6fe16a313680eff003a0a80f81c0d9abca279f7eaf1855eaa032194c1997f",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2022_male_19740428_P017.md": "87bc6d537ff5eac8633faec7886e12add63567633272f4b43a89a849bcf68a15",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2022_male_19810617_P024.md": "96035e59096b503d43bf55c17a167da39e6397c1e402b688468cd50582bb9296",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2022_male_19831101_P022.md": "4aa0cbd9fe67b9e612e0a7a143a28000dc2288008b31a7555ac68d81f818a9a9",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2022_male_19850629_P021.md": "165e94609bcc653bb8186a2b441619816e363e6c1316511d5f9952b10e7cd1a4",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2023_female_19581027_P014.md": "d83a181015849e9923f07e3908b6c7f7ccfec935c1464d48c6c5dcbcd17a6dff",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2023_female_19661018_P009.md": "3ab3b57226c524155fbdca7c7980c4e449efcb842f01e3727e9e059d9b62f613",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2023_female_19780405_P013.md": "0cd0f73bcf3da2b59fbac1134721ec5e37795e000eba2e521494db80f235c247",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2023_female_20020601_P015.md": "aed35d6e5e8ec171457ee6d279bece67571d1b133df096e3257b79484bb59e2d",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2023_male_19560311_P012.md": "4ec472c89d7d016abde29860412103ff52a2c573a974e90563d6551a6ff128a4",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2023_male_19620806_P010.md": "c4332bd2ef414ab5906c82cb94e9cd41412433ba953161364440461ffc7cc83b",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2023_male_19800711_P016.md": "7b0f6378cb2897c0465974b2a73c557c1f4d07350846778458ba749a262e2240",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2023_male_19860424_P011.md": "49355ace3453f1d0c5f0fd83d2174d9887745a75a101ff41792536aaa5c6a081",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2024_chaozhou_male_19720108_P002.md": "70d37ffc478eb19d2e752ba9518d2703ca80853e04613c7542e1ad6e4e6f9843",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2024_female_19800921_P007.md": "9ef806222863df0876fffaf14a94d94ad18c940b271af3ea43e778f56c2122fe",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2024_female_19830326_P006.md": "50a022a635d5b6b80e3b3d0a92147b749ce5b2a7ac8629d5d9e0a88ede2579c5",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2024_female_19831028_P004.md": "cf182bca0ad8a2a716509c782d6d1f4eb02f276011f4683208729dfe4c101bae",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2024_guangdong_female_19800824_P001.md": "806127e8fd3654fded1a664dc5ce2da93d43ade8594a4d7e035f605bb44455e7",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2024_male_19611230_P003.md": "461a6c4227b4f97aa2ce3211c9b2ffd568cd9357752cecf70e33969c49a49af9",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2024_male_19710412_P005.md": "df3fe6fcc7a9ce244d69f6a5763819b2b270f9347c523ef0f20ef05c48a4d0d0",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2024_male_20070131_P008.md": "749db455127d280a3106f8fa1158846b412e05b74adb883fa0cfb3f8f81ff57d",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2025_beijing_male_19700722_P008.md": "8724c55db1028e5421a09f622bca6dd93d99e166c32204f7ec99208b16d2c8a0",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2025_guangdong_female_19511114_P001.md": "1439ee530002b1caca79b785a8f0183664eb232bc18aa100ade6da0b652b1004",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2025_hongkong_female_19870705_P002.md": "c54e3d5ee93bdbe59918959352c55c65f4e3307c8c11d793655564d4c0697ad1",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2025_malaysia_male_19730824_P006.md": "0ec8fbf1960a8da5100ee3ae0d5e61cf4b86ed1a53c8e64cda3933393138e2fc",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2025_malaysia_male_19880110_P005.md": "4b001078f577913e933f11fef71b095a9d904385cf353d91fa4cf7612de32f77",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2025_miyazaki_male_19830421_P003.md": "6aa7c02268fd81eb1a59b782944a546d2265d8ad6964434f8b279a978bad3f62",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2025_singapore_male_19930408_P004.md": "86a54ae9798f497df06982679c5801db1082684d03ffd56726bc4c9722dd4a0c",
|
||||
"评测/ai答案/qoder-agent/with-skill/contest8_2025_taiwan_female_19880215_P007.md": "f794deced5efc19ac5705db62d2e28fceb165337dd33c28116d1da64d661a533",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2021_female_19670827_P034.md": "f236840e9b33460a80b970bd9970aad4484483729a51366a0282c2ca6afcb1d2",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2021_female_19750107_P030.md": "82be21dc8d1b39514a86fa11c2fac587e95140809793d966f7e261bc6827e679",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2021_female_19841220_P027.md": "a8039b737125ae392aa5b54625b128c7cb30d64887ed13cb22bc766ba73c50f8",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2021_male_19530127_P031.md": "45485995c0a67daf152c63626701fa01d9eb9ddd966aa58dd6885f0733915570",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2021_male_19540318_P025.md": "4480c6902402f050e1762ea33cffe6098669f405de29a42bf94c6e87159f97fa",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2021_male_19700723_P029.md": "4ae037ca154e4ad20b5dd4af0947427d401dcce884f65c356bf57db9cfbf82c5",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2021_male_19710910_P033.md": "eb4cc0489edb847894b2aa2b106b64bf610616a9c88d8f240ab2ef00699bd1bf",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2021_male_19770706_P028.md": "b03182c8e7270811cc382b501ba915f703179121fe415d42f628e06264cdcfc6",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2021_male_19831019_P026.md": "100bb421373322487735839053a286571439e18a9a5fc13517012cdfc105b153",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2022_female_19771026_P020.md": "9b6b52fb4b0c912bbfc0a1e77c5ecd3412fe8ce813668f87e558adf3b7bf52a1",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2022_female_19810526_P018.md": "2a95c2bf08bb1b9804995d83398c8ce5c8ac8df7611595120a206efd6fa8376d",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2022_female_19841209_P023.md": "b22f52b0499706782d1553e159ece2020bbc5e0207779bd3b274ea20219f7196",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2022_female_19900523_P019.md": "67a277e9a40b3958c94602cfb6d0dfe60b44c9d3693e6adfee5b42be0df95cb1",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2022_male_19740428_P017.md": "b4eab1cd9ff24f1cf12af275929894311cb23dc355c236cd08e7972c48aabb99",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2022_male_19810617_P024.md": "8f642e0037d38de845cea51f4230e420d9645cdac0d6e7dcd4f77cc017423dd2",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2022_male_19831101_P022.md": "ab4350a7050893c0699d8e5bde7b4c9a38b928e2b9e6e145bc0d25fbfed3bb72",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2022_male_19850629_P021.md": "70b6927adf0243f4a2fa5857a58906653791011b2f971cb6e9e00eb3253f30e8",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2023_female_19581027_P014.md": "a26c235d19131b23d8d09b741b99737a1987a2e061d9a9e163b643e3f2437e56",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2023_female_19661018_P009.md": "1a691e997db5a3b98f2b6971d3cd9ea403d527122f86e3fef0c1bd6e1c86cff8",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2023_female_19780405_P013.md": "e8c6ecba33181185a38bde3583fe19a518cce4cbc68d3c4f00610c28a14feb55",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2023_female_20020601_P015.md": "d6fe77ea589b2be09de049fc674d5cc276c077dbb499b90488fd75310fdda683",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2023_male_19560311_P012.md": "fe3025cbebd08c6421e1e7a48995d19b536b0ab4b53a848f316cff255214999f",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2023_male_19620806_P010.md": "2bf8f8efa695338b16d4e61b4d6ede261ec9c903ba0d9ff94a31b8269b283c60",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2023_male_19800711_P016.md": "bb456eea1e09cee0fbcf9cd6765f26745aefdcd76c7d1386a15dcd73367f1d07",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2023_male_19860424_P011.md": "b9132c3f42488fbf36335b45ac20aedc6d4ef7e5680579210c27b66f65e5125c",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2024_chaozhou_male_19720108_P002.md": "2f863638aa04775f3a961305d69aa70a6b67836064469639570cdeb4f0e6243e",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2024_female_19800921_P007.md": "5f3d6fb975d044049d02ef7261e58c42c9716c4249c51a42e2a043013fcefbba",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2024_female_19830326_P006.md": "6ba7167ea3a846f0d37d7b493ec816f27228379b15c050d0074c94eac298f6fe",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2024_female_19831028_P004.md": "2d62e1c05327070b7ffa3856281594e5d56c5e47487e81d418d4bee329169087",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2024_guangdong_female_19800824_P001.md": "18ba84e58e9c3e89edc39010a82b9341ab7a05ca4280526aaf816e50b4b8555a",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2024_male_19611230_P003.md": "d7f2ce4e1746730b96b3b70414568a2a2426d04c799094d13510d798289c2aa0",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2024_male_19710412_P005.md": "1e9d5d7c45a0b0fff288d5266c5c5dd9ff74e8ea04595e4428141d65b1278c3c",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2024_male_20070131_P008.md": "a5b61cb43c96270ab95830e44069849be97b49e80384bce2165f43525241462f",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2025_beijing_male_19700722_P008.md": "f9279e0cbef4b272ff6be561572c97c5c8012e1d6df21727a130989d7ceb324d",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2025_guangdong_female_19511114_P001.md": "bb82c5f6d3be803373fbc4d7bd6008dde102a1dad0f3b6c17cc53d5396858cec",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2025_hongkong_female_19870705_P002.md": "592264ced31e2c556fe1c1d77652325cae74e75662f18fb0b0487c0b47d326c5",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2025_malaysia_male_19730824_P006.md": "c8c51000b12c9d2edff8f4388a37a6fd767d259d5aad10aa292bffe85dfcce25",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2025_malaysia_male_19880110_P005.md": "66f65b308f2612452e5bf8e4f3923c85089f588c6269a3a6a09d6a587ac4ec37",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2025_miyazaki_male_19830421_P003.md": "781f861b26466df85476d7eef48c895dc8416222f2289b637ff95b1d0e92c5cc",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2025_singapore_male_19930408_P004.md": "fa3bd70449a4985658b01d744782728898e969d66ef257f32e96f20dd7a4da27",
|
||||
"评测/ai答案/qoder-agent/without-skill/contest8_2025_taiwan_female_19880215_P007.md": "cc8901763718c11a136cb1329671a4c4a444c65cefca3f1f2affc27185556106",
|
||||
"评测/工具/extend_cities.py": "eae58222fb958ffae78fcd287b82483737e0b01007b374b64066e1b45d49d6b7",
|
||||
"评测/工具/make_blind.py": "b3c315030768c9956e33ca931d068b94a6ca2c22bffabfbb8ca079bc6abb737d",
|
||||
"评测/工具/render_scorecard.py": "105e3720c5eed3839ac6404b75430f04cd8bb3f4a988a4135a91ddba93991a9e",
|
||||
"评测/工具/run_eval.py": "2b33b1a1d79e057fbce17f3b00cc8ec90848c0892a7723e4d8e2ad04339c6e27",
|
||||
"评测/工具/scorecard_template.html": "886c92011cfcda903e7f1fda8f500a7ba0f8bae4fccaa890f89d62245098b953",
|
||||
"评测/测试规则.md": "78c89cc804fe0702a3ef565c747de03a69a961449f7c11b6e560b1742b24273d",
|
||||
"评测/试题/BaziQA-全球算命师大赛/SOURCE.md": "1dd5859f5c71eb59fc1500e19baf765493570dcf15fe91621f4bf696a83a3755",
|
||||
"评测/试题/BaziQA-全球算命师大赛/answers/contest8_2021.json": "0beba3fee1b34026f97063283e50767f1af44dc68cff86f0ac222a1c6f9a9368",
|
||||
"评测/试题/BaziQA-全球算命师大赛/answers/contest8_2022.json": "32c0bf6e7073364f8a023ba79963931c98a63f21ed751fb2099dd754bc7c3373",
|
||||
"评测/试题/BaziQA-全球算命师大赛/answers/contest8_2023.json": "41623577d7737a5705a32584b867f91f7ed77f76b5b56b72cc84852550f814aa",
|
||||
"评测/试题/BaziQA-全球算命师大赛/answers/contest8_2024.json": "b86142a332efe41b527790af616ebb8ff2f2f727a8ed0916c24f235ed1fb7f03",
|
||||
"评测/试题/BaziQA-全球算命师大赛/answers/contest8_2025.json": "a631acb94588f8a5393214b86d4ce71d23913b733bcb424567279c106b5033f9",
|
||||
"评测/试题/BaziQA-全球算命师大赛/questions/contest8_2021.json": "395aa64a0aa922fea080b5f4ef0cb85b3d81ea9d0d9b8b2aa4bc9fb3b3fd8b6e",
|
||||
"评测/试题/BaziQA-全球算命师大赛/questions/contest8_2022.json": "6d20dca147ef090e6c92ea91b87d7785bc8d4c52ab52ee9adbdb732f9226b6ec",
|
||||
"评测/试题/BaziQA-全球算命师大赛/questions/contest8_2023.json": "0d1f8359db45b6c781cc287bbde51c72704ae96f222eddecf80bb76511d975b6",
|
||||
"评测/试题/BaziQA-全球算命师大赛/questions/contest8_2024.json": "0d6aad37c9d1278c62fb52982865b06ad57bdb7f1b5356fbe6dfc44f06874d68",
|
||||
"评测/试题/BaziQA-全球算命师大赛/questions/contest8_2025.json": "29042db26d149e2cd09f9b6f7ad48518059bd015a40e043af5cbd1986538065b",
|
||||
"评测/错误模式分析-v3.7.md": "ba20c09e60fc04b37a89441c65412720fc91c90a9d69c0cee58f8e00b0b7a2d9"
|
||||
},
|
||||
"version": "3.5.1"
|
||||
"version": "3.9.0"
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
ry2yHNoGb4YuSmfp5B1xmG0a+/9FfRr+eQDRVZEMUmsgEMBn/HOLMTK588QZmYZEOrQbgaNkN6OpWa5ope0CBA==
|
||||
+15
-1
@@ -7,6 +7,11 @@
|
||||
python scripts/memory_save.py --name 张三 --gender 男 \
|
||||
--birth "1990-05-14 08:30" --place "四川省成都市"
|
||||
|
||||
# 换盘(经用户确认换盘后):重排并整体替换「## 盘面」段,frontmatter 同步;
|
||||
# 姓名/性别/出生信息读档案,--birth/--place 仅在校正时给覆盖值
|
||||
python scripts/memory_save.py --update-chart archives/<档案>.md \
|
||||
[--day-boundary 子正] [--birth "校正后时刻"] [--place "校正后地点"]
|
||||
|
||||
# 检索(条件任意组合、至少一项;大小写/空白容错)
|
||||
python scripts/memory_lookup.py [--name 张三] [--birth "1990-05-14 08:30"] \
|
||||
[--place 四川省成都市] [--gender 男] [--pillars "庚午 辛巳 己卯 戊辰"]
|
||||
@@ -21,7 +26,16 @@ python scripts/memory_lookup.py [--name 张三] [--birth "1990-05-14 08:30"] \
|
||||
`archives/<四柱连写>-<性别>-<hash6>.md`,其中
|
||||
hash6 = sha1(出生钟表时间 + 出生地 + 性别)(UTF-8)前 6 位十六进制,
|
||||
用于区分同盘不同人。同主键再次建档只刷新 frontmatter 与「## 盘面」,
|
||||
正文其余小节原样保留。
|
||||
正文其余小节原样保留。换盘(`--update-chart`)后四柱或 hash6 变动时,
|
||||
文件改为新主键名(目标已存在则拒绝覆盖,报错退出 2)。
|
||||
|
||||
## 换盘纪律(工作盘唯一 + 变更留痕)
|
||||
|
||||
经用户确认换盘(日界规则分歧、时辰/出生地校正等)后,必须重排并把
|
||||
「## 盘面」段整体替换为新盘:档案任何时候只有一个工作盘,旧盘信息
|
||||
(原四柱、换盘原因、确认方式与时间)记入「反馈与澄清」校订条目,不留盘面段。
|
||||
凡受变动柱影响的已有推断条目(归纳、流年大事各行)同轮标记【待复核】,
|
||||
复核前不得继续引用。
|
||||
|
||||
## Schema
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "ZiPingEightChar"
|
||||
version = "0.1.0"
|
||||
version = "3.9.0"
|
||||
requires-python = ">=3.10" # zoneinfo 需 3.9+,dataclass 语法需 3.10
|
||||
dependencies = [
|
||||
"tyme4py==1.5.0", # 精确锁定:历表数据跨版本会变,锁版本 = 锁可复现性
|
||||
|
||||
@@ -49,6 +49,9 @@
|
||||
但财透而无根仅一位者、及透食而无官煞者,不阻此门
|
||||
(与 R-杂-01 但书及合禄格诸命例对齐)。
|
||||
月令自有用神,或用神虽破而可救者,一概不得弃正格就杂格。
|
||||
从财从煞之临界(日主仅余一微根、合化存疑、透干不稳),
|
||||
不凭单一要件一票退回正格——依 19_杂格.md R-杂-38 两轨并推,
|
||||
从格与正格各给结论,行运喜忌对照呈现并注明临界因素。
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
+7
-1
@@ -1,7 +1,7 @@
|
||||
# 子平真诠 · 杂格
|
||||
|
||||
<!-- rules_version: 1.0 -->
|
||||
<!-- 杂格:月令无用神,权以外格用之。启用闸门见 00_总纲_取格.md R-纲-16;本文件蒸馏第四十七篇·论杂格、第四十八篇(附)·论杂格取运。 -->
|
||||
<!-- 杂格:月令无用神,权以外格用之。启用闸门见 00_总纲_取格.md R-纲-16;本文件蒸馏第四十七篇·论杂格、第四十八篇(附)·论杂格取运。从财从煞之临界判定(双轨并推)见 R-杂-38。 -->
|
||||
|
||||
## 1. 格之定义
|
||||
|
||||
@@ -142,6 +142,12 @@
|
||||
- **出处**:《子平真诠》第四十七篇·论杂格
|
||||
- **原文**:「若命是有子字,则丑与子合而不遥,有丙丁戊已,则辛癸之官煞已透,而无待于遥,另有取用,非此格矣。」
|
||||
|
||||
### R-杂-38 从格临界双轨:两轨并推,不凭单一要件退回正格
|
||||
- **条件**:从财(R-杂-10)、从煞(R-杂-11)之判定落于临界——日主仅余一微根(藏干余气、墓库微根、遥隔无援之根);或破法存疑(印被合化与否两可,参 R-杂-17 但书;比劫无根虚浮,参 R-杂-18 但书;食伤藏而不透、煞不透干之类,闸门要件疑似不备而非确证不备);或透干不稳(透而被合、透而坐下无根)。
|
||||
- **判定**:**两轨并推**——按从格(喜忌取运依 R-杂-32、R-杂-33)与按正格身弱(扶抑帮身为喜)各推一遍结论。两轨喜忌方向相反,行运喜忌须对照呈现,并注明临界因素(微根所在、合化之疑、透干之状态);取舍以证据较强一轨为主答案,另一轨降为备选(依 R-运-32 降级保留之科),直答置信度按不足「高」处理,存疑与边界段声明临界因素。**不得**因某一闸门要件疑似不备即一票退回正格——临界未清之前,退回正格与判为从格同是一轨之见;退回正格之后,从格轨之结论仍须留档为备选,不得删除。
|
||||
- **出处**:综括——据 R-杂-10/11/17/18 闸门要件、89_旺衰扶抑.md R-旺-37/38(假从假化之极端力量警示,存疑备参)综括
|
||||
- **原文**:(综括,无单一原文;参《三命通会》卷五·弃命从煞「如遇运扶身旺,与煞为敌,从煞不专,故为祸患」——从之不真者两轨皆有其验,故临界并推)
|
||||
|
||||
---
|
||||
|
||||
## 4. 败中有救(救应)
|
||||
|
||||
+26
-8
@@ -2,7 +2,7 @@
|
||||
|
||||
<!-- rules_version: 1.0 -->
|
||||
<!-- 蒸馏自 sources/子平真诠/26_论行运.md(第二十五篇·论行运)、sources/子平真诠/27_论行运成格变格.md(第二十六篇·论行运成格变格)、sources/子平真诠/28_论喜忌干支有别.md(第二十七篇·论喜忌干支有别)、sources/子平真诠/29_论支中喜忌逢运透清.md(第二十八篇·论支中喜忌逢运透清)。 -->
|
||||
<!-- 本文件为横切通论:各格局具体的行运喜忌见分格文件「取运」节;本文件给出行运的总原则、成格变格、干支分殊与透清会局四组横切规则,断运时用于校正分格条目(见 §5);§7 为断运操作序列,§8 为事类落地(由引动合成现实事件候选),§9 为断年核对回路(落笔前强制重新查表)。 -->
|
||||
<!-- 本文件为横切通论:各格局具体的行运喜忌见分格文件「取运」节;本文件给出行运的总原则、成格变格、干支分殊与透清会局四组横切规则,断运时用于校正分格条目(见 §5);§7 为断运操作序列,§8 为事类落地(由引动合成现实事件候选),§9 为断年核对回路(落笔前强制重新查表);§10 为童限,§11 为应期细则补(透清方向、多年同引动之收敛,【拓展】综括条)。 -->
|
||||
|
||||
## 1. 行运总原则
|
||||
|
||||
@@ -354,19 +354,19 @@
|
||||
- **判定**:每个关键流年**必须给出 2–3 个具体事件候选**,按以下程序合成与落笔——
|
||||
0. **前提挑战**:凡用户之问预设某事已发生(如「什么时候做过手术」「哪年发的财」),先核盘上有无该事类之硬信号(相应十神、宫位、神煞之引动结构);无硬信号者直答「盘上看不出必见此事」,再给倾向窗口——不顺其预设铺年份。
|
||||
1. **合成**:取该年诸引动所涉之「十神 × 宫位」(R-运-31),叠加神煞事类(94),组合成现实事件。例:流年巳填实空亡、冲年支亥,巳为驿马、又逢印星透清 → 「离开原生之地(冲年支)+住所与文书变动(驿马、印)」→ 候选:升学离家、迁居异地、入职外派。三线一视同仁:问感情、婚姻时同样给到事件级候选(如「确定关系/分手/见家长」),不得只给「起变化」「被牵动」这类方向词。
|
||||
2. **排序**:候选按可能性从大到小排列。排序依据三事:引动之喜忌方向(喜取顺象、忌取逆象)、组数多寡、人生阶段窗口(学龄、婚龄、育龄等自然节点)——阶段与引动吻合者排前。阶段窗口未问实前按常规学制等假设落笔的,须在候选处就地声明(如「若你 2013 年上大学」),不得拖到存疑段才统一交代。
|
||||
3. **落笔**:候选以「这一年常见于……」句式平列,不用「一定」「必然」。**直答收敛**:用户面直答只落一个主答案,至多带一个备选,并给置信度(能定到年/只能定到窗口/定不了);全量候选与排序依据收在分析推理段,不得以与主答案并列的语气再列年份。覆盖多个流年的批量断运,先经 R-运-33 核对前置分流,不一次性倾倒全部年份。
|
||||
2. **排序**:候选按证据强度(与盘面信号之吻合度)从大到小排列;路径分先后——细分规则合成路径之候选居先,直白取象(不经细分规则、由五行/十神/宫位直读可达)之候选一律居后,不与细分规则候选同等竞争;直白取象候选不因此删除,其出路为第 3 步之降级保留。排序依据三事:引动之喜忌方向(喜取顺象、忌取逆象;冲刑引动之吉凶方向先依 `91_何知事类.md` §3 冲刑方向判别 R-事-10~13 判定,不得以「逢冲」直落凶断或直落吉断)、组数多寡、人生阶段窗口(学龄、婚龄、育龄等自然节点)——阶段与引动吻合者排前。阶段窗口未问实前按常规学制等假设落笔的,须在候选处就地声明(如「若你 2013 年上大学」),不得拖到存疑段才统一交代。**排除句校验**:排除一个候选必须写出排除它的具体规则编号;写不出编号的排除不成立,该候选降为备选、不得删除。
|
||||
3. **落笔**:候选以「这一年常见于……」句式平列,不用「一定」「必然」。**直答收敛**:用户面直答只落一个主答案,至多带一个备选,并给置信度(能定到年/只能定到窗口/定不了);全量候选与排序依据收在分析推理段,不得以与主答案并列的语气再列年份。**降级保留**:依编号规则被排除、但直白取象路径(五行/十神/宫位直读)仍有支撑的候选不得删除,降为备选并在分析推理段留档(写明据何条排除、其取象路径为何);主答案置信度不足「高」(只能定到窗口、定不了,或两路径结论相分歧)时,直答必须带出备选。覆盖多个流年的批量断运,先经 R-运-33 核对前置分流,不一次性倾倒全部年份。
|
||||
4. **收敛**:用户核对后,以已证实之候选反推该组引动的事类权重;后续相邻年份同型引动的候选随之收窄(同型引动多应同类事),不得年年重新发散。**同机制年份其一证伪,共享该机制之其余候选年随之降权**(数年同以一组冲合填实为据者,一伪俱弱),不得以另一机制之名原样保留。候选全部落空(证伪)时按 R-运-33 第 4 步回查,不得硬铺。
|
||||
5. **豁免**:仅当用户明确只要喜忌方向、不要事件推测时,本条可不执行。
|
||||
- **理由**:R-运-28 禁的是「断具体事件之必然」,不是禁给候选。只给事类词不给候选,等于把翻译工作推回给用户——用户不对号,断语便无意义。排序与收敛使候选逐年变准,而非逐年放空。
|
||||
- **理由**:R-运-28 禁的是「断具体事件之必然」,不是禁给候选。只给事类词不给候选,等于把翻译工作推回给用户——用户不对号,断语便无意义。排序以细分规则路径居先、直白取象居后,防无规则锚定之直读取象压过有编号支撑之合成结论;直白取象不失出路,由降级保留兜底为备选,防细分规则误杀正解;排除须凭编号(与 R-禁-23 相衔),防自造否决误删正解;收敛使候选逐年变准,而非逐年放空。
|
||||
- **出处**:综括——操作程序据 R-运-22/23(透清会局之事类所在)、R-运-29(组数)、94_神煞细节.md(神煞事类)综括而成
|
||||
- **原文**:(综括,无单一原文)
|
||||
|
||||
### R-运-33 核对前置:先定场景,再定断运路径
|
||||
- **条件**:断运输出覆盖五年以上、或多个流年候选需要用户核对时。**核对一律在铺开断语之前完成**——不得先输出一大段再回头提问。agent 环境具备询问工具时**必须用询问工具**,无询问工具时以正文编号选项代替。
|
||||
- **条件**:断运输出覆盖五年以上、或多个流年候选需要用户核对时。**核对一律在铺开断语之前完成**——不得先输出一大段再回头提问。核对提问一律走对话式询问(见 SKILL.md「Intake 对话式询问」):以普通对话消息进行,禁用结构化问卷/点选工具,也不在正文罗列编号问题清单让用户勾选;一次最多问 1~2 个,答完再定下一个。
|
||||
- **判定**:
|
||||
1. **一问定场景(并入 intake)**:「这盘是您本人,还是替别人看?本人或知情人在场、能核对以往的事吗?」此问与缺项追问合成一次提问(见 SKILL.md「Intake 追问话术」),不单独多占一轮。
|
||||
2. **可核对 → 锚点核对**:从全部候选年中挑出 3 个左右**锚点年**请用户核对。锚点年选取规则:引动组数最多者优先;落在人生阶段窗口(升学、毕业、婚育、换工作)者优先;用户所问之线每条至少占一个。每个锚点年给 2–3 个候选事件(R-运-32)。**核对用结构化选项**:每个锚点年一个问题,选项为按可能性排序的候选事件、外加「都对不上」(证伪入口);几个锚点年合成一次提问,不逐条单独打断用户。核对结果按 R-运-32 第 4 步收敛后,一次性输出完整断运。
|
||||
1. **一问定场景(并入 intake)**:「这盘是您本人,还是替别人看?本人或知情人在场、能核对以往的事吗?」此问与缺项追问合成一次提问(见 SKILL.md「Intake 对话式询问」),不单独多占一轮。
|
||||
2. **可核对 → 锚点核对**:从全部候选年中挑出 3 个左右**锚点年**请用户核对。锚点年选取规则:引动组数最多者优先;落在人生阶段窗口(升学、毕业、婚育、换工作)者优先;用户所问之线每条至少占一个。每个锚点年给 2–3 个候选事件(R-运-32)。**核对走对话式询问**:一次最多问一两个锚点年,每问先以该年盘上一两句显著信号作铺垫,再自然带出按可能性排序的候选事件,并留「都对不上」的证伪入口;用户答完再挑下一个锚点,不逐条单独打断、也不合成清单一次抛出。核对结果按 R-运-32 第 4 步收敛后,一次性输出完整断运。
|
||||
3. **不可核对 → 直推**:命主不在场、不知情,或用户明言测试、「不用问、直接说」时,跳过核对,一次性输出最佳推断;直答按 R-运-32 落笔纪律给主答案与置信度,全量候选收在分析推理段。
|
||||
4. **证伪回查**:锚点全部落空时不得硬铺——先回头检查:组数判定是否偏重、学制等阶段假设是否错位、出生时刻是否跨时辰或跨日界(晚子时)、是否临近节气边界(命盘带 ⚠️ 节气边界提示者,重排另一月令之盘对照);修正后重新给锚点。
|
||||
5. **学制锚点**:断语涉及学业年份时,把一个学制锚点(哪年上大学/哪年毕业、有无复读休学)并入第 2 步那次提问,不单独多问一轮。
|
||||
@@ -386,7 +386,7 @@
|
||||
1. 重读本文件 §7 断运操作序列(R-运-27~30),确认程序未被跳过;
|
||||
2. 重读本格局分格文件的「取运」节,取该步大运的喜忌基线;该年属童限者改按 §10(R-运-36~39);
|
||||
3. 按 R-运-29 五组清单**逐组**核查该年:A 透清查命盘 `## 地支藏干`、B 会局查命支与运支的组合(童限段以小运代大运位)、C 刑冲害逐支比对、D 空亡查 `## 四柱空亡`、E 伏吟反吟逐柱比对——每组写明查了什么、命中与否,不得跳组、不得合并;**并回查救应**:流年干被命中之干合住、或流年支逢会合解冲(R-运-12)者,该组引动力度折减,候选排序时写下折减,不得以组数相埒为由并列;
|
||||
4. 合成事件候选时重读 R-运-31 映射表逐项对照取象;用及神煞空亡时重读 `94_神煞细节.md` 对应条目的查法表逐项重查,不默写查法;
|
||||
4. 合成事件候选时重读 R-运-31 映射表逐项对照取象;用及神煞空亡时重读 `94_神煞细节.md` 对应条目的查法表逐项重查,不默写查法;该年 C 组(刑冲)命中时,先重读 `91_何知事类.md` §3 冲刑方向判别(R-事-10~13)定其吉凶方向,再合成候选;
|
||||
5. 涉及六亲、婚姻、子息时重读 `96_六亲.md` / `97_女命.md` 对应条。
|
||||
- **理由**:规则文件是外置记忆;会话内的规则印象随对话漂移,断年不准的主因是没查表,不是表里没有。五步核对把「推断」变成「查表+合成」,候选的可对号率才有保障。
|
||||
- **出处**:综括——据 R-运-27~32 的执行要求综括为强制回路
|
||||
@@ -430,4 +430,22 @@
|
||||
- **出处**:综括——R-运-29/34 程序向童限段之扩展;小运代位据 R-运-36/37
|
||||
- **原文**:(综括,无单一原文)
|
||||
|
||||
---
|
||||
|
||||
## 11. 应期细则补(取象增补)
|
||||
|
||||
本节补应期框架之二漏口:透清之吉凶方向细则(R-运-40)、多年同引动之收敛(R-运-41)。皆【拓展】综括条——程序上挂载于 §4(透清)与 §8(候选收敛)之下,不替代原条。
|
||||
|
||||
### R-运-40 透清方向细则:透清定「事之显现」,格局处置定「事之吉凶」
|
||||
- **条件**:支中所藏逢运透清(R-运-22),而所透者为格局所处置之忌神(杀有食制、伤有印制、劫有官制、枭有财制之类),或所透喜神逢原局克破。
|
||||
- **判定**:R-运-22「藏喜吉应、藏忌凶应」之补——忌神透清不以「忌」字直落凶断:原局对该忌神有制有化者,透清之年应「所处置之事显现」——杀透应威权压力之任事、伤透应表达出品之事、劫透应分夺竞争之事,方向可为吉或中性;忌神透清而原局无制无化者,方作凶应。喜神透清而逢原局克破者(喜透逢伤),应喜中之疵。一言以蔽:透清只定何事显现,吉凶方向仍由格局对该神之处置与喜忌定(与 R-事-10/11 冲刑方向之判同科)。
|
||||
- **出处**:【拓展】据 R-运-22 与分格救应诸条(R-杀-03、R-伤-06 等)综括推导
|
||||
- **原文**:(拓展条,无原文)
|
||||
|
||||
### R-运-41 多年同引动之收敛
|
||||
- **条件**:所问事类在多个流年同见引动(如连续数年皆冲合所问之宫、所问之星),需收敛至具体年份时。
|
||||
- **判定**:不得以「多年皆有引动」合报「以上皆是」——按四序收敛至一至二年:①组数最多者优先(R-运-29 组数);②透清、填实(A/D 组,正神到位)者优先于遥冲遥合(C 组之远引);③与所问事类之十神、宫位直接相关者优先(问婚则冲合日支、夫妻星之年优先于冲他宫之年);④人生阶段窗口吻合者优先(R-运-32 排序三事同科)。四序尽而仍并列者,按 R-运-32 落笔纪律给主答加备选,不并列为「皆是」。
|
||||
- **出处**:【拓展】据 R-运-29、R-运-32 之程序综括推导
|
||||
- **原文**:(拓展条,无原文)
|
||||
|
||||
<!-- 副本 LY-20261007-AC63 · 授权对象 normal -->
|
||||
|
||||
+161
-5
@@ -1,13 +1,13 @@
|
||||
# 滴天髓阐微 · 何知事类(旺衰断语·细节参看层)
|
||||
|
||||
<!-- rules_version: 1.0 -->
|
||||
<!-- 蒸馏自 sources/滴天髓阐微/39_下篇·何知.md(《滴天髓阐微》下篇·何知,含原注与任氏曰),收「何知其人富/贵/贫/贱/吉/凶/寿/夭」八组事类断语。 -->
|
||||
<!-- 蒸馏自 sources/滴天髓阐微/39_下篇·何知.md(《滴天髓阐微》下篇·何知,含原注与任氏曰),收「何知其人富/贵/贫/贱/吉/凶/寿/夭」八组事类断语。§3 冲刑方向判别为 3.7 新增(书证同上篇·地支,附综括条)。§4~§7 为取象增补层(2026-10-13):§4 职业取象(自建映射,全节【拓展】)、§5 学业取象(综括推导,【拓展】)、§6 健康部位取象(书证《三命通会》卷七·论疾病先知五脏六腑所属干支、卷十一·消息赋;宫位粗架【拓展】)、§7 事类数量级(【拓展】)——皆细节参看层,不回改格局。 -->
|
||||
<!-- 分层定位:本篇八组断语皆滴天髓旺衰扶抑视角之事类断语(财官之通塞、喜忌之力势),与真诠月令格局法不同源——富贵贫贱吉凶寿夭之大纲,在真诠体系一断于格局四层(取格、成败、用神相神、高低)与行运;本篇只作格局定论之后的细节参看与事类联想,绝不回改格局结论,不得据本篇断语另立格局或改判贵贱。凡滴天髓另立取格之章(八格、从象、化象、假从假化、顺局反局等)不属本篇范围。 -->
|
||||
<!-- 加载时机:用户问及富贵贫贱、吉凶寿夭等事类细节时方加载;不问不加载。 -->
|
||||
<!-- 出处标注:【原书】指《滴天髓阐微》原文(含原注、任氏曰);真诠无「何知」篇,本篇无真诠原文。 -->
|
||||
<!-- 命例基准:tests/golden/91_何知事类.yaml(30 例,下篇·何知自带命例全收;库版本 3.1 第三轮验证 30 match)。 -->
|
||||
<!-- 加载时机:用户问及富贵贫贱、吉凶寿夭等事类细节时方加载;不问不加载。§3 冲刑方向判别另随断运加载——断年核对(R-运-34)C 组(刑冲)命中时必读。§4~§7 随所问事类加载:问职业行业/就业形态加载 §4,问学历学业加载 §5,问健康部位加载 §6,问财富收入量级加载 §7。 -->
|
||||
<!-- 出处标注:【原书】指《滴天髓阐微》原文(含原注、任氏曰);真诠无「何知」篇,本篇无真诠原文。§6 之【原书】指《三命通会》原文。 -->
|
||||
<!-- 命例基准:tests/golden/91_何知事类.yaml(30 例,下篇·何知自带命例全收;库版本 3.1 第三轮验证 30 match)。§3 新增条无原书命例基准。§4~§7 增补条无原书命例基准。 -->
|
||||
|
||||
**分层声明:本篇为细节参看层。八组「何知」断语皆旺衰视角断语,只用于格局定论(取格、成败、用神相神、高低)之后的事类参看,不回改格局结论。**
|
||||
**分层声明:本篇为细节参看层。八组「何知」断语皆旺衰视角断语,只用于格局定论(取格、成败、用神相神、高低)之后的事类参看,不回改格局结论。§3 冲刑方向判别同属细节参看层:方向判别据格局喜忌作出,不回改喜忌本身。**
|
||||
|
||||
---
|
||||
|
||||
@@ -76,4 +76,160 @@
|
||||
- **原文**:「何知其人夭?气浊神枯了。」「印绶太旺,日主无着落,财杀太旺,日主无依倚,忌神与喜神杂而虞,四柱与用神反而绝,冲而不和,旺而无制,湿而滞,燥而郁,精流气泄,月悖时脱,此皆无寿之人也。」「气浊者……虽不寿而有子。神枯者……皆夭而无子也。」
|
||||
> 存疑:「忌神与喜神杂而虞」之「虞」疑为「糅/杂揉」义之讹字;原文照引。
|
||||
|
||||
---
|
||||
|
||||
## 3. 冲刑方向判别(3.7 新增)
|
||||
|
||||
本节补「冲/刑只表『动』、不表吉凶」之方向判别——冲刑之本义为引动(`90_行运.md` R-运-29 C 组),动而向上向下,由下列判别因子定。与 R-运-10~13 分工:彼论冲之有无、逢冲不冲与力之缓急轻重,此论冲刑之吉凶方向。断年核对(R-运-34)C 组命中时,先经本节定方向,再按 R-运-32 合成事件候选。
|
||||
|
||||
### R-事-10 冲刑为动,不自带吉凶
|
||||
- **条件**:命局或岁运逢冲、逢刑(R-运-29 C 组命中),需判其事之吉凶方向时。
|
||||
- **判定**:冲刑只表「动」——关系、处境、状态之被激起与变更;动本身无吉凶,吉凶视所冲所刑者为何神、其力之衰旺、有无解救而定(R-事-11)。不得以「逢冲」「逢刑」直落凶断,亦不得以「冲动成事」直落吉断。例:流年午冲日支子——只可读作「己身/配偶之处境被激起而动」,成婚与婚变两向皆开,方向待 R-事-11、R-事-13 判别。
|
||||
- **出处**:【原书】《滴天髓阐微》上篇·地支(冲之吉凶以衰旺喜忌验之旨)
|
||||
- **原文**:「必先察其衰旺,四柱有无解救,或抑冲,或助泄,观其大势,究其喜忌,则吉凶自验矣。」
|
||||
|
||||
### R-事-11 方向主判:喜用受冲刑则凶向,忌神受冲刑则吉向
|
||||
- **条件**:承 R-事-10,辨所冲所刑之神的喜忌与衰旺。
|
||||
- **判定**:两轴定方向。①喜忌轴:用神、喜神受冲刑而动 → 凶向(失去、变动向下——得之复失、成而复败之类);忌神受冲刑而动 → 吉向(解除、变动向上——病去、缚解之类)。②衰旺轴:旺者冲衰则衰者拔(连根去之),衰神冲旺则旺者发(激之)——冲之者有力则能去之,去凶神则利、去吉神则不利;冲之者无力则反激之,激凶神则为祸、激吉神不为祸亦不获福。两轴交参:喜神旺而受衰神之冲,动而无伤、或激之反发;忌神衰而受旺者之冲,连根拔去,为解为除。例:庚寅、壬午、丁卯、癸卯造,财官虚露无根、枭比当权,运至甲申乙酉,金旺冲去寅卯之木(忌神),所谓「衰神冲旺旺神发」,骤然发财巨万——忌神被冲,吉向。
|
||||
- **出处**:【原书】《滴天髓阐微》上篇·地支
|
||||
- **原文**:「旺者冲衰衰者拔,衰神冲旺旺神发。」「冲之者有力,则能去之,去凶神则利,去吉神则不利;冲之者无力,则反激之,激凶神则为祸,激吉神虽不为祸,亦不能获福也。」
|
||||
|
||||
### R-事-12 冲合互见之转化:冲中带合、刑后逢合
|
||||
- **条件**:冲刑与合同见于一处——冲中带合(逢冲之同时另有合牵引)、刑后逢合(刑冲之后岁运续逢合)、合处逢冲(原局之合被岁运冲开)。
|
||||
- **判定**:冲合互见,事有先后转化——冲中带合、刑后逢合者,先凶后吉、先分后合(动而起波澜,继而复合:先争执后和解、先离后聚之类);合处逢冲者,先合后分(原聚而被拆开)。子午卯酉四败之地有逢合而喜冲者、有逢冲而喜合者,须合全局喜忌细辨,不执一端。例:原局日支午与月支未相合(夫妻宫有合),流年子来冲午——合处逢冲,主婚姻先生动荡;若原局无合,流年子冲午而大运逢丑合子(或逢未合午),冲中带合,主先争执而后复合。
|
||||
- **出处**:【原书】《滴天髓阐微》上篇·地支(逢合喜冲、逢冲喜合之旨)+综括
|
||||
- **原文**:「子、午、卯、酉四败也,有逢合而喜冲者,不若生地之必不可冲也;有逢冲而喜合者,不若库地之必不可闲也。」
|
||||
|
||||
### R-事-13 宫位×十神之方向细化:婚姻宫、子女宫、官禄受冲刑
|
||||
- **条件**:冲刑落于特定宫位(宫位事类见 R-运-31)时,定其双向候选之取舍。
|
||||
- **判定**:宫定何事、星定何向——宫位给出事类领域,吉凶方向看该宫所主之星(十神)之喜忌、透藏、强弱:
|
||||
- **婚姻宫(日支)受冲**:成婚与婚变两向——夫/妻星为喜用而透清得地者,冲动多应成婚、定亲(动而成);夫/妻星为忌、或星藏受冲无制、或星被冲伤者,多应婚变、争执、分居(动而散)。参 R-女-24 三途交会:夫星透清或夫宫逢合会之岁运多应婚缘之成,夫星被伤、夫宫逢冲而无解之岁运多应婚缘之变。
|
||||
- **子女宫(时柱)受冲**:得子与流产两向——子星(男命官煞、女命食伤)强而得地、为喜用者,冲动多应得子、子女之事有成;子星弱而受制、不得地、或为忌而被冲激者,多应流产、子息之恙。
|
||||
- **官禄(官星与月令、年柱平台)受冲**:升迁与官非两向——官星清纯、为喜用得地者,冲动多应升迁、调动、职事之变而上;官星浊杂(官煞混杂而无去留)、或为忌、或伤官见官之局被冲激者,多应官非、口舌、降级。
|
||||
双向皆开时按 R-运-32 合成 2–3 个候选并排序;方向未判明前不得只落单向。
|
||||
- **出处**:【拓展】综括——宫位事类据 R-运-31;宫星喜忌据 96_六亲.md/97_女命.md(婚姻应期参 R-女-24);官星清浊据 `15_偏官格.md` 取清诸条;方向判别之理承 R-事-11
|
||||
- **原文**:(拓展条,无单一原文)
|
||||
|
||||
---
|
||||
|
||||
## 4. 职业取象(自建映射层)
|
||||
|
||||
本节为取象自建层——古籍无现代职业名目,诸条皆按十神本义(R-运-31 十神事类与各分格文件)、五行性向(《三命通会》卷七·论性情相貌、`92_调候.md` R-候-02)、宫位事类(R-运-31)之取象原理推导,逐条标注依据,全节【拓展】(非古籍明文)。只在格局定论之后供 R-运-32 候选合成之用——职业为事类取象,贵贱成败一断于格局四层,不得以职业取象反推格局高低、不回改格局结论。加载时机:问职业、行业、岗位、就业形态时加载本节。本节无原书命例基准。
|
||||
|
||||
### R-事-14 职业取象总序:格神定角色、五行定行业、宫位定领域、透藏定显隐
|
||||
- **条件**:已定格、判成败、定用相之后,需把格局信号翻译为现代职业候选时;参 `## 四柱` 天干十神、`## 地支藏干`、`## 节令` 月令。
|
||||
- **判定**:四步取象——①格神(月令用神)定角色主线:财格从商管财、官格从政管理、印格从文教学术、食伤格从技艺输出、煞格从威权高压(映射表见 R-事-15);②相神与透出有力之喜神定岗位环节:财格透官则企业管理、官格透印则行政文职、印格透食则讲授输出;③五行定行业领域:十神定「做什么角色」、五行定「在哪个行业」(R-事-16)——伤官(技术输出)配金主机械编程、配火主电子传媒;财配水主贸易物流与资金流转;④宫位定领域远近:月令为单位平台之性质、日支为日常贴身所做、年柱为大环境大类、时柱为晚来之方向或副业。多信号竞争之取舍顺序:成格之格神 > 相神 > 透出有力之十神 > 五行旺气 > 藏支不透之神——藏不透者不主外显职业形态、仍留作候选(R-禁-23 藏不透非无,不得排除);同层相竞以透干通根有力者先,皆无力以月令五行定。本节取象只供候选合成,不回改格局。
|
||||
- **出处**:【拓展】据 R-运-31 十神/宫位事类、《三命通会》卷七·论性情相貌五行性向、R-禁-23 综括推导
|
||||
- **原文**:(拓展条,无原文)
|
||||
|
||||
### R-事-15 十神→现代职业大类映射表
|
||||
- **条件**:R-事-14 第①②步;取 `## 四柱` 透干十神(尤格神、相神)之角色取象。
|
||||
- **判定**:十神角色→职业大类(各行末注取象依据):
|
||||
|
||||
| 十神 | 职业大类 | 取象依据 |
|
||||
|---|---|---|
|
||||
| 正官 | 公务员、行政管理、事业单位文职、企业管理岗 | 官为克我之正神,主规章、职分、名器(R-运-31:职务、上级、规章考核);官格佩印偏文职、带财偏管理 |
|
||||
| 偏官(七煞) | 军警法检、外科医护、竞技体育、安保、高压行业 | 煞主威权、压力、险地(R-性-29 兵权獬豸——掌生杀兵刑);煞有制化则以技艺或学术掌威权 |
|
||||
| 正财 | 实业、商贸、财务、固定薪资经营 | 财为我克之资源与营生;正财主稳定、份内、固定之财(财格用食生→实业生意) |
|
||||
| 偏财 | 投资、销售业务、流通金融、自由业、偏门收入 | 偏财为流动之财、众人之财——不固定而向外取(与正财之稳定相对) |
|
||||
| 正印 | 教育、学术、文化、出版、编制内、文印档案 | 印主文书、学业、单位平台、庇护(R-运-31);正印为正当之文教 |
|
||||
| 偏印 | 玄学命理、心理、医药、研发、冷门偏门专业 | 偏印为生我之偏门——非正途之学;与华盖(向学孤处,R-煞-08)、太极贵人(R-煞-22)同参 |
|
||||
| 食神 | 餐饮、演艺、服务、创作输出、手艺 | 食为我生之泄秀——饮食享受、表达输出(R-运-31:表达输出、口才、饮食享受) |
|
||||
| 伤官 | 技术工程、艺术、批评评论、律师、自媒体 | 伤官主才华外发而傲上批驳(R-性-14 清浊);伤官见官→对抗规则(律师、评论);伤官生财→技术变现 |
|
||||
| 比肩 | 合伙经营、同业连锁、体力劳务、工程协作 | 比劫为同辈之分夺与协作(R-运-31:同辈、合伙人、竞争者);身旺无依以比劫为业者主劳力 |
|
||||
| 劫财 | 投机、风险行业、中介抽成、博彩 | 劫财主分夺争夺(参 R-亲-23 比劫与财之理);与偏财并见主风险取财 |
|
||||
|
||||
表为开放清单、非穷举(同 R-运-31 之科);表外取象须与十神本义相洽,且只在分析推理段注明。
|
||||
- **出处**:【拓展】据十神生克本义(R-运-31、R-亲-02、R-性-14、R-性-29)推导,无古籍明文
|
||||
- **原文**:(拓展条,无原文)
|
||||
|
||||
### R-事-16 五行→行业细化表
|
||||
- **条件**:R-事-14 第③步;取格神、相神或透出有力之十神之五行,或全局最旺一行(R-旺-22 源流之源头)。
|
||||
- **判定**:五行性向→行业领域(各行末注取象依据):
|
||||
|
||||
| 五行 | 行业领域 | 取象依据 |
|
||||
|---|---|---|
|
||||
| 木 | 文教出版、林业园艺、纺织服装、家具木材、中医药 | 木曰曲直,主生发条达、五常主仁——生发之物与文教之化育 |
|
||||
| 火 | 能源电力、电子光电、传媒影视、餐饮烹饪、美容 | 火曰炎上,主明丽外显、五常主礼——光、热、影像、烹饪皆炎上之用 |
|
||||
| 土 | 地产建筑、农业种植、仓储、矿产陶瓷、中介担保 | 土曰稼穑,主承载化育、五常主信——地产种植皆承载之用,中介担保取信义 |
|
||||
| 金 | 机械制造、金融货币、五金、司法军警、医疗器械 | 金曰从革,主肃杀断制、五常主义——金为货币财货、为器械,肃杀为法纪 |
|
||||
| 水 | 物流运输、贸易、旅游、水产、饮品、资金流转、信息网络 | 水曰润下,主流动不息、五常主智——货流、人流、资金流、信息流皆流动之用 |
|
||||
|
||||
行业取象以「十神角色 × 五行领域」合成:伤官配金→机械/编程(技术输出于金之器械),伤官配火→电子/影视(技术输出于火之光影),财配水→贸易/金融(财于水之流通),食神配火→餐饮(饮食于火之烹饪)。五行只细化行业领域,不定角色贵贱。
|
||||
- **出处**:【拓展】据五行性向(《三命通会》卷七·论性情相貌:木名曰曲直、火炎上、土稼穑、金从革、水润下,五常仁礼信义智)推导,无古籍明文
|
||||
- **原文**:(拓展条,无原文)
|
||||
|
||||
### R-事-17 就业形态判读:受薪/自营/专业技术/自由偏门/居家不就业
|
||||
- **条件**:问职业之形态(受雇或自营、稳定或迁徙、就业或居家)时;参 `## 四柱` 透干十神之配置与格局成败。
|
||||
- **判定**:形态五辨——①受薪管理:官印相生、财官双美、禄格用官者依托平台(官=组织规章、印=单位文书);②自营经商:财格用食生、偏财透而有根、财食并透者自创营生(财=资源、食=生计手段);③专业技术:食伤吐秀为格为用、伤官佩印者以一技立身;④自由偏门:偏财、偏印、劫财用事而无官者无组织约束(官=规章约束);⑤居家不就业:格局成败定富贵层次、不定就业形态——财官成格、身旺者亦可居家不就业,不得以「成格」「身旺」排除居家候选;形态信号:财官印食皆藏支不透、或透而虚浮无生克通道者,事业不向外显;女命夫子星成局而己身财官不透者,多应家庭主妇形态(参 R-女-30——身旺无官、财星得令得局亦为上格,格高不必任职)。稳定度:格神单一清纯、坐实月令无冲者主一业到底;用神多而杂者(R-性-15)、岁运屡引变格者(R-运-16)主职业多迁。
|
||||
- **出处**:【拓展】据格局四层与事类之分工(R-事-01)、R-禁-23(藏不透非无、无路径非反证)、R-女-30 综括推导
|
||||
- **原文**:(拓展条,无原文)
|
||||
|
||||
### R-事-18 易混职业对照判例(五组)
|
||||
- **条件**:职业候选落于相邻取象、难以取舍时;对照 R-事-15/16 合成之候选。
|
||||
- **判定**:五组易混对照——①管财文职(会计、出纳、财务)vs 应酬交际(销售、公关、业务):同为财星取象,正财配印→管财文职(正财主份内钱粮、印主账册文书),偏财配食伤→应酬交际(偏财主流动众财、食伤主口才接人);②餐饮 vs 金融:食神配火→餐饮(食主饮食、火主烹饪),财配金水→金融(金为货币、水主流通——资金之流转);③玄学命理风水咨询:偏印为主、华盖或太极贵人同见(R-煞-08、R-煞-22),以偏门学术为业;④教师:印与食伤并透而清者(印=教育平台、食伤=讲授输出),单印无食者偏学术研究或行政静态岗;⑤冷门职业表无对应者:先拆取象元件(十神角色×五行领域×宫位)再重组,不得以「表无此项」排除(R-禁-23 无路径非反证)。
|
||||
- **出处**:【拓展】据 R-事-15/16 映射之交参推导
|
||||
- **原文**:(拓展条,无原文)
|
||||
|
||||
---
|
||||
|
||||
## 5. 学业取象(学历判读之双向)
|
||||
|
||||
本节补「学历高低」事类之取象程序——科第贵贱之格局判定在 `93_性情.md` 出身章(R-性-24~27),文昌之细节参看在 `94_神煞细节.md`(R-煞-18);本节只作学历判读之通道补充与反向判例,全节【拓展】。加载时机:问学历、学业成败时加载本节。本节无原书命例基准。
|
||||
|
||||
### R-事-19 学历判读多通道:印为主星而非单轨
|
||||
- **条件**:问学历、学业成败时;参 `## 四柱` 印与食伤之透藏根气、`## 节令` 五行旺气、学龄段(约 6–25 岁)之 `## 大运`/`## 流年`。
|
||||
- **判定**:印为学历主星而非唯一通道,判读四序——①正印通道:印透清有根、为格局喜用,主与文书学业有缘;②秀气旁路:印藏不透、印弱受冲者不据此断无学(R-禁-23 藏不透非无)——转查食伤吐秀(泄秀主文气,R-印-05 印格用伤食泄秀、R-煞-18 之科)与五行气势:水旺主智(《三命通会》卷七「水……五常主智……旺相则机关深远,足智多谋,学识过人」),金白水清、木火通明(R-伤-18/20 之科)皆秀气通道;③行运扶抑:学历定于学龄段大运流年对印食秀气之扶抑——学龄段行运帮扶秀气者学历上抬,破印坏食者下压(R-性-26「运途不济、破其清气」之科);④格局清浊定档:科第贵贱终以格局清浊为断(R-性-25 清得尽发黄榜),印食只定「与学之缘」。
|
||||
- **出处**:【拓展】据 R-煞-18(学业成败一断于格局印食)、R-印-05、R-性-25/26、《三命通会》卷七·论性情相貌(水主智)综括推导
|
||||
- **原文**:「水属北方,名曰润下,五常主智……旺相则机关深远,足智多谋,学识过人。」(《三命通会》卷七·论性情相貌——本条判读程序为拓展综括,此引句为其五行气势一翼之书证)
|
||||
|
||||
### R-事-20 印透未必为学:印星之反向判例
|
||||
- **条件**:`## 四柱` 印透干,而见下列情形之一:印重身旺无所泄;贪财坏印(R-印-12);印夺食(R-食-09);印为格局之忌。
|
||||
- **判定**:印透只表「与文书有缘」,不保证学历向上——印重身旺无所泄者窒而不秀;贪财坏印、印夺食者主学业中断或学历受损;印为忌神者,印透反主为文书所累、学历不扬。双向判读之要:印旺为学、印弱未必无学(R-事-19 秀气旁路)、印透未必为学——三义并存,单向直读皆误。
|
||||
- **出处**:【拓展】据 R-印-12(贪财破印)、R-食-09(枭印夺食)、R-煞-18 之科综括推导
|
||||
- **原文**:(拓展条,无原文)
|
||||
|
||||
---
|
||||
|
||||
## 6. 健康部位取象
|
||||
|
||||
本节补健康问之部位定位——五脏虚实、病之轻重在 `93_性情.md` 疾病章(R-性-32~39),本节只作「病在何部位」之定位取象:干支脏腑部位书证《三命通会》卷七·论疾病先知五脏六腑所属干支,宫位粗架为【拓展】推导。加载时机:问健康、疾病部位时加载本节。本节无原书命例基准。
|
||||
|
||||
### R-事-21 天干配脏腑外躯歌
|
||||
- **条件**:健康问需定位病位时;以 `## 四柱` 中受克、受刑冲、临死绝之天干定位。
|
||||
- **判定**:天干脏腑——甲胆、乙肝、丙小肠、丁心、戊胃、己脾、庚大肠、辛肺、壬膀胱(三焦同寄)、癸肾(包络同归);天干外躯——甲头、乙顶、丙肩、丁心(胸)、戊肋、己腹、庚脐、辛股、壬胫、癸足。凡某干受克、受刑冲、临死绝而成疾者,先查本表定脏腑与外躯;「凡十干受病属六腑,十二支受病属五脏」——干病多在腑与外躯,支病多在脏(与 `93_性情.md` R-性-34 忌神入五脏之科互参)。
|
||||
- **出处**:【原书】《三命通会》卷七·论疾病先知五脏六腑所属干支
|
||||
- **原文**:「甲胆乙肝丙小肠,丁心戊胃己脾乡;庚是大肠辛属肺,壬系膀胱癸肾藏;三焦亦向壬中寄,包络同归入癸乡。」「甲头乙顶丙肩求,丁心戊肋己属腹;庚是脐轮辛属股,壬胫癸足一身由。」「六腑通于九窍,凡十干受病属六腑,十二支受病属五脏。」
|
||||
|
||||
### R-事-22 地支配脏腑部位歌与病之上下左右
|
||||
- **条件**:同上,以受克、受刑冲之支定位;并参五行方位定病位之上下左右。
|
||||
- **判定**:地支脏腑部位——子膀胱水道耳、丑胞肚及脾、寅胆与两手、卯十指内肝、辰皮肩胸、巳面咽齿、午眼目精神、未胃脘脊梁、申大肠经络肺、酉精血小肠、戌命门腿踝足、亥头及肾囊。五行方位定病位:火局(丙丁巳午)主病在上,水局(壬癸亥子)主病在下,木(甲乙寅卯)主左,金(庚辛申酉)主右,土(戊己辰戌丑未)主脾胃及中脘。头、脑、目之疾取象:甲头乙顶、亥为头、午火司眼目精神、火局在上——甲乙木受庚辛申酉之克者外主头目眩晕,火遭水克者主眼目暗昏。
|
||||
- **出处**:【原书】《三命通会》卷七·论疾病先知五脏六腑所属干支
|
||||
- **原文**:「子属膀胱水道耳,丑为胞肚及脾乡;寅胆发脉并两手,卯本十指内肝方;辰土为皮肩胸类,已面咽齿下宾肛;午火精神司眼目,未土胃腕隔脊梁;申金大肠经络肺,酉中精血小肠藏;戌土命门腿踝足,亥水为头及肾囊。」「丙丁己午火局南离,主病在上;壬癸亥子水局北坎,主病在下;甲乙寅卯属震,主病在左;庚辛申酉属兑,主病在右;戊己辰戌丑未属坤艮,主病在脾胃及中脘。」「眼目暗昏,必是火遭水克。」
|
||||
> 存疑:「已面咽齿」之「已」当作「巳」,「胃腕」当作「胃脘」,「丙丁己午」之「己」疑为「巳」之讹;原文照引,判定已从正字。
|
||||
|
||||
### R-事-23 死绝成疾与相克成疾之部位细则
|
||||
- **条件**:某五行于 `## 节令` 失时、于 `## 四柱` 无气临死绝,或两五行相克而无通关(R-旺-23)。
|
||||
- **判定**:死绝成疾——水死绝主肾气腰足、滑泄便溺;火死绝主肠气结塞、惊悸健忘、精神不安;木死绝主虚风目涩眩晕、筋急爪枯;金死绝主气虚喘急咳嗽、皮毛焦燥、大肠泄痢便血;土死绝主面黄减食、肢体怠惰、嗜睡神浊。相克成疾——金火相克:生旺主疡疮瘫肿、死绝主痨瘵呕血;金木相克:生旺主肢足骨节不完与眼目之疾、死绝主气虚精脱瘫痪;土木相克:主疲闷昏眩、吐食症块;水土相克:主脾湿泄泻、中满痰嗽。太过与不及皆主疾——执「只取不及为疾」者必有一偏之失(与 R-性-34 有余不足之参同科)。
|
||||
- **出处**:【原书】《三命通会》卷七·论疾病先知五脏六腑所属干支
|
||||
- **原文**:「是以五行太过不及,皆主疾也……若只取不及为疾,必有一偏之失。」「水死绝,多肾气腰足攻注,滑泄便溺不利之疾;火死绝,主肠气结塞、惊悸健忘,精神不安之疾;木死绝虚风目涩眩晕,筋急、爪甲桔悴……金死绝,主气虚喘急、咳嗽、皮毛焦燥干啬、骨节疼痛……大肠泄痢、便血之疾;土死绝,主面黄、减食、隔噻吐逆、肢体怠惰、喜卧嗜睡……」「金火相克,生旺则疡疮瘫肿,死绝则痨瘵呕血;土木相克,生旺主疲闷昏眩……金木相克,生旺主肢足骨节不完、眼目之疾,死绝主气虚精脱、痨疾瘫痪之疾;水土相克,主脾湿泄泻、中满痰嗽不利之疾。」
|
||||
|
||||
### R-事-24 宫位×部位粗架(年头月胸日腹时足)与受刑冲为触发
|
||||
- **条件**:部位定位需参宫位时;`## 四柱` 某柱干支受刑冲克(R-运-29 C 组)而无解、或临死绝。
|
||||
- **判定**:宫位配部位之粗架——年柱主头面上部、月柱主胸背上部躯干、日柱主腰腹、时柱主下肢腿足:由宫位长幼上下之序(R-运-31 宫位事类:年上为根、时日递下)与《三命通会》「干为天元,以象元首」「支犹人之肢节」推得。某柱之干支受刑冲克而无解者,其柱所配之部位为病位触发区;与 R-事-21/22 互参——柱位定大段、干支定细部。本条为粗架参看,不与 R-事-21/22 之细表争位。
|
||||
- **出处**:【拓展】据《三命通会》卷十一·消息赋与 R-运-31 宫位事类推导
|
||||
- **原文**:「干推两重,防灾於元首之间;支折三轻,慎祸於股肱之内。」(《三命通会》卷十一·消息赋——宫位四段之配为拓展推导,此引句为其干头支肢之书证)
|
||||
|
||||
---
|
||||
|
||||
## 7. 事类数量级之锚定
|
||||
|
||||
本节一条,补数量级(收入档位、资产量级)之锚定程序,【拓展】。加载时机:问财富收入量级、档位时加载。本节无原书命例基准。
|
||||
|
||||
### R-事-25 数量级问以格局高低与行运扶抑为锚,不由十神直读
|
||||
- **条件**:问财富、收入、价格等数量级或档位时;已定格、评高低(R-纲-13)。
|
||||
- **判定**:数量级两锚——①原局定大档:以格局高低(R-纲-13 有情有力)、财气通塞(本篇 R-事-02/04)、力量度量(`89_旺衰扶抑.md`)定富贵/小康/温饱/贫寒之大档;②行运定档内浮动:以所问时段运年之扶抑(R-运-02/03)定档内升降。十神旺衰直读不出档位——财旺不即大富、财弱不即赤贫;身财两停、财气通门户者方论富档,财重身轻者反主为财所累(R-事-04 之科)。不得以单一财星之旺衰多寡直断金额档位。
|
||||
- **出处**:【拓展】据 R-纲-13、本篇 R-事-02/04、R-运-02/03 综括推导
|
||||
- **原文**:(拓展条,无原文)
|
||||
|
||||
<!-- 副本 LY-20261007-AC63 · 授权对象 normal -->
|
||||
|
||||
+35
-4
@@ -1,11 +1,11 @@
|
||||
# 滴天髓阐微 · 性情境遇疾病(旺衰视角·细节参看层)
|
||||
|
||||
<!-- rules_version: 1.0 -->
|
||||
<!-- 蒸馏自 sources/滴天髓阐微/58_下篇·性情.md、42_下篇·才德.md、43_下篇·奋郁.md、44_下篇·恩怨.md、60_下篇·出身.md、61_下篇·地位.md、59_下篇·疾病.md(《滴天髓阐微》下篇七章,含原注与任氏曰)。 -->
|
||||
<!-- 蒸馏自 sources/滴天髓阐微/58_下篇·性情.md、42_下篇·才德.md、43_下篇·奋郁.md、44_下篇·恩怨.md、60_下篇·出身.md、61_下篇·地位.md、59_下篇·疾病.md(《滴天髓阐微》下篇七章,含原注与任氏曰)。§9 形貌与内外向为 2026-10-13 增补——R-性-40~42 书证《三命通会》卷七·论性情相貌,R-性-43 为取象拓展;只作对人细节参看。 -->
|
||||
<!-- 分层定位:滴天髓为旺衰(扶抑顺逆)体系,与真诠月令格局法不同源。本篇一切条目为「对人」之细节参看(性情、才德、奋郁、恩怨、出身、地位、疾病),只在 00_总纲_取格.md 定格、分格文件判成败定用相评高低之后叠加,绝不回改格局四层结论。篇中「用神」「喜神」「忌神」皆滴天髓旺衰扶抑口径,与真诠月令用神名同实异,引用时按命局气势之强弱顺逆理解,仅与格局喜忌作方向对照。凡涉及另立取格者(滴天髓八格、从象、化象、假从假化、顺局反局等章)一律不取,偶见于本篇七章行文中的从旺从弱之理,只取其性情参看之义。 -->
|
||||
<!-- 加载时机:用户问及性情、才性、德行、境遇(奋发郁困、出身、地位)、健康等细节时方加载;不问不加载。 -->
|
||||
<!-- 出处标注:【原书】指《滴天髓阐微》原文(含原注、任氏曰);真诠无性情疾病专篇,本篇无真诠原文。 -->
|
||||
<!-- 命例基准:tests/golden/93_性情.yaml(116 例,下篇·性情/才德/奋郁/恩怨/出身/地位/疾病七章自带命例全收;库版本 3.1 第三轮验证 115 match / 1 unverifiable)。 -->
|
||||
<!-- 加载时机:用户问及性情、才性、德行、境遇(奋发郁困、出身、地位)、健康等细节时方加载;不问不加载。问身材形貌、外向内向时加载 §9。 -->
|
||||
<!-- 出处标注:【原书】指《滴天髓阐微》原文(含原注、任氏曰);真诠无性情疾病专篇,本篇无真诠原文。§9 之【原书】指《三命通会》原文。 -->
|
||||
<!-- 命例基准:tests/golden/93_性情.yaml(116 例,下篇·性情/才德/奋郁/恩怨/出身/地位/疾病七章自带命例全收;库版本 3.1 第三轮验证 115 match / 1 unverifiable)。§9 增补条无原书命例基准。 -->
|
||||
|
||||
**分层声明:本篇为细节参看层。真诠格局法不论性情疾病之细,滴天髓此七章系旺衰扶抑顺逆视角之断语。本篇内容只用于格局定论(取格、成败、用神相神、高低)之后对「人」的细节参看,不回改格局结论,不另立格局。**
|
||||
|
||||
@@ -289,4 +289,35 @@
|
||||
- **出处**:【原书】《滴天髓阐微》下篇·疾病
|
||||
- **原文**:「如木之病何如,又看木是日主之何神,若木是财而能发土病,则断其财之衰旺,妻之美恶,父之兴衰。」「然与人事可相通也,不可专执而论……宜仔细推详,不可执一而论也。」
|
||||
|
||||
---
|
||||
|
||||
## 9. 形貌与内外向(《三命通会》卷七补 + 取象拓展)
|
||||
|
||||
本节补形貌(身材面貌)与内外向之判——本篇 §2 原有诸条论五行之「性」,本节补其未备之「形」与「向」:五行旺衰×形貌、格局×生旺死绝×内外向书证《三命通会》卷七·论性情相貌;十神×内外向一条为取象拓展。只作对人细节参看,不回改格局(同 R-性-01)。加载时机:问身材、面貌、体态、外向内向时加载本节。本节无原书命例基准。
|
||||
|
||||
### R-性-40 五行旺相×身形形貌表
|
||||
- **条件**:问身材、面貌、体态时;取 `## 四柱` 中最旺之五行(`## 节令` 参旺度)为主,兼看日主之五行。
|
||||
- **判定**:五行旺相者之形貌——木:丰姿秀丽、骨格修长、手足纤腻、口尖发美、面色青白;火:面貌上尖下阔、形体头小脚长、眉浓、精神闪烁、语言急速;土:背圆腰阔、鼻大口方、面肥色黄、度量宽厚;金:骨肉相应、体健神清、面方白净、眉高眼深、声音清亮;水:面黑光彩、语言清和。总则:生旺者主长大,死绝者主矮小;有煞临者不在此限,又从煞上断。形貌取象以命中「最旺之行」为主,不独看日主。
|
||||
- **出处**:【原书】《三命通会》卷七·论性情相貌
|
||||
- **原文**:「丰姿秀丽,骨格修长,手足纤腻,口尖发美,面色青白,语句轩昂,此则木盛多仁之义。」「面貌上尖下阔,形体头小脚长,印堂窄而眉浓,鼻准露而耳小;精神闪烁,语言急速。」「背圆腰阔,鼻大口方,眉清目秀,面肥色黄;度量宽厚,处事有方。」「骨肉相应,体健神清,面方白净,眉高眼深,鼻直耳红,声音清亮,刚毅果决。」「面黑光彩,语言清和。」「大抵生旺者主长大,死绝者主矮小。若有煞临,不在此限,又从煞上断。」
|
||||
|
||||
### R-性-41 五行休囚太过不及×形貌变格
|
||||
- **条件**:同上,而所取之五行休囚、死绝,或太过、不及。
|
||||
- **判定**:形貌变格——木休囚:瘦长发少;木死绝:眉眼不正、肌肉干燥、项长喉结、行坐不稳、身多欹侧。火太过:声焦面赤、摇膝好动;火不及:黄瘦尖楞。土不及:颜色忧滞、面偏鼻低、声音重浊。金不及:身材瘦小。水不及:人物矮小。旺衰之断依 R-旺-07(以进退定,非以长生死绝定);形貌之「瘦长 vs 健壮」由此旺衰两档分——生旺主长大健硕,死绝不及时主瘦小。
|
||||
- **出处**:【原书】《三命通会》卷七·论性情相貌
|
||||
- **原文**:「休囚主瘦长发少……死绝则眉眼不正,悭吝鄙啬,肌肉干燥,项长喉结,行坐不稳,身多欹侧。」「太过则声焦面赤,摇膝好动。不及则黄瘦尖楞。」「不及则颜色忧滞,面偏鼻低,声音重浊。」「不及则悭吝贪酷,事多挫忘……身材瘦小。」「不及则人物矮小,行事反复。」
|
||||
|
||||
### R-性-42 格局×生旺死绝×外向内向
|
||||
- **条件**:问性情之外向内向、开朗沉郁;已定格(`00_总纲_取格.md`),参格神或日主于 `## 节令` 之生旺死绝。
|
||||
- **判定**:命入格而逢生旺者主外向——天性明白、言语声高、临事能断、好施与、多情尚义;命入贵格而逢死绝者主内向——性寡合、机深意密、多疑多忌、动拘礼节、谨顾行止、常自检约。入贱局而逢生旺者性无常、不自检束、好斗恃强;入贱局而逢死绝者性执伪、临事无断。内外向由「格局×旺绝」十字取象,不以单一十神直断。
|
||||
- **出处**:【原书】《三命通会》卷七·论性情相貌
|
||||
- **原文**:「命若入格而逢生旺,主天性明白,遇物不逆,动必应机,言语声高……临事能断,公平不疑,犯难不畏,平生不以财物为吝,好施与不私己……多情尚义。」「若命入贵格而逢死绝者,主为性寡合,机深意密,多疑多忌,动拘礼节,谨顾行止,修饰仪貌,常自检约,不妄设施。」「若小人之命已入贱局而逢生旺者,主性无常,不自检束,为事不顾危亡,好斗争,恃强压弱……死绝则为性淫邪,动必巧伪,畜缩执拗……临事无断,少是多非。」
|
||||
> 存疑:原文「言语声高」下有「突破口大度」四字,文气不属,疑有传抄之讹;引文以省略号略去,不强解。
|
||||
|
||||
### R-性-43 十神主导×外向内倾向(取象拓展)
|
||||
- **条件**:R-性-42 之外,以 `## 四柱` 透干有力之主导十神细参内外向与风格。
|
||||
- **判定**:食伤透清有力者偏外向——我生者泄秀于外,表达欲外发;印绶重者偏内向——生我者收敛涵藏;官杀清而有力者自律拘谨——克我者约身;财星透而有力者务实外拓——我克者向外取;比劫众者合群好竞——同我者结党。多神并透以最有力者为主、余者参杂;与 R-性-42 相左时,以格局生旺死绝为主、本条为细参。各向皆取象推导(生我者敛、我生者发、克我者束、我克者取、同我者争),非古籍明文。
|
||||
- **出处**:【拓展】据十神生克向背之理推导
|
||||
- **原文**:(拓展条,无原文)
|
||||
|
||||
<!-- 副本 LY-20261007-AC63 · 授权对象 normal -->
|
||||
|
||||
+11
-1
@@ -1,7 +1,7 @@
|
||||
# 子平真诠 · 禁则(不得为之事)
|
||||
|
||||
<!-- rules_version: 1.0 -->
|
||||
<!-- 本篇蒸馏批谬三篇(第二十一篇·论星辰无关格局、第二十九篇·论时说拘泥格局、第三十篇·论时说以讹传讹),为解释全程之约束:取格、成败、救应、高低、行运皆不得违。条目字段用「禁止 / 理由 / 出处 / 原文」,异于分格之「条件 / 判定」。神煞、纳音、空亡之流年流月细节参看另见 94_神煞细节.md(体系拓展层),只叠加于格局定论之后,受本篇 R-禁-01 分层约束。第四节(R-禁-20、R-禁-21)为滴天髓旺衰扶抑层之接口约束,与 89_旺衰扶抑.md 配套。文末 R-禁-22 为声明式偏离之元规则(与输出契约第 5 段联动)。 -->
|
||||
<!-- 本篇蒸馏批谬三篇(第二十一篇·论星辰无关格局、第二十九篇·论时说拘泥格局、第三十篇·论时说以讹传讹),为解释全程之约束:取格、成败、救应、高低、行运皆不得违。条目字段用「禁止 / 理由 / 出处 / 原文」,异于分格之「条件 / 判定」。神煞、纳音、空亡之流年流月细节参看另见 94_神煞细节.md(体系拓展层),只叠加于格局定论之后,受本篇 R-禁-01 分层约束。第四节(R-禁-20、R-禁-21)为滴天髓旺衰扶抑层之接口约束,与 89_旺衰扶抑.md 配套。R-禁-22 为声明式偏离之元规则(与输出契约第 5 段联动)。文末第五节 R-禁-23 为推理层自造必要条件之禁,与 R-运-32 排除句校验相衔。 -->
|
||||
|
||||
## 一、神煞星辰之禁(第二十一篇·论星辰无关格局)
|
||||
|
||||
@@ -158,4 +158,14 @@
|
||||
- **出处**:综括,无单一原文
|
||||
- **原文**:(综括,无单一原文)
|
||||
|
||||
---
|
||||
|
||||
## 五、自造必要条件之禁(推理层收敛纪律)
|
||||
|
||||
### R-禁-23 充分非必要、无路径非反证、藏不透非无
|
||||
- **禁止**:①把充分条件当必要条件——有某象则某事成立,不等于无某象即排除某事:有驿马主迁动(R-煞-06),不等于无驿马排除搬迁(冲年支+印透不经驿马同样合成迁动,见 R-运-32 合成示例);②以「无某规则路径」为排除依据——规则库未载通往某候选之路,只表明本库不论此事,不构成反证:纵库中无身材专条,亦不得据此排除任何身材候选(身材取象已补入 R-性-40/41);③以藏干不透、不现论「无」——藏干静以待用(R-运-19),逢透清、会局则发(R-运-22/23):官藏不透不排除公职、财藏不透不排除经商。
|
||||
- **理由**:排除须凭编号规则之正面禁断(排除句校验见 R-运-32 第 2 步),写不出编号之排除皆自造否决。充分条件不可逆用,库之未载非事之必无,藏者待用而非无。
|
||||
- **出处**:(综括,无单一原文;干支动静、透清会局之论据 R-运-19/22/23)
|
||||
- **原文**:(综括,无单一原文)
|
||||
|
||||
<!-- 副本 LY-20261007-AC63 · 授权对象 normal -->
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
<!-- 蒸馏自 sources/子平真诠/24_论宫分用神配六亲.md(第二十三篇·论宫分用神配六亲)、sources/子平真诠/25_论妻子.md(第二十四篇·论妻子);兼收 sources/子平真诠/05_论十干配合性情.md(第四篇·论十干配合性情)末段论六亲向背之文(附录蒸馏时按「属六亲论」移存于此,见 R-亲-19)。 -->
|
||||
<!-- 用法:六亲论断在格局成败判定之后叠加(见 §7 R-亲-20);凡涉及格局喜忌处,回引 00_总纲与各分格文件。 -->
|
||||
<!-- 增补(2026-10-07):文末「## 滴天髓阐微补」节蒸馏自 sources/滴天髓阐微/35_下篇·夫妻.md、36_下篇·子女.md、37_下篇·父母.md、38_下篇·兄弟.md、41_下篇·小儿.md(R-亲-21 至 R-亲-39),属六亲应用层,不回改格局四层;与真诠系条目冲突处以真诠为准并于条内注明。 -->
|
||||
<!-- 增补(2026-10-13,取象增补层):文末「## 应期细则补」节二条(R-亲-40 六亲星入墓临死绝之岁运、R-亲-41 引动≠事成存在性先于应期)——六亲应期漏口补强;书证《三命通会》卷十二·金玉赋、卷六·附论墓运;无原书命例基准。 -->
|
||||
|
||||
## 1. 宫分定位
|
||||
|
||||
@@ -299,4 +300,22 @@
|
||||
- **出处**:《滴天髓阐微》下篇·小儿
|
||||
- **原文**:「其余关杀多端,尽皆谬妄,欲以何等惑人,则造何等神杀,必宜一切扫除,以绝将来之谬。」
|
||||
|
||||
---
|
||||
|
||||
## 应期细则补(取象增补)
|
||||
|
||||
本节补六亲应期之二漏口:六亲星入墓、临死绝之岁运通则(R-亲-40),引动与事成之先后(R-亲-41)。书证《三命通会》卷十二·金玉赋、卷六·附论墓运;程序部分为【拓展】综括。本节无原书命例基准。
|
||||
|
||||
### R-亲-40 六亲星入墓、临死绝之岁运:主困顿,不即断丧
|
||||
- **条件**:论六亲吉凶应期;某亲之星(父=偏财、母=正印、妻=正财、子=官煞,配属依 R-亲-02)于 `## 大运`/`## 流年` 逢其墓库之地,或临病、死、绝之宫。
|
||||
- **判定**:六亲之星于岁运入墓,主该亲困顿、病弱、藏伏、远行不见——「财星入墓,必定刑妻」(刑者困顿刑伤之谓)、「旺官旺印与旺财,入墓有祸」之科;临病、死、绝之地者,主该亲力衰气弱之事类。然入墓临死绝不即断丧亡——丧亡之断仍以 R-亲-34(岁月财印斩丧于时干时支)与格局喜忌为据;墓库逢生扶、或库中藏干透清(R-运-22)者解。岁运入墓而原宫(父母看月柱、妻看日支、子看时柱,R-亲-01)同逢刑冲者,凶向加重,方向按 `91_何知事类.md` §3(R-事-10~13)定。
|
||||
- **出处**:《三命通会》卷十二·金玉赋、卷六·附论墓运(书证);【拓展】综括(应期程序与「不即断丧」之限)
|
||||
- **原文**:「财星入墓,必定刑妻。」(卷十二·金玉赋)「旺官旺印与旺财,入墓有祸;伤官食神并身旺,遇库兴灾。」「旺煞入墓,寿算难延。」(卷六·附论墓运)
|
||||
|
||||
### R-亲-41 引动≠事成:存在性先于应期
|
||||
- **条件**:论婚缘、得子、六亲离合之应期;某年夫妻星、子星或相应宫位被引动(R-运-29 五组)。
|
||||
- **判定**:引动只答「何时动」,不证「事之有无」——先定存在性,再论应期:①存在性看原局——婚缘之有无看夫妻星与婚姻宫(男命 R-亲-05~13、女命 R-女-04~19),得子之有无看子星与子息宫(R-亲-14~18、R-女-20~23);②原局支持其事者,引动之年方应事成(有婚缘之局逢引动,应婚恋推进、成家);③原局不支持者(夫星不现且夫宫无喜用可依、子星死绝无救之类),引动之年只应波动——感情起落、人际聚散、同居分合、相关之思虑筹划,不落「成婚」「得子」之断。本条为 R-女-25「引动但言其应」之科的先后补充:存在性不立者,纵三途交会亦不直断成婚生子。
|
||||
- **出处**:【拓展】据 R-女-25、R-运-32 前提挑战之科综括推导
|
||||
- **原文**:(拓展条,无原文)
|
||||
|
||||
<!-- 副本 LY-20261007-AC63 · 授权对象 normal -->
|
||||
|
||||
+42
-3
@@ -12,7 +12,7 @@ rules/
|
||||
├── 1x_正官格.md … 18_杂格.md # 分格规则,一格一文件
|
||||
├── 89_旺衰扶抑.md # 力量度量衡与扶抑剂量(滴天髓阐微上篇;细节参看层,挂载 R-纲-13 / R-附-16~19)
|
||||
├── 90_行运.md # 行运通论(横切所有格局)
|
||||
├── 91_何知事类.md # 何知章事类断语:富贵贫贱吉凶寿夭(滴天髓阐微,细节参看层)
|
||||
├── 91_何知事类.md # 何知章事类断语:富贵贫贱吉凶寿夭(滴天髓阐微,细节参看层);§3 冲刑方向判别
|
||||
├── 92_调候.md # 十干十二月调候用神(穷通宝鉴;格局高低「气候」之细化)
|
||||
├── 93_性情.md # 性情/才德/境遇/健康(滴天髓阐微下篇,细节参看层)
|
||||
├── 94_神煞细节.md # 神煞/空亡/纳音细节参看(查法书证见《命理探源》卷三、《三命通会》卷三/卷六)
|
||||
@@ -92,7 +92,7 @@ rules/
|
||||
→ 命中后加载对应分格文件:判成败、定用神相神、评高低
|
||||
→ 需要断运时加载 90_行运.md + 分格文件「取运」节
|
||||
→ 用户追问流年流月细节时加载 94_神煞细节.md(体系拓展层,只叠加、不回改格局结论)
|
||||
→ 问性情/境遇/健康等对人细节时加载 93_性情.md;问富贵贫贱吉凶寿夭等对事断语时加载 91_何知事类.md(皆滴天髓旺衰视角,细节参看层)
|
||||
→ 问性情/境遇/健康等对人细节时加载 93_性情.md;问富贵贫贱吉凶寿夭等对事断语时加载 91_何知事类.md(皆滴天髓旺衰视角,细节参看层);91 之 §3 冲刑方向判别另随断运加载(断年核对 R-运-34 C 组刑冲命中时必读)
|
||||
→ 评高低之「气候」或行运寒暖燥湿参看时加载 92_调候.md(穷通宝鉴,只细化气候、不取代月令取格)
|
||||
→ 评高低之「有力无力」、或断运需定扶抑剂量时加载 89_旺衰扶抑.md(滴天髓阐微上篇,细节参看层;扶抑药神与月令用神同名异实,只出程度词与行运词,受 R-禁-20/21 约束)
|
||||
→ 全程受 95_禁则.md 约束
|
||||
@@ -102,7 +102,46 @@ rules/
|
||||
## 6. 版本与溯源
|
||||
|
||||
- 规则库版本:
|
||||
- **3.5**(2026-10-09)。文件头注释的 `rules_version` 标记该文件的**格式版本**;库版本以本文件为准。
|
||||
- **3.9.0**(2026-10-13)。文件头注释的 `rules_version` 标记该文件的**格式版本**;库版本以本文件为准。
|
||||
|
||||
### 3.9.0 相对 3.8.1:
|
||||
- E3 规则补强(548 → 568 条,20 文件不变)——错题反查指向取象覆盖缺口,事类/性情/行运/六亲四线补条入库:
|
||||
- `91_何知事类.md` 新增 §4 职业取象五条(R-事-14 总序:格神定角色、五行定行业、宫位定领域、透藏定显隐;R-事-15 十神→现代职业大类映射表;R-事-16 五行→行业细化表;R-事-17 就业形态判读:受薪/自营/专业技术/自由偏门/居家不就业;R-事-18 易混职业对照判例五组);
|
||||
- `91_何知事类.md` 新增 §5 学业取象两条(R-事-19 学历判读多通道:印为主星而非单轨;R-事-20 印透未必为学:印星之反向判例);
|
||||
- `91_何知事类.md` 新增 §6 健康部位四条(R-事-21 天干配脏腑外躯歌;R-事-22 地支配脏腑部位歌与病之上下左右;R-事-23 死绝成疾与相克成疾之部位细则;R-事-24 宫位×部位粗架与受刑冲为触发);
|
||||
- `91_何知事类.md` 新增 §7 数量级锚定一条(R-事-25 数量级问以格局高低与行运扶抑为锚,不由十神直读);
|
||||
- `93_性情.md` 新增 §9 形貌四条(R-性-40 五行旺相×身形形貌表;R-性-41 五行休囚太过不及×形貌变格;R-性-42 格局×生旺死绝×外向内向;R-性-43 十神主导×外向内倾向【拓展】);
|
||||
- `90_行运.md` 新增 R-运-40 透清方向细则(透清定「事之显现」,格局处置定「事之吉凶」)、R-运-41 多年同引动之收敛;
|
||||
- `96_六亲.md` 新增 R-亲-40 六亲星入墓临死绝之岁运主困顿不即断丧、R-亲-41 引动≠事成(存在性先于应期);
|
||||
- `95_禁则.md` R-禁-23 示例回修——「库中无身材专条」之反例随 R-性-40/41 入库改写(身材取象已补入),禁条本体不动;
|
||||
- SKILL.md 同步——库版本引用 3.9.0、条数 568;
|
||||
- 评测验证口径——3.8.1 全量基线 + 3.9 补强合并重跑 17 位命主:净 +2(翻正确认落在职业/学业/健康/形貌等目标题型);BaziQA 200 题重跑 81/200 = 40.5%(vs 官方基线 34.5%),事业维度 40%→48%、性格维度 50%→60%。
|
||||
|
||||
### 3.8.1 相对 3.8:
|
||||
- 收敛层部分回滚(规则条数不变,548 条、20 文件)——3.8 三处收敛层修订经针对性重测(19 命主 92 题:翻正 11、翻错 14、净 −3)验证为净负增益;逐条拆解后回滚发散源、保留见效项:
|
||||
- `90_行运.md` R-运-32 第 2 步排序回滚至 3.7 形态——恢复细分规则路径优先于直白取象:直白取象(五行/十神/宫位直读)不与细分规则候选同等竞争、一律居后,其出路仍为第 3 步降级保留;3.8「按证据强度排序、两路径同等竞争、细分规则仅信号相当时优先」之排序权重改写经评测认定为发散源,回滚;理由段同步修正;
|
||||
- 保留——R-运-32 第 2 步末尾排除句校验(排除候选必须写出规则编号,写不出则降备选不删除)与 `95_禁则.md` R-禁-23 自造必要条件之禁,二者经评测认定为见效项;R-杂-38、R-事-10~13 及 R-运-32 其余步骤不动;
|
||||
- SKILL.md 同步——库版本引用 3.8.1、条数 548 不变;直答契约第 2 段降级保留措辞(「依编号规则被排除」)与保留之排除句校验相衔,不随排序回滚改动。
|
||||
|
||||
### 3.8 相对 3.7:
|
||||
- 收敛层修订(547 → 548 条,20 文件不变)——错题反查(备选命中 27 题、排除反噬约 17 题、自造必要条件 10 题)指向收敛层,三处改进入库:
|
||||
- `90_行运.md` R-运-32 排序改写——候选按证据强度(与盘面信号之吻合度)排序,不按规则层级分先后:直白取象(五行/十神/宫位直读)与细分规则合成路径同等竞争,细分规则仅在信号强度相当时优先;3.7 所加降级保留随之整合——「被规则路径排除」改为「依编号规则被排除」,直白取象不再一律居下;
|
||||
- R-运-32 第 2 步新增排除句校验——排除候选必须写出具体规则编号,写不出编号的排除不成立,该候选降为备选、不得删除;
|
||||
- `95_禁则.md` 新增第五节 R-禁-23 自造必要条件之禁(充分非必要、无路径非反证、藏不透非无,各配反例),与排除句校验相衔;
|
||||
- SKILL.md 同步——库版本引用 3.8、条数 548;直答契约第 2 段降级保留措辞随 R-运-32 同步。
|
||||
|
||||
### 3.7 相对 3.6:
|
||||
- 规则推理层「剪枝上锁」(542 → 547 条,20 文件不变)——对照评测发现规则推理层存在「强制剪枝误杀」(正解信号出现在推理留档却被规则显式排除),三条改进入库:
|
||||
- `90_行运.md` R-运-32 修订——「一个主答案+置信度」之直答收敛保留,新增**降级保留**:被规则路径排除、但存在直白取象路径支撑(五行/十神/宫位直接取象可达)的候选不得删除,只能降级为备选并在分析推理段留档;主答案置信度不足「高」(只能定到窗口、定不了,或规则结论与直白取象相分歧)时直答必须带备选。R-运-32 排序依据与 R-运-34 五步核对第 4 步同步接入冲刑方向判别;
|
||||
- `19_杂格.md` 新增 R-杂-38 从格临界双轨——从财从煞判定落于临界(日主仅一微根、合化存疑、透干不稳)时两轨并推:按从格与按正格身弱各给结论,行运喜忌两轨对照呈现并注明临界因素;不得凭单一闸门要件疑似不备即一票退回正格,退回后从格轨仍留档为备选。`00_总纲_取格.md` §1 第六步同步指向(路由器文,不增条数);
|
||||
- `91_何知事类.md` 新增 §3 冲刑方向判别四条(R-事-10 冲刑为动不自带吉凶、R-事-11 喜用受冲刑凶向忌神受冲刑吉向兼衰旺冲拔、R-事-12 冲合互见之转化先凶后吉先分后合、R-事-13 宫位×十神方向细化:婚姻宫/子女宫/官禄受冲之双向判别)——书证《滴天髓阐微》上篇·地支「旺者冲衰衰者拔,衰神冲旺旺神发」及任氏曰「去凶神则利,去吉神则不利」,R-事-13 为【拓展】综括条;本节随断年核对(R-运-34 C 组命中)加载;
|
||||
- 全库强制剪枝措辞排查(「不得/绝不/排除/必不/剪除/不予考虑」)——纪律类(95 禁则全篇、89/91/92/93/94 分层定位条、R-纲-00/16 体系闸门、96/97 表述纪律、90 程序纪律)不动;判断类中辨谬防直断条(R-杂-04、R-纲-11、R-附-02/06/19 等辨谬条、96「不得一见比劫阳刃即断克妻」、97「不得一见女命伤官即直断克夫」等,本身即反误杀)不动;判断类之收敛/闸门条按上三条改进补降级保留或双轨机制;
|
||||
- SKILL.md 同步——库版本引用 3.7、条数 547;直答契约补「降级保留」(置信度非高必带备选);阶段纪律增「从格/正格临界两轨并推」之声明项。
|
||||
|
||||
### 3.6 相对 3.5:
|
||||
- 询问契约改对话式(规则条数不变,542 条、20 文件)——SKILL.md Intake 节改「对话式询问(强制)」(禁用结构化问卷/点选工具与正文编号选项清单,一次最多 1~2 问、先铺垫再问),断运交互节同步;
|
||||
- `90_行运.md` R-运-33 措辞随之修订——原「具备询问工具时必须用询问工具,否则以正文编号选项代替」「核对用结构化选项、多锚点年合成一次提问」改为对话式口径(普通对话消息、一次最多一两个锚点、先铺垫再问、答完再定下一个);
|
||||
- 核对前置的内部程序(场景分流、锚点选取、候选排序、证伪回查、收敛后一次性输出)不变。
|
||||
|
||||
### 3.5 相对 3.4:
|
||||
- description 改写为按问题域与使用场景触发;新增 R-禁-22 声明式偏离通道;R-运-31 事类映射表改开放清单措辞;规则计数相应更新(541 → 542 条,20 文件不变)。
|
||||
|
||||
@@ -18,12 +18,17 @@ from __future__ import annotations
|
||||
|
||||
import hashlib
|
||||
import json
|
||||
import os
|
||||
import secrets
|
||||
from datetime import date
|
||||
from pathlib import Path
|
||||
|
||||
_ENABLED = True # 软锁总开关:False = 完全放行
|
||||
|
||||
# 评测豁免:环境变量 ZIPEC_EVAL=1 时 check/consume 直接放行——
|
||||
# 跑测试集复测不签发、不扣次、不创建任何文件(见 评测/测试规则.md)。
|
||||
_EVAL_ENV = "ZIPEC_EVAL"
|
||||
|
||||
_SALT = "lingyao-miaojie-ziping-eightchar"
|
||||
_COMPANY = "四川灵爻妙解文化传播有限公司"
|
||||
STATE_REL = Path("data") / ".license.json"
|
||||
@@ -78,6 +83,8 @@ def check(root: Path) -> str | None:
|
||||
"""返回 None 表示放行;返回字符串表示拒跑原因(由调用方打印到 stderr,退出码 4)。"""
|
||||
if not _ENABLED:
|
||||
return None
|
||||
if os.environ.get(_EVAL_ENV) == "1":
|
||||
return None # 评测豁免:不签发、不扣次、不创建任何文件
|
||||
st = _load(root)
|
||||
if st is None:
|
||||
if (root / PUBLIC_MARKER_REL).is_file():
|
||||
@@ -101,6 +108,8 @@ def consume(root: Path) -> None:
|
||||
"""成功排盘一次后扣减一次。仅在 check 放行后调用。"""
|
||||
if not _ENABLED:
|
||||
return
|
||||
if os.environ.get(_EVAL_ENV) == "1":
|
||||
return # 评测豁免:不扣次、不写状态文件
|
||||
st = _load(root)
|
||||
if st is None:
|
||||
return
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
"""运行环境守卫:本技能脚本需要 Python ≥ 3.10。
|
||||
|
||||
各入口脚本在 sys.path 引导后立即 import 本模块(import 即检查,无其他调用):
|
||||
解释器低于 3.10 时在 stderr 打印中文提示并以退出码 3 结束,
|
||||
避免用户看到库深处难以理解的报错(运行期 `X | None` 注解在 3.9 及以下
|
||||
求值即 TypeError,报错位置离真正原因很远)。
|
||||
|
||||
本模块自身只用 Python 3.6 兼容语法,保证在旧解释器上也能正常执行检查。
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
import sys
|
||||
|
||||
MIN_PYTHON = (3, 10)
|
||||
|
||||
|
||||
def version_error(version_info=None) -> str | None:
|
||||
"""版本达标返回 None;不足时返回中文报错文案。可注入 version_info 便于测试。"""
|
||||
vi = sys.version_info if version_info is None else version_info
|
||||
if tuple(vi[:2]) >= MIN_PYTHON:
|
||||
return None
|
||||
return (f"运行环境不可用:本技能脚本需要 Python {MIN_PYTHON[0]}.{MIN_PYTHON[1]} "
|
||||
f"或更高版本,当前解释器为 Python {vi[0]}.{vi[1]}.{vi[2]}"
|
||||
f"({sys.executable})。请改用更新版本的 Python 运行"
|
||||
"(macOS 系统自带 python3 为 3.9,不可用;可用 python3.11/3.12/3.13 "
|
||||
"或项目自带虚拟环境)。")
|
||||
|
||||
|
||||
_msg = version_error()
|
||||
if _msg is not None:
|
||||
print(f"ERROR: {_msg}", file=sys.stderr)
|
||||
raise SystemExit(3)
|
||||
@@ -0,0 +1,128 @@
|
||||
"""纯 Python ed25519(RFC 8032)签名与验签,零依赖,仅用标准库。
|
||||
|
||||
self_update.py --apply 用其中的 verify() 校验 manifest.json 签名;
|
||||
tools/sign_manifest.py 用 sign() 生成签名。验签性能不在关键路径上
|
||||
(每次更新只验一次),实现取教科书式的扩展坐标点运算,求正确不求快。
|
||||
|
||||
密钥编码:私钥 = 32 字节种子(hex/base64 存储);公钥 = 32 字节 RFC 8032
|
||||
标准压缩编码;签名 = 64 字节 R‖S。
|
||||
"""
|
||||
import hashlib
|
||||
|
||||
# 域参数:GF(2^255 - 19),曲线 -x² + y² = 1 + d·x²·y²
|
||||
_P = 2 ** 255 - 19
|
||||
_Q = 2 ** 252 + 27742317777372353535851937790883648493 # 群的阶
|
||||
_D = (-121665 * pow(121666, _P - 2, _P)) % _P
|
||||
_I = pow(2, (_P - 1) // 4, _P) # sqrt(-1)
|
||||
|
||||
|
||||
def _xrecover(y: int) -> int:
|
||||
xx = (y * y - 1) * pow(_D * y * y + 1, _P - 2, _P) % _P
|
||||
x = pow(xx, (_P + 3) // 8, _P)
|
||||
if (x * x - xx) % _P != 0:
|
||||
x = x * _I % _P
|
||||
if x & 1:
|
||||
x = _P - x
|
||||
return x
|
||||
|
||||
|
||||
_BY = (4 * pow(5, _P - 2, _P)) % _P
|
||||
_BX = _xrecover(_BY)
|
||||
# 基点(扩展坐标 x, y, z, t,x=X/Z, y=Y/Z, t=XY/Z)
|
||||
_B = (_BX, _BY, 1, _BX * _BY % _P)
|
||||
_IDENTITY = (0, 1, 1, 0)
|
||||
|
||||
|
||||
def _point_add(P, Q):
|
||||
x1, y1, z1, t1 = P
|
||||
x2, y2, z2, t2 = Q
|
||||
a = (y1 - x1) * (y2 - x2) % _P
|
||||
b = (y1 + x1) * (y2 + x2) % _P
|
||||
c = 2 * _D * t1 * t2 % _P
|
||||
d = 2 * z1 * z2 % _P
|
||||
e, f, g, h = b - a, d - c, d + c, b + a
|
||||
return (e * f % _P, g * h % _P, f * g % _P, e * h % _P)
|
||||
|
||||
|
||||
def _scalarmult(P, e: int):
|
||||
Q = _IDENTITY
|
||||
while e > 0:
|
||||
if e & 1:
|
||||
Q = _point_add(Q, P)
|
||||
P = _point_add(P, P)
|
||||
e >>= 1
|
||||
return Q
|
||||
|
||||
|
||||
def _encode_point(P) -> bytes:
|
||||
x, y, z, _t = P
|
||||
zi = pow(z, _P - 2, _P)
|
||||
x, y = x * zi % _P, y * zi % _P
|
||||
return (y | ((x & 1) << 255)).to_bytes(32, "little")
|
||||
|
||||
|
||||
def _decode_point(s: bytes):
|
||||
if len(s) != 32:
|
||||
raise ValueError("点编码长度须为 32 字节")
|
||||
y = int.from_bytes(s, "little") & ((1 << 255) - 1)
|
||||
if y >= _P:
|
||||
raise ValueError("点编码 y 坐标越界")
|
||||
x = _xrecover(y)
|
||||
if (x & 1) != (s[31] >> 7):
|
||||
x = _P - x
|
||||
if (-x * x + y * y - 1 - _D * x * x * y * y) % _P != 0:
|
||||
raise ValueError("点不在曲线上")
|
||||
return (x, y, 1, x * y % _P)
|
||||
|
||||
|
||||
def _hint(m: bytes) -> int:
|
||||
return int.from_bytes(hashlib.sha512(m).digest(), "little")
|
||||
|
||||
|
||||
def _secret_expand(seed: bytes):
|
||||
if len(seed) != 32:
|
||||
raise ValueError("私钥种子须为 32 字节")
|
||||
h = hashlib.sha512(seed).digest()
|
||||
a = int.from_bytes(h[:32], "little")
|
||||
a &= (1 << 254) - 8
|
||||
a |= 1 << 254
|
||||
return a, h[32:]
|
||||
|
||||
|
||||
def publickey(seed: bytes) -> bytes:
|
||||
"""32 字节种子 → 32 字节公钥。"""
|
||||
a, _prefix = _secret_expand(seed)
|
||||
return _encode_point(_scalarmult(_B, a))
|
||||
|
||||
|
||||
def sign(seed: bytes, msg: bytes) -> bytes:
|
||||
"""RFC 8032 确定性签名:64 字节 R‖S。仅发版工具(tools/)使用。"""
|
||||
a, prefix = _secret_expand(seed)
|
||||
A = publickey(seed)
|
||||
r = _hint(prefix + msg) % _Q
|
||||
R = _encode_point(_scalarmult(_B, r))
|
||||
S = (r + _hint(R + A + msg) * a) % _Q
|
||||
return R + S.to_bytes(32, "little")
|
||||
|
||||
|
||||
def verify(pk: bytes, msg: bytes, sig: bytes) -> bool:
|
||||
"""验签:通过返回 True;任何不符(含畸形输入)返回 False,不抛异常。"""
|
||||
if len(pk) != 32 or len(sig) != 64:
|
||||
return False
|
||||
R, s = sig[:32], int.from_bytes(sig[32:], "little")
|
||||
if s >= _Q:
|
||||
return False
|
||||
try:
|
||||
A = _decode_point(pk)
|
||||
Rpt = _decode_point(R)
|
||||
except ValueError:
|
||||
return False
|
||||
h = _hint(R + pk + msg) % _Q
|
||||
# [S]B == R + [h]A
|
||||
return _encode_point(_scalarmult(_B, s)) == _encode_point(
|
||||
_point_add(Rpt, _scalarmult(A, h)))
|
||||
|
||||
|
||||
def fingerprint(pk: bytes) -> str:
|
||||
"""公钥指纹:SHA256(公钥) 十六进制,用于注释与审计对照。"""
|
||||
return hashlib.sha256(pk).hexdigest()
|
||||
@@ -3,9 +3,14 @@ from datetime import datetime, timedelta
|
||||
ZI_HOUR_START = 23 # 真太阳时 23:00 换日
|
||||
|
||||
|
||||
def resolve_calendar_day(tst: datetime) -> tuple[datetime, dict]:
|
||||
def resolve_calendar_day(tst: datetime, rule: str = "子初") -> tuple[datetime, dict]:
|
||||
"""
|
||||
子初换日:真太阳时 23:00–24:00 归入次日。
|
||||
日界归算与审计:rule="子初"(默认)真太阳时 23:00–24:00 归次日;
|
||||
rule="子正" 以 0:00 为日界,晚子时不换日。
|
||||
|
||||
注意:换日的**实际排盘效果**由 chart.tyme_adapter.cast 的 sect 参数
|
||||
(tyme4py provider)原生实现;本函数返回的日历日仅供审计与外部参考,
|
||||
调用方不得把它再拼回时刻传给 cast(会双重换日)。
|
||||
|
||||
返回
|
||||
(日历日 00:00 的 datetime, flag)
|
||||
@@ -13,11 +18,12 @@ def resolve_calendar_day(tst: datetime) -> tuple[datetime, dict]:
|
||||
is_late_zi = tst.hour == ZI_HOUR_START
|
||||
|
||||
day = tst.replace(hour=0, minute=0, second=0, microsecond=0)
|
||||
if is_late_zi:
|
||||
if is_late_zi and rule != "子正":
|
||||
day += timedelta(days=1)
|
||||
|
||||
return day, {
|
||||
"rule": "子初换日@真太阳时23:00",
|
||||
"rule": ("子正换日@真太阳时00:00" if rule == "子正"
|
||||
else "子初换日@真太阳时23:00"),
|
||||
"is_late_zi": is_late_zi,
|
||||
"tst_time": tst.strftime("%Y-%m-%d %H:%M:%S"),
|
||||
}
|
||||
|
||||
+24
-7
@@ -18,6 +18,8 @@ from pathlib import Path
|
||||
# 引导:无论从哪个目录调用,scripts/ 下的顶层包(geo/astro/chart/render)都可导入
|
||||
sys.path.insert(0, str(Path(__file__).resolve().parent))
|
||||
|
||||
import _runtime_guard # noqa: F401 import 即检查:Python < 3.10 时中文报错退出(码 3)
|
||||
|
||||
# 免安装:优先使用随包内置的依赖(vendor/,版本锁定 tyme4py==1.5.0 + tzdata)
|
||||
# vendor 目录不存在时回退到环境中已安装的包(开发模式)
|
||||
_VENDOR = Path(__file__).resolve().parents[1] / "vendor"
|
||||
@@ -39,6 +41,9 @@ def main() -> int:
|
||||
help="出生地,精确到地级市一级,如「四川省成都市」")
|
||||
ap.add_argument("--html", nargs="?", const="", default=None,
|
||||
help="可选:同时生成 HTML 盘面图(给路径参数,或省略则写 ./命盘_<姓名>.html)")
|
||||
ap.add_argument("--shot", action="store_true",
|
||||
help="可选:生成 HTML 盘面图并截图 PNG,路径打在 stdout 末尾;"
|
||||
"截图工具不可用时只出 HTML")
|
||||
a = ap.parse_args()
|
||||
|
||||
# 软授权锁:定制副本(含 data/.license.json)按授权次数/期限放行;母版无状态文件直接放行
|
||||
@@ -83,11 +88,13 @@ def main() -> int:
|
||||
# L0-d UTC → 真太阳时(经度修正 + 均时差)
|
||||
tst, st_audit = to_true_solar_time(utc, loc.lon)
|
||||
|
||||
# L0-e 子初换日:真太阳时 23:00–24:00 归入次日
|
||||
day, bd_audit = resolve_calendar_day(tst)
|
||||
# L0-e 日界审计:is_late_zi 警示与口径文案;换日本身由排盘层
|
||||
# provider 口径实现(见 tyme_adapter.cast 的 sect 参数),此处不再滚日
|
||||
_day, bd_audit = resolve_calendar_day(tst)
|
||||
|
||||
# 排盘时刻 = 换日后的日历日 + 真太阳时的时分秒
|
||||
cast_dt = day.replace(hour=tst.hour, minute=tst.minute, second=tst.second)
|
||||
# 排盘时刻 = 真太阳时原样(晚子时的日界归算交给 tyme4py provider,
|
||||
# 预先滚日会造成双重换日)
|
||||
cast_dt = tst
|
||||
|
||||
# L1-a 排盘(tyme4py 唯一接触面)
|
||||
raw = cast(cast_dt, a.gender)
|
||||
@@ -132,14 +139,24 @@ def main() -> int:
|
||||
print(render(chart))
|
||||
_gate.consume(Path(__file__).resolve().parents[1])
|
||||
|
||||
# 可选:同步生成 HTML 盘面图(渲染失败不影响 stdout 契约)
|
||||
if a.html is not None:
|
||||
# 可选:同步生成 HTML 盘面图(渲染失败不影响 stdout 契约);--shot 再截图 PNG
|
||||
if a.html is not None or a.shot:
|
||||
try:
|
||||
from render.html import build_html
|
||||
html_path = (Path(a.html) if a.html
|
||||
else Path(f"命盘_{a.name}.html"))
|
||||
html_path.write_text(build_html(chart), encoding="utf-8")
|
||||
print(f"HTML 盘面:{html_path.resolve()}", file=sys.stderr)
|
||||
if a.shot:
|
||||
import chart_shot
|
||||
png = chart_shot.shoot(html_path)
|
||||
print(f"\nHTML 盘面:{html_path.resolve()}")
|
||||
if png:
|
||||
print(f"盘面截图:{png}")
|
||||
else:
|
||||
print("盘面截图:不可用(未检测到 playwright 或 Chrome,"
|
||||
"可直接打开上面的 HTML 查看盘面)")
|
||||
else:
|
||||
print(f"HTML 盘面:{html_path.resolve()}", file=sys.stderr)
|
||||
except Exception:
|
||||
print("WARN: HTML 盘面生成失败(命盘不受影响)", file=sys.stderr)
|
||||
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
"""干支派生纯查表:五行、十神、十二长生(星运)、旬空、六十甲子纳音。
|
||||
|
||||
本命四柱的同名信息由 chart/tyme_adapter.py 经 tyme4py 求得;本模块为同口径的
|
||||
纯 Python 实现,供岁运干支(大运/流年/流月)与渲染层复用,保证 HTML 盘面
|
||||
与排盘正文口径一致。纯查表,零命理判断(P1)。
|
||||
"""
|
||||
|
||||
GAN = "甲乙丙丁戊己庚辛壬癸"
|
||||
ZHI = "子丑寅卯辰巳午未申酉戌亥"
|
||||
|
||||
WX_GAN = {"甲": "木", "乙": "木", "丙": "火", "丁": "火", "戊": "土",
|
||||
"己": "土", "庚": "金", "辛": "金", "壬": "水", "癸": "水"}
|
||||
WX_ZHI = {"子": "水", "丑": "土", "寅": "木", "卯": "木", "辰": "土",
|
||||
"巳": "火", "午": "火", "未": "土", "申": "金", "酉": "金",
|
||||
"戌": "土", "亥": "水"}
|
||||
|
||||
_YY = {"甲": 1, "丙": 1, "戊": 1, "庚": 1, "壬": 1,
|
||||
"乙": -1, "丁": -1, "己": -1, "辛": -1, "癸": -1}
|
||||
_SHENG = {"木": "火", "火": "土", "土": "金", "金": "水", "水": "木"}
|
||||
_KE = {"木": "土", "土": "水", "水": "火", "火": "金", "金": "木"}
|
||||
|
||||
|
||||
def ten_god(me: str, other: str) -> str:
|
||||
"""other 天干相对日干 me 的十神(命名与 tyme4py get_ten_star 一致)。"""
|
||||
wx_m, wx_o = WX_GAN[me], WX_GAN[other]
|
||||
same = _YY[me] == _YY[other]
|
||||
if wx_m == wx_o:
|
||||
return "比肩" if same else "劫财"
|
||||
if _SHENG[wx_m] == wx_o:
|
||||
return "食神" if same else "伤官"
|
||||
if _KE[wx_m] == wx_o:
|
||||
return "偏财" if same else "正财"
|
||||
if _KE[wx_o] == wx_m:
|
||||
return "七杀" if same else "正官"
|
||||
return "偏印" if same else "正印"
|
||||
|
||||
|
||||
_TERRAIN_ORDER = ["长生", "沐浴", "冠带", "临官", "帝旺", "衰",
|
||||
"病", "死", "墓", "绝", "胎", "养"]
|
||||
_TERRAIN_START = {"甲": "亥", "乙": "午", "丙": "寅", "戊": "寅", "庚": "巳",
|
||||
"壬": "申", "丁": "酉", "己": "酉", "辛": "子", "癸": "卯"}
|
||||
|
||||
|
||||
def terrain(me: str, zhi: str) -> str:
|
||||
"""日干 me 对地支 zhi 的十二长生(阳顺阴逆,命名与 tyme4py get_terrain 一致)。"""
|
||||
start = ZHI.index(_TERRAIN_START[me])
|
||||
zi = ZHI.index(zhi)
|
||||
off = (zi - start) % 12 if _YY[me] == 1 else (start - zi) % 12
|
||||
return _TERRAIN_ORDER[off]
|
||||
|
||||
|
||||
def gz_void(gz: str) -> str:
|
||||
"""一柱干支所在旬的空亡两支(与 tyme4py get_extra_earth_branches 同果)。"""
|
||||
g, z = GAN.index(gz[0]), ZHI.index(gz[1])
|
||||
return ZHI[(z - g + 10) % 12] + ZHI[(z - g + 11) % 12]
|
||||
|
||||
|
||||
# 六十甲子纳音( pairwise ),末字即五行
|
||||
_NAYIN_PAIRS = [
|
||||
"海中金", "炉中火", "大林木", "路旁土", "剑锋金",
|
||||
"山头火", "涧下水", "城头土", "白蜡金", "杨柳木",
|
||||
"泉中水", "屋上土", "霹雳火", "松柏木", "长流水",
|
||||
"沙中金", "山下火", "平地木", "壁上土", "金箔金",
|
||||
"覆灯火", "天河水", "大驿土", "钗钏金", "桑柘木",
|
||||
"大溪水", "沙中土", "天上火", "石榴木", "大海水",
|
||||
]
|
||||
_JIAZI = [GAN[i % 10] + ZHI[i % 12] for i in range(60)]
|
||||
NAYIN = {gz: _NAYIN_PAIRS[i // 2] for i, gz in enumerate(_JIAZI)}
|
||||
@@ -10,21 +10,9 @@
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
GAN = "甲乙丙丁戊己庚辛壬癸"
|
||||
ZHI = "子丑寅卯辰巳午未申酉戌亥"
|
||||
YANG_GAN = set("甲丙戊庚壬")
|
||||
from .ganzhi import GAN, NAYIN, ZHI
|
||||
|
||||
# 六十甲子纳音( pairwise ),末字即五行
|
||||
_NAYIN_PAIRS = [
|
||||
"海中金", "炉中火", "大林木", "路旁土", "剑锋金",
|
||||
"山头火", "涧下水", "城头土", "白蜡金", "杨柳木",
|
||||
"泉中水", "屋上土", "霹雳火", "松柏木", "长流水",
|
||||
"沙中金", "山下火", "平地木", "壁上土", "金箔金",
|
||||
"覆灯火", "天河水", "大驿土", "钗钏金", "桑柘木",
|
||||
"大溪水", "沙中土", "天上火", "石榴木", "大海水",
|
||||
]
|
||||
_JIAZI = [GAN[i % 10] + ZHI[i % 12] for i in range(60)]
|
||||
NAYIN = {gz: _NAYIN_PAIRS[i // 2] for i, gz in enumerate(_JIAZI)}
|
||||
YANG_GAN = set("甲丙戊庚壬")
|
||||
|
||||
# —— 日干查地支 ——
|
||||
TIANYI = {"甲": "丑未", "戊": "丑未", "庚": "丑未",
|
||||
@@ -102,6 +90,7 @@ SANQI = ("乙丙丁", "甲戊庚", "辛壬癸")
|
||||
# 输出排序(每柱内部按此序)
|
||||
STAR_ORDER = [
|
||||
"天德", "天德合", "月德", "月德合", "天乙贵人", "太极贵人", "福星贵人",
|
||||
"三奇贵人",
|
||||
"文昌", "禄神", "羊刃", "金舆", "驿马", "桃花", "红艳", "华盖", "将星",
|
||||
"劫煞", "灾煞", "亡神", "元辰", "勾煞", "绞煞", "孤辰", "寡宿",
|
||||
"天罗", "地网", "童子煞", "天赦", "魁罡", "阴差阳错", "十灵日", "十恶大败",
|
||||
|
||||
@@ -55,11 +55,27 @@ def _shen_sha(ganzhi: dict, gender: str) -> dict:
|
||||
}
|
||||
|
||||
|
||||
def cast(cast_dt: datetime, gender: str) -> dict:
|
||||
"""cast_dt:已完成子初换日调整的真太阳时(naive,北京时间语义)。"""
|
||||
solar = SolarTime.from_ymd_hms(cast_dt.year, cast_dt.month, cast_dt.day,
|
||||
cast_dt.hour, cast_dt.minute, cast_dt.second)
|
||||
ec = solar.get_lunar_hour().get_eight_char()
|
||||
def cast(cast_dt: datetime, gender: str, sect: int = 1) -> dict:
|
||||
"""cast_dt:真太阳时(naive,北京时间语义)。
|
||||
|
||||
sect:日界流派。1=子初换日(tyme4py 默认 provider,晚子时 23:xx 日柱归次日);
|
||||
2=子正换日(LunarSect2,晚子时日柱算当天)。晚子时的换日由 provider
|
||||
原生实现,调用方不得再对 cast_dt 预先滚日(否则双重换日)。
|
||||
"""
|
||||
from tyme4py.eightchar.provider.impl import (
|
||||
DefaultEightCharProvider, LunarSect2EightCharProvider,
|
||||
)
|
||||
from tyme4py.lunar import LunarHour
|
||||
|
||||
prev_provider = LunarHour.provider
|
||||
LunarHour.provider = (LunarSect2EightCharProvider() if sect == 2
|
||||
else DefaultEightCharProvider())
|
||||
try:
|
||||
solar = SolarTime.from_ymd_hms(cast_dt.year, cast_dt.month, cast_dt.day,
|
||||
cast_dt.hour, cast_dt.minute, cast_dt.second)
|
||||
ec = solar.get_lunar_hour().get_eight_char()
|
||||
finally:
|
||||
LunarHour.provider = prev_provider
|
||||
pillars = {k: getattr(ec, f"get_{k}")() for k in _PILLARS}
|
||||
me = ec.get_day().get_heaven_stem()
|
||||
|
||||
|
||||
@@ -0,0 +1,96 @@
|
||||
#!/usr/bin/env python3
|
||||
"""HTML 盘面 → PNG 截图。
|
||||
|
||||
用法:
|
||||
python chart_shot.py <html路径> [-o 输出png路径]
|
||||
|
||||
截图分级回退:环境装有 playwright 则优先(file:// 全页截图,2 倍分辨率);
|
||||
否则用 macOS Chrome 无头截图(固定窗口,高度按 HTML 内容估算避免截断)。
|
||||
两者都不可用:退出码 2,stderr 提示直接打开 HTML。截图失败不影响排盘主流程。
|
||||
"""
|
||||
import argparse
|
||||
import subprocess
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
sys.path.insert(0, str(Path(__file__).resolve().parent))
|
||||
|
||||
import _runtime_guard # noqa: F401 import 即检查:Python < 3.10 时中文报错退出(码 3)
|
||||
|
||||
CHROME = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
|
||||
|
||||
|
||||
def _shot_playwright(html: Path, out: Path) -> bool:
|
||||
try:
|
||||
from playwright.sync_api import sync_playwright
|
||||
except ImportError:
|
||||
return False
|
||||
try:
|
||||
with sync_playwright() as p:
|
||||
browser = p.chromium.launch()
|
||||
page = browser.new_page(device_scale_factor=2)
|
||||
page.goto(html.resolve().as_uri())
|
||||
page.screenshot(path=str(out), full_page=True)
|
||||
browser.close()
|
||||
except Exception:
|
||||
return False
|
||||
return out.is_file() and out.stat().st_size > 0
|
||||
|
||||
|
||||
def _content_height(html: Path) -> int:
|
||||
"""按 HTML 结构估算整页高度(px):头卡/主表/页脚取固定高,条带按格数折行。"""
|
||||
text = html.read_text(encoding="utf-8", errors="ignore")
|
||||
height = (900 + 40 * text.count('class="warn"')
|
||||
+ 150 * text.count('class="qrcard"'))
|
||||
for strip in text.split('class="strip"')[1:]:
|
||||
cells = strip.count('class="cell"')
|
||||
height += 36 + 132 * -(-cells // 9)
|
||||
return max(1300, min(height + 120, 4200))
|
||||
|
||||
|
||||
def _shot_chrome(html: Path, out: Path) -> bool:
|
||||
if not Path(CHROME).is_file():
|
||||
return False
|
||||
try:
|
||||
r = subprocess.run(
|
||||
[CHROME, "--headless=new", f"--screenshot={out.resolve()}",
|
||||
f"--window-size=1100,{_content_height(html)}",
|
||||
"--force-device-scale-factor=2", "--hide-scrollbars",
|
||||
html.resolve().as_uri()],
|
||||
capture_output=True, timeout=60)
|
||||
except Exception:
|
||||
return False
|
||||
return r.returncode == 0 and out.is_file() and out.stat().st_size > 0
|
||||
|
||||
|
||||
def shoot(html: Path, out: Path | None = None) -> Path | None:
|
||||
"""对 HTML 盘面截图,成功返回 PNG 绝对路径,无可用工具或失败返回 None。"""
|
||||
out = out or html.with_suffix(".png")
|
||||
if _shot_playwright(html, out) or _shot_chrome(html, out):
|
||||
return out.resolve()
|
||||
return None
|
||||
|
||||
|
||||
def main() -> int:
|
||||
ap = argparse.ArgumentParser(
|
||||
prog="chart_shot.py",
|
||||
description="HTML 盘面 → PNG 截图(playwright 优先,Chrome 无头兜底)")
|
||||
ap.add_argument("html", help="HTML 盘面文件路径")
|
||||
ap.add_argument("-o", "--out", default=None,
|
||||
help="输出 PNG 路径(默认与 HTML 同目录同名 .png)")
|
||||
a = ap.parse_args()
|
||||
html = Path(a.html)
|
||||
if not html.is_file():
|
||||
print(f"ERROR: 找不到 HTML 文件 {html}", file=sys.stderr)
|
||||
return 2
|
||||
png = shoot(html, Path(a.out) if a.out else None)
|
||||
if png:
|
||||
print(png)
|
||||
return 0
|
||||
print("无可用截图工具(未检测到 playwright 或 Chrome),"
|
||||
"请直接打开 HTML 文件查看盘面。", file=sys.stderr)
|
||||
return 2
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
@@ -19,6 +19,7 @@ from pathlib import Path
|
||||
|
||||
sys.path.insert(0, str(Path(__file__).resolve().parent))
|
||||
|
||||
import _runtime_guard # noqa: F401 import 即检查:Python < 3.10 时中文报错退出(码 3)
|
||||
import _memory_store as store
|
||||
|
||||
|
||||
|
||||
+223
-83
@@ -4,12 +4,23 @@
|
||||
用法:
|
||||
python memory_save.py --name 张三 --gender 男 \
|
||||
--birth "1990-05-14 08:30" --place "四川省成都市"
|
||||
|
||||
# 换盘(更新既有档案盘面段):按档案重排并替换「## 盘面」,frontmatter 同步
|
||||
python memory_save.py --update-chart memory/archives/丙子庚子庚辰丙子-女-2825d1.md \
|
||||
[--day-boundary 子正] [--birth "校正后时刻"] [--place "校正后出生地"]
|
||||
输出:档案文件路径到 stdout。
|
||||
|
||||
建档即一次排盘:授权副本照常过软锁、扣减一次(与 cast_chart.py 同一 check/consume 位置)。
|
||||
同主键(四柱+性别+hash6)档案已存在时只刷新 frontmatter 与「## 盘面」,
|
||||
正文其余小节(归纳、反馈与澄清等)原样保留。档案规范见 memory/README.md。
|
||||
|
||||
换盘模式(--update-chart):姓名/性别/出生信息默认读档案 frontmatter,
|
||||
--birth/--place 用于时辰/地点校正,--day-boundary 子正 切换日界规则(默认子初)。
|
||||
换盘后「## 盘面」只保留新盘(工作盘唯一),旧盘信息由使用方记入「## 反馈与澄清」;
|
||||
frontmatter 的 pillars/day_master/true_solar_time 同步为新盘,文件改为新主键名
|
||||
(目标已存在且非同一文件时报错退出 2,不覆盖)。四柱有变动时 stderr 列出变动柱,
|
||||
提示使用方把受影响推断条目(归纳、流年大事)标记【待复核】。
|
||||
|
||||
退出码:0 成功;2 输入不可用;3 库内部错误;4 授权不可用(软锁,见 LICENSE.md)。
|
||||
"""
|
||||
import argparse
|
||||
@@ -21,6 +32,8 @@ from pathlib import Path
|
||||
# 引导:无论从哪个目录调用,scripts/ 下的顶层包(geo/astro/chart/render)都可导入
|
||||
sys.path.insert(0, str(Path(__file__).resolve().parent))
|
||||
|
||||
import _runtime_guard # noqa: F401 import 即检查:Python < 3.10 时中文报错退出(码 3)
|
||||
|
||||
# 免安装:优先使用随包内置的依赖(vendor/,版本锁定 tyme4py==1.5.0 + tzdata)
|
||||
_VENDOR = Path(__file__).resolve().parents[1] / "vendor"
|
||||
if _VENDOR.is_dir():
|
||||
@@ -28,24 +41,216 @@ if _VENDOR.is_dir():
|
||||
|
||||
import _memory_store as store
|
||||
|
||||
_PILLAR_LABELS = ("年柱", "月柱", "日柱", "时柱")
|
||||
|
||||
# render 层日界文案写定(scripts/render/ 不在此处改动),换盘子正时改写这两行
|
||||
_AUDIT_ZICHU = "- 日界规则:子初换日(真太阳时 23:00)"
|
||||
_AUDIT_ZIZHENG = "- 日界规则:子正换日(真太阳时 00:00)"
|
||||
_WARN_ZICHU = ("- ⚠️ 晚子时:本造落于真太阳时 23:00–24:00,"
|
||||
"已按「子初换日」归入次日。另存「子正换日」一派,"
|
||||
"日柱与时柱将不同,结论需谨慎。")
|
||||
_WARN_ZIZHENG = ("- ⚠️ 晚子时:本造落于真太阳时 23:00–24:00,"
|
||||
"已按「子正换日」定盘(日界 0:00,不换日)。"
|
||||
"另存「子初换日」一派,日柱与时柱将不同,结论需谨慎。")
|
||||
|
||||
|
||||
def _cast_chart(name: str, gender: str, birth: str, place: str,
|
||||
day_boundary: str = "子初"):
|
||||
"""排盘管线(geo → astro → chart → render),与 cast_chart.py 同一调用序列。
|
||||
|
||||
返回 (命盘 Markdown, 四柱 list, 日主, 真太阳时 str);地点/时刻不可用抛
|
||||
LocationError/ValueError(由调用方映射退出码 2)。
|
||||
"""
|
||||
from geo.cities import resolve_location
|
||||
from astro.timezone_resolve import to_utc
|
||||
from astro.solar_time import to_true_solar_time
|
||||
from astro.day_boundary import resolve_calendar_day
|
||||
from chart.tyme_adapter import cast
|
||||
from chart.luck import (
|
||||
childhood_luck, compute_luck, decade_pillars, flow_months,
|
||||
flow_years, is_forward, luck_label_for_year,
|
||||
)
|
||||
from chart.model import build_chart_data
|
||||
from render.markdown import render
|
||||
|
||||
# L0-a 地点解析(失败抛 LocationError → 退出码 2)
|
||||
loc = resolve_location(place)
|
||||
|
||||
# L0-b 出生时刻解析
|
||||
clock = datetime.strptime(birth.strip(), "%Y-%m-%d %H:%M")
|
||||
|
||||
# L0-c 当地钟表时间 → UTC(含历史时区/夏令时审计)
|
||||
utc, tz_audit = to_utc(clock, loc)
|
||||
|
||||
# L0-d UTC → 真太阳时(经度修正 + 均时差)
|
||||
tst, st_audit = to_true_solar_time(utc, loc.lon)
|
||||
|
||||
# L0-e 日界审计:is_late_zi 警示与口径文案;换日由排盘层 provider
|
||||
# 口径实现(sect 参数),此处不再对时刻预先滚日(避免双重换日)
|
||||
_day, bd_audit = resolve_calendar_day(tst, rule=day_boundary)
|
||||
|
||||
cast_dt = tst
|
||||
|
||||
# L1-a 排盘(tyme4py 唯一接触面);子正口径走 sect=2(晚子时日柱算当天)
|
||||
raw = cast(cast_dt, gender, sect=2 if day_boundary == "子正" else 1)
|
||||
|
||||
# L1-b 起运、大运、流年、流月、小运
|
||||
forward = is_forward(gender, raw["year"]["gan"])
|
||||
luck = compute_luck(
|
||||
birth_tst=tst,
|
||||
prev_jie_time=raw["prev_jie"]["time"],
|
||||
next_jie_time=raw["next_jie"]["time"],
|
||||
forward=forward,
|
||||
)
|
||||
this_year = datetime.now().year
|
||||
n_pillars = max(
|
||||
8,
|
||||
int((this_year + 9 - cast_dt.year - luck["start_age_years"]) / 10) + 2,
|
||||
)
|
||||
decade = decade_pillars(
|
||||
raw["month"]["gan"], raw["month"]["zhi"], forward,
|
||||
luck["start_age_years"], cast_dt.year, n=n_pillars,
|
||||
)
|
||||
years = [
|
||||
(y, gz, luck_label_for_year(y, decade))
|
||||
for y, gz in flow_years(cast_dt.year, this_year, 10)
|
||||
]
|
||||
months = flow_months(this_year)
|
||||
childhood = childhood_luck(
|
||||
raw["hour"]["gan"], raw["hour"]["zhi"], forward,
|
||||
luck["start_age_years"], cast_dt.year,
|
||||
)
|
||||
|
||||
# L1-c 组装 ChartData
|
||||
chart = build_chart_data(
|
||||
name=name, gender=gender, place=place, clock=birth,
|
||||
loc=loc, tz_audit=tz_audit, st_audit=st_audit, bd_audit=bd_audit,
|
||||
raw=raw, luck=luck, luck_pillars=decade,
|
||||
flow_years=years, flow_months=months, childhood_luck=childhood,
|
||||
)
|
||||
|
||||
# L2 渲染命盘 Markdown(嵌入档案「## 盘面」,不直接打印)
|
||||
chart_md = render(chart)
|
||||
if day_boundary == "子正":
|
||||
# render 层日界文案固定为子初口径,换盘子正时改写警示条与审计行
|
||||
chart_md = chart_md.replace(_WARN_ZICHU, _WARN_ZIZHENG)
|
||||
chart_md = chart_md.replace(_AUDIT_ZICHU, _AUDIT_ZIZHENG)
|
||||
|
||||
pillars = [f"{chart.year.gan}{chart.year.zhi}",
|
||||
f"{chart.month.gan}{chart.month.zhi}",
|
||||
f"{chart.day.gan}{chart.day.zhi}",
|
||||
f"{chart.hour.gan}{chart.hour.zhi}"]
|
||||
return chart_md, pillars, chart.day_master, chart.true_solar_time
|
||||
|
||||
|
||||
def _update_chart(a) -> int:
|
||||
"""换盘模式:重排并替换既有档案的「## 盘面」段,frontmatter 与主键名同步。"""
|
||||
path = Path(a.update_chart).expanduser().resolve()
|
||||
if not path.is_file():
|
||||
print(f"ERROR: 档案不存在:{path}", file=sys.stderr)
|
||||
return 2
|
||||
meta, body = store.parse_frontmatter(path.read_text(encoding="utf-8"))
|
||||
if not meta:
|
||||
print("ERROR: 档案无 frontmatter,无法换盘;请检查文件或用完整建档。",
|
||||
file=sys.stderr)
|
||||
return 2
|
||||
name = str(meta.get("name", "")).strip()
|
||||
gender = str(meta.get("gender", "")).strip()
|
||||
birth = (a.birth or str(meta.get("birth_clock", ""))).strip()
|
||||
place = (a.place or str(meta.get("birthplace", ""))).strip()
|
||||
if not name or gender not in ("男", "女") or not birth or not place:
|
||||
print("ERROR: 档案 frontmatter 缺 name/gender/birth_clock/birthplace,"
|
||||
"无法重排;请补全档案或改用完整建档。", file=sys.stderr)
|
||||
return 2
|
||||
|
||||
from geo.cities import LocationError
|
||||
try:
|
||||
chart_md, pillars, day_master, tst_str = _cast_chart(
|
||||
name, gender, birth, place, a.day_boundary)
|
||||
except LocationError as e:
|
||||
print(f"ERROR: {e}", file=sys.stderr)
|
||||
return 2
|
||||
except ValueError:
|
||||
print("ERROR: 出生时间格式应为 YYYY-MM-DD HH:MM;"
|
||||
"若用户只给了日期,请追问具体时刻。", file=sys.stderr)
|
||||
return 2
|
||||
|
||||
now = datetime.now().strftime("%Y-%m-%d %H:%M")
|
||||
old_pillars = meta.get("pillars", [])
|
||||
if isinstance(old_pillars, str):
|
||||
old_pillars = old_pillars.split()
|
||||
meta.update({
|
||||
"name": name, "gender": gender, "birth_clock": birth, "birthplace": place,
|
||||
"true_solar_time": tst_str, "pillars": pillars, "day_master": day_master,
|
||||
"created_at": meta.get("created_at") or now, "updated_at": now,
|
||||
})
|
||||
body = store.replace_section(body, "盘面", chart_md)
|
||||
|
||||
# 四柱/hash6 变动时改为新主键名;目标已存在则拒绝覆盖
|
||||
new_path = path.with_name(store.archive_name(
|
||||
pillars, gender, store.key_hash(birth, place, gender)))
|
||||
if new_path != path:
|
||||
if new_path.exists():
|
||||
print(f"ERROR: 新盘主键档案已存在:{new_path};"
|
||||
f"为避免覆盖,本次未写入。请先核对两份档案。", file=sys.stderr)
|
||||
return 2
|
||||
new_path.write_text(store.dump_frontmatter(meta) + body, encoding="utf-8")
|
||||
path.unlink()
|
||||
else:
|
||||
path.write_text(store.dump_frontmatter(meta) + body, encoding="utf-8")
|
||||
|
||||
changed = [f"{_PILLAR_LABELS[i]} {old_pillars[i]}→{pillars[i]}"
|
||||
for i in range(min(len(old_pillars), 4))
|
||||
if old_pillars[i] != pillars[i]]
|
||||
if changed:
|
||||
print(f"注意:{'、'.join(changed)} 已变。受变动柱影响的已有推断条目"
|
||||
f"(归纳、流年大事)须复核并标【待复核】,复核前不得继续引用;"
|
||||
f"旧盘四柱与换盘原因请记入「## 反馈与澄清」。", file=sys.stderr)
|
||||
print(new_path)
|
||||
return 0
|
||||
|
||||
|
||||
def main() -> int:
|
||||
ap = argparse.ArgumentParser(
|
||||
prog="memory_save.py",
|
||||
description="命主档案建档/更新:排盘一次并写入 memory/archives/(stdout 打印档案路径)",
|
||||
)
|
||||
ap.add_argument("--name", required=True, help="姓名")
|
||||
ap.add_argument("--gender", required=True, choices=["男", "女"],
|
||||
ap.add_argument("--name", default=None, help="姓名")
|
||||
ap.add_argument("--gender", default=None, choices=["男", "女"],
|
||||
help="性别:男 或 女")
|
||||
ap.add_argument("--birth", required=True,
|
||||
help='出生时刻(当地钟表时间),格式 "YYYY-MM-DD HH:MM",时刻必需')
|
||||
ap.add_argument("--place", required=True,
|
||||
help="出生地,精确到地级市一级,如「四川省成都市」")
|
||||
ap.add_argument("--birth", default=None,
|
||||
help='出生时刻(当地钟表时间),格式 "YYYY-MM-DD HH:MM",时刻必需;'
|
||||
"换盘模式下为时辰校正覆盖值")
|
||||
ap.add_argument("--place", default=None,
|
||||
help="出生地,精确到地级市一级,如「四川省成都市」;"
|
||||
"换盘模式下为地点校正覆盖值")
|
||||
ap.add_argument("--update-chart", default=None, metavar="档案路径",
|
||||
help="换盘模式:按档案重排并替换其「## 盘面」段,"
|
||||
"frontmatter 与文件名同步为新盘")
|
||||
ap.add_argument("--day-boundary", default="子初", choices=["子初", "子正"],
|
||||
help="日界规则:子初(默认,真太阳时 23:00 换日)或 子正(0:00 换日);"
|
||||
"仅换盘模式可用")
|
||||
ap.add_argument("--memory-root", default=None,
|
||||
help=f"档案根目录(默认技能根 memory/;亦可用环境变量 {store.ENV_VAR})")
|
||||
a = ap.parse_args()
|
||||
|
||||
# 软授权锁:与 cast_chart.py 同位置——建档即一次排盘,先 check,成功后 consume
|
||||
if a.update_chart is None:
|
||||
missing = [k for k in ("name", "gender", "birth", "place")
|
||||
if getattr(a, k) is None]
|
||||
if missing:
|
||||
print(f"ERROR: 建档缺参数:{'、'.join('--' + k for k in missing)}。"
|
||||
f"(换盘请用 --update-chart <档案路径>)", file=sys.stderr)
|
||||
return 2
|
||||
if a.day_boundary != "子初":
|
||||
print("ERROR: --day-boundary 仅换盘模式(--update-chart)可用;"
|
||||
"建档固定子初换日。", file=sys.stderr)
|
||||
return 2
|
||||
elif a.name is not None or a.gender is not None:
|
||||
print("ERROR: 换盘模式不支持 --name/--gender(姓名、性别以档案为准)。",
|
||||
file=sys.stderr)
|
||||
return 2
|
||||
|
||||
# 软授权锁:与 cast_chart.py 同位置——建档/换盘即一次排盘,先 check,成功后 consume
|
||||
import _license_gate as _gate
|
||||
_deny = _gate.check(Path(__file__).resolve().parents[1])
|
||||
if _deny:
|
||||
@@ -53,91 +258,26 @@ def main() -> int:
|
||||
return 4
|
||||
|
||||
try:
|
||||
# 排盘管线与 cast_chart.py 同一调用序列(geo → astro → chart → render)
|
||||
from geo.cities import resolve_location, LocationError
|
||||
from astro.timezone_resolve import to_utc
|
||||
from astro.solar_time import to_true_solar_time
|
||||
from astro.day_boundary import resolve_calendar_day
|
||||
from chart.tyme_adapter import cast
|
||||
from chart.luck import (
|
||||
childhood_luck, compute_luck, decade_pillars, flow_months,
|
||||
flow_years, is_forward, luck_label_for_year,
|
||||
)
|
||||
from chart.model import build_chart_data
|
||||
from render.markdown import render
|
||||
if a.update_chart is not None:
|
||||
rc = _update_chart(a)
|
||||
if rc == 0:
|
||||
_gate.consume(Path(__file__).resolve().parents[1])
|
||||
return rc
|
||||
|
||||
# L0-a 地点解析(失败抛 LocationError → 退出码 2)
|
||||
# L0/L1/L2 排盘管线(地点/时刻不可用 → 退出码 2)
|
||||
from geo.cities import LocationError
|
||||
try:
|
||||
loc = resolve_location(a.place)
|
||||
chart_md, pillars, day_master, tst_str = _cast_chart(
|
||||
a.name, a.gender, a.birth, a.place)
|
||||
except LocationError as e:
|
||||
print(f"ERROR: {e}", file=sys.stderr)
|
||||
return 2
|
||||
|
||||
# L0-b 出生时刻解析
|
||||
try:
|
||||
clock = datetime.strptime(a.birth.strip(), "%Y-%m-%d %H:%M")
|
||||
except ValueError:
|
||||
print("ERROR: 出生时间格式应为 YYYY-MM-DD HH:MM;"
|
||||
"若用户只给了日期,请追问具体时刻。", file=sys.stderr)
|
||||
return 2
|
||||
|
||||
# L0-c 当地钟表时间 → UTC(含历史时区/夏令时审计)
|
||||
utc, tz_audit = to_utc(clock, loc)
|
||||
|
||||
# L0-d UTC → 真太阳时(经度修正 + 均时差)
|
||||
tst, st_audit = to_true_solar_time(utc, loc.lon)
|
||||
|
||||
# L0-e 子初换日:真太阳时 23:00–24:00 归入次日
|
||||
day, bd_audit = resolve_calendar_day(tst)
|
||||
|
||||
cast_dt = day.replace(hour=tst.hour, minute=tst.minute, second=tst.second)
|
||||
|
||||
# L1-a 排盘(tyme4py 唯一接触面)
|
||||
raw = cast(cast_dt, a.gender)
|
||||
|
||||
# L1-b 起运、大运、流年、流月、小运
|
||||
forward = is_forward(a.gender, raw["year"]["gan"])
|
||||
luck = compute_luck(
|
||||
birth_tst=tst,
|
||||
prev_jie_time=raw["prev_jie"]["time"],
|
||||
next_jie_time=raw["next_jie"]["time"],
|
||||
forward=forward,
|
||||
)
|
||||
this_year = datetime.now().year
|
||||
n_pillars = max(
|
||||
8,
|
||||
int((this_year + 9 - cast_dt.year - luck["start_age_years"]) / 10) + 2,
|
||||
)
|
||||
decade = decade_pillars(
|
||||
raw["month"]["gan"], raw["month"]["zhi"], forward,
|
||||
luck["start_age_years"], cast_dt.year, n=n_pillars,
|
||||
)
|
||||
years = [
|
||||
(y, gz, luck_label_for_year(y, decade))
|
||||
for y, gz in flow_years(cast_dt.year, this_year, 10)
|
||||
]
|
||||
months = flow_months(this_year)
|
||||
childhood = childhood_luck(
|
||||
raw["hour"]["gan"], raw["hour"]["zhi"], forward,
|
||||
luck["start_age_years"], cast_dt.year,
|
||||
)
|
||||
|
||||
# L1-c 组装 ChartData
|
||||
chart = build_chart_data(
|
||||
name=a.name, gender=a.gender, place=a.place, clock=a.birth,
|
||||
loc=loc, tz_audit=tz_audit, st_audit=st_audit, bd_audit=bd_audit,
|
||||
raw=raw, luck=luck, luck_pillars=decade,
|
||||
flow_years=years, flow_months=months, childhood_luck=childhood,
|
||||
)
|
||||
|
||||
# L2 渲染命盘 Markdown(嵌入档案「## 盘面」,不直接打印)
|
||||
chart_md = render(chart)
|
||||
|
||||
# —— 建档/更新 ——
|
||||
pillars = [f"{chart.year.gan}{chart.year.zhi}",
|
||||
f"{chart.month.gan}{chart.month.zhi}",
|
||||
f"{chart.day.gan}{chart.day.zhi}",
|
||||
f"{chart.hour.gan}{chart.hour.zhi}"]
|
||||
root = store.resolve_root(a.memory_root, __file__)
|
||||
arch_dir = root / "archives"
|
||||
arch_dir.mkdir(parents=True, exist_ok=True)
|
||||
@@ -147,8 +287,8 @@ def main() -> int:
|
||||
now = datetime.now().strftime("%Y-%m-%d %H:%M")
|
||||
meta = {
|
||||
"name": a.name, "gender": a.gender, "birth_clock": a.birth.strip(),
|
||||
"birthplace": a.place.strip(), "true_solar_time": chart.true_solar_time,
|
||||
"pillars": pillars, "day_master": chart.day_master,
|
||||
"birthplace": a.place.strip(), "true_solar_time": tst_str,
|
||||
"pillars": pillars, "day_master": day_master,
|
||||
"created_at": now, "updated_at": now,
|
||||
}
|
||||
if path.is_file():
|
||||
|
||||
@@ -0,0 +1,166 @@
|
||||
#!/usr/bin/env python3
|
||||
"""规则条款检索 —— 按关键词查 rules/ 条款全文,模型按需取规则。
|
||||
|
||||
用法:
|
||||
python query_rules.py 从格 破格 [--limit 8] [--and]
|
||||
python query_rules.py --id R-运-32
|
||||
python query_rules.py --list
|
||||
|
||||
规则库(rules/[0-9]*.md)为单一事实源:启动时现解析条款索引,无缓存文件。
|
||||
条款体例:`### R-运-32 标题` 起头,正文到下一个 `##`/`###` 标题或文件尾。
|
||||
|
||||
关键词空格分隔,中文按子串匹配(不分词)。默认排序:全部关键词都命中的
|
||||
条款排前,部分命中按命中词数 + 相关度分排序(罕见词加权威力更大,
|
||||
标题命中加权、正文命中位置靠前加权);--and 只保留全部关键词都命中的条款。
|
||||
|
||||
退出码:0 检索完成;1 无命中条款;2 输入不可用;3 内部错误。
|
||||
"""
|
||||
import argparse
|
||||
import math
|
||||
import re
|
||||
import sys
|
||||
import traceback
|
||||
from dataclasses import dataclass
|
||||
from pathlib import Path
|
||||
|
||||
sys.path.insert(0, str(Path(__file__).resolve().parent))
|
||||
|
||||
import _runtime_guard # noqa: F401 import 即检查:Python < 3.10 时中文报错退出(码 3)
|
||||
|
||||
RULES_DIR = Path(__file__).resolve().parents[1] / "rules"
|
||||
CLAUSE_RE = re.compile(r"^### (R-\S+)\s+(.+?)\s*$")
|
||||
HEADING_RE = re.compile(r"^##+ ")
|
||||
|
||||
|
||||
@dataclass
|
||||
class Clause:
|
||||
rid: str # 条款编号,如 R-运-32
|
||||
title: str # 标题
|
||||
body: str # 正文(不含头部行,尾部空行与 --- 分隔线已剥除)
|
||||
file: str # 所属文件名
|
||||
line: int # 头部行号(1 起)
|
||||
order: int # 解析序,排序兜底
|
||||
|
||||
|
||||
def load_index(rules_dir: Path = RULES_DIR) -> list[Clause]:
|
||||
clauses: list[Clause] = []
|
||||
for path in sorted(rules_dir.glob("[0-9]*.md")):
|
||||
lines = path.read_text(encoding="utf-8").splitlines()
|
||||
starts = [(i, CLAUSE_RE.match(ln)) for i, ln in enumerate(lines)]
|
||||
heads = [(i, m) for i, m in starts if m]
|
||||
for k, (i, m) in enumerate(heads):
|
||||
end = len(lines)
|
||||
for j in range(i + 1, len(lines)):
|
||||
if HEADING_RE.match(lines[j]):
|
||||
end = j
|
||||
break
|
||||
body = lines[i + 1:end]
|
||||
while body and (not body[-1].strip() or body[-1].strip() == "---"):
|
||||
body.pop()
|
||||
clauses.append(Clause(rid=m.group(1), title=m.group(2),
|
||||
body="\n".join(body), file=path.name,
|
||||
line=i + 1, order=len(clauses)))
|
||||
return clauses
|
||||
|
||||
|
||||
def score_clause(c: Clause, keywords: list[str],
|
||||
idf: dict[str, float]) -> tuple[int, float]:
|
||||
"""返回 (命中关键词数, 相关度分);一个关键词未命中则 hits 少一。"""
|
||||
hits, total = 0, 0.0
|
||||
text = c.title + "\n" + c.body
|
||||
for kw in keywords:
|
||||
n_title, n_body = c.title.count(kw), c.body.count(kw)
|
||||
if n_title + n_body == 0:
|
||||
continue
|
||||
hits += 1
|
||||
pos = text.find(kw)
|
||||
total += idf[kw] * (5.0 * n_title + n_body + (1.0 - pos / len(text)))
|
||||
return hits, total
|
||||
|
||||
|
||||
def search(clauses: list[Clause], keywords: list[str],
|
||||
strict_and: bool = False) -> list[Clause]:
|
||||
idf = {}
|
||||
for kw in keywords:
|
||||
df = sum(1 for c in clauses if kw in c.title or kw in c.body)
|
||||
idf[kw] = math.log(1 + len(clauses) / (1 + df))
|
||||
scored = []
|
||||
for c in clauses:
|
||||
hits, score = score_clause(c, keywords, idf)
|
||||
if hits == 0 or (strict_and and hits < len(keywords)):
|
||||
continue
|
||||
scored.append((hits, score, c))
|
||||
scored.sort(key=lambda t: (-t[0], -t[1], t[2].order))
|
||||
return [c for _, _, c in scored]
|
||||
|
||||
|
||||
def print_clause(c: Clause) -> None:
|
||||
print(f"## {c.rid} {c.title}")
|
||||
print(f"{c.file}:{c.line}")
|
||||
print()
|
||||
print(c.body)
|
||||
print()
|
||||
|
||||
|
||||
def main(argv: list[str] | None = None) -> int:
|
||||
ap = argparse.ArgumentParser(
|
||||
prog="query_rules.py",
|
||||
description="规则条款检索:按关键词查 rules/ 条款全文(编号 R-XX-NN)",
|
||||
)
|
||||
ap.add_argument("keywords", nargs="*", help="检索关键词,空格分隔,子串匹配")
|
||||
ap.add_argument("--limit", type=int, default=8, help="最多输出条款数(默认 8,0 为不限)")
|
||||
ap.add_argument("--and", dest="strict_and", action="store_true",
|
||||
help="严格 AND:只保留全部关键词都命中的条款")
|
||||
ap.add_argument("--id", default=None, help="按编号精确取单条,如 R-运-32")
|
||||
ap.add_argument("--list", action="store_true", help="列出全部条款标题")
|
||||
a = ap.parse_args(argv)
|
||||
|
||||
keywords = [kw for kw in (kw.strip() for kw in a.keywords) if kw]
|
||||
if not keywords and a.id is None and not a.list:
|
||||
print("ERROR: 至少给一个关键词,或用 --id / --list。", file=sys.stderr)
|
||||
return 2
|
||||
|
||||
try:
|
||||
clauses = load_index()
|
||||
if not clauses:
|
||||
print(f"ERROR: 未解析到任何条款({RULES_DIR})。", file=sys.stderr)
|
||||
return 3
|
||||
|
||||
if a.list:
|
||||
print(f"# 全部条款({len(clauses)} 条)")
|
||||
print()
|
||||
cur = None
|
||||
for c in clauses:
|
||||
if c.file != cur:
|
||||
cur = c.file
|
||||
print(f"## {cur}")
|
||||
print(f"- {c.rid} {c.title}")
|
||||
return 0
|
||||
|
||||
if a.id is not None:
|
||||
for c in clauses:
|
||||
if c.rid == a.id:
|
||||
print_clause(c)
|
||||
return 0
|
||||
print(f"无命中条款:{a.id}", file=sys.stderr)
|
||||
return 1
|
||||
|
||||
hits = search(clauses, keywords, strict_and=a.strict_and)
|
||||
if not hits:
|
||||
print(f"无命中条款:{' '.join(keywords)}", file=sys.stderr)
|
||||
return 1
|
||||
shown = hits if a.limit <= 0 else hits[:a.limit]
|
||||
mode = "AND 全命中" if a.strict_and else "相关度"
|
||||
print(f"# 规则检索:{' '.join(keywords)}({mode},命中 {len(hits)} 条,示 {len(shown)} 条)")
|
||||
print()
|
||||
for c in shown:
|
||||
print_clause(c)
|
||||
return 0
|
||||
except Exception:
|
||||
print("ERROR: 检索内部错误。", file=sys.stderr)
|
||||
traceback.print_exc(file=sys.stderr)
|
||||
return 3
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
@@ -19,6 +19,8 @@ from pathlib import Path
|
||||
|
||||
sys.path.insert(0, str(Path(__file__).resolve().parent))
|
||||
|
||||
import _runtime_guard # noqa: F401 import 即检查:Python < 3.10 时中文报错退出(码 3)
|
||||
|
||||
|
||||
def main() -> int:
|
||||
ap = argparse.ArgumentParser(
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 54 KiB |
+84
-118
@@ -2,52 +2,25 @@
|
||||
"""ChartData → 单文件 HTML 盘面(模板 render/templates/paipan.html)。
|
||||
|
||||
与 Markdown 输出同为纯计算渲染:十神/藏干/空亡/纳音/十二长生/月令旺衰
|
||||
均为固定查表,不含任何命理判断(P1)。
|
||||
均为固定查表,不含任何命理判断(P1)。岁运干支(大运/流年格)的十神/
|
||||
星运/空亡/纳音复用 chart/ganzhi.py,神煞复用 chart/shensha.py 的岁运
|
||||
求值器 evaluate_target(与 query_shensha.py 同一口径),不在渲染层
|
||||
另造规则。
|
||||
|
||||
logo 与品牌字体(render/assets/)以 base64 内嵌,保证 HTML 单文件便携;
|
||||
神煞条目的查法注释(全角/半角括号)仅在本装配层剔除,Markdown 输出保持原样。
|
||||
"""
|
||||
import base64
|
||||
import re
|
||||
from datetime import datetime
|
||||
from html import escape as _escape
|
||||
from pathlib import Path
|
||||
|
||||
from chart.luck import luck_label_for_year
|
||||
from chart.ganzhi import NAYIN, WX_GAN, WX_ZHI, gz_void, ten_god, terrain
|
||||
from chart.shensha import evaluate_target
|
||||
|
||||
GAN = "甲乙丙丁戊己庚辛壬癸"
|
||||
ZHI = "子丑寅卯辰巳午未申酉戌亥"
|
||||
|
||||
_WX_GAN = {"甲": "木", "乙": "木", "丙": "火", "丁": "火", "戊": "土",
|
||||
"己": "土", "庚": "金", "辛": "金", "壬": "水", "癸": "水"}
|
||||
_WX_ZHI = {"子": "水", "丑": "土", "寅": "木", "卯": "木", "辰": "土",
|
||||
"巳": "火", "午": "火", "未": "土", "申": "金", "酉": "金",
|
||||
"戌": "土", "亥": "水"}
|
||||
_YY = {"甲": 1, "丙": 1, "戊": 1, "庚": 1, "壬": 1,
|
||||
"乙": -1, "丁": -1, "己": -1, "辛": -1, "癸": -1}
|
||||
_SHENG = {"木": "火", "火": "土", "土": "金", "金": "水", "水": "木"}
|
||||
_KE = {"木": "土", "土": "水", "水": "火", "火": "金", "金": "木"}
|
||||
|
||||
_HIDDEN = {"子": ["癸"], "丑": ["己", "癸", "辛"], "寅": ["甲", "丙", "戊"],
|
||||
"卯": ["乙"], "辰": ["戊", "乙", "癸"], "巳": ["丙", "戊", "庚"],
|
||||
"午": ["丁", "己"], "未": ["己", "丁", "乙"],
|
||||
"申": ["庚", "壬", "戊"], "酉": ["辛"], "戌": ["戊", "辛", "丁"],
|
||||
"亥": ["壬", "甲"]}
|
||||
|
||||
_NAYIN = {"甲子": "海中金", "乙丑": "海中金", "丙寅": "炉中火", "丁卯": "炉中火",
|
||||
"戊辰": "大林木", "己巳": "大林木", "庚午": "路旁土", "辛未": "路旁土",
|
||||
"壬申": "剑锋金", "癸酉": "剑锋金", "甲戌": "山头火", "乙亥": "山头火",
|
||||
"丙子": "涧下水", "丁丑": "涧下水", "戊寅": "城头土", "己卯": "城头土",
|
||||
"庚辰": "白蜡金", "辛巳": "白蜡金", "壬午": "杨柳木", "癸未": "杨柳木",
|
||||
"甲申": "泉中水", "乙酉": "泉中水", "丙戌": "屋上土", "丁亥": "屋上土",
|
||||
"戊子": "霹雳火", "己丑": "霹雳火", "庚寅": "松柏木", "辛卯": "松柏木",
|
||||
"壬辰": "长流水", "癸巳": "长流水", "甲午": "沙中金", "乙未": "沙中金",
|
||||
"丙申": "山下火", "丁酉": "山下火", "戊戌": "平地木", "己亥": "平地木",
|
||||
"庚子": "壁上土", "辛丑": "壁上土", "壬寅": "金箔金", "癸卯": "金箔金",
|
||||
"甲辰": "覆灯火", "乙巳": "覆灯火", "丙午": "天河水", "丁未": "天河水",
|
||||
"戊申": "大驿土", "己酉": "大驿土", "庚戌": "钗钏金", "辛亥": "钗钏金",
|
||||
"壬子": "桑柘木", "癸丑": "桑柘木", "甲寅": "大溪水", "乙卯": "大溪水",
|
||||
"丙辰": "沙中土", "丁巳": "沙中土", "戊午": "天上火", "己未": "天上火",
|
||||
"庚申": "石榴木", "辛酉": "石榴木", "壬戌": "大海水", "癸亥": "大海水"}
|
||||
|
||||
_TERRAIN_ORDER = ["长生", "沐浴", "冠带", "临官", "帝旺", "衰",
|
||||
"病", "死", "墓", "绝", "胎", "养"]
|
||||
_TERRAIN_START = {"甲": "亥", "乙": "午", "丙": "寅", "戊": "寅", "庚": "巳",
|
||||
"壬": "申", "丁": "酉", "己": "酉", "辛": "子", "癸": "卯"}
|
||||
_WX_CLASS = {"木": "wx-mu", "火": "wx-huo", "土": "wx-tu",
|
||||
"金": "wx-jin", "水": "wx-shui"}
|
||||
|
||||
_SEASON = {"寅": ("木", "火", "水", "金", "土"), "卯": ("木", "火", "水", "金", "土"),
|
||||
"巳": ("火", "土", "木", "水", "金"), "午": ("火", "土", "木", "水", "金"),
|
||||
@@ -57,43 +30,30 @@ _SEASON = {"寅": ("木", "火", "水", "金", "土"), "卯": ("木", "火", "
|
||||
"丑": ("土", "金", "火", "木", "水"), "未": ("土", "金", "火", "木", "水")}
|
||||
_SEASON_LABEL = ("旺", "相", "休", "囚", "死")
|
||||
|
||||
_ASSETS_DIR = Path(__file__).resolve().parent / "assets"
|
||||
_SHA_NOTE_RE = re.compile(r"[((][^))]*[))]")
|
||||
|
||||
# 结构性占位符:值本身是装配层渲染出的 HTML 片段或 base64 资源,
|
||||
# 填充时原样注入;其余占位符均为文本字段,一律 HTML 转义防注入。
|
||||
_STRUCTURAL_KEYS = frozenset({
|
||||
"LOGO_B64", "FONT_B64", "QRCODE_B64",
|
||||
"WARNINGS", "MAIN_TABLE", "LUCK_STRIP", "CHILDHOOD_BLOCK",
|
||||
"FLOW_YEARS", "FLOW_MONTHS",
|
||||
})
|
||||
|
||||
|
||||
def _strip_sha_note(entry: str) -> str:
|
||||
"""神煞条目剔除查法括号注释:`将星(以年支子查,见于月支子)` → `将星`。"""
|
||||
return _SHA_NOTE_RE.sub("", entry).strip()
|
||||
|
||||
|
||||
def _asset_b64(name: str) -> str:
|
||||
return base64.b64encode((_ASSETS_DIR / name).read_bytes()).decode("ascii")
|
||||
|
||||
|
||||
def _wx(ch: str) -> str:
|
||||
wx = _WX_GAN.get(ch) or _WX_ZHI.get(ch)
|
||||
return {"木": "wx-mu", "火": "wx-huo", "土": "wx-tu",
|
||||
"金": "wx-jin", "水": "wx-shui"}.get(wx, "")
|
||||
|
||||
|
||||
def _ten_god(me: str, other: str) -> str:
|
||||
wx_m, wx_o = _WX_GAN[me], _WX_GAN[other]
|
||||
same = _YY[me] == _YY[other]
|
||||
if wx_m == wx_o:
|
||||
return "比肩" if same else "劫财"
|
||||
if _SHENG[wx_m] == wx_o:
|
||||
return "食神" if same else "伤官"
|
||||
if _KE[wx_m] == wx_o:
|
||||
return "偏财" if same else "正财"
|
||||
if _KE[wx_o] == wx_m:
|
||||
return "七杀" if same else "正官"
|
||||
return "偏印" if same else "正印"
|
||||
|
||||
|
||||
def _terrain(me: str, zhi: str) -> str:
|
||||
"""日干对支的十二长生(阳顺阴逆)。"""
|
||||
start = _ZHI_IDX(_TERRAIN_START[me])
|
||||
zi = _ZHI_IDX(zhi)
|
||||
off = (zi - start) % 12 if _YY[me] == 1 else (start - zi) % 12
|
||||
return _TERRAIN_ORDER[off]
|
||||
|
||||
|
||||
def _ZHI_IDX(z: str) -> int:
|
||||
return ZHI.index(z)
|
||||
|
||||
|
||||
def _gz_void(gz: str) -> str:
|
||||
"""一柱干支的旬空两支。"""
|
||||
g, z = GAN.index(gz[0]), ZHI.index(gz[1])
|
||||
return ZHI[(z - g + 10) % 12] + ZHI[(z - g + 11) % 12]
|
||||
wx = WX_GAN.get(ch) or WX_ZHI.get(ch)
|
||||
return _WX_CLASS.get(wx, "")
|
||||
|
||||
|
||||
def _z(zhi: str, voids: str) -> str:
|
||||
@@ -111,51 +71,21 @@ def _pillar_col(chart, key: str, label: str, cur: bool = False) -> dict:
|
||||
"gan": p.gan, "zhi": p.zhi,
|
||||
"hidden": list(zip(p.hidden_stems, p.hidden_ten_gods)),
|
||||
"terrain": chart.terrain.get(key, ""),
|
||||
"void": _gz_void(p.gan + p.zhi),
|
||||
"void": gz_void(p.gan + p.zhi),
|
||||
"nayin": p.na_yin or "",
|
||||
"shensha": chart.shen_sha.get(key, []),
|
||||
"shensha": [_strip_sha_note(s) for s in chart.shen_sha.get(key, [])],
|
||||
"voids": voids,
|
||||
}
|
||||
|
||||
|
||||
def _extra_col(chart, gz: str, label: str, cur: bool) -> dict:
|
||||
"""流年/大运列(仅干支行星级信息,神煞留空)。"""
|
||||
me = chart.day_master
|
||||
voids = chart.void.get("day", "") + chart.void.get("hour", "")
|
||||
return {
|
||||
"label": label, "cur": cur,
|
||||
"god": _ten_god(me, gz[0]),
|
||||
"gan": gz[0], "zhi": gz[1],
|
||||
"hidden": [(h, _ten_god(me, h)) for h in _HIDDEN[gz[1]]],
|
||||
"terrain": _terrain(me, gz[1]),
|
||||
"void": _gz_void(gz),
|
||||
"nayin": _NAYIN[gz],
|
||||
"shensha": [],
|
||||
"voids": voids,
|
||||
}
|
||||
|
||||
|
||||
def _main_table(chart) -> str:
|
||||
this_year = datetime.now().year
|
||||
ly = next(((y, gz) for y, gz, _ in chart.flow_years if y == this_year), None)
|
||||
cur_luck = None
|
||||
for lp in chart.luck_pillars:
|
||||
if lp.start_year <= this_year:
|
||||
cur_luck = lp
|
||||
cols = []
|
||||
if ly:
|
||||
cols.append(_extra_col(chart, ly[1], f"流年 {ly[0]}", cur=True))
|
||||
if cur_luck:
|
||||
cols.append(_extra_col(chart, cur_luck.gan + cur_luck.zhi, "大运", cur=True))
|
||||
for key, label in (("year", "年柱"), ("month", "月柱"),
|
||||
("day", "日柱"), ("hour", "时柱")):
|
||||
cols.append(_pillar_col(chart, key, label, cur=(key == "day")))
|
||||
def _render_table(cols: list) -> str:
|
||||
"""干支列列表 → 排盘表格(主星/天干/地支/藏干/星运/空亡/纳音/神煞)。"""
|
||||
|
||||
def th(c):
|
||||
tag = '<span class="curtag">当前</span>' if c["cur"] else ""
|
||||
return f'<th class="{"cur" if c["cur"] else ""}">{c["label"]}{tag}</th>'
|
||||
|
||||
def row(label, fn, cls=""):
|
||||
def row(label, fn):
|
||||
tds = "".join(
|
||||
f'<td class="{"cur" if c["cur"] else ""}">{fn(c)}</td>' for c in cols)
|
||||
return f'<tr><td class="rowlabel">{label}</td>{tds}</tr>'
|
||||
@@ -178,6 +108,34 @@ def _main_table(chart) -> str:
|
||||
return '<table class="pan">' + "".join(rows) + "</table>"
|
||||
|
||||
|
||||
def _main_table(chart) -> str:
|
||||
"""排盘卡:仅年月日时四柱。"""
|
||||
cols = [_pillar_col(chart, key, label, cur=(key == "day"))
|
||||
for key, label in (("year", "年柱"), ("month", "月柱"),
|
||||
("day", "日柱"), ("hour", "时柱"))]
|
||||
return _render_table(cols)
|
||||
|
||||
|
||||
def _target_shensha(chart, gz: str) -> list[str]:
|
||||
"""岁运干支相对本命锚点所逢的神煞(与 query_shensha.py 同一求值器)。"""
|
||||
pillars = {k: getattr(chart, k).gan + getattr(chart, k).zhi
|
||||
for k in ("year", "month", "day", "hour")}
|
||||
return [star for star, _ in evaluate_target(pillars, chart.gender, gz)["anchored"]]
|
||||
|
||||
|
||||
def _gz_sub(chart, gz: str) -> str:
|
||||
"""岁运小卡的干支附属行:十神·星运 / 空亡 / 纳音 / 神煞(无标签,值本身说话)。"""
|
||||
lines = [
|
||||
f"{ten_god(chart.day_master, gz[0])} · {terrain(chart.day_master, gz[1])}",
|
||||
gz_void(gz),
|
||||
NAYIN[gz],
|
||||
]
|
||||
sha = _target_shensha(chart, gz)
|
||||
if sha:
|
||||
lines.append(" · ".join(sha))
|
||||
return "".join(f'<div class="cs">{line}</div>' for line in lines)
|
||||
|
||||
|
||||
def _luck_strip(chart) -> str:
|
||||
this_year = datetime.now().year
|
||||
cells = []
|
||||
@@ -189,8 +147,7 @@ def _luck_strip(chart) -> str:
|
||||
f'<div class="cy">{lp.start_year} · {lp.start_age:.0f} 岁起</div>'
|
||||
f'<div class="cg"><span class="{_wx(lp.gan)}">{lp.gan}</span>'
|
||||
f'<span class="{_wx(lp.zhi)}">{lp.zhi}</span></div>'
|
||||
f'<div class="cy">{_ten_god(chart.day_master, lp.gan)}'
|
||||
f' · {_terrain(chart.day_master, lp.zhi)}</div></div>')
|
||||
f'{_gz_sub(chart, gz)}</div>')
|
||||
return '<div class="strip">' + "".join(cells) + "</div>"
|
||||
|
||||
|
||||
@@ -218,7 +175,8 @@ def _flow_years(chart) -> str:
|
||||
cls += " jiao"
|
||||
cells.append(f'<div class="{cls}"><div class="cy">{year}</div>'
|
||||
f'<div class="cg"><span class="{_wx(gz[0])}">{gz[0]}</span>'
|
||||
f'<span class="{_wx(gz[1])}">{gz[1]}</span></div></div>')
|
||||
f'<span class="{_wx(gz[1])}">{gz[1]}</span></div>'
|
||||
f'{_gz_sub(chart, gz)}</div>')
|
||||
return '<div class="strip">' + "".join(cells) + "</div>"
|
||||
|
||||
|
||||
@@ -258,14 +216,18 @@ def build_html(chart) -> str:
|
||||
|
||||
audit = (f"时区 {chart.tz_used}(夏令时:{'是' if chart.is_dst else '否'})· "
|
||||
f"经度修正 {chart.lon_correction_min:+.2f} 分 · 均时差 {chart.eot_minutes:+.2f} 分 · "
|
||||
f"日界 子初换日(23:00)· tyme4py {chart.library_version} · "
|
||||
f"schema {chart.schema_version}")
|
||||
f"日界 子初换日(23:00)")
|
||||
audit_full = (f"{audit}· tyme4py {chart.library_version} · "
|
||||
f"schema {chart.schema_version}")
|
||||
|
||||
mapping = {
|
||||
"TITLE": f"命盘:{chart.name}",
|
||||
"LOGO_B64": _asset_b64("lingyao-logo.png"),
|
||||
"FONT_B64": _asset_b64("logo-font.ttf"),
|
||||
"QRCODE_B64": _asset_b64("qun-qrcode.jpg"),
|
||||
"NAME": chart.name,
|
||||
"GENDER_LABEL": "乾造" if chart.gender == "男" else "坤造",
|
||||
"DAY_MASTER": f"{chart.day_master}{_WX_GAN[chart.day_master]}",
|
||||
"DAY_MASTER": f"{chart.day_master}{WX_GAN[chart.day_master]}",
|
||||
"BIRTHPLACE": chart.birthplace,
|
||||
"BIRTH_CLOCK": chart.birth_clock,
|
||||
"TRUE_SOLAR": chart.true_solar_time,
|
||||
@@ -282,8 +244,12 @@ def build_html(chart) -> str:
|
||||
"FLOW_MONTHS": _flow_months(chart),
|
||||
"SEASON_BAR": _season_bar(chart),
|
||||
"AUDIT": audit,
|
||||
"AUDIT_FULL": audit_full,
|
||||
}
|
||||
out = tpl
|
||||
for k, v in mapping.items():
|
||||
out = out.replace("{{" + k + "}}", str(v))
|
||||
v = str(v)
|
||||
if k not in _STRUCTURAL_KEYS:
|
||||
v = _escape(v, quote=True)
|
||||
out = out.replace("{{" + k + "}}", v)
|
||||
return out
|
||||
|
||||
@@ -3,26 +3,72 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src data:; style-src 'unsafe-inline'; font-src data:; base-uri 'none'; form-action 'none'">
|
||||
<title>{{TITLE}}</title>
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: 'LogoFont';
|
||||
src: url("data:font/ttf;base64,{{FONT_B64}}") format("truetype");
|
||||
font-weight: normal; font-style: normal; font-display: swap;
|
||||
}
|
||||
:root {
|
||||
--ink: #2b2b2b; --muted: #8a8577; --line: #e6dfd2; --bg: #f7f4ee;
|
||||
--card: #fffdf8; --accent: #b08d2f;
|
||||
/* 灵爻妙解网站浅色主题(root.css :root.light + paipan_base.css) */
|
||||
--ink: #222831;
|
||||
--muted: rgba(27, 27, 27, .52);
|
||||
--soft: rgba(27, 27, 27, .68);
|
||||
--line: rgba(193, 188, 235, .55);
|
||||
--card-line: rgba(193, 188, 235, .45);
|
||||
--accent: #dc7b28; /* 网站浅色 primary-color-1 */
|
||||
--accent-2: #f97316; /* 网站浅色 primary-color-3 */
|
||||
--wx-mu: #2e7d32; --wx-huo: #c62828; --wx-tu: #8d6e63;
|
||||
--wx-jin: #af8c2c; --wx-shui: #1565c0;
|
||||
}
|
||||
* { box-sizing: border-box; }
|
||||
body {
|
||||
margin: 0; padding: 24px; background: var(--bg); color: var(--ink);
|
||||
margin: 0; padding: 28px 24px 32px; color: var(--ink);
|
||||
font-family: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
|
||||
background:
|
||||
radial-gradient(ellipse 72% 58% at 78% 20%, rgba(150, 125, 245, .18), transparent 68%),
|
||||
radial-gradient(ellipse 66% 48% at 20% 18%, rgba(112, 174, 255, .18), transparent 70%),
|
||||
radial-gradient(ellipse 82% 52% at 52% 92%, rgba(84, 210, 200, .11), transparent 72%),
|
||||
linear-gradient(135deg, #fbfcff 0%, #f5f8ff 42%, #f2edff 100%);
|
||||
background-attachment: fixed;
|
||||
}
|
||||
.page { max-width: 980px; margin: 0 auto; }
|
||||
.page { max-width: 1100px; margin: 0 auto; }
|
||||
|
||||
/* 顶部品牌区:base.html 抽屉顶部 .drawer-brand 的居中放大版 */
|
||||
.brand-head {
|
||||
display: flex; align-items: center; justify-content: center;
|
||||
gap: 14px; margin: 2px 0 20px;
|
||||
}
|
||||
.brand-logo { width: 52px; height: 52px; display: block; }
|
||||
.brand-name {
|
||||
font-family: 'LogoFont', 'Kaiti SC', 'STKaiti', 'KaiTi', serif;
|
||||
font-weight: 500; font-size: 30px; line-height: 1.25;
|
||||
color: var(--ink); letter-spacing: 1px;
|
||||
}
|
||||
.brand-slogan {
|
||||
margin-top: 3px; font-size: 11px; letter-spacing: 3.5px;
|
||||
color: var(--muted);
|
||||
}
|
||||
|
||||
/* 大卡片:网站左 panel(.panel)亮色风格 */
|
||||
.panel {
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 12px;
|
||||
background: linear-gradient(135deg, rgba(255, 255, 255, 1), rgba(250, 252, 255, 1));
|
||||
box-shadow: 0 16px 38px rgba(48, 56, 96, .12);
|
||||
padding: 16px;
|
||||
}
|
||||
/* 面板内子卡 */
|
||||
.card {
|
||||
background: var(--card); border: 1px solid var(--line);
|
||||
border-radius: 12px; padding: 18px 20px; margin-bottom: 16px;
|
||||
box-shadow: 0 1px 3px rgba(60, 50, 30, .06);
|
||||
background: #fff; border: 1px solid var(--card-line);
|
||||
border-radius: 8px; padding: 16px 18px; margin-bottom: 14px;
|
||||
box-shadow: 0 2px 8px rgba(48, 56, 96, .05);
|
||||
}
|
||||
/* 头部 */
|
||||
.card:last-child { margin-bottom: 0; }
|
||||
|
||||
/* 用户信息 */
|
||||
.head { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
|
||||
.name { font-size: 28px; font-weight: 700; font-family: "Kaiti SC", "STKaiti", "KaiTi", serif; }
|
||||
.chip {
|
||||
@@ -31,90 +77,128 @@
|
||||
}
|
||||
.meta { color: var(--muted); font-size: 13px; line-height: 1.9; }
|
||||
.meta b { color: var(--ink); font-weight: 600; }
|
||||
.meta.tech {
|
||||
margin-top: 8px; padding-top: 8px; font-size: 12.5px;
|
||||
border-top: 1px dashed var(--card-line);
|
||||
}
|
||||
.warn {
|
||||
margin-top: 6px; padding: 6px 10px; border-radius: 8px;
|
||||
background: #fdf3e3; border: 1px solid #ecd9ae; color: #8a6d1d; font-size: 12.5px;
|
||||
}
|
||||
|
||||
/* 主排盘表 */
|
||||
table.pan { width: 100%; border-collapse: collapse; table-layout: fixed; }
|
||||
.pan th, .pan td {
|
||||
border: 1px solid var(--line); text-align: center;
|
||||
border: 1px solid var(--card-line); text-align: center;
|
||||
padding: 6px 4px; vertical-align: middle; font-size: 14px;
|
||||
}
|
||||
.pan th { background: #f3eee2; color: #6b6455; font-weight: 600; }
|
||||
.pan td.rowlabel { background: #f3eee2; color: #6b6455; font-size: 13px; width: 64px; }
|
||||
.pan th { background: rgba(193, 188, 235, .18); color: var(--soft); font-weight: 600; }
|
||||
.pan td.rowlabel { background: rgba(193, 188, 235, .14); color: var(--soft); font-size: 13px; width: 64px; }
|
||||
.gz { font-family: "Kaiti SC", "STKaiti", "KaiTi", serif; font-size: 34px; line-height: 1.25; }
|
||||
.god { font-size: 12.5px; color: #7a7264; }
|
||||
.god { font-size: 12.5px; color: var(--muted); }
|
||||
.god.day { color: var(--accent); font-weight: 600; }
|
||||
.hidden { font-size: 12.5px; line-height: 1.7; color: #57503f; }
|
||||
.hidden { font-size: 12.5px; line-height: 1.7; color: var(--soft); }
|
||||
.hidden .hg { font-weight: 600; }
|
||||
.small { font-size: 12.5px; color: #57503f; line-height: 1.7; }
|
||||
.small { font-size: 12.5px; color: var(--soft); line-height: 1.7; }
|
||||
.voidz { border-bottom: 2px dashed #c0392b; padding-bottom: 1px; }
|
||||
.cur { background: #fdf6e0; }
|
||||
.curtag { display:block; font-size: 11px; color: var(--accent); }
|
||||
.cur { background: rgba(220, 123, 40, .07); }
|
||||
.curtag { display: block; font-size: 11px; color: var(--accent); }
|
||||
.wx-mu { color: var(--wx-mu); } .wx-huo { color: var(--wx-huo); }
|
||||
.wx-tu { color: var(--wx-tu); } .wx-jin { color: var(--wx-jin); }
|
||||
.wx-shui { color: var(--wx-shui); }
|
||||
|
||||
/* 条带 */
|
||||
.sect { font-size: 15px; font-weight: 700; margin: 2px 0 10px;
|
||||
font-family: "Kaiti SC", "STKaiti", "KaiTi", serif; }
|
||||
.sect .note { font-size: 12px; color: var(--muted); font-weight: 400; margin-left: 8px; }
|
||||
.strip { display: flex; flex-wrap: wrap; gap: 6px; }
|
||||
.cell {
|
||||
border: 1px solid var(--line); border-radius: 8px; background: #fff;
|
||||
padding: 6px 8px; text-align: center; min-width: 64px;
|
||||
border: 1px solid var(--card-line); border-radius: 8px; background: #fff;
|
||||
padding: 6px 8px; text-align: center; min-width: 64px; max-width: 96px;
|
||||
}
|
||||
.cell .cy { font-size: 11px; color: var(--muted); }
|
||||
.cell .cg { font-family: "Kaiti SC", "STKaiti", "KaiTi", serif; font-size: 20px; }
|
||||
.cell.cur { border-color: var(--accent); background: #fdf6e0; box-shadow: 0 0 0 1px var(--accent) inset; }
|
||||
.cell .cs { font-size: 11px; color: var(--muted); line-height: 1.55; margin-top: 1px; }
|
||||
.cell.cur { border-color: var(--accent); background: rgba(220, 123, 40, .07); box-shadow: 0 0 0 1px var(--accent) inset; }
|
||||
.cell.jiao .cy { color: #c0392b; }
|
||||
|
||||
/* 尾部交流群卡:左图右文 */
|
||||
.qrcard { display: flex; align-items: center; gap: 16px; }
|
||||
.qrimg { width: 108px; height: 108px; border-radius: 6px; display: block; }
|
||||
.qrtitle { font-size: 15px; font-weight: 700;
|
||||
font-family: "Kaiti SC", "STKaiti", "KaiTi", serif; }
|
||||
.qrdesc { margin-top: 4px; font-size: 12.5px; color: var(--soft); line-height: 1.8; }
|
||||
|
||||
/* 页脚 */
|
||||
.foot { color: var(--muted); font-size: 12px; line-height: 1.9; }
|
||||
.brand { margin-top: 6px; color: #a89e86; }
|
||||
.foot {
|
||||
text-align: center; color: var(--muted); font-size: 12px;
|
||||
line-height: 1.9; margin-top: 16px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="page">
|
||||
|
||||
<div class="card">
|
||||
<div class="head">
|
||||
<span class="name">{{NAME}}</span>
|
||||
<span class="chip">{{GENDER_LABEL}}</span>
|
||||
<span class="chip">日主 {{DAY_MASTER}}</span>
|
||||
<div class="brand-head">
|
||||
<img class="brand-logo" src="data:image/png;base64,{{LOGO_B64}}" alt="灵爻妙解">
|
||||
<div class="brand-text">
|
||||
<div class="brand-name">灵爻妙解</div>
|
||||
<div class="brand-slogan">传承易学智慧</div>
|
||||
</div>
|
||||
<div class="meta" style="margin-top:8px">
|
||||
出生地:<b>{{BIRTHPLACE}}</b> 钟表时间:<b>{{BIRTH_CLOCK}}</b> 真太阳时:<b>{{TRUE_SOLAR}}</b><br>
|
||||
月令:{{MONTH_LING}} 胎元:{{TAI_YUAN}} 命宫:{{MING_GONG}} {{QIYUN}}
|
||||
</div>
|
||||
|
||||
<div class="panel">
|
||||
|
||||
<div class="card">
|
||||
<div class="head">
|
||||
<span class="name">{{NAME}}</span>
|
||||
<span class="chip">{{GENDER_LABEL}}</span>
|
||||
<span class="chip">日主 {{DAY_MASTER}}</span>
|
||||
</div>
|
||||
<div class="meta" style="margin-top:8px">
|
||||
出生地:<b>{{BIRTHPLACE}}</b> 钟表时间:<b>{{BIRTH_CLOCK}}</b> 真太阳时:<b>{{TRUE_SOLAR}}</b><br>
|
||||
月令:{{MONTH_LING}} 胎元:{{TAI_YUAN}} 命宫:{{MING_GONG}} {{QIYUN}}
|
||||
</div>
|
||||
{{WARNINGS}}
|
||||
<div class="meta tech">
|
||||
{{SEASON_BAR}}<br>
|
||||
{{AUDIT}}
|
||||
</div>
|
||||
<!-- 排盘审计原文(开发溯源,含版本信息):{{AUDIT_FULL}} -->
|
||||
</div>
|
||||
{{WARNINGS}}
|
||||
|
||||
<div class="card">
|
||||
<div class="sect">排盘<span class="note">四柱 · 藏干 · 空亡 · 纳音 · 神煞</span></div>
|
||||
{{MAIN_TABLE}}
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="sect">大运<span class="note">{{LUCK_NOTE}}</span></div>
|
||||
{{LUCK_STRIP}}
|
||||
{{CHILDHOOD_BLOCK}}
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="sect">流年<span class="note">出生年至今后十年,今年高亮,红字年份为交运年</span></div>
|
||||
{{FLOW_YEARS}}
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="sect">流月<span class="note">本年节气月</span></div>
|
||||
{{FLOW_MONTHS}}
|
||||
</div>
|
||||
|
||||
<div class="card qrcard">
|
||||
<img class="qrimg" src="data:image/jpeg;base64,{{QRCODE_B64}}" alt="微信群二维码">
|
||||
<div class="qrtext">
|
||||
<div class="qrtitle">灵爻妙解 · 传统文化交流群</div>
|
||||
<div class="qrdesc">扫码加入微信群:反馈解读偏差、交流文化心得、参与档案共建,版本更新动态第一时间同步。</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="sect">排盘<span class="note">四柱 · 藏干 · 空亡 · 纳音 · 神煞(当前大运与流年并列对照)</span></div>
|
||||
{{MAIN_TABLE}}
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="sect">大运<span class="note">{{LUCK_NOTE}}</span></div>
|
||||
{{LUCK_STRIP}}
|
||||
{{CHILDHOOD_BLOCK}}
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="sect">流年<span class="note">出生年至今后十年,今年高亮,红字年份为交运年</span></div>
|
||||
{{FLOW_YEARS}}
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="sect">流月<span class="note">本年节气月</span></div>
|
||||
{{FLOW_MONTHS}}
|
||||
</div>
|
||||
|
||||
<div class="card foot">
|
||||
{{SEASON_BAR}}<br>
|
||||
{{AUDIT}}
|
||||
<div class="brand">灵爻妙解 · 传承易学智慧 · 本盘面由 AI 生成,仅供娱乐参考</div>
|
||||
</div>
|
||||
<div class="foot">灵爻妙解 · 传承易学智慧 · 本盘面由 AI 生成,仅供娱乐参考</div>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
|
||||
+115
-6
@@ -4,20 +4,33 @@
|
||||
用法:
|
||||
python scripts/self_update.py --check 检查更新(24 小时缓存,重复检查不拉网络)
|
||||
python scripts/self_update.py --notify 只读缓存打印提示,绝不碰网络(供 cast_chart 调用)
|
||||
python scripts/self_update.py --apply 下载 zipball → 按 manifest 逐文件校验 → 同步本地
|
||||
python scripts/self_update.py --apply 下载 zipball → 验签 → 按 manifest 逐文件校验 → 同步本地
|
||||
|
||||
退出码(--apply):0 成功;2 无需更新或配置缺失;3 失败(本地原样不动)。
|
||||
|
||||
信任模型(三道防线,各防一层):
|
||||
1. 签名信任锚:manifest.json 附带 ed25519 签名 manifest.json.sig,
|
||||
公钥内置于本文件(UPDATE_PUBLIC_KEY_HEX),私钥仅作者持有
|
||||
(~/.zipec/signing.key,不进任何仓库)。仓库(GitHub/Gitea)或
|
||||
下载链路被攻破时,攻击者改 manifest 即验签失败——防「源头投毒」。
|
||||
2. 双源交叉验证:--apply 从 GitHub 与 Gitea 各拉一份 manifest.json,
|
||||
与 zip 内字节逐一比对,任一不一致即中止——防「单一源被篡改/
|
||||
劫持后单独口径」。
|
||||
3. 逐文件 SHA256:manifest 通过前两关后,逐文件核对清单哈希——
|
||||
防「zip 内文件与清单不符」(传输损坏、打包错误、部分篡改)。
|
||||
manifest.json.sig 本身不进 manifest 清单(自指),随仓库提交分发。
|
||||
|
||||
远端双线路 failover:GitHub 优先,Gitea 兜底。HTTPS_PROXY/HTTP_PROXY 等
|
||||
代理环境变量由 urllib 默认读取、自动生效。测试或自建场景可用环境变量
|
||||
ZIPEC_VERSION_URLS / ZIPEC_ZIPBALL_URLS(逗号分隔)整体覆盖远端地址,
|
||||
支持 file:// 形式。
|
||||
ZIPEC_VERSION_URLS / ZIPEC_ZIPBALL_URLS / ZIPEC_MANIFEST_URLS(逗号分隔)
|
||||
整体覆盖远端地址,支持 file:// 形式。
|
||||
|
||||
抓取通道:urllib 优先;macOS 框架版 Python 常见的根证书缺失
|
||||
(SSL CERTIFICATE_VERIFY_FAILED)时自动回退到系统 curl(curl 自带
|
||||
系统信任库且自带代理环境变量支持)。
|
||||
系统信任库且自带代理环境变量支持)。manifest 与 .sig 的抓取同走此通道。
|
||||
"""
|
||||
import argparse
|
||||
import base64
|
||||
import hashlib
|
||||
import json
|
||||
import os
|
||||
@@ -31,11 +44,24 @@ import urllib.request
|
||||
import zipfile
|
||||
from pathlib import Path
|
||||
|
||||
sys.path.insert(0, str(Path(__file__).resolve().parent))
|
||||
|
||||
import _runtime_guard # noqa: F401 import 即检查:Python < 3.10 时中文报错退出(码 3)
|
||||
import _update_sig # 纯 Python ed25519(RFC 8032),零依赖验签
|
||||
|
||||
# ---- 远端配置(GitHub 优先,Gitea 兜底)----
|
||||
GITHUB_VERSION_URL = "https://raw.githubusercontent.com/mxiaonian/ZiPingEightChar/main/VERSION"
|
||||
GITHUB_ZIPBALL_URL = "https://codeload.github.com/mxiaonian/ZiPingEightChar/zip/refs/heads/main"
|
||||
GITHUB_MANIFEST_URL = "https://raw.githubusercontent.com/mxiaonian/ZiPingEightChar/main/manifest.json"
|
||||
GITEA_VERSION_URL = "https://git.lingyaomiaojie.com/moxiaonian/ZiPingEightChar/raw/branch/main/VERSION"
|
||||
GITEA_ZIPBALL_URL = "https://git.lingyaomiaojie.com/moxiaonian/ZiPingEightChar/archive/main.zip"
|
||||
GITEA_MANIFEST_URL = "https://git.lingyaomiaojie.com/moxiaonian/ZiPingEightChar/raw/branch/main/manifest.json"
|
||||
|
||||
# 更新签名信任锚:ed25519 公钥(32 字节,十六进制),作者 2026-10-10 生成。
|
||||
# 指纹 SHA256(公钥) = 3089bc1cc9a453e5be66a36574635da6b2ad9797c57af11164111faca157411c
|
||||
# 用途:--apply 校验 manifest.json.sig。私钥仅作者持有(~/.zipec/signing.key),
|
||||
# 不进任何仓库;公钥更换 = 信任锚更换,须随版本说明明确公告。
|
||||
UPDATE_PUBLIC_KEY_HEX = "49103c13cad0d9c67207945b4e4f6ff81d1261339eb0de4a60c2a1cf949d7852"
|
||||
|
||||
CACHE_REL = "data/.update_check.json"
|
||||
CACHE_TTL_SECONDS = 24 * 3600
|
||||
@@ -67,6 +93,14 @@ def _zipball_urls() -> list:
|
||||
return [GITHUB_ZIPBALL_URL, GITEA_ZIPBALL_URL]
|
||||
|
||||
|
||||
def _manifest_urls() -> list:
|
||||
"""双源交叉验证用:各源的 manifest.json 直链(.sig 直链 = 本地址 + '.sig')。"""
|
||||
env = os.environ.get("ZIPEC_MANIFEST_URLS")
|
||||
if env:
|
||||
return [u.strip() for u in env.split(",") if u.strip()]
|
||||
return [GITHUB_MANIFEST_URL, GITEA_MANIFEST_URL]
|
||||
|
||||
|
||||
def _fetch_bytes(url: str, timeout: int) -> bytes:
|
||||
"""urllib 优先;SSL 证书缺失等失败时回退系统 curl(macOS 框架版 Python 常见)。"""
|
||||
try:
|
||||
@@ -284,8 +318,58 @@ def _verify_manifest(src: Path, files: dict):
|
||||
return errors
|
||||
|
||||
|
||||
def _cross_check_manifest(manifest_bytes: bytes):
|
||||
"""从全部配置源各拉一份 manifest.json,与 zip 内字节逐一比对。
|
||||
|
||||
返回 None = 各源与 zip 完全一致;否则返回错误信息(任一源不可达也
|
||||
视为失败:无法交叉确认时宁可中止)。
|
||||
"""
|
||||
urls = _manifest_urls()
|
||||
if not urls:
|
||||
return "未配置任何 manifest 源"
|
||||
for url in urls:
|
||||
try:
|
||||
data = _fetch_bytes(url, NETWORK_TIMEOUT)
|
||||
except Exception as e:
|
||||
return f"{url} 不可达({e}),无法完成双源交叉验证"
|
||||
if data != manifest_bytes:
|
||||
return f"{url} 的 manifest.json 与下载包内字节不一致,两源口径分歧"
|
||||
return None
|
||||
|
||||
|
||||
def _load_manifest_sig(src: Path):
|
||||
"""优先取 zip 内 manifest.json.sig;缺失则按 manifest 源单独拉 .sig(curl 回退同路)。
|
||||
|
||||
返回签名文本(base64)或 None。
|
||||
"""
|
||||
p = src / "manifest.json.sig"
|
||||
if p.is_file():
|
||||
try:
|
||||
return p.read_text(encoding="utf-8")
|
||||
except OSError:
|
||||
return None
|
||||
for url in _manifest_urls():
|
||||
try:
|
||||
return _fetch_text(url + ".sig")
|
||||
except Exception:
|
||||
continue
|
||||
return None
|
||||
|
||||
|
||||
def _signature_valid(manifest_bytes: bytes, sig_text: str) -> bool:
|
||||
try:
|
||||
sig = base64.b64decode(sig_text.strip(), validate=True)
|
||||
except Exception:
|
||||
return False
|
||||
try:
|
||||
pk = bytes.fromhex(UPDATE_PUBLIC_KEY_HEX)
|
||||
except ValueError:
|
||||
return False
|
||||
return _update_sig.verify(pk, manifest_bytes, sig)
|
||||
|
||||
|
||||
def _sync(root: Path, src: Path, files: dict) -> None:
|
||||
managed = set(files) | {"manifest.json", "VERSION"}
|
||||
managed = set(files) | {"manifest.json", "manifest.json.sig", "VERSION"}
|
||||
copied = deleted = 0
|
||||
for rel in sorted(managed - {"VERSION"}): # VERSION 最后写
|
||||
s = src / rel
|
||||
@@ -360,7 +444,32 @@ def cmd_apply(root: Path) -> int:
|
||||
print("失败:远端包内找不到 manifest.json(本地未改动)", file=sys.stderr)
|
||||
return 3
|
||||
try:
|
||||
manifest = json.loads((src / "manifest.json").read_text(encoding="utf-8"))
|
||||
manifest_bytes = (src / "manifest.json").read_bytes()
|
||||
except OSError as e:
|
||||
print(f"失败:manifest.json 读取异常({e})(本地未改动)", file=sys.stderr)
|
||||
return 3
|
||||
|
||||
# 防线 1:双源交叉验证(各源 manifest 与 zip 内字节一致)
|
||||
err = _cross_check_manifest(manifest_bytes)
|
||||
if err:
|
||||
print(f"失败:{err},已中止(本地未改动)", file=sys.stderr)
|
||||
return 3
|
||||
print(f"双源交叉验证通过({len(_manifest_urls())} 个源口径一致)")
|
||||
|
||||
# 防线 2:内置公钥验签 manifest(缺 sig 视同验签失败)
|
||||
sig_text = _load_manifest_sig(src)
|
||||
if sig_text is None:
|
||||
print("失败:包未带 manifest.json.sig 签名,可能为旧版或被篡改,"
|
||||
"已中止(本地未改动)", file=sys.stderr)
|
||||
return 3
|
||||
if not _signature_valid(manifest_bytes, sig_text):
|
||||
print("失败:manifest.json 签名校验不符,包可能被篡改,"
|
||||
"已中止(本地未改动)", file=sys.stderr)
|
||||
return 3
|
||||
print("manifest 签名校验通过")
|
||||
|
||||
try:
|
||||
manifest = json.loads(manifest_bytes.decode("utf-8"))
|
||||
files = manifest["files"]
|
||||
except Exception as e:
|
||||
print(f"失败:manifest.json 无法解析({e})(本地未改动)", file=sys.stderr)
|
||||
|
||||
+125
-17
@@ -6,11 +6,18 @@
|
||||
python share_export.py --birth "1990-05-14 08:30" --place "四川省成都市" --gender 男
|
||||
|
||||
脱敏规格(见 share/README.md):不含姓名;出生信息只保留年月日与时辰(不留分钟
|
||||
与钟表时间);地域只保留到省级;事件一律类目化;正文自由文本(归纳、盘面细节、
|
||||
反馈原文)不入包。盘 hash = sha1(四柱+出生地) 前 8 位,用于去重与撤回。
|
||||
与钟表时间);地域保留到城市级(省+地级市,区县及以下删除);事件带类目与简介
|
||||
(note),简介中城市级地名保留(规则蒸馏要用方位信息),姓名、详细住址
|
||||
(小区/门牌/街道号)、身份证/电话等直接定位信息一律删除;归纳、盘面细节等
|
||||
正文自由文本不入包。盘 hash = sha1(四柱+出生地) 前 8 位,用于去重与撤回。
|
||||
|
||||
完整度门槛:性别/四柱/大运齐全 + 至少一条反馈事件(任意核实状态);
|
||||
不满足拒绝导出,退出码 2 并说明缺什么。退出码:0 成功;2 不可用/不完整;3 内部错误。
|
||||
不满足拒绝导出,退出码 2 并说明缺什么。事件简介缺失(档案未写事件内容)
|
||||
不挡导出,JSON 中如实反映(events 为空或 note 为 null)。
|
||||
换盘残留提示:导出时若 pending/ 中已有同出生日、同性别但盘 hash 不同的
|
||||
旧包(多为换盘/信息更正后的孤儿包),stderr 打 WARN 列出路径,提醒人工清理
|
||||
(只提示,不自动删)。
|
||||
退出码:0 成功;2 不可用/不完整;3 内部错误。
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
@@ -25,6 +32,7 @@ from pathlib import Path
|
||||
|
||||
sys.path.insert(0, str(Path(__file__).resolve().parent))
|
||||
|
||||
import _runtime_guard # noqa: F401 import 即检查:Python < 3.10 时中文报错退出(码 3)
|
||||
import _memory_store as store
|
||||
|
||||
SCHEMA = "share/v1"
|
||||
@@ -37,7 +45,7 @@ CATEGORIES: list[tuple[str, tuple[str, ...]]] = [
|
||||
("事业", ("事业", "工作", "升职", "跳槽", "调动", "失业", "创业", "辞职", "职务", "官非")),
|
||||
("财运", ("财运", "破财", "投资", "收入", "赚钱", "欠债", "债务", "置业", "买房")),
|
||||
("健康", ("健康", "生病", "手术", "伤病", "身体", "住院", "疾病", "意外")),
|
||||
("学业", ("学业", "考试", "升学", "考研", "高考", "留学", "读书")),
|
||||
("学业", ("学业", "考试", "升学", "考研", "高考", "留学", "读书", "大学")),
|
||||
("六亲", ("父亲", "母亲", "父母", "子女", "孩子", "兄弟", "姐妹", "六亲", "亲人", "丧")),
|
||||
("流年运势", ("流年", "运势", "大运", "运程")),
|
||||
]
|
||||
@@ -60,6 +68,9 @@ _PROVINCE_SHORT = {
|
||||
|
||||
_STATUS_TAGS = {"【已核实】": "已核实", "【已证伪】": "已证伪", "【未核实】": "未核实"}
|
||||
|
||||
_GZ_RE = re.compile(r"[甲乙丙丁戊己庚辛壬癸][子丑寅卯辰巳午未申酉戌亥]")
|
||||
_YEAR_RE = re.compile(r"(?:19|20)\d{2}")
|
||||
|
||||
|
||||
def _categorize_all(text: str) -> list[str]:
|
||||
return [cat for cat, keywords in CATEGORIES if any(k in text for k in keywords)]
|
||||
@@ -71,7 +82,7 @@ def _categorize(text: str) -> str:
|
||||
|
||||
|
||||
def _province_of(birthplace: str) -> str | None:
|
||||
"""地域脱敏:只保留到省级;识别不出省级则舍弃(宁缺毋滥)。"""
|
||||
"""地域脱敏:省级;识别不出省级则舍弃(宁缺毋滥)。"""
|
||||
for p in _PROVINCES:
|
||||
if p in birthplace:
|
||||
return p
|
||||
@@ -82,6 +93,42 @@ def _province_of(birthplace: str) -> str | None:
|
||||
return m.group(1) if m else None
|
||||
|
||||
|
||||
def _city_of(birthplace: str) -> str | None:
|
||||
"""地域脱敏:城市级(地级市/州/盟;直辖市即省级本身)。识别不出则舍弃。"""
|
||||
province = _province_of(birthplace)
|
||||
if province in ("北京市", "天津市", "上海市", "重庆市",
|
||||
"香港特别行政区", "澳门特别行政区"):
|
||||
return province
|
||||
rest = birthplace
|
||||
if province and rest.startswith(province):
|
||||
rest = rest[len(province):]
|
||||
m = re.match(r"^(.{2,10}?(?:市|州|盟))", rest)
|
||||
return m.group(1) if m else None
|
||||
|
||||
|
||||
def _sanitize_note(text: str, name: str) -> str:
|
||||
"""事件简介脱敏:姓名、身份证/电话、详细住址(小区/门牌/街道号)一律删除;
|
||||
城市级地名保留(规则蒸馏要用方位信息)。"""
|
||||
t = text
|
||||
if name and name not in PLACEHOLDERS:
|
||||
t = t.replace(name, "命主")
|
||||
t = re.sub(r"\d{17}[\dXx]", "(已删)", t) # 身份证
|
||||
t = re.sub(r"1[3-9]\d{9}", "(已删)", t) # 手机号
|
||||
t = re.sub(r"\d{3,4}-\d{7,8}", "(已删)", t) # 座机号
|
||||
t = re.sub(r"[^\s,。;:、()]*(?:小区|公寓|花园|山庄|新村|苑|大院)"
|
||||
r"[^\s,。;:、()]*", "(已删)", t) # 小区/楼盘名
|
||||
t = re.sub(r"\d+\s*(?:号楼|栋|单元|室|号院|层|户)", "(已删)", t) # 楼栋门牌
|
||||
t = re.sub(r"(?:街|路|巷|大道|道)\s*\d+\s*号(?:\s*\d+\s*室)?",
|
||||
"(已删)", t) # 街道号
|
||||
return t.strip()
|
||||
|
||||
|
||||
def _strip_tags(text: str) -> str:
|
||||
for tag in _STATUS_TAGS:
|
||||
text = text.replace(tag, "")
|
||||
return text.strip()
|
||||
|
||||
|
||||
def _section_lines(body: str, heading: str) -> list[str]:
|
||||
"""取档案正文某固定小节(SECTIONS 内)的行,到下一个固定小节或文末。"""
|
||||
lines = body.splitlines()
|
||||
@@ -129,22 +176,59 @@ def _parse_focus(body: str) -> list[str]:
|
||||
return cats
|
||||
|
||||
|
||||
def _parse_feedback(body: str) -> list[dict]:
|
||||
"""反馈事件:只取年份、类目、核实状态——反馈原文不入包。"""
|
||||
def _status_of(t: str) -> str:
|
||||
for tag, name in _STATUS_TAGS.items():
|
||||
if tag in t:
|
||||
return name
|
||||
return "未核实"
|
||||
|
||||
|
||||
def _parse_feedback(body: str, name: str) -> list[dict]:
|
||||
"""反馈事件:年份、类目、核实状态 + 事件简介(note,脱敏后;无实质内容则为 None)。"""
|
||||
events = []
|
||||
for ln in _section_lines(body, "反馈与澄清"):
|
||||
t = ln.strip().lstrip("-•· ").strip()
|
||||
if not t or t in PLACEHOLDERS:
|
||||
continue
|
||||
status = "未核实"
|
||||
for tag, name in _STATUS_TAGS.items():
|
||||
if tag in t:
|
||||
status = name
|
||||
break
|
||||
m = re.search(r"(?:19|20)\d{2}", t)
|
||||
m = _YEAR_RE.search(t)
|
||||
note = _sanitize_note(_strip_tags(t), name)
|
||||
events.append({"year": int(m.group(0)) if m else None,
|
||||
"category": _categorize(t),
|
||||
"status": status})
|
||||
"status": _status_of(t),
|
||||
"note": note or None})
|
||||
return events
|
||||
|
||||
|
||||
def _parse_events(body: str, name: str) -> list[dict]:
|
||||
"""流年大事:年份(区间取首年)、干支、标签、核实状态 + 事件简介(脱敏后)。
|
||||
|
||||
行形如「- 2016(丙申·交运年,入丁酉运):【已核实】离乡,自四川乐山赴厦门读大学。」;
|
||||
无括号标签或缺事件内容时对应字段为 None(如实反映,不挡导出)。
|
||||
"""
|
||||
events = []
|
||||
for ln in _section_lines(body, "流年大事"):
|
||||
t = ln.strip().lstrip("-•· ").strip()
|
||||
if not t or t in PLACEHOLDERS:
|
||||
continue
|
||||
m = re.match(r"^((?:19|20)\d{2})(?:[–—\-]\d{2,4})?"
|
||||
r"(?:(([^)]*)))?\s*[::]\s*(.+)$", t)
|
||||
if m:
|
||||
year = int(m.group(1))
|
||||
label = m.group(2) or None
|
||||
note = m.group(3)
|
||||
else:
|
||||
ym = _YEAR_RE.search(t)
|
||||
year = int(ym.group(0)) if ym else None
|
||||
label = None
|
||||
note = t
|
||||
ganzhi = None
|
||||
if label:
|
||||
gz = _GZ_RE.search(label)
|
||||
ganzhi = gz.group(0) if gz else None
|
||||
note = _sanitize_note(_strip_tags(note), name)
|
||||
events.append({"year": year, "ganzhi": ganzhi, "label": label,
|
||||
"note": note or None, "status": _status_of(t),
|
||||
"category": _categorize(t)})
|
||||
return events
|
||||
|
||||
|
||||
@@ -154,13 +238,18 @@ def chart_hash(pillars: list[str], birthplace: str) -> str:
|
||||
|
||||
|
||||
def build_package(meta: dict, body: str) -> tuple[dict, list[str]]:
|
||||
"""组装脱敏包;返回 (package, 缺失项列表)。package 保证不含姓名/分钟/省以下地域。"""
|
||||
"""组装脱敏包;返回 (package, 缺失项列表)。
|
||||
|
||||
保证不含姓名、出生分钟/钟表时间、区县及以下地域;事件简介中城市级地名保留,
|
||||
直接定位信息(详细住址、证件、电话)已删除。
|
||||
"""
|
||||
pillars = meta.get("pillars", [])
|
||||
if isinstance(pillars, str):
|
||||
pillars = pillars.split()
|
||||
pillars = [str(p) for p in pillars]
|
||||
birthplace = str(meta.get("birthplace", ""))
|
||||
gender = str(meta.get("gender", ""))
|
||||
name = str(meta.get("name", ""))
|
||||
|
||||
pkg: dict = {"schema": SCHEMA,
|
||||
"exported_at": datetime.now().strftime("%Y-%m-%d %H:%M"),
|
||||
@@ -169,7 +258,8 @@ def build_package(meta: dict, body: str) -> tuple[dict, list[str]]:
|
||||
"pillars": pillars,
|
||||
"luck_pillars": _parse_luck(body),
|
||||
"focus_categories": _parse_focus(body),
|
||||
"feedback": _parse_feedback(body)}
|
||||
"events": _parse_events(body, name),
|
||||
"feedback": _parse_feedback(body, name)}
|
||||
|
||||
# 出生信息脱敏:只保留年月日与时辰(时支),不留分钟与钟表时间
|
||||
m = re.match(r"^(\d{4})-(\d{2})-(\d{2})", str(meta.get("birth_clock", "")).strip())
|
||||
@@ -180,6 +270,9 @@ def build_package(meta: dict, body: str) -> tuple[dict, list[str]]:
|
||||
province = _province_of(birthplace)
|
||||
if province:
|
||||
pkg["region_province"] = province
|
||||
city = _city_of(birthplace)
|
||||
if city:
|
||||
pkg["region_city"] = city
|
||||
|
||||
missing = []
|
||||
if not gender:
|
||||
@@ -210,7 +303,7 @@ def _find_archive(args) -> Path | None:
|
||||
def main() -> int:
|
||||
ap = argparse.ArgumentParser(
|
||||
prog="share_export.py",
|
||||
description="从 memory 档案导出结构化脱敏包(JSON)到 share/pending/;不含姓名、分钟、省以下地域")
|
||||
description="从 memory 档案导出结构化脱敏包(JSON)到 share/pending/;不含姓名、分钟、区县及以下地域")
|
||||
ap.add_argument("--archive", default=None, help="档案文件路径(直接指定)")
|
||||
ap.add_argument("--name", default=None, help="姓名(检索条件)")
|
||||
ap.add_argument("--gender", default=None, choices=["男", "女"], help="性别(检索条件)")
|
||||
@@ -249,6 +342,21 @@ def main() -> int:
|
||||
pending = share_root / "pending"
|
||||
pending.mkdir(parents=True, exist_ok=True)
|
||||
out = pending / f"{pkg['chart_hash']}.json"
|
||||
# 换盘孤儿包提示:pending 中同出生日、同性别但盘 hash 不同的旧包,
|
||||
# 多为换盘/信息更正后的残留,提醒人工清理(只提示,不自动删)
|
||||
for old in sorted(pending.glob("*.json")):
|
||||
if old.name == out.name:
|
||||
continue
|
||||
try:
|
||||
opkg = json.loads(old.read_text(encoding="utf-8"))
|
||||
except (OSError, json.JSONDecodeError):
|
||||
continue
|
||||
if (opkg.get("birth_date") == pkg.get("birth_date")
|
||||
and opkg.get("gender") == pkg.get("gender")
|
||||
and opkg.get("chart_hash") != pkg["chart_hash"]):
|
||||
print(f"WARN: pending 中已有同出生日同性别的旧包(盘 hash 不同),"
|
||||
f"疑似换盘残留:{old};确认后请手动删除,避免误推。",
|
||||
file=sys.stderr)
|
||||
out.write_text(json.dumps(pkg, ensure_ascii=False, indent=2) + "\n",
|
||||
encoding="utf-8")
|
||||
print(out)
|
||||
|
||||
+45
-20
@@ -9,7 +9,8 @@ ZIPING_SHARE_GITEA_REMOTE 覆盖)。两个远端逐个尝试,至少一个成
|
||||
|
||||
推送成功后:调 _license_gate.grant_uses(root, 10, 盘hash) 计励(同一盘只计一次),
|
||||
并把该包移入 share/pushed/。推送失败保留 pending,退出码 3。
|
||||
无 git 或无网络安静失败(不打栈)。
|
||||
无 git 或无网络安静失败(不打栈);远端推送失败时在 stderr 带该远端
|
||||
git 报错的末几行摘要,GitHub 线失败另附 HTTPS_PROXY 代理提示。
|
||||
|
||||
退出码:0 至少一包推送成功或无包可推;2 输入不可用;3 推送失败。
|
||||
"""
|
||||
@@ -26,6 +27,7 @@ from pathlib import Path
|
||||
|
||||
sys.path.insert(0, str(Path(__file__).resolve().parent))
|
||||
|
||||
import _runtime_guard # noqa: F401 import 即检查:Python < 3.10 时中文报错退出(码 3)
|
||||
import _license_gate as gate
|
||||
|
||||
GRANT_USES = 10 # 每盘推送成功的计励次数
|
||||
@@ -39,24 +41,38 @@ def _git(*args: str, cwd: str | None = None) -> subprocess.CompletedProcess:
|
||||
capture_output=True, text=True, timeout=60)
|
||||
|
||||
|
||||
def _push_to_remote(remote: str, pkg: Path, workdir: str) -> bool:
|
||||
"""克隆远端 → 放入脱敏包 → commit+push。任一步失败返回 False(安静)。"""
|
||||
def _err_tail(cp: subprocess.CompletedProcess, n: int = 2) -> str:
|
||||
"""取 git 命令报错的末几行(stderr 优先,退而 stdout)。"""
|
||||
for text in (cp.stderr, cp.stdout):
|
||||
lines = [ln.strip() for ln in (text or "").splitlines() if ln.strip()]
|
||||
if lines:
|
||||
return " / ".join(lines[-n:])
|
||||
return f"退出码 {cp.returncode}"
|
||||
|
||||
|
||||
def _push_to_remote(remote: str, pkg: Path, workdir: str) -> tuple[bool, str]:
|
||||
"""克隆远端 → 放入脱敏包 → commit+push。返回 (成功与否, 失败摘要)。"""
|
||||
try:
|
||||
if _git("clone", "--depth", "50", remote, workdir).returncode != 0:
|
||||
return False
|
||||
r = _git("clone", "--depth", "50", remote, workdir)
|
||||
if r.returncode != 0:
|
||||
return False, f"clone 失败:{_err_tail(r)}"
|
||||
dst = Path(workdir) / pkg.name
|
||||
shutil.copy2(pkg, dst)
|
||||
if _git("add", pkg.name, cwd=workdir).returncode != 0:
|
||||
return False
|
||||
commit = _git("-c", "user.name=ziping-share",
|
||||
"-c", "user.email=ziping-share@localhost",
|
||||
"commit", "--allow-empty", "-m", f"share: {pkg.stem}",
|
||||
cwd=workdir)
|
||||
if commit.returncode != 0:
|
||||
return False
|
||||
return _git("push", "origin", "HEAD:main", cwd=workdir).returncode == 0
|
||||
except (OSError, subprocess.SubprocessError):
|
||||
return False
|
||||
r = _git("add", pkg.name, cwd=workdir)
|
||||
if r.returncode != 0:
|
||||
return False, f"add 失败:{_err_tail(r)}"
|
||||
r = _git("-c", "user.name=ziping-share",
|
||||
"-c", "user.email=ziping-share@localhost",
|
||||
"commit", "--allow-empty", "-m", f"share: {pkg.stem}",
|
||||
cwd=workdir)
|
||||
if r.returncode != 0:
|
||||
return False, f"commit 失败:{_err_tail(r)}"
|
||||
r = _git("push", "origin", "HEAD:main", cwd=workdir)
|
||||
if r.returncode != 0:
|
||||
return False, f"push 失败:{_err_tail(r)}"
|
||||
return True, ""
|
||||
except (OSError, subprocess.SubprocessError) as e:
|
||||
return False, f"{type(e).__name__}: {e}"
|
||||
|
||||
|
||||
def _remotes(root: Path) -> list[tuple[str, str]]:
|
||||
@@ -106,13 +122,22 @@ def main() -> int:
|
||||
for pkg in packages:
|
||||
chart_hash = pkg.stem
|
||||
ok_remotes = []
|
||||
failures = []
|
||||
for name, remote in remotes:
|
||||
with tempfile.TemporaryDirectory(prefix="ziping-share-") as td:
|
||||
if _push_to_remote(remote, pkg, td):
|
||||
ok_remotes.append(name)
|
||||
ok, why = _push_to_remote(remote, pkg, td)
|
||||
if ok:
|
||||
ok_remotes.append(name)
|
||||
else:
|
||||
if name == "github_remote":
|
||||
why += (";若本机直连 GitHub 不通,可通过 HTTPS_PROXY "
|
||||
"环境变量配置代理")
|
||||
failures.append(f"{name}:{why}")
|
||||
for f in failures:
|
||||
print(f"WARN {pkg.name} {f}", file=sys.stderr)
|
||||
if not ok_remotes:
|
||||
print(f"FAIL {pkg.name}:所有远端推送失败(无网络或远端不可达),"
|
||||
f"pending 保留。", file=sys.stderr)
|
||||
print(f"FAIL {pkg.name}:所有远端推送失败,pending 保留。",
|
||||
file=sys.stderr)
|
||||
continue
|
||||
granted = gate.grant_uses(root, GRANT_USES, chart_hash)
|
||||
shutil.move(str(pkg), str(pushed / pkg.name))
|
||||
|
||||
+4
-4
@@ -15,11 +15,11 @@
|
||||
|
||||
| 项目 | 处理 |
|
||||
|---|---|
|
||||
| 姓名 | 一律删除,不入包 |
|
||||
| 姓名 | 一律删除,不入包(事件简介中出现的姓名替换为「命主」) |
|
||||
| 出生信息 | 只保留年月日与时辰(时辰以时支表示),不留分钟与钟表时间 |
|
||||
| 地域 | 只保留到省级,省以下(市、县、区县)一律删除 |
|
||||
| 事件 | 一律类目化(婚姻/感情/事业/财运/健康/学业/六亲/流年运势/其他),不写细节 |
|
||||
| 正文自由文本 | 不入包(归纳、盘面细节、反馈原文均不导出) |
|
||||
| 地域 | 保留到城市级(省+地级市),区县及以下一律删除 |
|
||||
| 事件 | 类目化(婚姻/感情/事业/财运/健康/学业/六亲/流年运势/其他)+ 事件简介(note);简介中**城市级地名保留**(规则蒸馏要用方位信息),详细住址(小区/门牌/街道号)、身份证/电话等直接定位信息一律删除;书写事件简介时只写到城市级 |
|
||||
| 正文自由文本 | 归纳、盘面细节不入包;入包的事件简介按上行规格脱敏 |
|
||||
| 标识 | 仅以盘 hash(四柱+出生地 sha1 前 8 位)标识,用于去重与撤回 |
|
||||
|
||||
## 用途与许可
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
"""chart_shot.py 与 cast_chart --shot:HTML → PNG 截图的分级回退与优雅失败。"""
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
from unittest import mock
|
||||
|
||||
SKILL_ROOT = Path(__file__).resolve().parents[1]
|
||||
sys.path.insert(0, str(SKILL_ROOT / "scripts"))
|
||||
|
||||
import chart_shot # noqa: E402
|
||||
|
||||
CHROME_OK = Path(chart_shot.CHROME).is_file()
|
||||
try:
|
||||
import playwright # noqa: F401
|
||||
PLAYWRIGHT_OK = True
|
||||
except ImportError:
|
||||
PLAYWRIGHT_OK = False
|
||||
SHOT_OK = CHROME_OK or PLAYWRIGHT_OK
|
||||
|
||||
HTML = "<!DOCTYPE html><html><body><h1>命盘</h1></body></html>"
|
||||
|
||||
|
||||
class ShootUnitTest(unittest.TestCase):
|
||||
def test_missing_html_exit_2(self):
|
||||
r = subprocess.run(
|
||||
[sys.executable, str(SKILL_ROOT / "scripts" / "chart_shot.py"),
|
||||
"/nonexistent/x.html"], capture_output=True, text=True, timeout=30)
|
||||
self.assertEqual(r.returncode, 2)
|
||||
self.assertIn("ERROR", r.stderr)
|
||||
|
||||
def test_no_tools_fails_gracefully(self):
|
||||
"""playwright 与 Chrome 都不可用时:shoot 返回 None,CLI 退出码 2 并给提示。"""
|
||||
with tempfile.TemporaryDirectory() as td:
|
||||
html = Path(td) / "p.html"
|
||||
html.write_text(HTML, encoding="utf-8")
|
||||
with mock.patch.object(chart_shot, "_shot_playwright",
|
||||
return_value=False), \
|
||||
mock.patch.object(chart_shot, "_shot_chrome",
|
||||
return_value=False):
|
||||
self.assertIsNone(chart_shot.shoot(html))
|
||||
self.assertFalse(html.with_suffix(".png").exists())
|
||||
with mock.patch.object(sys, "argv",
|
||||
["chart_shot.py", str(html)]):
|
||||
with mock.patch("sys.stderr") as err:
|
||||
self.assertEqual(chart_shot.main(), 2)
|
||||
err.write.assert_called()
|
||||
|
||||
def test_content_height_bounds(self):
|
||||
"""高度估算不越界:空页夹到下限,超长页夹到上限。"""
|
||||
with tempfile.TemporaryDirectory() as td:
|
||||
empty = Path(td) / "e.html"
|
||||
empty.write_text(HTML, encoding="utf-8")
|
||||
self.assertEqual(chart_shot._content_height(empty), 1300)
|
||||
big = Path(td) / "b.html"
|
||||
big.write_text(
|
||||
'<div class="strip">' + '<div class="cell"></div>' * 5000
|
||||
+ "</div>", encoding="utf-8")
|
||||
self.assertEqual(chart_shot._content_height(big), 4200)
|
||||
|
||||
|
||||
@unittest.skipUnless(SHOT_OK, "环境无 playwright 与 Chrome,跳过真实截图")
|
||||
class ShootRealTest(unittest.TestCase):
|
||||
def test_real_png(self):
|
||||
"""真实截图:PNG 非空、宽 2200(1100 窗口 × 2 倍分辨率)。"""
|
||||
import struct
|
||||
with tempfile.TemporaryDirectory() as td:
|
||||
html = Path(td) / "p.html"
|
||||
html.write_text(HTML, encoding="utf-8")
|
||||
png = chart_shot.shoot(html)
|
||||
self.assertIsNotNone(png)
|
||||
data = png.read_bytes()
|
||||
self.assertGreater(len(data), 1000)
|
||||
self.assertEqual(data[:8], b"\x89PNG\r\n\x1a\n")
|
||||
w, _h = struct.unpack(">II", data[16:24])
|
||||
self.assertEqual(w, 2200)
|
||||
|
||||
def test_cli_success(self):
|
||||
with tempfile.TemporaryDirectory() as td:
|
||||
html = Path(td) / "p.html"
|
||||
html.write_text(HTML, encoding="utf-8")
|
||||
out = Path(td) / "o.png"
|
||||
r = subprocess.run(
|
||||
[sys.executable, str(SKILL_ROOT / "scripts" / "chart_shot.py"),
|
||||
str(html), "-o", str(out)],
|
||||
capture_output=True, text=True, timeout=120)
|
||||
self.assertEqual(r.returncode, 0, r.stderr)
|
||||
self.assertIn(str(out), r.stdout)
|
||||
self.assertGreater(out.stat().st_size, 0)
|
||||
|
||||
|
||||
@unittest.skipUnless(SHOT_OK, "环境无 playwright 与 Chrome,跳过 --shot 端到端")
|
||||
class CastShotE2ETest(unittest.TestCase):
|
||||
def test_shot_flag_outputs_paths(self):
|
||||
with tempfile.TemporaryDirectory() as td:
|
||||
html = Path(td) / "p.html"
|
||||
r = subprocess.run(
|
||||
[sys.executable, str(SKILL_ROOT / "scripts" / "cast_chart.py"),
|
||||
"--name", "张三", "--gender", "男", "--birth", "1990-05-14 08:30",
|
||||
"--place", "四川省成都市", "--html", str(html), "--shot"],
|
||||
capture_output=True, text=True, timeout=120,
|
||||
cwd=str(SKILL_ROOT / "scripts"))
|
||||
self.assertEqual(r.returncode, 0, r.stderr)
|
||||
self.assertTrue(r.stdout.startswith("# 命盘:张三"))
|
||||
self.assertIn(f"HTML 盘面:{html.resolve()}", r.stdout)
|
||||
png = html.with_suffix(".png")
|
||||
self.assertIn(f"盘面截图:{png.resolve()}", r.stdout)
|
||||
self.assertGreater(png.stat().st_size, 0)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
@@ -17,6 +17,9 @@ SCRIPTS_DIR = SKILL_ROOT / "scripts"
|
||||
GOLDEN_DIR = Path(__file__).resolve().parent / "golden"
|
||||
if str(SCRIPTS_DIR) not in sys.path:
|
||||
sys.path.insert(0, str(SCRIPTS_DIR))
|
||||
_VENDOR = SKILL_ROOT / "vendor"
|
||||
if str(_VENDOR) not in sys.path:
|
||||
sys.path.insert(0, str(_VENDOR))
|
||||
|
||||
from astro.day_boundary import resolve_calendar_day # noqa: E402
|
||||
from astro.solar_time import to_true_solar_time # noqa: E402
|
||||
@@ -65,5 +68,39 @@ class LateZiGoldenTest(unittest.TestCase):
|
||||
self.assertIs(flag["is_late_zi"], s["expect"]["is_late_zi"])
|
||||
|
||||
|
||||
class LateZiSectPillarsTest(unittest.TestCase):
|
||||
"""晚子时双滚回归:换日由 tyme4py provider 口径实现(sect 参数),
|
||||
调用方不再预滚日。锚点:1973-08-23 23:32 真太阳时。
|
||||
子初 → 壬辰日庚子时(滚一日);子正 → 辛卯日庚子时(不滚,晚子时时柱仍次日起)。
|
||||
"""
|
||||
|
||||
def test_sect1_rolls_once(self):
|
||||
from chart.tyme_adapter import cast
|
||||
r = cast(datetime(1973, 8, 23, 23, 32), "男", sect=1)
|
||||
self.assertEqual(r["day"]["gan"] + r["day"]["zhi"], "壬辰")
|
||||
self.assertEqual(r["hour"]["gan"] + r["hour"]["zhi"], "庚子")
|
||||
|
||||
def test_sect2_no_roll(self):
|
||||
from chart.tyme_adapter import cast
|
||||
r = cast(datetime(1973, 8, 23, 23, 32), "男", sect=2)
|
||||
self.assertEqual(r["day"]["gan"] + r["day"]["zhi"], "辛卯")
|
||||
self.assertEqual(r["hour"]["gan"] + r["hour"]["zhi"], "庚子")
|
||||
|
||||
def test_provider_restored(self):
|
||||
from chart.tyme_adapter import cast
|
||||
from tyme4py.eightchar.provider.impl import DefaultEightCharProvider
|
||||
from tyme4py.lunar import LunarHour
|
||||
cast(datetime(1973, 8, 23, 23, 32), "男", sect=2)
|
||||
self.assertIsInstance(LunarHour.provider, DefaultEightCharProvider)
|
||||
|
||||
def test_non_late_zi_unaffected(self):
|
||||
from chart.tyme_adapter import cast
|
||||
for sect in (1, 2):
|
||||
with self.subTest(sect=sect):
|
||||
r = cast(datetime(1973, 8, 23, 12, 0), "男", sect=sect)
|
||||
self.assertEqual(r["day"]["gan"] + r["day"]["zhi"], "辛卯")
|
||||
self.assertEqual(r["hour"]["gan"] + r["hour"]["zhi"], "甲午")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
+183
-12
@@ -10,7 +10,7 @@ SKILL_ROOT = Path(__file__).resolve().parents[1]
|
||||
sys.path.insert(0, str(SKILL_ROOT / "scripts"))
|
||||
|
||||
|
||||
def _chart():
|
||||
def _chart(name="张三", place="四川省成都市"):
|
||||
"""用真实排盘管线造一份 ChartData(成都 1990 男盘)。"""
|
||||
from datetime import datetime
|
||||
from astro.solar_time import to_true_solar_time
|
||||
@@ -39,7 +39,7 @@ def _chart():
|
||||
years = [(y, gz, luck_label_for_year(y, decade))
|
||||
for y, gz in flow_years(cast_dt.year, this_year, 10)]
|
||||
return build_chart_data(
|
||||
name="张三", gender="男", place="四川省成都市",
|
||||
name=name, gender="男", place=place,
|
||||
clock="1990-05-14 08:30", loc=loc, tz_audit=tz_audit,
|
||||
st_audit=st_audit, bd_audit=bd_audit, raw=raw, luck=luck,
|
||||
luck_pillars=decade, flow_years=years,
|
||||
@@ -60,19 +60,190 @@ class HtmlRenderTest(unittest.TestCase):
|
||||
for sect in ("排盘", "大运", "流年", "流月", "空亡", "神煞", "纳音"):
|
||||
self.assertIn(sect, html)
|
||||
|
||||
def test_brand_head_embedded(self):
|
||||
"""顶部品牌区:logo 与 LogoFont 均 base64 内嵌,口号在。"""
|
||||
from render.html import build_html
|
||||
html = build_html(_chart())
|
||||
self.assertIn("灵爻妙解", html)
|
||||
self.assertIn("传承易学智慧", html)
|
||||
self.assertIn('class="brand-head"', html)
|
||||
self.assertIn("data:image/png;base64,", html)
|
||||
self.assertIn("@font-face", html)
|
||||
self.assertIn("data:font/ttf;base64,", html)
|
||||
|
||||
def test_qrcode_card(self):
|
||||
"""尾部交流群卡:二维码 jpeg base64 内嵌,标题与正文文案各出现一次。"""
|
||||
from render.html import build_html
|
||||
html = build_html(_chart())
|
||||
self.assertIn('class="card qrcard"', html)
|
||||
self.assertIn("data:image/jpeg;base64,", html)
|
||||
self.assertEqual(html.count("灵爻妙解 · 传统文化交流群"), 1)
|
||||
self.assertEqual(
|
||||
html.count("扫码加入微信群:反馈解读偏差、交流文化心得、"
|
||||
"参与档案共建,版本更新动态第一时间同步。"), 1)
|
||||
|
||||
def test_audit_versions_only_in_comment(self):
|
||||
"""技术信息并入用户信息卡:展示行删版本段,完整原文留在 HTML 注释。"""
|
||||
from render.html import build_html
|
||||
html = build_html(_chart())
|
||||
self.assertEqual(html.count("tyme4py"), 1)
|
||||
self.assertEqual(html.count("schema"), 1)
|
||||
m = re.search(r"<!--[^>]*tyme4py[^>]*-->", html)
|
||||
self.assertIsNotNone(m, "注释中应保留含 tyme4py/schema 的完整审计原文")
|
||||
self.assertIn("schema", m.group(0))
|
||||
self.assertIn("时区", m.group(0))
|
||||
self.assertIn("月令", html)
|
||||
self.assertIn("日界 子初换日(23:00)", html)
|
||||
|
||||
def test_shensha_notes_stripped(self):
|
||||
"""神煞括号注释在装配层剔除(全角/半角),Markdown 侧不受影响。"""
|
||||
from render.html import _strip_sha_note, build_html
|
||||
self.assertEqual(_strip_sha_note("将星(以年支子查,见于月支子)"), "将星")
|
||||
self.assertEqual(_strip_sha_note("天乙贵人(以日干查)"), "天乙贵人")
|
||||
self.assertEqual(_strip_sha_note("驿马"), "驿马")
|
||||
html = build_html(_chart())
|
||||
self.assertNotIn("(以", html)
|
||||
|
||||
def test_luck_flow_card_removed(self):
|
||||
"""「大运 · 流年」对照卡已整张删除;排盘卡仍只含四柱。"""
|
||||
from render.html import build_html
|
||||
html = build_html(_chart())
|
||||
self.assertNotIn("大运 · 流年", html)
|
||||
self.assertNotIn("当前一步大运与本年流年对照", html)
|
||||
self.assertNotIn("LUCK_FLOW_TABLE", html)
|
||||
pan_seg = html[html.find("排盘<span"):html.find('class="sect">大运')]
|
||||
self.assertIn("年柱", pan_seg)
|
||||
self.assertNotIn("大运", pan_seg)
|
||||
self.assertNotIn("流年", pan_seg)
|
||||
|
||||
def test_luck_strip_enriched(self):
|
||||
"""大运格:起运年+干支之外带十神·星运/空亡/纳音/神煞(2018 甲申运对拍)。"""
|
||||
from render.html import build_html
|
||||
html = build_html(_chart())
|
||||
seg = html[html.find('class="sect">大运'):html.find('class="sect">流年')]
|
||||
self.assertIn("2018 · 28 岁起", seg)
|
||||
self.assertIn("正官 · 沐浴", seg) # 甲对日干己 / 己对申
|
||||
self.assertIn("午未", seg) # 甲申旬空
|
||||
self.assertIn("泉中水", seg) # 甲申纳音
|
||||
self.assertIn("天乙贵人 · 金舆 · 驿马 · 劫煞 · 孤辰", seg) # 甲申岁运神煞
|
||||
self.assertIn('class="cell cur"', seg) # 当前一步高亮
|
||||
|
||||
def test_flow_year_strip_enriched(self):
|
||||
"""流年格:年份+干支之外带主星/星运/空亡/纳音/神煞(2026 丙午对拍)。"""
|
||||
from render.html import build_html
|
||||
html = build_html(_chart())
|
||||
seg = html[html.find('class="sect">流年'):html.find('class="sect">流月')]
|
||||
self.assertIn("正印 · 临官", seg) # 丙对日干己 / 己对午
|
||||
self.assertIn("寅卯", seg) # 丙午旬空(甲辰旬)
|
||||
self.assertIn("天河水", seg) # 丙午纳音
|
||||
self.assertIn("天德合 · 禄神 · 将星", seg) # 丙午岁运神煞
|
||||
self.assertIn('class="cell cur"', seg) # 本年高亮
|
||||
|
||||
def test_strips_have_no_field_labels(self):
|
||||
"""条带小卡只排值:不出现「主星/星运/空亡/纳音/神煞」字段标签。"""
|
||||
from render.html import build_html
|
||||
html = build_html(_chart())
|
||||
segs = [html[html.find('class="sect">大运'):html.find('class="sect">流年')],
|
||||
html[html.find('class="sect">流年'):html.find('class="sect">流月')]]
|
||||
for seg in segs:
|
||||
for label in ("主星", "星运", "空亡", "纳音", "神煞"):
|
||||
self.assertNotIn(label, seg)
|
||||
|
||||
def test_ten_god_table(self):
|
||||
from render.html import _ten_god
|
||||
self.assertEqual(_ten_god("庚", "丁"), "正官")
|
||||
self.assertEqual(_ten_god("庚", "丙"), "七杀")
|
||||
self.assertEqual(_ten_god("庚", "辛"), "劫财")
|
||||
self.assertEqual(_ten_god("庚", "壬"), "食神")
|
||||
from chart.ganzhi import ten_god
|
||||
self.assertEqual(ten_god("庚", "丁"), "正官")
|
||||
self.assertEqual(ten_god("庚", "丙"), "七杀")
|
||||
self.assertEqual(ten_god("庚", "辛"), "劫财")
|
||||
self.assertEqual(ten_god("庚", "壬"), "食神")
|
||||
|
||||
def test_void_and_terrain(self):
|
||||
from render.html import _gz_void, _terrain
|
||||
self.assertEqual(_gz_void("庚子"), "辰巳")
|
||||
self.assertEqual(_gz_void("甲子"), "戌亥")
|
||||
self.assertEqual(_terrain("庚", "巳"), "长生")
|
||||
self.assertEqual(_terrain("庚", "子"), "死")
|
||||
from chart.ganzhi import gz_void, terrain
|
||||
self.assertEqual(gz_void("庚子"), "辰巳")
|
||||
self.assertEqual(gz_void("甲子"), "戌亥")
|
||||
self.assertEqual(terrain("庚", "巳"), "长生")
|
||||
self.assertEqual(terrain("庚", "子"), "死")
|
||||
|
||||
def test_nayin_shared_with_shensha_module(self):
|
||||
"""纳音表集中于 chart/ganzhi.py,chart/shensha.py 复用同一份。"""
|
||||
from chart.ganzhi import NAYIN
|
||||
from chart.shensha import NAYIN as SHA_NAYIN
|
||||
self.assertIs(NAYIN, SHA_NAYIN)
|
||||
self.assertEqual(NAYIN["甲辰"], "覆灯火")
|
||||
self.assertEqual(NAYIN["丙午"], "天河水")
|
||||
|
||||
|
||||
class HtmlXssTest(unittest.TestCase):
|
||||
"""XSS 防护:用户可控字段(姓名/出生地)一律转义,模板带 CSP,无脚本。"""
|
||||
|
||||
PAYLOADS = (
|
||||
"<script>alert(1)</script>",
|
||||
"<img src=x onerror=alert(1)>",
|
||||
'" autofocus onfocus=alert(1) x="',
|
||||
"javascript:alert(1)",
|
||||
'山西晋城 "><svg onload=alert(1)>',
|
||||
)
|
||||
|
||||
# 活跃标签(真实 < 起首、未被 < 转义)携带事件属性或 javascript: 协议
|
||||
_LIVE_HANDLER = re.compile(r"<[a-zA-Z][^<>]*\son\w+\s*=")
|
||||
_LIVE_JS_URL = re.compile(r"<[a-zA-Z][^<>]*javascript:")
|
||||
|
||||
def _render(self, name, place):
|
||||
from render.html import build_html
|
||||
return build_html(_chart(name=name, place=place))
|
||||
|
||||
def test_payloads_escaped(self):
|
||||
"""注入向量在输出中只以转义形态存在,裸形态消失。"""
|
||||
from html import escape
|
||||
for payload in self.PAYLOADS:
|
||||
for field in ("name", "place"):
|
||||
kw = {"name": "张三", "place": "四川省成都市", field: payload}
|
||||
html = self._render(**kw)
|
||||
esc = escape(payload, quote=True)
|
||||
if esc != payload: # 含 & < > " ' 的载荷:转义形态在、裸形态不在
|
||||
self.assertIn(esc, html, f"{field}={payload!r} 未转义")
|
||||
self.assertNotIn(payload, html, f"{field}={payload!r} 裸注入")
|
||||
|
||||
def test_no_live_markup_in_document(self):
|
||||
"""注入打到 name/place 后检查整份文档(含结构性占位符区域):
|
||||
无 <script> 标签、无活跃事件处理属性、无 javascript: 属性值。"""
|
||||
html = self._render("<img src=x onerror=alert(1)>",
|
||||
'" autofocus onfocus=alert(1) x="')
|
||||
self.assertNotIn("<script", html.lower())
|
||||
self.assertIsNone(self._LIVE_HANDLER.search(html),
|
||||
"存在活跃 on* 事件处理属性")
|
||||
self.assertIsNone(self._LIVE_JS_URL.search(html),
|
||||
"存在 javascript: 属性值")
|
||||
|
||||
def test_javascript_scheme_inert(self):
|
||||
"""javascript:alert(1) 无特殊字符、转义前后同形——只能作为纯文本出现。"""
|
||||
html = self._render("javascript:alert(1)", "javascript:alert(1)")
|
||||
self.assertIsNone(self._LIVE_JS_URL.search(html))
|
||||
|
||||
def test_csp_meta_present(self):
|
||||
"""CSP meta 存在且按模板实际资源类型收紧:default-src 'none',
|
||||
仅放行 data: 图片/字体与 inline 样式。"""
|
||||
from render.html import build_html
|
||||
html = build_html(_chart())
|
||||
m = re.search(
|
||||
r'<meta http-equiv="Content-Security-Policy" content="([^"]+)"', html)
|
||||
self.assertIsNotNone(m, "缺少 CSP meta")
|
||||
csp = m.group(1)
|
||||
self.assertIn("default-src 'none'", csp)
|
||||
self.assertIn("img-src data:", csp)
|
||||
self.assertIn("style-src 'unsafe-inline'", csp)
|
||||
self.assertIn("font-src data:", csp)
|
||||
|
||||
def test_no_script_tag(self):
|
||||
"""盘面为纯静态页:输出不含任何 <script>。"""
|
||||
from render.html import build_html
|
||||
self.assertNotIn("<script", build_html(_chart()).lower())
|
||||
|
||||
def test_structural_placeholders_intact(self):
|
||||
"""转义不误伤结构性占位符:表格/条带 HTML 片段原样保留。"""
|
||||
html = self._render("<b>x</b>", '<i>y</i>')
|
||||
self.assertIn('<table class="pan">', html)
|
||||
self.assertIn('<div class="strip">', html)
|
||||
self.assertIn('data:image/png;base64,', html)
|
||||
|
||||
|
||||
class CastHtmlE2ETest(unittest.TestCase):
|
||||
|
||||
@@ -10,6 +10,12 @@ sys.path.insert(0, str(Path(__file__).resolve().parents[1] / "scripts"))
|
||||
import _license_gate as gate
|
||||
|
||||
|
||||
@pytest.fixture(autouse=True)
|
||||
def _no_eval_env(monkeypatch):
|
||||
"""默认清掉评测豁免变量,保证既有用例覆盖的是未豁免口径。"""
|
||||
monkeypatch.delenv("ZIPEC_EVAL", raising=False)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def root(tmp_path):
|
||||
return tmp_path
|
||||
@@ -161,3 +167,45 @@ class TestGrantUses:
|
||||
st = json.loads((root / "data" / ".license.json").read_text("utf-8"))
|
||||
assert st["remaining_uses"] == 12
|
||||
assert gate.check(root) is None
|
||||
|
||||
|
||||
class TestEvalExemption:
|
||||
"""ZIPEC_EVAL=1:评测复测豁免——直接放行,不签发、不扣次、不创建任何文件。"""
|
||||
|
||||
def test_no_license_passes_and_creates_nothing(self, root, monkeypatch):
|
||||
monkeypatch.setenv("ZIPEC_EVAL", "1")
|
||||
assert gate.check(root) is None
|
||||
gate.consume(root)
|
||||
assert not (root / "data").exists()
|
||||
|
||||
def test_public_marker_not_issued(self, root, monkeypatch):
|
||||
make_public_marker(root)
|
||||
monkeypatch.setenv("ZIPEC_EVAL", "1")
|
||||
assert gate.check(root) is None
|
||||
assert not (root / "data" / ".license.json").exists() # 不就地签发
|
||||
|
||||
def test_licensed_copy_not_decremented(self, root, monkeypatch):
|
||||
make_state(root)
|
||||
before = (root / "data" / ".license.json").read_text("utf-8")
|
||||
monkeypatch.setenv("ZIPEC_EVAL", "1")
|
||||
assert gate.check(root) is None
|
||||
gate.consume(root)
|
||||
st = json.loads((root / "data" / ".license.json").read_text("utf-8"))
|
||||
assert st["remaining_uses"] == 2 # 不扣次
|
||||
assert (root / "data" / ".license.json").read_text("utf-8") == before
|
||||
|
||||
def test_exhausted_copy_passes_under_eval(self, root, monkeypatch):
|
||||
make_state(root, max_uses=0)
|
||||
monkeypatch.setenv("ZIPEC_EVAL", "1")
|
||||
assert gate.check(root) is None
|
||||
|
||||
def test_env_unset_keeps_original_behavior(self, root, monkeypatch):
|
||||
monkeypatch.setenv("ZIPEC_EVAL", "0") # 仅认 "1",其他值不豁免
|
||||
make_public_marker(root)
|
||||
assert gate.check(root) is None
|
||||
assert (root / "data" / ".license.json").exists() # 公众版仍首启签发
|
||||
|
||||
def test_env_unset_exhausted_copy_still_denied(self, root, monkeypatch):
|
||||
monkeypatch.setenv("ZIPEC_EVAL", "0")
|
||||
make_state(root, max_uses=0)
|
||||
assert "次数已用尽" in gate.check(root)
|
||||
|
||||
@@ -16,6 +16,10 @@ LOOKUP = SCRIPTS_DIR / "memory_lookup.py"
|
||||
ZHANGSAN = ["--name", "张三", "--gender", "男",
|
||||
"--birth", "1990-05-14 08:30", "--place", "四川省成都市"]
|
||||
|
||||
# 晚子时案例:真太阳时落于 23:00–24:00,子初/子正换日四柱不同
|
||||
WANZI = ["--name", "李四", "--gender", "女",
|
||||
"--birth", "1996-12-08 00:30", "--place", "四川省乐山市"]
|
||||
|
||||
|
||||
def run(script, mem_root, *args, use_env=False):
|
||||
env = dict(os.environ)
|
||||
@@ -117,3 +121,97 @@ class TestLookupNoMatch:
|
||||
def test_no_condition_exit_2(self, tmp_path):
|
||||
r = run(LOOKUP, tmp_path)
|
||||
assert r.returncode == 2
|
||||
|
||||
|
||||
class TestUpdateChart:
|
||||
"""换盘(--update-chart):工作盘唯一——盘面段整体替换为新盘,frontmatter
|
||||
与文件名同步,其余小节保留;旧盘信息由使用方记入反馈与澄清。"""
|
||||
|
||||
def test_zizheng_replaces_chart_and_renames(self, tmp_path):
|
||||
r1 = run(SAVE, tmp_path, *WANZI)
|
||||
assert r1.returncode == 0, f"stderr:\n{r1.stderr}"
|
||||
path = Path(r1.stdout.strip())
|
||||
assert "丙子庚子己卯甲子" in path.name # 默认子初换日盘(晚子时归次日)
|
||||
|
||||
# 模拟核对后的回写 + 固定 created_at
|
||||
text = path.read_text(encoding="utf-8")
|
||||
text = text.replace("(无)", "- 【已核实】2016 年离乡赴厦门读大学。")
|
||||
text = re.sub(r'^created_at:.*$', 'created_at: "2000-01-01 00:00"',
|
||||
text, count=1, flags=re.M)
|
||||
path.write_text(text, encoding="utf-8")
|
||||
|
||||
# 用户确认子正换日:重排替换盘面段,日柱变(时柱同为晚子时起法,不变)→ 改新主键名
|
||||
r2 = run(SAVE, tmp_path, "--update-chart", str(path),
|
||||
"--day-boundary", "子正")
|
||||
assert r2.returncode == 0, f"stderr:\n{r2.stderr}"
|
||||
assert "日柱 己卯→戊寅" in r2.stderr
|
||||
assert "待复核" in r2.stderr # 变动柱影响条目提示复核
|
||||
new_path = Path(r2.stdout.strip())
|
||||
assert new_path != path and not path.exists()
|
||||
assert "丙子庚子戊寅甲子" in new_path.name
|
||||
assert list((tmp_path / "archives").glob("*.md")) == [new_path]
|
||||
|
||||
text = new_path.read_text(encoding="utf-8")
|
||||
meta = read_meta(text)
|
||||
assert meta["pillars"] == '["丙子", "庚子", "戊寅", "甲子"]'
|
||||
assert meta["day_master"] == "戊"
|
||||
assert meta["created_at"] == "2000-01-01 00:00" # 保留
|
||||
# 盘面段只剩新盘:日界审计与晚子时警示均为子正口径,无旧盘残留
|
||||
assert "- 日界规则:子正换日(真太阳时 00:00)" in text
|
||||
assert "已按「子正换日」定盘" in text
|
||||
assert text.count("# 命盘") == 1
|
||||
chart_section = text.split("## 盘面")[1].split("## 主要关注方向")[0]
|
||||
assert "日柱:戊寅" in chart_section and "日柱:己卯" not in chart_section
|
||||
# 其余小节保留
|
||||
assert "- 【已核实】2016 年离乡赴厦门读大学。" in text
|
||||
|
||||
def test_birth_correction_updates_meta(self, tmp_path):
|
||||
r1 = run(SAVE, tmp_path, *ZHANGSAN)
|
||||
assert r1.returncode == 0, f"stderr:\n{r1.stderr}"
|
||||
path = Path(r1.stdout.strip())
|
||||
|
||||
r2 = run(SAVE, tmp_path, "--update-chart", str(path),
|
||||
"--birth", "1990-05-14 10:30")
|
||||
assert r2.returncode == 0, f"stderr:\n{r2.stderr}"
|
||||
assert "时柱" in r2.stderr and "待复核" in r2.stderr
|
||||
new_path = Path(r2.stdout.strip())
|
||||
assert new_path != path and not path.exists() # hash6 随 birth 变
|
||||
meta = read_meta(new_path.read_text(encoding="utf-8"))
|
||||
assert meta["birth_clock"] == "1990-05-14 10:30"
|
||||
|
||||
def test_same_chart_keeps_filename(self, tmp_path):
|
||||
r1 = run(SAVE, tmp_path, *ZHANGSAN)
|
||||
assert r1.returncode == 0, f"stderr:\n{r1.stderr}"
|
||||
path = Path(r1.stdout.strip())
|
||||
r2 = run(SAVE, tmp_path, "--update-chart", str(path))
|
||||
assert r2.returncode == 0, f"stderr:\n{r2.stderr}"
|
||||
assert Path(r2.stdout.strip()) == path # 四柱未变,文件名不动
|
||||
assert "待复核" not in r2.stderr
|
||||
|
||||
def test_conflict_refuses_overwrite(self, tmp_path):
|
||||
run(SAVE, tmp_path, *WANZI)
|
||||
olds = list((tmp_path / "archives").glob("*.md"))
|
||||
assert len(olds) == 1
|
||||
old = olds[0]
|
||||
r = run(SAVE, tmp_path, "--update-chart", str(old),
|
||||
"--day-boundary", "子正")
|
||||
assert r.returncode == 0, f"stderr:\n{r.stderr}"
|
||||
# 重新建子初盘档案,再换子正 → 目标已存在,拒绝覆盖
|
||||
run(SAVE, tmp_path, *WANZI)
|
||||
r = run(SAVE, tmp_path, "--update-chart", str(old),
|
||||
"--day-boundary", "子正")
|
||||
assert r.returncode == 2
|
||||
assert "已存在" in r.stderr
|
||||
assert len(list((tmp_path / "archives").glob("*.md"))) == 2
|
||||
|
||||
def test_missing_archive_exit_2(self, tmp_path):
|
||||
r = run(SAVE, tmp_path, "--update-chart",
|
||||
str(tmp_path / "archives" / "nope.md"))
|
||||
assert r.returncode == 2
|
||||
|
||||
def test_rejects_name_gender_overrides(self, tmp_path):
|
||||
r1 = run(SAVE, tmp_path, *ZHANGSAN)
|
||||
assert r1.returncode == 0, f"stderr:\n{r1.stderr}"
|
||||
path = r1.stdout.strip()
|
||||
r = run(SAVE, tmp_path, "--update-chart", path, "--name", "王五")
|
||||
assert r.returncode == 2
|
||||
|
||||
@@ -0,0 +1,130 @@
|
||||
"""规则条款检索(scripts/query_rules.py):索引完整性、关键词命中、
|
||||
多关键词排序、--id 精确取、--list、退出码。
|
||||
|
||||
索引规模基准:rules/[0-9]*.md 共 20 个文件、568 条 `### R-XX-NN` 条款
|
||||
(2026-10-13 复核,与 grep -c '^### R-' 对拍)。
|
||||
"""
|
||||
import re
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
sys.path.insert(0, str(ROOT / "scripts"))
|
||||
|
||||
import query_rules as qr # noqa: E402
|
||||
|
||||
CLAUSES = qr.load_index()
|
||||
BY_ID = {c.rid: c for c in CLAUSES}
|
||||
|
||||
|
||||
class TestIndexCompleteness:
|
||||
def test_clause_count_568(self):
|
||||
assert len(CLAUSES) == 568
|
||||
|
||||
def test_ids_unique(self):
|
||||
assert len(BY_ID) == len(CLAUSES)
|
||||
|
||||
def test_twenty_files_covered(self):
|
||||
files = {c.file for c in CLAUSES}
|
||||
assert len(files) == 20
|
||||
assert all(re.match(r"^[0-9].*\.md$", f) for f in files)
|
||||
|
||||
def test_every_clause_has_title_body_line(self):
|
||||
for c in CLAUSES:
|
||||
assert c.title and c.body and c.line >= 1, c.rid
|
||||
|
||||
def test_line_points_at_header(self):
|
||||
"""抽样核对:条款行号精确指向源文件的 ### 头部行。"""
|
||||
for rid in ("R-纲-00", "R-运-32", "R-煞-04", "R-附-24"):
|
||||
c = BY_ID[rid]
|
||||
src = (ROOT / "rules" / c.file).read_text(encoding="utf-8").splitlines()
|
||||
assert src[c.line - 1].startswith(f"### {rid} ")
|
||||
|
||||
def test_body_excludes_next_heading_and_separator(self):
|
||||
"""正文截断于下一个 ##/### 标题,尾部 --- 分隔线剥除。"""
|
||||
c = BY_ID["R-纲-03"]
|
||||
assert "R-纲-04" not in c.body and "## 3." not in c.body
|
||||
assert not c.body.rstrip().endswith("---")
|
||||
last = BY_ID["R-运-39"] # 文件尾条款:截到 EOF
|
||||
assert "五组引动清单照常逐组核查" in last.body
|
||||
assert last.body.rstrip().endswith("(综括,无单一原文)")
|
||||
|
||||
|
||||
class TestSearch:
|
||||
def test_single_keyword_hit(self):
|
||||
hits = qr.search(CLAUSES, ["天乙贵人"])
|
||||
assert hits and hits[0].rid == "R-煞-04"
|
||||
assert hits[0].file == "94_神煞细节.md"
|
||||
|
||||
def test_no_match_returns_empty(self):
|
||||
assert qr.search(CLAUSES, ["不存在词xyz"]) == []
|
||||
|
||||
def test_multi_keyword_all_hits_rank_first(self):
|
||||
"""全命中条款一律排在部分命中之前。"""
|
||||
hits = qr.search(CLAUSES, ["冲", "婚姻宫"])
|
||||
n_kw = 2
|
||||
seq = [sum(1 for kw in ("冲", "婚姻宫") if kw in c.title or kw in c.body)
|
||||
for c in hits]
|
||||
assert seq == sorted(seq, reverse=True)
|
||||
assert seq[0] == n_kw and hits[0].rid == "R-事-13"
|
||||
assert n_kw in seq # 确有全命中条款
|
||||
|
||||
def test_rare_keyword_outranks_common(self):
|
||||
"""IDF:罕见词(从格)的强命中应压过常见词(破格)的弱命中。"""
|
||||
hits = qr.search(CLAUSES, ["从格", "破格"])
|
||||
assert hits[0].rid == "R-杂-38"
|
||||
|
||||
def test_title_match_weighted(self):
|
||||
"""标题命中加权:标题含「墓库」的两条排在仅正文提及者之前。"""
|
||||
hits = qr.search(CLAUSES, ["墓库"])
|
||||
assert {h.rid for h in hits[:2]} == {"R-附-18", "R-纲-11"}
|
||||
assert all("墓库" in h.title for h in hits[:2])
|
||||
|
||||
def test_strict_and(self):
|
||||
hits = qr.search(CLAUSES, ["冲", "婚姻宫"], strict_and=True)
|
||||
assert hits and all("冲" in c.title + c.body and "婚姻宫" in c.title + c.body
|
||||
for c in hits)
|
||||
assert qr.search(CLAUSES, ["从格", "破格"], strict_and=True) == []
|
||||
|
||||
|
||||
class TestMainCLI:
|
||||
def test_search_exit0_and_output(self, capsys):
|
||||
assert qr.main(["天乙贵人", "--limit", "3"]) == 0
|
||||
out = capsys.readouterr().out
|
||||
assert "## R-煞-04 天乙贵人" in out
|
||||
assert "94_神煞细节.md:" in out
|
||||
|
||||
def test_id_exact(self, capsys):
|
||||
assert qr.main(["--id", "R-运-32"]) == 0
|
||||
out = capsys.readouterr().out
|
||||
assert "## R-运-32 落地义务与候选收敛" in out
|
||||
assert "90_行运.md:352" in out
|
||||
|
||||
def test_id_unknown_exit1(self, capsys):
|
||||
assert qr.main(["--id", "R-运-99"]) == 1
|
||||
assert "无命中" in capsys.readouterr().err
|
||||
|
||||
def test_no_result_exit1(self, capsys):
|
||||
assert qr.main(["不存在词xyz"]) == 1
|
||||
capsys.readouterr()
|
||||
|
||||
def test_no_input_exit2(self, capsys):
|
||||
assert qr.main([]) == 2
|
||||
assert "ERROR" in capsys.readouterr().err
|
||||
|
||||
def test_list(self, capsys):
|
||||
assert qr.main(["--list"]) == 0
|
||||
out = capsys.readouterr().out
|
||||
assert "(568 条)" in out
|
||||
assert len(re.findall(r"^- R-\S+ ", out, re.M)) == 568
|
||||
|
||||
def test_limit(self, capsys):
|
||||
assert qr.main(["冲", "--limit", "2"]) == 0
|
||||
out = capsys.readouterr().out
|
||||
assert len(re.findall(r"^## R-", out, re.M)) == 2
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(pytest.main([__file__, "-v"]))
|
||||
@@ -0,0 +1,74 @@
|
||||
"""运行环境守卫(scripts/_runtime_guard.py):版本判定文案、import 时拦截、入口脚本接线。
|
||||
|
||||
import 时拦截用子进程模拟:伪造 sys.version_info = (3, 9, 6) 后再 import,
|
||||
守卫应打印中文报错并以退出码 3 结束进程。
|
||||
"""
|
||||
import subprocess
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
SCRIPTS = ROOT / "scripts"
|
||||
sys.path.insert(0, str(SCRIPTS))
|
||||
import _runtime_guard as guard
|
||||
|
||||
ENTRY_SCRIPTS = ("cast_chart.py", "chart_shot.py", "memory_lookup.py",
|
||||
"memory_save.py", "query_rules.py", "query_shensha.py",
|
||||
"self_update.py", "share_export.py", "share_push.py")
|
||||
|
||||
|
||||
def run_with_fake_py39(code: str) -> subprocess.CompletedProcess:
|
||||
"""在子进程中把 sys.version_info 伪造成 3.9.6 后执行 code。"""
|
||||
prefix = "import sys, runpy; sys.version_info = (3, 9, 6); "
|
||||
return subprocess.run([sys.executable, "-c", prefix + code],
|
||||
capture_output=True, text=True, timeout=60)
|
||||
|
||||
|
||||
class TestVersionError:
|
||||
def test_current_interpreter_passes(self):
|
||||
assert guard.version_error() is None
|
||||
|
||||
def test_py39_denied_with_chinese_message(self):
|
||||
msg = guard.version_error((3, 9, 6))
|
||||
assert msg is not None
|
||||
assert "Python 3.10" in msg
|
||||
assert "3.9.6" in msg
|
||||
assert sys.executable in msg
|
||||
|
||||
def test_boundary_versions(self):
|
||||
assert guard.version_error((3, 10, 0)) is None
|
||||
assert guard.version_error((4, 0, 0)) is None
|
||||
assert guard.version_error((3, 8, 10)) is not None
|
||||
assert guard.version_error((2, 7, 18)) is not None
|
||||
|
||||
|
||||
class TestImportTimeGuard:
|
||||
def test_import_denied_exits_3(self):
|
||||
cp = run_with_fake_py39(
|
||||
f"sys.path.insert(0, {str(SCRIPTS)!r}); import _runtime_guard")
|
||||
assert cp.returncode == 3
|
||||
assert "Python 3.10" in cp.stderr
|
||||
|
||||
def test_import_allowed_is_silent(self):
|
||||
cp = subprocess.run(
|
||||
[sys.executable, "-c",
|
||||
f"import sys; sys.path.insert(0, {str(SCRIPTS)!r}); import _runtime_guard"],
|
||||
capture_output=True, text=True, timeout=60)
|
||||
assert cp.returncode == 0
|
||||
assert cp.stderr == ""
|
||||
|
||||
def test_entry_script_intercepts_before_deep_error(self):
|
||||
"""chart_shot.py 在 3.9 下原本 def 期即 TypeError;接线后守卫先拦截,报错清晰。"""
|
||||
cp = run_with_fake_py39(
|
||||
f"sys.argv = ['chart_shot.py', 'x.html']; "
|
||||
f"runpy.run_path({str(SCRIPTS / 'chart_shot.py')!r}, run_name='__main__')")
|
||||
assert cp.returncode == 3
|
||||
assert "Python 3.10" in cp.stderr
|
||||
assert "TypeError" not in cp.stderr
|
||||
|
||||
|
||||
class TestEntryScriptsWired:
|
||||
def test_every_entry_script_imports_guard(self):
|
||||
for name in ENTRY_SCRIPTS:
|
||||
src = (SCRIPTS / name).read_text(encoding="utf-8")
|
||||
assert "import _runtime_guard" in src, f"{name} 未接入 _runtime_guard"
|
||||
+160
-20
@@ -1,8 +1,11 @@
|
||||
"""自更新:版本比较、24h 缓存、manifest 校验拦截、apply 同步与保留区、退出码。
|
||||
|
||||
远端用本地临时目录伪造:VERSION / zipball 均以 file:// 地址经
|
||||
ZIPEC_VERSION_URLS / ZIPEC_ZIPBALL_URLS 注入,不碰真实网络。
|
||||
远端用本地临时目录伪造:VERSION / zipball / manifest 直链均以 file://
|
||||
地址经 ZIPEC_VERSION_URLS / ZIPEC_ZIPBALL_URLS / ZIPEC_MANIFEST_URLS
|
||||
注入,不碰真实网络。manifest 一律用测试密钥签名,UPDATE_PUBLIC_KEY_HEX
|
||||
由 autouse fixture 替换为测试公钥。
|
||||
"""
|
||||
import base64
|
||||
import hashlib
|
||||
import json
|
||||
import subprocess
|
||||
@@ -14,8 +17,19 @@ from pathlib import Path
|
||||
import pytest
|
||||
|
||||
sys.path.insert(0, str(Path(__file__).resolve().parents[1] / "scripts"))
|
||||
import _update_sig
|
||||
import self_update as su
|
||||
|
||||
# 测试专用密钥(与正式私钥无关)
|
||||
TEST_SEED = bytes(range(32))
|
||||
TEST_PK_HEX = _update_sig.publickey(TEST_SEED).hex()
|
||||
OTHER_SEED = bytes(range(32, 64))
|
||||
|
||||
|
||||
@pytest.fixture(autouse=True)
|
||||
def _test_public_key(monkeypatch):
|
||||
monkeypatch.setattr(su, "UPDATE_PUBLIC_KEY_HEX", TEST_PK_HEX)
|
||||
|
||||
|
||||
# ---- 造本地副本与伪造远端 ----
|
||||
|
||||
@@ -38,10 +52,19 @@ def make_local(tmp_path, version="3.5.0"):
|
||||
return root
|
||||
|
||||
|
||||
def make_remote(tmp_path, version="3.6.0", files=None, tamper=None):
|
||||
"""造远端 zipball(带一层顶层目录,模拟 GitHub codeload 结构)+ 远端 VERSION。
|
||||
def make_remote(tmp_path, version="3.6.0", files=None, tamper=None,
|
||||
sign_seed=TEST_SEED, zip_sig=True, sig_message=None,
|
||||
diverge_source=False):
|
||||
"""造远端:zipball(带一层顶层目录,模拟 GitHub codeload)+ 远端 VERSION
|
||||
+ 两个"源"目录(src_a/src_b,各存 manifest.json 与 manifest.json.sig
|
||||
直链文件,供双源交叉验证)。
|
||||
|
||||
tamper=<相对路径>:先按原内容算清单哈希,再篡改该文件,用于触发校验拦截。
|
||||
tamper=<相对路径>:先按原内容算清单哈希并签名,再篡改该文件 → 触发逐文件
|
||||
SHA256 拦截。sign_seed 控制签名密钥(换 OTHER_SEED 模拟错误私钥)。
|
||||
zip_sig=False:zip 内不放 manifest.json.sig(源目录仍放,可测单独拉取;
|
||||
配合 source_sig=False 则彻底无签名)。sig_message:改签别的内容,
|
||||
模拟 manifest 与签名不符。diverge_source=True:src_b 的 manifest 改一字节,
|
||||
模拟两源不一致。
|
||||
"""
|
||||
src = tmp_path / "zipcontent" / "ZiPingEightChar-main"
|
||||
src.mkdir(parents=True)
|
||||
@@ -54,25 +77,43 @@ def make_remote(tmp_path, version="3.6.0", files=None, tamper=None):
|
||||
rel: hashlib.sha256((src / rel).read_bytes()).hexdigest()
|
||||
for rel in all_files
|
||||
}
|
||||
(src / "manifest.json").write_text(
|
||||
json.dumps({"version": version, "files": hashes}, indent=2) + "\n",
|
||||
encoding="utf-8",
|
||||
)
|
||||
manifest_bytes = (json.dumps({"version": version, "files": hashes}, indent=2)
|
||||
+ "\n").encode("utf-8")
|
||||
(src / "manifest.json").write_bytes(manifest_bytes)
|
||||
sig_b64 = base64.b64encode(
|
||||
_update_sig.sign(sign_seed, sig_message if sig_message is not None
|
||||
else manifest_bytes)).decode("ascii") + "\n"
|
||||
if tamper:
|
||||
(src / tamper).write_text("# tampered\n", encoding="utf-8")
|
||||
if zip_sig:
|
||||
(src / "manifest.json.sig").write_text(sig_b64, encoding="utf-8")
|
||||
zip_path = tmp_path / "remote.zip"
|
||||
with zipfile.ZipFile(zip_path, "w") as zf:
|
||||
for f in sorted(src.parent.rglob("*")):
|
||||
zf.write(f, f.relative_to(src.parent))
|
||||
# 双源直链文件
|
||||
source_dirs = []
|
||||
for name in ("src_a", "src_b"):
|
||||
d = tmp_path / name
|
||||
d.mkdir()
|
||||
m = manifest_bytes
|
||||
if diverge_source and name == "src_b":
|
||||
m = m.replace(b'"files"', b'"filez"', 1)
|
||||
(d / "manifest.json").write_bytes(m)
|
||||
(d / "manifest.json.sig").write_text(sig_b64, encoding="utf-8")
|
||||
source_dirs.append(d)
|
||||
version_file = tmp_path / "REMOTE_VERSION"
|
||||
version_file.write_text(version + "\n", encoding="utf-8")
|
||||
return version_file, zip_path
|
||||
return version_file, zip_path, source_dirs
|
||||
|
||||
|
||||
def point_at_remote(monkeypatch, version_file, zip_path=None):
|
||||
def point_at_remote(monkeypatch, version_file, zip_path=None, source_dirs=None):
|
||||
monkeypatch.setenv("ZIPEC_VERSION_URLS", version_file.as_uri())
|
||||
if zip_path is not None:
|
||||
monkeypatch.setenv("ZIPEC_ZIPBALL_URLS", zip_path.as_uri())
|
||||
if source_dirs is not None:
|
||||
monkeypatch.setenv("ZIPEC_MANIFEST_URLS", ",".join(
|
||||
(d / "manifest.json").as_uri() for d in source_dirs))
|
||||
|
||||
|
||||
REMOTE_FILES = {
|
||||
@@ -91,7 +132,7 @@ class TestVersionCompare:
|
||||
|
||||
def test_newer_remote_marks_update(self, tmp_path, monkeypatch):
|
||||
root = make_local(tmp_path)
|
||||
vf, _ = make_remote(tmp_path)
|
||||
vf, _, _ = make_remote(tmp_path)
|
||||
point_at_remote(monkeypatch, vf)
|
||||
assert su.cmd_check(root) == 0
|
||||
cache = json.loads((root / "data" / ".update_check.json").read_text())
|
||||
@@ -100,7 +141,7 @@ class TestVersionCompare:
|
||||
|
||||
def test_same_version_no_update(self, tmp_path, monkeypatch):
|
||||
root = make_local(tmp_path)
|
||||
vf, _ = make_remote(tmp_path, version="3.5.0")
|
||||
vf, _, _ = make_remote(tmp_path, version="3.5.0")
|
||||
point_at_remote(monkeypatch, vf)
|
||||
assert su.cmd_check(root) == 0
|
||||
cache = json.loads((root / "data" / ".update_check.json").read_text())
|
||||
@@ -167,15 +208,17 @@ class TestCacheFreshness:
|
||||
class TestApply:
|
||||
def test_success_syncs_and_preserves(self, tmp_path, monkeypatch, capsys):
|
||||
root = make_local(tmp_path)
|
||||
vf, zp = make_remote(tmp_path, files=REMOTE_FILES)
|
||||
point_at_remote(monkeypatch, vf, zp)
|
||||
vf, zp, dirs = make_remote(tmp_path, files=REMOTE_FILES)
|
||||
point_at_remote(monkeypatch, vf, zp, dirs)
|
||||
assert su.cmd_apply(root) == 0
|
||||
assert "更新完成" in capsys.readouterr().out
|
||||
out = capsys.readouterr().out
|
||||
assert "交叉验证通过" in out and "签名校验通过" in out and "更新完成" in out
|
||||
# 清单内文件被覆盖/新增
|
||||
assert (root / "VERSION").read_text().strip() == "3.6.0"
|
||||
assert (root / "scripts" / "cast_chart.py").read_text() == "# new\n"
|
||||
assert (root / "scripts" / "new_feature.py").exists()
|
||||
assert (root / "manifest.json").exists()
|
||||
assert (root / "manifest.json.sig").exists() # 签名随包同步到本地
|
||||
# 清单不含的本地多余文件被清理
|
||||
assert not (root / "stale_legacy.py").exists()
|
||||
assert not (root / "legacy").exists() # 清空后的空目录一并移除
|
||||
@@ -187,9 +230,9 @@ class TestApply:
|
||||
|
||||
def test_tampered_file_aborts_untouched(self, tmp_path, monkeypatch, capsys):
|
||||
root = make_local(tmp_path)
|
||||
vf, zp = make_remote(tmp_path, files=REMOTE_FILES,
|
||||
tamper="scripts/cast_chart.py")
|
||||
point_at_remote(monkeypatch, vf, zp)
|
||||
vf, zp, dirs = make_remote(tmp_path, files=REMOTE_FILES,
|
||||
tamper="scripts/cast_chart.py")
|
||||
point_at_remote(monkeypatch, vf, zp, dirs)
|
||||
assert su.cmd_apply(root) == 3
|
||||
assert "不符" in capsys.readouterr().err
|
||||
# 本地原样不动
|
||||
@@ -200,7 +243,7 @@ class TestApply:
|
||||
|
||||
def test_already_latest_exit_2(self, tmp_path, monkeypatch, capsys):
|
||||
root = make_local(tmp_path)
|
||||
vf, zp = make_remote(tmp_path, version="3.5.0")
|
||||
vf, zp, _ = make_remote(tmp_path, version="3.5.0")
|
||||
point_at_remote(monkeypatch, vf, zp)
|
||||
assert su.cmd_apply(root) == 2
|
||||
assert "无需更新" in capsys.readouterr().out
|
||||
@@ -218,6 +261,103 @@ class TestApply:
|
||||
assert (root / "VERSION").read_text().strip() == "3.5.0"
|
||||
|
||||
|
||||
class TestApplySigning:
|
||||
"""--apply 的签名信任锚与双源交叉验证。"""
|
||||
|
||||
def _untouched(self, root):
|
||||
assert (root / "VERSION").read_text().strip() == "3.5.0"
|
||||
assert (root / "scripts" / "cast_chart.py").read_text() == "# old\n"
|
||||
assert (root / "stale_legacy.py").exists()
|
||||
assert not (root / "scripts" / "new_feature.py").exists()
|
||||
assert not (root / "manifest.json.sig").exists()
|
||||
|
||||
def test_sig_fetched_separately_when_not_in_zip(self, tmp_path, monkeypatch):
|
||||
"""zip 内无 sig、但源直链有:单独拉取并验签通过。"""
|
||||
root = make_local(tmp_path)
|
||||
vf, zp, dirs = make_remote(tmp_path, files=REMOTE_FILES, zip_sig=False)
|
||||
point_at_remote(monkeypatch, vf, zp, dirs)
|
||||
assert su.cmd_apply(root) == 0
|
||||
assert (root / "VERSION").read_text().strip() == "3.6.0"
|
||||
|
||||
def test_missing_sig_everywhere_aborts(self, tmp_path, monkeypatch, capsys):
|
||||
"""zip 与源直链都没有 sig → 视同为旧版或被篡改,拒。"""
|
||||
root = make_local(tmp_path)
|
||||
vf, zp, dirs = make_remote(tmp_path, files=REMOTE_FILES, zip_sig=False)
|
||||
for d in dirs:
|
||||
(d / "manifest.json.sig").unlink()
|
||||
point_at_remote(monkeypatch, vf, zp, dirs)
|
||||
assert su.cmd_apply(root) == 3
|
||||
assert "未带" in capsys.readouterr().err
|
||||
self._untouched(root)
|
||||
|
||||
def test_sig_message_mismatch_aborts(self, tmp_path, monkeypatch, capsys):
|
||||
"""签名签的是别的内容(manifest 被换)→ 验签拒。"""
|
||||
root = make_local(tmp_path)
|
||||
vf, zp, dirs = make_remote(tmp_path, files=REMOTE_FILES,
|
||||
sig_message=b"forged manifest")
|
||||
point_at_remote(monkeypatch, vf, zp, dirs)
|
||||
assert su.cmd_apply(root) == 3
|
||||
assert "签名校验不符" in capsys.readouterr().err
|
||||
self._untouched(root)
|
||||
|
||||
def test_wrong_signing_key_aborts(self, tmp_path, monkeypatch, capsys):
|
||||
root = make_local(tmp_path)
|
||||
vf, zp, dirs = make_remote(tmp_path, files=REMOTE_FILES,
|
||||
sign_seed=OTHER_SEED)
|
||||
point_at_remote(monkeypatch, vf, zp, dirs)
|
||||
assert su.cmd_apply(root) == 3
|
||||
assert "签名校验不符" in capsys.readouterr().err
|
||||
self._untouched(root)
|
||||
|
||||
def test_manifest_one_byte_flip_aborts(self, tmp_path, monkeypatch, capsys):
|
||||
"""manifest 改一字节(源直链同步改、签名照旧)→ 验签拒。"""
|
||||
root = make_local(tmp_path)
|
||||
vf, zp, dirs = make_remote(tmp_path, files=REMOTE_FILES)
|
||||
for d in dirs: # 两源与 zip 保持一致地改,隔离出"验签"这一道
|
||||
m = d / "manifest.json"
|
||||
data = bytearray(m.read_bytes())
|
||||
data[20] ^= 0x01
|
||||
m.write_bytes(bytes(data))
|
||||
# zip 内 manifest 也同步改
|
||||
import zipfile as zf_mod
|
||||
extract = tmp_path / "repack"
|
||||
with zf_mod.ZipFile(zp) as z:
|
||||
z.extractall(extract)
|
||||
m = extract / "ZiPingEightChar-main" / "manifest.json"
|
||||
data = bytearray(m.read_bytes())
|
||||
data[20] ^= 0x01
|
||||
m.write_bytes(bytes(data))
|
||||
with zf_mod.ZipFile(zp, "w") as z:
|
||||
for f in sorted(extract.rglob("*")):
|
||||
z.write(f, f.relative_to(extract))
|
||||
point_at_remote(monkeypatch, vf, zp, dirs)
|
||||
assert su.cmd_apply(root) == 3
|
||||
assert "签名校验不符" in capsys.readouterr().err
|
||||
self._untouched(root)
|
||||
|
||||
def test_divergent_sources_abort(self, tmp_path, monkeypatch, capsys):
|
||||
root = make_local(tmp_path)
|
||||
vf, zp, dirs = make_remote(tmp_path, files=REMOTE_FILES,
|
||||
diverge_source=True)
|
||||
point_at_remote(monkeypatch, vf, zp, dirs)
|
||||
assert su.cmd_apply(root) == 3
|
||||
assert "不一致" in capsys.readouterr().err
|
||||
self._untouched(root)
|
||||
|
||||
def test_source_unreachable_aborts(self, tmp_path, monkeypatch, capsys):
|
||||
"""交叉验证时一个源不可达 → 宁可中止。"""
|
||||
root = make_local(tmp_path)
|
||||
vf, zp, dirs = make_remote(tmp_path, files=REMOTE_FILES)
|
||||
monkeypatch.setenv("ZIPEC_VERSION_URLS", vf.as_uri())
|
||||
monkeypatch.setenv("ZIPEC_ZIPBALL_URLS", zp.as_uri())
|
||||
monkeypatch.setenv("ZIPEC_MANIFEST_URLS",
|
||||
(dirs[0] / "manifest.json").as_uri()
|
||||
+ ",file:///nonexistent/manifest.json")
|
||||
assert su.cmd_apply(root) == 3
|
||||
assert "交叉验证" in capsys.readouterr().err
|
||||
self._untouched(root)
|
||||
|
||||
|
||||
class TestCastChartIntegration:
|
||||
def test_notice_on_stderr_stdout_clean(self):
|
||||
"""排盘成功后 stderr 出一行提示;stdout 命盘契约不受影响。"""
|
||||
|
||||
+85
-9
@@ -19,7 +19,7 @@ import _memory_store as store
|
||||
|
||||
PILLARS = ["庚午", "辛巳", "己卯", "戊辰"]
|
||||
BIRTH = "1990-05-14 08:30"
|
||||
PLACE = "四川省成都市"
|
||||
PLACE = "四川省成都市武侯区"
|
||||
|
||||
git = pytest.mark.skipif(shutil.which("git") is None, reason="无 git")
|
||||
|
||||
@@ -31,11 +31,14 @@ def run(script, *args):
|
||||
capture_output=True, text=True, timeout=120, env=env)
|
||||
|
||||
|
||||
def make_archive(mem_root: Path, feedback: str | None = None) -> Path:
|
||||
"""造一份手工档案:四柱/大运/关注方向齐全,反馈小节可定制。"""
|
||||
def make_archive(mem_root: Path, feedback: str | None = None,
|
||||
events: str | None = None,
|
||||
pillars: list[str] | None = None) -> Path:
|
||||
"""造一份手工档案:四柱/大运/关注方向齐全,流年大事与反馈小节可定制。"""
|
||||
pillars = pillars or PILLARS
|
||||
meta = {"name": "张三", "gender": "男", "birth_clock": BIRTH,
|
||||
"birthplace": PLACE, "true_solar_time": "1990-05-14 08:23",
|
||||
"pillars": PILLARS, "day_master": "己",
|
||||
"pillars": pillars, "day_master": "己",
|
||||
"created_at": "2026-10-01 10:00", "updated_at": "2026-10-08 15:00"}
|
||||
body = (
|
||||
"# 档案:张三(男)\n\n"
|
||||
@@ -49,15 +52,19 @@ def make_archive(mem_root: Path, feedback: str | None = None) -> Path:
|
||||
"## 小运\n\n(无)\n\n"
|
||||
"## 主要关注方向\n\n- 婚姻与事业走向\n\n"
|
||||
"## 归纳\n\n- 性格:未断\n- 身体:未断\n- 事业:未断\n- 感情:未断\n- 婚姻:未断\n\n"
|
||||
"## 流年大事\n\n(未记录)\n\n"
|
||||
"## 反馈与澄清\n\n"
|
||||
"## 流年大事\n\n"
|
||||
+ (events if events is not None else
|
||||
"- 2018(戊戌):【已核实】升职,自成都赴北京工作。\n"
|
||||
"- 2021(辛丑):【已核实】张三搬家,新居在幸福小区3栋2单元501室,"
|
||||
"电话 13812345678。\n")
|
||||
+ "\n## 反馈与澄清\n\n"
|
||||
+ (feedback if feedback is not None else
|
||||
"- 【已核实】2018 年升职,跳槽到外企\n- 【未核实】2020 年感情波动\n")
|
||||
)
|
||||
arch_dir = mem_root / "archives"
|
||||
arch_dir.mkdir(parents=True, exist_ok=True)
|
||||
path = arch_dir / store.archive_name(
|
||||
PILLARS, "男", store.key_hash(BIRTH, PLACE, "男"))
|
||||
pillars, "男", store.key_hash(BIRTH, PLACE, "男"))
|
||||
path.write_text(store.dump_frontmatter(meta) + body, encoding="utf-8")
|
||||
return path
|
||||
|
||||
@@ -77,11 +84,13 @@ class TestExport:
|
||||
text = out.read_text("utf-8")
|
||||
pkg = json.loads(text)
|
||||
|
||||
# 脱敏:不含姓名、出生分钟/钟表时间、省以下地域
|
||||
# 脱敏:不含姓名、出生分钟/钟表时间、区县及以下地域、直接定位信息
|
||||
assert "name" not in pkg
|
||||
assert "张三" not in text
|
||||
assert "08:30" not in text and "08:23" not in text
|
||||
assert "成都市" not in text
|
||||
assert "武侯区" not in text
|
||||
assert "幸福小区" not in text and "501" not in text
|
||||
assert "13812345678" not in text
|
||||
assert "birth_clock" not in pkg and "birthplace" not in pkg
|
||||
|
||||
# 结构字段
|
||||
@@ -90,17 +99,50 @@ class TestExport:
|
||||
assert pkg["pillars"] == PILLARS
|
||||
assert pkg["birth_date"] == "1990-05-14"
|
||||
assert pkg["birth_shichen"] == "辰"
|
||||
# 地域放宽到城市级:省+地级市保留
|
||||
assert pkg["region_province"] == "四川省"
|
||||
assert pkg["region_city"] == "成都市"
|
||||
assert [l["pillar"] for l in pkg["luck_pillars"]] == ["壬午", "癸未", "甲申"]
|
||||
assert pkg["luck_pillars"][0]["start_year"] == 1998
|
||||
assert pkg["focus_categories"] == ["婚姻", "事业"]
|
||||
assert {f["year"] for f in pkg["feedback"]} == {2018, 2020}
|
||||
assert {f["status"] for f in pkg["feedback"]} == {"已核实", "未核实"}
|
||||
assert all(f["category"] for f in pkg["feedback"])
|
||||
# 反馈带事件简介(状态标签已剥离)
|
||||
fb = {f["year"]: f for f in pkg["feedback"]}
|
||||
assert fb[2018]["note"] == "2018 年升职,跳槽到外企"
|
||||
assert fb[2020]["note"] == "2020 年感情波动"
|
||||
# 盘 hash = sha1(四柱+出生地) 前 8,文件名即 hash
|
||||
assert out.stem == pkg["chart_hash"]
|
||||
assert len(pkg["chart_hash"]) == 8
|
||||
|
||||
def test_events_carry_notes_with_city_kept(self, tmp_path, share_root):
|
||||
arch = make_archive(tmp_path / "memory")
|
||||
r = run(EXPORT, "--archive", str(arch), "--share-root", str(share_root))
|
||||
assert r.returncode == 0, r.stderr
|
||||
pkg = json.loads(Path(r.stdout.strip()).read_text("utf-8"))
|
||||
|
||||
ev = pkg["events"]
|
||||
assert len(ev) == 2
|
||||
# 目标格式:2018(戊戌):升职,自成都赴北京工作。——城市级地名保留
|
||||
assert ev[0]["year"] == 2018 and ev[0]["ganzhi"] == "戊戌"
|
||||
assert ev[0]["label"] == "戊戌"
|
||||
assert ev[0]["note"] == "升职,自成都赴北京工作。"
|
||||
assert ev[0]["status"] == "已核实" and ev[0]["category"] == "事业"
|
||||
# 姓名替换为「命主」,详细住址与电话删除,事件内容保留
|
||||
assert ev[1]["year"] == 2021 and ev[1]["ganzhi"] == "辛丑"
|
||||
assert "搬家" in ev[1]["note"] and "命主" in ev[1]["note"]
|
||||
assert "(已删)" in ev[1]["note"]
|
||||
|
||||
def test_events_missing_still_exports(self, tmp_path, share_root):
|
||||
# 流年大事为空不挡导出,events 如实为空
|
||||
arch = make_archive(tmp_path / "memory", events="(未记录)\n")
|
||||
r = run(EXPORT, "--archive", str(arch), "--share-root", str(share_root))
|
||||
assert r.returncode == 0, r.stderr
|
||||
pkg = json.loads(Path(r.stdout.strip()).read_text("utf-8"))
|
||||
assert pkg["events"] == []
|
||||
assert len(pkg["feedback"]) == 2
|
||||
|
||||
def test_lookup_by_birth_place_gender(self, tmp_path, share_root):
|
||||
make_archive(tmp_path / "memory")
|
||||
r = run(EXPORT, "--birth", BIRTH, "--place", PLACE, "--gender", "男",
|
||||
@@ -121,6 +163,20 @@ class TestExport:
|
||||
"--share-root", str(share_root))
|
||||
assert r.returncode == 2
|
||||
|
||||
def test_export_warns_orphan_pending_after_recast(self, tmp_path, share_root):
|
||||
# 先导出原盘,再导出同出生日同性别但时柱不同的换盘 → WARN 提示残留,不自动删
|
||||
arch = make_archive(tmp_path / "memory")
|
||||
r = run(EXPORT, "--archive", str(arch), "--share-root", str(share_root))
|
||||
assert r.returncode == 0, r.stderr
|
||||
arch2 = make_archive(tmp_path / "memory2",
|
||||
pillars=["庚午", "辛巳", "己卯", "己巳"])
|
||||
r2 = run(EXPORT, "--archive", str(arch2), "--share-root", str(share_root))
|
||||
assert r2.returncode == 0, r2.stderr
|
||||
assert r.stdout.strip() != r2.stdout.strip() # hash 确实变了
|
||||
assert "WARN" in r2.stderr and "残留" in r2.stderr
|
||||
assert r.stdout.strip().split("/")[-1] in r2.stderr # 列出了旧包文件名
|
||||
assert len(list((share_root / "pending").glob("*.json"))) == 2 # 不自动删
|
||||
|
||||
|
||||
@git
|
||||
class TestPush:
|
||||
@@ -190,6 +246,26 @@ class TestPush:
|
||||
assert pkg.is_file() # 失败保留 pending
|
||||
st = json.loads((skill / "data" / ".license.json").read_text("utf-8"))
|
||||
assert st["remaining_uses"] == 5 # 未计励
|
||||
# 失败诊断:带该远端 git 报错末行;GitHub 线附 HTTPS_PROXY 提示
|
||||
assert "FAIL" in r.stderr and "no-such-repo" in r.stderr
|
||||
assert "HTTPS_PROXY" in r.stderr
|
||||
|
||||
def test_push_partial_failure_warns_but_succeeds(self, skill, tmp_path):
|
||||
# github 坏、gitea 好:整体成功,但 stderr 带 github 线的失败摘要
|
||||
(skill / "share" / "config.json").write_text(json.dumps(
|
||||
{"github_remote": str(skill / "no-such-repo.git"),
|
||||
"gitea_remote": str(tmp_path / "gitea.git")}, ensure_ascii=False),
|
||||
"utf-8")
|
||||
pkg = skill / "share" / "pending" / "baddcafe.json"
|
||||
pkg.write_text(json.dumps({"schema": "share/v1",
|
||||
"chart_hash": "baddcafe"}), "utf-8")
|
||||
r = run(PUSH, "--root", str(skill))
|
||||
assert r.returncode == 0, r.stderr
|
||||
assert (skill / "share" / "pushed" / "baddcafe.json").is_file()
|
||||
assert "WARN" in r.stderr and "github_remote" in r.stderr
|
||||
assert "no-such-repo" in r.stderr and "HTTPS_PROXY" in r.stderr
|
||||
st = json.loads((skill / "data" / ".license.json").read_text("utf-8"))
|
||||
assert st["remaining_uses"] == 15 # gitea 成功,正常计励
|
||||
|
||||
def test_no_remote_configured(self, tmp_path):
|
||||
root = tmp_path / "skill"
|
||||
|
||||
+66
-1
@@ -9,7 +9,16 @@ from pathlib import Path
|
||||
|
||||
sys.path.insert(0, str(Path(__file__).resolve().parents[1] / "scripts"))
|
||||
|
||||
from chart.shensha import evaluate_natal, evaluate_target # noqa: E402
|
||||
from chart.ganzhi import GAN, ZHI # noqa: E402
|
||||
from chart.shensha import STAR_ORDER, evaluate_natal, evaluate_target # noqa: E402
|
||||
|
||||
_VENDOR = Path(__file__).resolve().parents[1] / "vendor"
|
||||
if _VENDOR.is_dir():
|
||||
sys.path.insert(0, str(_VENDOR))
|
||||
try: # 排盘适配层(含排序逻辑);无 tyme4py 的环境跳过其回归测试
|
||||
from chart.tyme_adapter import _shen_sha
|
||||
except ImportError: # pragma: no cover
|
||||
_shen_sha = None
|
||||
|
||||
|
||||
def natal(year, month, day, hour, gender="男"):
|
||||
@@ -267,5 +276,61 @@ class TargetQueryTest(unittest.TestCase):
|
||||
self.assertEqual(own, {"十恶大败"})
|
||||
|
||||
|
||||
def _jiazi60() -> list[str]:
|
||||
return [GAN[i % 10] + ZHI[i % 12] for i in range(60)]
|
||||
|
||||
|
||||
# 甲子…乙亥:12 个干支覆盖全部 10 天干与 12 地支(月、时柱扫面用)
|
||||
_SPREAD12 = _jiazi60()[:12]
|
||||
|
||||
|
||||
class StarOrderExhaustiveTest(unittest.TestCase):
|
||||
"""根治校验:求值器一切可能产出的神煞名都必须落在 STAR_ORDER 键集内。
|
||||
|
||||
3.6.0 事故:三奇贵人漏录排序表,排盘排序 KeyError。此处穷举求值器
|
||||
全部输入维度(年柱 60 × 月柱 12 全干支行 × 日柱 60 × 时柱 12 全干支行
|
||||
× 男女),收集实际产出的星名集合,断言与 STAR_ORDER 完全一致——
|
||||
新增神煞忘补排序表、或排序表残留死项,都会被本测试当场抓住。
|
||||
"""
|
||||
|
||||
def test_star_order_no_duplicates(self):
|
||||
self.assertEqual(len(STAR_ORDER), len(set(STAR_ORDER)))
|
||||
|
||||
def test_natal_outputs_exactly_star_order(self):
|
||||
produced: set[str] = set()
|
||||
for year in _jiazi60():
|
||||
for month in _SPREAD12:
|
||||
for day in _jiazi60():
|
||||
for hour in _SPREAD12:
|
||||
for gender in ("男", "女"):
|
||||
r = evaluate_natal(
|
||||
{"year": year, "month": month,
|
||||
"day": day, "hour": hour}, gender)
|
||||
for entries in r.values():
|
||||
produced.update(s for s, _ in entries)
|
||||
self.assertEqual(produced, set(STAR_ORDER))
|
||||
|
||||
def test_target_outputs_subset_of_star_order(self):
|
||||
"""岁运查询同理:年 60 × 月 4(四季各一)× 日 60 × 目标干支 60。"""
|
||||
produced: set[str] = set()
|
||||
for year in _jiazi60():
|
||||
for month in ("甲寅", "乙巳", "丙申", "丁亥"):
|
||||
for day in _jiazi60():
|
||||
p = {"year": year, "month": month, "day": day, "hour": "甲子"}
|
||||
for target in _jiazi60():
|
||||
r = evaluate_target(p, "男", target)
|
||||
produced.update(s for s, _ in r["anchored"])
|
||||
produced.update(s for s, _ in r["own"])
|
||||
missing = produced - set(STAR_ORDER)
|
||||
self.assertEqual(missing, set())
|
||||
|
||||
@unittest.skipIf(_shen_sha is None, "tyme4py 不可用")
|
||||
def test_sanqi_combo_survives_adapter_sort(self):
|
||||
"""回归:combo 组三奇贵人经 tyme_adapter._shen_sha 排序不再 KeyError。"""
|
||||
out = _shen_sha({"year": "甲辰", "month": "戊辰",
|
||||
"day": "庚子", "hour": "辛巳"}, "男")
|
||||
self.assertTrue(any(s.startswith("三奇贵人") for s in out["combo"]))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
@@ -0,0 +1,152 @@
|
||||
"""外层 tools/sync_license_copy.py 的集成测试。
|
||||
|
||||
sync/build/sign 工具留在授权方工作区外层 tools/,不随本仓库分发;
|
||||
副本或 clone 环境下 tools/ 不存在,整个模块 skip。注意 skipif 只跳过测试
|
||||
**执行**、挡不住模块导入,故下面的模块级 _load_module 也带同一存在性守卫,
|
||||
否则副本里 `pytest tests/` 会在收集阶段就 FileNotFoundError 并中断全套测试。
|
||||
|
||||
测试用微型假母版(monkeypatch 替换模块 SRC)同步进临时授权副本,
|
||||
不碰真实母版与真实副本;签名用测试私钥,UPDATE_PUBLIC_KEY_HEX 同步造假。
|
||||
"""
|
||||
import base64
|
||||
import importlib.util
|
||||
import json
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
TOOLS = ROOT.parent / "tools"
|
||||
SYNC_TOOL = TOOLS / "sync_license_copy.py"
|
||||
|
||||
_HAS_TOOLS = (SYNC_TOOL.is_file()
|
||||
and (TOOLS / "build_manifest.py").is_file()
|
||||
and (TOOLS / "sign_manifest.py").is_file())
|
||||
|
||||
pytestmark = pytest.mark.skipif(
|
||||
not _HAS_TOOLS,
|
||||
reason="外层 tools/ 不随仓库分发,本环境无同步工具",
|
||||
)
|
||||
|
||||
sys.path.insert(0, str(ROOT / "scripts"))
|
||||
import _update_sig # noqa: E402
|
||||
|
||||
TEST_SEED = bytes(range(32))
|
||||
TEST_PK_HEX = _update_sig.publickey(TEST_SEED).hex()
|
||||
OTHER_SEED = bytes(range(32, 64)) # 与内置公钥不匹配的错误私钥
|
||||
STALE_SIG = base64.b64encode(b"\x00" * 64).decode("ascii") + "\n"
|
||||
|
||||
|
||||
def _load_module(name: str, path: Path):
|
||||
spec = importlib.util.spec_from_file_location(name, path)
|
||||
mod = importlib.util.module_from_spec(spec)
|
||||
spec.loader.exec_module(mod)
|
||||
return mod
|
||||
|
||||
|
||||
# 无 tools/ 时置 None:本模块所有测试已被 skipif 跳过,不会触达这两个名字
|
||||
sync_tool = _load_module("sync_license_copy", SYNC_TOOL) if _HAS_TOOLS else None
|
||||
build_manifest = (_load_module("build_manifest", TOOLS / "build_manifest.py")
|
||||
if _HAS_TOOLS else None)
|
||||
|
||||
|
||||
def _make_master(src: Path, pk_hex: str) -> None:
|
||||
"""微型母版:VERSION/SKILL.md/rules×2/cast_chart.py/self_update.py + 过期 manifest。"""
|
||||
(src / "rules").mkdir(parents=True)
|
||||
(src / "scripts").mkdir(parents=True)
|
||||
(src / "VERSION").write_text("9.9.9-test\n", encoding="utf-8")
|
||||
(src / "SKILL.md").write_text("---\nname: test\n---\n\n# 母版\n",
|
||||
encoding="utf-8")
|
||||
(src / "rules" / "r1.md").write_text("# 规则一\n", encoding="utf-8")
|
||||
(src / "rules" / "r2.md").write_text("# 规则二\n", encoding="utf-8")
|
||||
(src / "scripts" / "cast_chart.py").write_text(
|
||||
"#!/usr/bin/env python3\nprint('chart')\n", encoding="utf-8")
|
||||
(src / "scripts" / "self_update.py").write_text(
|
||||
f'UPDATE_PUBLIC_KEY_HEX = "{pk_hex}"\n', encoding="utf-8")
|
||||
# 母版随仓库分发的旧 manifest/sig:同步进副本后必须被重建/重签或移除
|
||||
(src / "manifest.json").write_text('{"version": "9.9.9-test", "files": {}}\n',
|
||||
encoding="utf-8")
|
||||
(src / "manifest.json.sig").write_text(STALE_SIG, encoding="utf-8")
|
||||
|
||||
|
||||
def _make_copy(dst: Path) -> None:
|
||||
"""已存在的授权副本:授权状态文件 + 带副本编号水印的 SKILL.md。"""
|
||||
(dst / "data").mkdir(parents=True)
|
||||
(dst / "data" / ".license.json").write_text("{}", encoding="utf-8")
|
||||
(dst / "SKILL.md").write_text(
|
||||
"---\nname: test\n---\n\n<!-- 副本编号:LY-TEST0000-0000 · 授权对象:测试员 · "
|
||||
"测试授权 · 禁止商业用途与个人传播 -->\n", encoding="utf-8")
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def pair(tmp_path, monkeypatch):
|
||||
src, dst = tmp_path / "master", tmp_path / "copy"
|
||||
_make_master(src, TEST_PK_HEX)
|
||||
_make_copy(dst)
|
||||
monkeypatch.setattr(sync_tool, "SRC", src)
|
||||
return src, dst
|
||||
|
||||
|
||||
def _key_file(tmp_path, seed: bytes) -> Path:
|
||||
p = tmp_path / "signing.key"
|
||||
p.write_text("# 测试私钥\n" + seed.hex() + "\n", encoding="utf-8")
|
||||
return p
|
||||
|
||||
|
||||
def _manifest_on_disk(dst: Path) -> dict:
|
||||
return json.loads((dst / "manifest.json").read_text(encoding="utf-8"))
|
||||
|
||||
|
||||
def test_sync_rebuilds_manifest_and_signs(pair, tmp_path, capsys):
|
||||
"""同步后 manifest 与水印后文件逐哈希一致,sig 用内置公钥验签通过。"""
|
||||
_src, dst = pair
|
||||
key = _key_file(tmp_path, TEST_SEED)
|
||||
assert sync_tool.main(["--key", str(key), str(dst)]) == 0
|
||||
|
||||
manifest = _manifest_on_disk(dst)
|
||||
# 与 build_manifest 对水印后磁盘文件重新计算的结果完全一致
|
||||
assert manifest == build_manifest.build_manifest(dst)
|
||||
for rel in ("SKILL.md", "rules/r1.md", "rules/r2.md", "scripts/cast_chart.py"):
|
||||
assert rel in manifest["files"]
|
||||
# 水印确实落在文件里(哈希对应的是水印后内容)
|
||||
assert "LY-TEST0000-0000" in (dst / "SKILL.md").read_text(encoding="utf-8")
|
||||
|
||||
sig_text = (dst / "manifest.json.sig").read_text(encoding="utf-8")
|
||||
assert sig_text != STALE_SIG # 过期 sig 被新签名覆盖而非原样保留
|
||||
sig = base64.b64decode(sig_text.strip(), validate=True)
|
||||
assert _update_sig.verify(bytes.fromhex(TEST_PK_HEX),
|
||||
(dst / "manifest.json").read_bytes(), sig)
|
||||
out = capsys.readouterr().out
|
||||
assert f"公钥指纹 {_update_sig.fingerprint(bytes.fromhex(TEST_PK_HEX))[:16]}" in out
|
||||
assert f"{len(manifest['files'])} 个文件" in out
|
||||
|
||||
|
||||
def test_sync_no_sign_removes_stale_sig(pair, capsys):
|
||||
"""--no-sign:manifest 重建、过期 sig 移除、WARN、退出码 0。"""
|
||||
_src, dst = pair
|
||||
assert sync_tool.main(["--no-sign", str(dst)]) == 0
|
||||
assert _manifest_on_disk(dst) == build_manifest.build_manifest(dst)
|
||||
assert not (dst / "manifest.json.sig").exists()
|
||||
assert "WARN" in capsys.readouterr().err
|
||||
|
||||
|
||||
def test_sync_missing_key_fails_closed(pair, tmp_path, capsys):
|
||||
"""私钥缺失:manifest 已重建、过期 sig 移除、报错、退出码非 0。"""
|
||||
_src, dst = pair
|
||||
missing = tmp_path / "no-such.key"
|
||||
assert sync_tool.main(["--key", str(missing), str(dst)]) == 1
|
||||
assert _manifest_on_disk(dst) == build_manifest.build_manifest(dst)
|
||||
assert not (dst / "manifest.json.sig").exists()
|
||||
err = capsys.readouterr().err
|
||||
assert "私钥不存在" in err and "未签名" in err
|
||||
|
||||
|
||||
def test_sync_wrong_key_fails_closed(pair, tmp_path, capsys):
|
||||
"""签名私钥与副本内置公钥不匹配:独立验签拦截,sig 移除,退出码非 0。"""
|
||||
_src, dst = pair
|
||||
key = _key_file(tmp_path, OTHER_SEED)
|
||||
assert sync_tool.main(["--key", str(key), str(dst)]) == 1
|
||||
assert _manifest_on_disk(dst) == build_manifest.build_manifest(dst)
|
||||
assert not (dst / "manifest.json.sig").exists()
|
||||
assert "验签" in capsys.readouterr().err
|
||||
@@ -50,5 +50,36 @@ class HistoryTzGoldenTest(unittest.TestCase):
|
||||
)
|
||||
|
||||
|
||||
class HkMoDstTest(unittest.TestCase):
|
||||
"""香港/澳门时区回归:1986–1991 中国大陆实行夏令时,港澳 1979 年后无;
|
||||
cities.json 港澳条目必须为 Asia/Hong_Kong / Asia/Macau,不得随大陆拨快。"""
|
||||
|
||||
def test_hongkong_1987_no_dst(self):
|
||||
loc = resolve_location("香港")
|
||||
_utc, audit = to_utc(datetime(1987, 7, 5, 5, 0), loc)
|
||||
self.assertEqual(loc.tz, "Asia/Hong_Kong")
|
||||
self.assertIs(audit["is_dst"], False)
|
||||
|
||||
def test_macau_1987_no_dst(self):
|
||||
loc = resolve_location("澳门")
|
||||
_utc, audit = to_utc(datetime(1987, 7, 5, 5, 0), loc)
|
||||
self.assertEqual(loc.tz, "Asia/Macau")
|
||||
self.assertIs(audit["is_dst"], False)
|
||||
|
||||
def test_mainland_1987_dst_kept(self):
|
||||
# 回归保护:大陆 1987 年夏令时仍应拨快
|
||||
loc = resolve_location("北京")
|
||||
_utc, audit = to_utc(datetime(1987, 7, 5, 5, 0), loc)
|
||||
self.assertIs(audit["is_dst"], True)
|
||||
|
||||
def test_hongkong_1970_historical_dst(self):
|
||||
# 香港 1949 后的历史夏令时(如 1970 年)应被 IANA 库正确处理
|
||||
# (1949 前走民国五时区历史表分支,不在此断言范围)
|
||||
loc = resolve_location("香港")
|
||||
_utc, audit = to_utc(datetime(1970, 7, 15, 12, 0), loc)
|
||||
self.assertEqual(audit["tz_used"], "Asia/Hong_Kong")
|
||||
self.assertIs(audit["is_dst"], True)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
@@ -0,0 +1,152 @@
|
||||
"""ed25519(RFC 8032)纯 Python 实现与 manifest 签名工具的测试。
|
||||
|
||||
TEST 1/2/3 为 RFC 8032 §7.1 官方测试向量(空消息/1 字节/2 字节)。
|
||||
"""
|
||||
import base64
|
||||
import json
|
||||
import os
|
||||
import stat
|
||||
import subprocess
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
sys.path.insert(0, str(ROOT / "scripts"))
|
||||
import _update_sig as ed
|
||||
|
||||
# RFC 8032 §7.1:(SECRET KEY, PUBLIC KEY, MESSAGE, SIGNATURE)
|
||||
RFC8032_VECTORS = [
|
||||
("9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60",
|
||||
"d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
|
||||
"",
|
||||
"e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e06522490155"
|
||||
"5fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b"),
|
||||
("4ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb",
|
||||
"3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c",
|
||||
"72",
|
||||
"92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da"
|
||||
"085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00"),
|
||||
("c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b4458f7",
|
||||
"fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025",
|
||||
"af82",
|
||||
"6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac"
|
||||
"18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a"),
|
||||
]
|
||||
|
||||
|
||||
class TestRFC8032Vectors:
|
||||
@pytest.mark.parametrize("i", range(len(RFC8032_VECTORS)))
|
||||
def test_vector(self, i):
|
||||
seed, pk, msg, sig = (bytes.fromhex(x) for x in RFC8032_VECTORS[i])
|
||||
assert ed.publickey(seed) == pk # 公钥推导
|
||||
assert ed.sign(seed, msg) == sig # 确定性签名逐字节一致
|
||||
assert ed.verify(pk, msg, sig) is True # 验签通过
|
||||
|
||||
|
||||
class TestSignVerifyRoundtrip:
|
||||
def test_roundtrip_random_key(self):
|
||||
seed = os.urandom(32)
|
||||
msg = '{"version": "9.9.9", "files": {}}'.encode()
|
||||
assert ed.verify(ed.publickey(seed), msg, ed.sign(seed, msg)) is True
|
||||
|
||||
def test_message_one_byte_flip_fails(self):
|
||||
seed = os.urandom(32)
|
||||
pk = ed.publickey(seed)
|
||||
msg = b'{"files": {"a.py": "abc"}}'
|
||||
sig = ed.sign(seed, msg)
|
||||
bad = bytearray(msg)
|
||||
bad[3] ^= 0x01
|
||||
assert ed.verify(pk, bytes(bad), sig) is False
|
||||
|
||||
def test_wrong_public_key_fails(self):
|
||||
msg = b"manifest"
|
||||
sig = ed.sign(os.urandom(32), msg)
|
||||
assert ed.verify(ed.publickey(os.urandom(32)), msg, sig) is False
|
||||
|
||||
def test_forged_signature_fails(self):
|
||||
seed = os.urandom(32)
|
||||
pk, msg = ed.publickey(seed), b"manifest"
|
||||
sig = bytearray(ed.sign(seed, msg))
|
||||
sig[10] ^= 0x01 # 伪造:改 R 的一个字节
|
||||
assert ed.verify(pk, msg, bytes(sig)) is False
|
||||
assert ed.verify(pk, msg, os.urandom(64)) is False # 全随机签名
|
||||
|
||||
def test_malformed_inputs_return_false_not_raise(self):
|
||||
pk = ed.publickey(os.urandom(32))
|
||||
assert ed.verify(pk, b"m", b"") is False # 长度不足
|
||||
assert ed.verify(pk, b"m", b"\xff" * 64) is False # S 越界
|
||||
assert ed.verify(b"\xff" * 32, b"m", ed.sign(os.urandom(32), b"m")) is False
|
||||
assert ed.verify(b"short", b"m", b"x" * 64) is False # 公钥长度错
|
||||
sig = bytearray(ed.sign(os.urandom(32), b"m"))
|
||||
sig[31] |= 0x80 # R 的 y 坐标 >= 2^255-19 界外/非法点
|
||||
sig[0:32] = b"\xff" * 32
|
||||
assert ed.verify(pk, b"m", bytes(sig)) is False
|
||||
|
||||
|
||||
SIGN_TOOL = ROOT.parent / "tools" / "sign_manifest.py"
|
||||
|
||||
|
||||
class TestSignManifestTool:
|
||||
def _repo(self, tmp_path):
|
||||
root = tmp_path / "repo"
|
||||
root.mkdir()
|
||||
(root / "manifest.json").write_text(
|
||||
json.dumps({"version": "9.9.9", "files": {"a.py": "0" * 64}},
|
||||
indent=2) + "\n", encoding="utf-8")
|
||||
seed = os.urandom(32)
|
||||
key = tmp_path / "signing.key"
|
||||
key.write_text("# 测试私钥\n# 生成日期:2026-10-10\n" + seed.hex() + "\n",
|
||||
encoding="utf-8")
|
||||
return root, key, seed
|
||||
|
||||
def test_sign_and_verify(self, tmp_path):
|
||||
root, key, seed = self._repo(tmp_path)
|
||||
r = subprocess.run(
|
||||
[sys.executable, str(SIGN_TOOL), "--repo-root", str(root),
|
||||
"--key", str(key)],
|
||||
capture_output=True, text=True, timeout=60)
|
||||
assert r.returncode == 0, r.stderr
|
||||
sig_text = (root / "manifest.json.sig").read_text(encoding="utf-8")
|
||||
assert sig_text.strip() == sig_text.rstrip("\n") and "\n" not in sig_text.strip()
|
||||
sig = base64.b64decode(sig_text.strip(), validate=True)
|
||||
assert len(sig) == 64
|
||||
manifest_bytes = (root / "manifest.json").read_bytes()
|
||||
assert ed.verify(ed.publickey(seed), manifest_bytes, sig) is True
|
||||
# manifest 改一字节 → 该签名不再有效
|
||||
bad = bytearray(manifest_bytes)
|
||||
bad[10] ^= 0x01
|
||||
assert ed.verify(ed.publickey(seed), bytes(bad), sig) is False
|
||||
|
||||
def test_missing_manifest_exit_2(self, tmp_path):
|
||||
root, key, _ = self._repo(tmp_path)
|
||||
(root / "manifest.json").unlink()
|
||||
r = subprocess.run(
|
||||
[sys.executable, str(SIGN_TOOL), "--repo-root", str(root),
|
||||
"--key", str(key)],
|
||||
capture_output=True, text=True, timeout=60)
|
||||
assert r.returncode == 2
|
||||
assert "manifest.json" in r.stderr
|
||||
|
||||
|
||||
class TestRealKeySetup:
|
||||
"""作者侧私钥落盘状态:存在、权限 600、绝不进 git 仓库。"""
|
||||
|
||||
def test_key_file_perms_and_not_in_repo(self):
|
||||
key = Path.home() / ".zipec" / "signing.key"
|
||||
if not key.exists():
|
||||
pytest.skip("作者机上才有私钥")
|
||||
assert stat.S_IMODE(key.stat().st_mode) == 0o600
|
||||
assert stat.S_IMODE(key.parent.stat().st_mode) == 0o700
|
||||
r = subprocess.run(["git", "-C", str(ROOT), "status", "--porcelain"],
|
||||
capture_output=True, text=True)
|
||||
assert "signing.key" not in r.stdout
|
||||
# 私钥对应的公钥 == self_update 内置信任锚
|
||||
import self_update as su
|
||||
seed = bytes.fromhex(
|
||||
[ln for ln in key.read_text().splitlines()
|
||||
if ln.strip() and not ln.startswith("#")][0])
|
||||
assert ed.publickey(seed).hex() == su.UPDATE_PUBLIC_KEY_HEX
|
||||
assert ed.fingerprint(ed.publickey(seed)) == (
|
||||
"3089bc1cc9a453e5be66a36574635da6b2ad9797c57af11164111faca157411c")
|
||||
+151
@@ -0,0 +1,151 @@
|
||||
# 评测体系说明
|
||||
|
||||
本目录是子平八字技能的内置评测体系,随技能包发布。目标:用**盲测 + 脚本判分**
|
||||
客观回答一个问题——加载本技能后,AI 的八字断验准确率是多少。
|
||||
|
||||
当前收录三个模型(同一题集、同一答案键、同一判分脚本,各含 with-skill 与
|
||||
without-skill 两组):
|
||||
|
||||
- **kimi-k3**:加载技能 81/200 = 40.5%(规则库 3.9・568 条,2026-10-13 收录),
|
||||
裸答对照 82/200 = 41.0%;
|
||||
- **qoder-agent**:加载技能 79/200 = 39.5%,裸答对照 78/200 = 39.0%
|
||||
(规则库 3.7,2026-10-12 起跑 / 2026-10-13 收录);
|
||||
- **deepseek-v4-flash**:加载技能 74/200 = 37.0%,裸答对照 71/200 = 35.5%
|
||||
(2026-10-13 收录;`得分.json` 的 `skill_version` 只记到 `3.6.2`、未标规则库小版本,
|
||||
与上两组的 3.7 是否严格同版待核)。
|
||||
|
||||
官方基线(Gemini,论文口径)34.5%。逐维度/逐届明细见
|
||||
`ai模型纬度得分/<模型>/<模式>/得分.md` 与 `得分.html`
|
||||
(品牌记分卡,浏览器直接打开),每个得分目录三件(json/md/html)。
|
||||
|
||||
## 跨模型对照(200 题)
|
||||
|
||||
| 模型 | with-skill(加载技能) | without-skill(裸答对照) | 组内差 |
|
||||
|---|---|---|---|
|
||||
| kimi-k3 | 81/200 = 40.5% | 82/200 = 41.0% | −0.5pp |
|
||||
| qoder-agent | 79/200 = 39.5% | 78/200 = 39.0% | +0.5pp |
|
||||
| deepseek-v4-flash | 74/200 = 37.0% | 71/200 = 35.5% | +1.5pp |
|
||||
| 官方基线(Gemini) | 69/200 = 34.5% | — | — |
|
||||
|
||||
如实呈现:**三个模型上,加载技能都没有跑出可检出的增益。** kimi-k3 裸答反而高
|
||||
0.5pp;qoder-agent 加载技能只高 1 题(+0.5pp);deepseek-v4-flash 高 3 题(+1.5pp),
|
||||
方向为正但幅度同样在噪声内。qoder-agent 两组做过题级配对检验——
|
||||
两组都对 53 题、只 with-skill 对 26 题、只裸答对 25 题、都错 96 题;
|
||||
两臂选中同一字母 118/200(59%);McNemar 不一致对 51 组且 26:25 几乎对半,
|
||||
校正 χ² = 0.00,p ≈ 1.0,配对 z = 0.10。
|
||||
|
||||
六组成绩全落在 71–82 题(35.5%–41.0%)的窄带里;
|
||||
相对官方基线 +1.0~+6.5pp,配对 z = 0.21–1.34(单组标准误约 ±3.4~3.5pp),
|
||||
**均未过 p<0.05 门槛**。同模型组内差最大只有 3 题。
|
||||
|
||||
结论口径:200 题规模的这套基准**尚不足以区分「加载技能」与「裸答」**;
|
||||
本目录仍按同一题目集、同一判分脚本、同一答案键收录全部留档,供复测核对。
|
||||
分维度上两组各有胜负(如 qoder-agent 性格 +10.0pp、事业 +8.0pp,
|
||||
但学业 −16.6pp、财富 −15.3pp),这些维度题数只有 12–25 题,
|
||||
一题就是 4–8 个百分点,摆动同样在噪声内,不宜单点解读。
|
||||
|
||||
## 迭代轨迹(kimi-k3・with-skill)
|
||||
|
||||
| 版本 | 评测日期 | 正确/总题数 | 准确率 | 主要变更 |
|
||||
|---|---|---|---|---|
|
||||
| v3.6.1+排盘修复(规则库 3.6) | 2026-10-12 | 76/200 | 38.0% | 修复排盘时区/边界口径 bug 后按规则库 3.6 全量盲测,首轮正式收录 |
|
||||
| 3.6.2-未发版(规则库 3.7) | 2026-10-13 | 79/200 | 39.5% | 规则推理层「剪枝上锁」(542→547 条:R-运-32 降级保留、R-杂-38 从格临界双轨、91 新增冲刑方向判别四条),同题集同判分脚本重跑 |
|
||||
| 3.9.0-未发版(规则库 568 条) | 2026-10-13 | 81/200 | 40.5% | E3 规则补强——职业/形貌/健康/学业/六亲应期映射 +20 条,3.7 全量 + 3.9 补强重跑 17 位命主合并收录 |
|
||||
| without-skill 裸答对照 | 2026-10-12 | 82/200 | 41.0% | 同模型不加载技能,仅凭模型自身知识手排四柱作答 |
|
||||
| 官方基线(Gemini,论文口径) | — | 69/200 | 34.5% | BaziQA 论文跑分口径,见 试题/BaziQA-全球算命师大赛/SOURCE.md |
|
||||
|
||||
中性口径:3.7 相对 3.6 总分 +1.5pp,在 200 题规模噪声边界内
|
||||
(单组标准误约 ±3.5pp),不构成显著结论;结构性维度改善明显——
|
||||
流年运势/感情/事业/性格/学业五维度回升约 5–10pp,财富/健康/其他小幅回落。
|
||||
3.9 相对 3.7 总分 +1.0pp(79→81),同样在噪声边界内;
|
||||
职业映射等目标题型翻正确认(事业 40.0%→48.0%、性格 50.0%→60.0%)。
|
||||
3.6 版求解留档存档于 `ai答案/kimi-k3/with-skill-v3.6/`;
|
||||
历史留档目录命名规范:`<模式>-v<规则库大版本>/`(如 `with-skill-v3.6/`),
|
||||
当前成绩固定收录于 `<模式>/`。
|
||||
|
||||
qoder-agent 为首轮收录,两组均跑在 3.6.2-未发版(规则库 3.7)上,无历史轨迹。
|
||||
|
||||
## 目录结构
|
||||
|
||||
```
|
||||
评测/
|
||||
├── 试题/
|
||||
│ └── BaziQA-全球算命师大赛/ # 一个赛事一个目录,可陆续收集更多
|
||||
│ ├── SOURCE.md # 来源、届次、题数、官方基线
|
||||
│ ├── questions/ # 盲版题面(剥离 answer,求解端只准读这里)
|
||||
│ └── answers/ # 答案键(person_id+题序+答案字母+维度,求解端禁读)
|
||||
├── ai模型纬度得分/
|
||||
│ └── <模型名>/ # 已收录:kimi-k3、qoder-agent、deepseek-v4-flash
|
||||
│ ├── with-skill/ # 得分.json + 得分.md + 得分.html(三件齐全才算收录)
|
||||
│ └── without-skill/ # 同模型裸答对照组,同样三件
|
||||
├── ai答案/
|
||||
│ └── <模型名>/
|
||||
│ ├── with-skill/ # 41 位命主的完整求解留档(含推理过程)
|
||||
│ ├── without-skill/ # 对照组 41 位命主留档(模型手排四柱 + 作答)
|
||||
│ └── <模式>-v<规则库版本>/ # 可选:历史留档存档(如 kimi-k3/with-skill-v3.6/)
|
||||
├── 工具/
|
||||
│ ├── make_blind.py # 试题原始包 → questions/+answers/ 分离(含校验)
|
||||
│ ├── run_eval.py # 判分:submissions vs 答案键 → 统计 + 报告
|
||||
│ ├── extend_cities.py # 评测用地点扩展(境外/模糊地名 → 代理城市)
|
||||
│ ├── render_scorecard.py # 得分.json → 单文件 HTML 品牌记分卡
|
||||
│ └── scorecard_template.html # 记分卡模板(与盘面图同一套亮色卡片风)
|
||||
├── 测试规则.md # 评测纪律定稿(盲测红线/输出契约/收录规范)
|
||||
└── README.md # 本文件
|
||||
```
|
||||
|
||||
## 判分口径
|
||||
|
||||
- 每题四选一,答对得 1 分;标 `N` 记未答(不计对);准确率 = 对/总题数。
|
||||
- 答案从求解留档 md 末尾的 `Q1: A` … `Q5: X` 五行正则抽取(每题取首次出现)。
|
||||
- 分维度标签(流年运势/感情/六亲/事业/性格/学业/财富/健康/其他)随答案键收录。
|
||||
- 官方基线 34.5% 为论文跑分口径,内嵌于 `run_eval.py` 并在报告逐届/逐维度对照。
|
||||
|
||||
## 如何复测(你也可以跑)
|
||||
|
||||
前置:Python ≥ 3.10;技能自身依赖(排盘用)见技能根目录 requirements.txt。
|
||||
|
||||
```bash
|
||||
# 0. 准备技能副本并做地点扩展(不改母版)
|
||||
cp -R <技能根目录> /tmp/skill_bench
|
||||
python 评测/工具/extend_cities.py \
|
||||
--cities /tmp/skill_bench/data/cities.json --scripts /tmp/skill_bench/scripts
|
||||
|
||||
# 1. 盲测求解:对每个命主新开无上下文的子代理,只读
|
||||
# 试题/BaziQA-全球算命师大赛/questions/,用副本 scripts/cast_chart.py 排盘,
|
||||
# 按 测试规则.md 的双盘纪律与输出契约写答案 md 到某个 submissions 目录。
|
||||
# (求解提示词可参考首次评测的求解契约;红线:禁触 answers/ 与得分目录。)
|
||||
# 排盘命令前加 ZIPEC_EVAL=1,示例:
|
||||
ZIPEC_EVAL=1 python /tmp/skill_bench/scripts/cast_chart.py \
|
||||
--name 张三 --gender 男 --birth "1990-05-14 08:30" --place "四川省成都市"
|
||||
|
||||
# 2. 脚本判分(非模型裁判)
|
||||
python 评测/工具/run_eval.py --submissions <你的答案目录> \
|
||||
--out-json /tmp/result.json --out-md /tmp/report.md
|
||||
|
||||
# 3. 收录(满足 测试规则.md §7 后)
|
||||
# 把答案 md 放进 ai答案/<模型>/<with-skill|without-skill>/,
|
||||
# 由 result.json 汇总出 得分.json,再渲染记分卡:
|
||||
python 评测/工具/render_scorecard.py --score <得分.json>
|
||||
```
|
||||
|
||||
`run_eval.py` 不带参数时默认判分 `ai答案/kimi-k3/with-skill/`——
|
||||
应输出 **81/200 = 40.5%**,这是本目录出厂状态的自检点。
|
||||
|
||||
> **额度豁免**:评测/复测全程在命令前加 `ZIPEC_EVAL=1`(示例见上),授权门直接放行,
|
||||
> 不签发、不扣次、不创建任何授权文件——跑测试集不会消耗授权副本的使用次数。
|
||||
> `评测/工具/` 下脚本内部调排盘时环境变量随子进程继承,同样适用(详见 测试规则.md §1.1)。
|
||||
|
||||
## 收录新模型 / 新赛事
|
||||
|
||||
- **新模型**:建 `ai答案/<模型>/<模式>/` 与 `ai模型纬度得分/<模型>/<模式>/`,
|
||||
按 测试规则.md 完成盲测求解与判分,收录 得分.json/得分.md/得分.html 三件;
|
||||
`without-skill` 对照组为同一模型裸答(不给排盘不给规则,只给出生信息+题目)。
|
||||
- **新赛事**:`python 评测/工具/make_blind.py --src <含答案的原始包目录>
|
||||
--out 试题/<赛事名> [--scores <官方跑分目录>]` 一键分离 questions/answers/
|
||||
并自校验;随后在赛事目录补一份 SOURCE.md(来源/届次/题数/基线)。
|
||||
|
||||
## 注意
|
||||
|
||||
- `questions/` 可公开分发;`answers/` 仅作判分用,求解端任何时候禁读。
|
||||
- 判分输出(eval_result.json 等临时产物)默认写在评测根目录,
|
||||
收录时只保留 `ai模型纬度得分/` 下的三件,临时文件不要提交。
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"model": "deepseek-v4-flash",
|
||||
"skill_mode": "with-skill",
|
||||
"skill_version": "3.6.2",
|
||||
"eval_date": "2026-10-13",
|
||||
"benchmark": "BaziQA-全球算命师大赛",
|
||||
"overall": {"total": 200, "correct": 74, "accuracy": 37.0, "no_answer": 0},
|
||||
"baseline": {
|
||||
"name": "官方基线(Gemini)",
|
||||
"overall": {"total": 200, "correct": 69, "accuracy": 34.5},
|
||||
"per_contest": {
|
||||
"contest8_2021": 27.5,
|
||||
"contest8_2022": 40.0,
|
||||
"contest8_2023": 27.5,
|
||||
"contest8_2024": 35.0,
|
||||
"contest8_2025": 42.5
|
||||
},
|
||||
"per_dimension": {
|
||||
"流年运势": 40.5,
|
||||
"感情": 36.7,
|
||||
"六亲": 27.6,
|
||||
"事业": 24.0,
|
||||
"性格": 45.0,
|
||||
"学业": 41.7,
|
||||
"财富": 30.8,
|
||||
"健康": 23.1,
|
||||
"其他": 50.0
|
||||
}
|
||||
},
|
||||
"per_contest": {
|
||||
"contest8_2021": {"total": 40, "correct": 19, "accuracy": 47.5, "no_answer": 0},
|
||||
"contest8_2022": {"total": 40, "correct": 16, "accuracy": 40.0, "no_answer": 0},
|
||||
"contest8_2023": {"total": 40, "correct": 15, "accuracy": 37.5, "no_answer": 0},
|
||||
"contest8_2024": {"total": 40, "correct": 12, "accuracy": 30.0, "no_answer": 0},
|
||||
"contest8_2025": {"total": 40, "correct": 12, "accuracy": 30.0, "no_answer": 0}
|
||||
},
|
||||
"per_dimension": {
|
||||
"流年运势": {"total": 37, "correct": 9, "accuracy": 24.3, "no_answer": 0},
|
||||
"感情": {"total": 49, "correct": 15, "accuracy": 30.6, "no_answer": 0},
|
||||
"六亲": {"total": 29, "correct": 12, "accuracy": 41.4, "no_answer": 0},
|
||||
"事业": {"total": 25, "correct": 9, "accuracy": 36.0, "no_answer": 0},
|
||||
"性格": {"total": 20, "correct": 11, "accuracy": 55.0, "no_answer": 0},
|
||||
"学业": {"total": 12, "correct": 5, "accuracy": 41.7, "no_answer": 0},
|
||||
"财富": {"total": 13, "correct": 7, "accuracy": 53.8, "no_answer": 0},
|
||||
"健康": {"total": 13, "correct": 5, "accuracy": 38.5, "no_answer": 0},
|
||||
"其他": {"total": 2, "correct": 1, "accuracy": 50.0, "no_answer": 0}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
# BaziQA 评测报告
|
||||
|
||||
## 总览
|
||||
|
||||
| 口径 | 正确/总题数 | 准确率 | 未答 |
|
||||
|---|---|---|---|
|
||||
| 本次评测 | 74/200 | 37.0% | 0 |
|
||||
| 官方基线(Gemini) | 69/200 | 34.5% | 0 |
|
||||
|
||||
> 基线口径见 试题/BaziQA-全球算命师大赛/SOURCE.md。
|
||||
|
||||
## 分届准确率
|
||||
|
||||
| 届别 | 本次 | 官方 |
|
||||
|---|---|---|
|
||||
| contest8_2021 | 19/40 = 47.5%(未答 0) | 27.5% |
|
||||
| contest8_2022 | 16/40 = 40.0%(未答 0) | 40.0% |
|
||||
| contest8_2023 | 15/40 = 37.5%(未答 0) | 27.5% |
|
||||
| contest8_2024 | 12/40 = 30.0%(未答 0) | 35.0% |
|
||||
| contest8_2025 | 12/40 = 30.0%(未答 0) | 42.5% |
|
||||
|
||||
## 分维度准确率
|
||||
|
||||
| 维度 | 本次 | 官方 |
|
||||
|---|---|---|
|
||||
| 流年运势 | 9/37 = 24.3%(未答 0) | 40.5% |
|
||||
| 感情 | 15/49 = 30.6%(未答 0) | 36.7% |
|
||||
| 六亲 | 12/29 = 41.4%(未答 0) | 27.6% |
|
||||
| 事业 | 9/25 = 36.0%(未答 0) | 24.0% |
|
||||
| 性格 | 11/20 = 55.0%(未答 0) | 45.0% |
|
||||
| 学业 | 5/12 = 41.7%(未答 0) | 41.7% |
|
||||
| 财富 | 7/13 = 53.8%(未答 0) | 30.8% |
|
||||
| 健康 | 5/13 = 38.5%(未答 0) | 23.1% |
|
||||
| 其他 | 1/2 = 50.0%(未答 0) | 50.0% |
|
||||
|
||||
## 错题清单(错因留空,待人工/后续填写)
|
||||
|
||||
| 届别 | 命主 | 题序 | 维度 | 我答 | 正解 | 错因 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| contest8_2021 | male_19540318_P025 | Q2 | 六亲 | B | A | |
|
||||
| contest8_2021 | male_19540318_P025 | Q3 | 流年运势 | D | C | |
|
||||
| contest8_2021 | male_19831019_P026 | Q1 | 事业 | B | C | |
|
||||
| contest8_2021 | male_19831019_P026 | Q2 | 感情 | C | D | |
|
||||
| contest8_2021 | male_19831019_P026 | Q3 | 六亲 | C | D | |
|
||||
| contest8_2021 | male_19831019_P026 | Q4 | 流年运势 | C | B | |
|
||||
| contest8_2021 | female_19841220_P027 | Q2 | 事业 | C | A | |
|
||||
| contest8_2021 | female_19841220_P027 | Q3 | 感情 | D | C | |
|
||||
| contest8_2021 | female_19841220_P027 | Q4 | 流年运势 | B | D | |
|
||||
| contest8_2021 | male_19770706_P028 | Q3 | 流年运势 | C | D | |
|
||||
| contest8_2021 | male_19770706_P028 | Q4 | 感情 | C | D | |
|
||||
| contest8_2021 | male_19700723_P029 | Q1 | 感情 | C | D | |
|
||||
| contest8_2021 | male_19700723_P029 | Q2 | 事业 | B | D | |
|
||||
| contest8_2021 | female_19750107_P030 | Q2 | 感情 | B | D | |
|
||||
| contest8_2021 | female_19750107_P030 | Q4 | 事业 | D | A | |
|
||||
| contest8_2021 | female_19750107_P030 | Q5 | 流年运势 | C | A | |
|
||||
| contest8_2021 | male_19530127_P031 | Q4 | 流年运势 | D | A | |
|
||||
| contest8_2021 | male_19530127_P031 | Q5 | 六亲 | B | D | |
|
||||
| contest8_2021 | male_19710910_P033 | Q3 | 流年运势 | A | D | |
|
||||
| contest8_2021 | female_19670827_P034 | Q1 | 感情 | B | D | |
|
||||
| contest8_2021 | female_19670827_P034 | Q2 | 事业 | B | C | |
|
||||
| contest8_2022 | male_19740428_P017 | Q1 | 流年运势 | B | A | |
|
||||
| contest8_2022 | male_19740428_P017 | Q2 | 感情 | B | C | |
|
||||
| contest8_2022 | male_19740428_P017 | Q3 | 流年运势 | B | C | |
|
||||
| contest8_2022 | female_19810526_P018 | Q2 | 感情 | A | B | |
|
||||
| contest8_2022 | female_19810526_P018 | Q4 | 性格 | A | D | |
|
||||
| contest8_2022 | female_19810526_P018 | Q5 | 六亲 | A | B | |
|
||||
| contest8_2022 | female_19900523_P019 | Q1 | 六亲 | B | D | |
|
||||
| contest8_2022 | female_19900523_P019 | Q2 | 事业 | A | C | |
|
||||
| contest8_2022 | female_19900523_P019 | Q3 | 感情 | C | D | |
|
||||
| contest8_2022 | female_19900523_P019 | Q4 | 流年运势 | D | C | |
|
||||
| contest8_2022 | female_19900523_P019 | Q5 | 性格 | C | B | |
|
||||
| contest8_2022 | female_19771026_P020 | Q1 | 事业 | C | A | |
|
||||
| contest8_2022 | female_19771026_P020 | Q3 | 感情 | D | B | |
|
||||
| contest8_2022 | female_19771026_P020 | Q4 | 财富 | C | A | |
|
||||
| contest8_2022 | female_19771026_P020 | Q5 | 健康 | B | D | |
|
||||
| contest8_2022 | male_19850629_P021 | Q4 | 流年运势 | B | C | |
|
||||
| contest8_2022 | male_19831101_P022 | Q1 | 感情 | C | A | |
|
||||
| contest8_2022 | male_19831101_P022 | Q2 | 学业 | C | D | |
|
||||
| contest8_2022 | male_19831101_P022 | Q3 | 流年运势 | C | D | |
|
||||
| contest8_2022 | male_19831101_P022 | Q5 | 财富 | D | B | |
|
||||
| contest8_2022 | female_19841209_P023 | Q3 | 流年运势 | B | A | |
|
||||
| contest8_2022 | male_19810617_P024 | Q2 | 感情 | D | C | |
|
||||
| contest8_2022 | male_19810617_P024 | Q3 | 健康 | A | B | |
|
||||
| contest8_2022 | male_19810617_P024 | Q5 | 财富 | C | B | |
|
||||
| contest8_2023 | female_19661018_P009 | Q1 | 性格 | D | B | |
|
||||
| contest8_2023 | female_19661018_P009 | Q2 | 事业 | D | C | |
|
||||
| contest8_2023 | female_19661018_P009 | Q3 | 六亲 | D | B | |
|
||||
| contest8_2023 | female_19661018_P009 | Q4 | 感情 | B | A | |
|
||||
| contest8_2023 | female_19661018_P009 | Q5 | 流年运势 | A | D | |
|
||||
| contest8_2023 | male_19620806_P010 | Q3 | 感情 | A | B | |
|
||||
| contest8_2023 | male_19620806_P010 | Q5 | 其他 | B | D | |
|
||||
| contest8_2023 | male_19860424_P011 | Q1 | 感情 | B | D | |
|
||||
| contest8_2023 | male_19860424_P011 | Q2 | 六亲 | B | D | |
|
||||
| contest8_2023 | male_19860424_P011 | Q4 | 感情 | A | C | |
|
||||
| contest8_2023 | male_19560311_P012 | Q2 | 学业 | C | A | |
|
||||
| contest8_2023 | male_19560311_P012 | Q3 | 感情 | C | A | |
|
||||
| contest8_2023 | male_19560311_P012 | Q4 | 流年运势 | D | C | |
|
||||
| contest8_2023 | female_19780405_P013 | Q1 | 流年运势 | A | B | |
|
||||
| contest8_2023 | female_19780405_P013 | Q2 | 流年运势 | B | C | |
|
||||
| contest8_2023 | female_19780405_P013 | Q4 | 六亲 | A | B | |
|
||||
| contest8_2023 | female_19581027_P014 | Q1 | 事业 | B | C | |
|
||||
| contest8_2023 | female_19581027_P014 | Q5 | 健康 | B | D | |
|
||||
| contest8_2023 | female_20020601_P015 | Q1 | 财富 | C | B | |
|
||||
| contest8_2023 | female_20020601_P015 | Q2 | 学业 | A | D | |
|
||||
| contest8_2023 | female_20020601_P015 | Q3 | 感情 | A | C | |
|
||||
| contest8_2023 | female_20020601_P015 | Q5 | 六亲 | D | A | |
|
||||
| contest8_2023 | male_19800711_P016 | Q1 | 感情 | A | C | |
|
||||
| contest8_2023 | male_19800711_P016 | Q2 | 感情 | B | C | |
|
||||
| contest8_2023 | male_19800711_P016 | Q4 | 性格 | C | B | |
|
||||
| contest8_2024 | guangdong_female_19800824_P001 | Q1 | 六亲 | C | B | |
|
||||
| contest8_2024 | guangdong_female_19800824_P001 | Q2 | 学业 | C | B | |
|
||||
| contest8_2024 | guangdong_female_19800824_P001 | Q3 | 感情 | B | D | |
|
||||
| contest8_2024 | guangdong_female_19800824_P001 | Q4 | 六亲 | B | C | |
|
||||
| contest8_2024 | guangdong_female_19800824_P001 | Q5 | 感情 | D | C | |
|
||||
| contest8_2024 | chaozhou_male_19720108_P002 | Q1 | 性格 | B | D | |
|
||||
| contest8_2024 | chaozhou_male_19720108_P002 | Q3 | 事业 | B | D | |
|
||||
| contest8_2024 | chaozhou_male_19720108_P002 | Q4 | 六亲 | A | C | |
|
||||
| contest8_2024 | male_19611230_P003 | Q1 | 流年运势 | D | B | |
|
||||
| contest8_2024 | male_19611230_P003 | Q3 | 流年运势 | C | B | |
|
||||
| contest8_2024 | male_19611230_P003 | Q4 | 流年运势 | D | A | |
|
||||
| contest8_2024 | male_19611230_P003 | Q5 | 财富 | A | C | |
|
||||
| contest8_2024 | female_19831028_P004 | Q2 | 感情 | B | A | |
|
||||
| contest8_2024 | female_19831028_P004 | Q4 | 感情 | C | D | |
|
||||
| contest8_2024 | female_19831028_P004 | Q5 | 感情 | B | A | |
|
||||
| contest8_2024 | male_19710412_P005 | Q2 | 感情 | B | A | |
|
||||
| contest8_2024 | male_19710412_P005 | Q3 | 财富 | B | C | |
|
||||
| contest8_2024 | male_19710412_P005 | Q5 | 健康 | C | B | |
|
||||
| contest8_2024 | female_19830326_P006 | Q1 | 感情 | A | B | |
|
||||
| contest8_2024 | female_19830326_P006 | Q2 | 感情 | D | A | |
|
||||
| contest8_2024 | female_19830326_P006 | Q3 | 感情 | C | B | |
|
||||
| contest8_2024 | female_19830326_P006 | Q4 | 流年运势 | A | D | |
|
||||
| contest8_2024 | female_19800921_P007 | Q2 | 感情 | B | D | |
|
||||
| contest8_2024 | female_19800921_P007 | Q3 | 流年运势 | A | D | |
|
||||
| contest8_2024 | female_19800921_P007 | Q4 | 六亲 | C | D | |
|
||||
| contest8_2024 | male_20070131_P008 | Q1 | 健康 | D | B | |
|
||||
| contest8_2024 | male_20070131_P008 | Q2 | 六亲 | B | C | |
|
||||
| contest8_2024 | male_20070131_P008 | Q4 | 流年运势 | C | D | |
|
||||
| contest8_2025 | guangdong_female_19511114_P001 | Q4 | 流年运势 | D | A | |
|
||||
| contest8_2025 | hongkong_female_19870705_P002 | Q1 | 健康 | A | D | |
|
||||
| contest8_2025 | hongkong_female_19870705_P002 | Q3 | 事业 | A | D | |
|
||||
| contest8_2025 | hongkong_female_19870705_P002 | Q4 | 感情 | C | D | |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q1 | 六亲 | C | B | |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q2 | 性格 | C | B | |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q3 | 学业 | B | D | |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q4 | 感情 | A | C | |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q5 | 流年运势 | D | A | |
|
||||
| contest8_2025 | singapore_male_19930408_P004 | Q3 | 事业 | C | B | |
|
||||
| contest8_2025 | singapore_male_19930408_P004 | Q4 | 感情 | B | A | |
|
||||
| contest8_2025 | malaysia_male_19880110_P005 | Q1 | 事业 | A | D | |
|
||||
| contest8_2025 | malaysia_male_19880110_P005 | Q2 | 流年运势 | B | A | |
|
||||
| contest8_2025 | malaysia_male_19880110_P005 | Q3 | 感情 | A | D | |
|
||||
| contest8_2025 | malaysia_male_19880110_P005 | Q4 | 六亲 | C | A | |
|
||||
| contest8_2025 | malaysia_male_19880110_P005 | Q5 | 性格 | D | B | |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q2 | 性格 | C | B | |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q3 | 事业 | D | B | |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q4 | 流年运势 | A | D | |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q5 | 健康 | A | C | |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q1 | 六亲 | D | A | |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q2 | 学业 | A | C | |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q4 | 事业 | A | D | |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q5 | 性格 | A | B | |
|
||||
| contest8_2025 | beijing_male_19700722_P008 | Q1 | 学业 | D | C | |
|
||||
| contest8_2025 | beijing_male_19700722_P008 | Q2 | 事业 | C | A | |
|
||||
| contest8_2025 | beijing_male_19700722_P008 | Q3 | 流年运势 | A | D | |
|
||||
| contest8_2025 | beijing_male_19700722_P008 | Q4 | 健康 | A | C | |
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"model": "deepseek-v4-flash",
|
||||
"skill_mode": "without-skill",
|
||||
"skill_version": "3.6.2",
|
||||
"eval_date": "2026-10-13",
|
||||
"benchmark": "BaziQA-全球算命师大赛",
|
||||
"overall": {"total": 200, "correct": 71, "accuracy": 35.5, "no_answer": 0},
|
||||
"baseline": {
|
||||
"name": "官方基线(Gemini)",
|
||||
"overall": {"total": 200, "correct": 69, "accuracy": 34.5},
|
||||
"per_contest": {
|
||||
"contest8_2021": 27.5,
|
||||
"contest8_2022": 40.0,
|
||||
"contest8_2023": 27.5,
|
||||
"contest8_2024": 35.0,
|
||||
"contest8_2025": 42.5
|
||||
},
|
||||
"per_dimension": {
|
||||
"流年运势": 40.5,
|
||||
"感情": 36.7,
|
||||
"六亲": 27.6,
|
||||
"事业": 24.0,
|
||||
"性格": 45.0,
|
||||
"学业": 41.7,
|
||||
"财富": 30.8,
|
||||
"健康": 23.1,
|
||||
"其他": 50.0
|
||||
}
|
||||
},
|
||||
"per_contest": {
|
||||
"contest8_2021": {"total": 40, "correct": 17, "accuracy": 42.5, "no_answer": 0},
|
||||
"contest8_2022": {"total": 40, "correct": 18, "accuracy": 45.0, "no_answer": 0},
|
||||
"contest8_2023": {"total": 40, "correct": 6, "accuracy": 15.0, "no_answer": 0},
|
||||
"contest8_2024": {"total": 40, "correct": 19, "accuracy": 47.5, "no_answer": 0},
|
||||
"contest8_2025": {"total": 40, "correct": 11, "accuracy": 27.5, "no_answer": 0}
|
||||
},
|
||||
"per_dimension": {
|
||||
"流年运势": {"total": 37, "correct": 11, "accuracy": 29.7, "no_answer": 0},
|
||||
"感情": {"total": 49, "correct": 13, "accuracy": 26.5, "no_answer": 0},
|
||||
"六亲": {"total": 29, "correct": 12, "accuracy": 41.4, "no_answer": 0},
|
||||
"事业": {"total": 25, "correct": 10, "accuracy": 40.0, "no_answer": 0},
|
||||
"性格": {"total": 20, "correct": 11, "accuracy": 55.0, "no_answer": 0},
|
||||
"学业": {"total": 12, "correct": 5, "accuracy": 41.7, "no_answer": 0},
|
||||
"财富": {"total": 13, "correct": 3, "accuracy": 23.1, "no_answer": 0},
|
||||
"健康": {"total": 13, "correct": 5, "accuracy": 38.5, "no_answer": 0},
|
||||
"其他": {"total": 2, "correct": 1, "accuracy": 50.0, "no_answer": 0}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,168 @@
|
||||
# BaziQA 评测报告
|
||||
|
||||
## 总览
|
||||
|
||||
| 口径 | 正确/总题数 | 准确率 | 未答 |
|
||||
|---|---|---|---|
|
||||
| 本次评测 | 71/200 | 35.5% | 0 |
|
||||
| 官方基线(Gemini) | 69/200 | 34.5% | 0 |
|
||||
|
||||
> 基线口径见 试题/BaziQA-全球算命师大赛/SOURCE.md。
|
||||
|
||||
## 分届准确率
|
||||
|
||||
| 届别 | 本次 | 官方 |
|
||||
|---|---|---|
|
||||
| contest8_2021 | 17/40 = 42.5%(未答 0) | 27.5% |
|
||||
| contest8_2022 | 18/40 = 45.0%(未答 0) | 40.0% |
|
||||
| contest8_2023 | 6/40 = 15.0%(未答 0) | 27.5% |
|
||||
| contest8_2024 | 19/40 = 47.5%(未答 0) | 35.0% |
|
||||
| contest8_2025 | 11/40 = 27.5%(未答 0) | 42.5% |
|
||||
|
||||
## 分维度准确率
|
||||
|
||||
| 维度 | 本次 | 官方 |
|
||||
|---|---|---|
|
||||
| 流年运势 | 11/37 = 29.7%(未答 0) | 40.5% |
|
||||
| 感情 | 13/49 = 26.5%(未答 0) | 36.7% |
|
||||
| 六亲 | 12/29 = 41.4%(未答 0) | 27.6% |
|
||||
| 事业 | 10/25 = 40.0%(未答 0) | 24.0% |
|
||||
| 性格 | 11/20 = 55.0%(未答 0) | 45.0% |
|
||||
| 学业 | 5/12 = 41.7%(未答 0) | 41.7% |
|
||||
| 财富 | 3/13 = 23.1%(未答 0) | 30.8% |
|
||||
| 健康 | 5/13 = 38.5%(未答 0) | 23.1% |
|
||||
| 其他 | 1/2 = 50.0%(未答 0) | 50.0% |
|
||||
|
||||
## 错题清单(错因留空,待人工/后续填写)
|
||||
|
||||
| 届别 | 命主 | 题序 | 维度 | 我答 | 正解 | 错因 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| contest8_2021 | male_19540318_P025 | Q2 | 六亲 | B | A | |
|
||||
| contest8_2021 | male_19831019_P026 | Q1 | 事业 | B | C | |
|
||||
| contest8_2021 | male_19831019_P026 | Q2 | 感情 | A | D | |
|
||||
| contest8_2021 | male_19831019_P026 | Q3 | 六亲 | A | D | |
|
||||
| contest8_2021 | male_19831019_P026 | Q4 | 流年运势 | D | B | |
|
||||
| contest8_2021 | male_19831019_P026 | Q5 | 性格 | D | A | |
|
||||
| contest8_2021 | female_19841220_P027 | Q2 | 事业 | C | A | |
|
||||
| contest8_2021 | female_19841220_P027 | Q3 | 感情 | B | C | |
|
||||
| contest8_2021 | female_19841220_P027 | Q4 | 流年运势 | C | D | |
|
||||
| contest8_2021 | female_19841220_P027 | Q5 | 流年运势 | B | A | |
|
||||
| contest8_2021 | male_19770706_P028 | Q3 | 流年运势 | C | D | |
|
||||
| contest8_2021 | male_19770706_P028 | Q4 | 感情 | C | D | |
|
||||
| contest8_2021 | male_19700723_P029 | Q1 | 感情 | C | D | |
|
||||
| contest8_2021 | male_19700723_P029 | Q4 | 流年运势 | C | B | |
|
||||
| contest8_2021 | female_19750107_P030 | Q2 | 感情 | B | D | |
|
||||
| contest8_2021 | female_19750107_P030 | Q3 | 感情 | B | D | |
|
||||
| contest8_2021 | female_19750107_P030 | Q4 | 事业 | B | A | |
|
||||
| contest8_2021 | male_19530127_P031 | Q2 | 六亲 | A | B | |
|
||||
| contest8_2021 | male_19530127_P031 | Q4 | 流年运势 | D | A | |
|
||||
| contest8_2021 | male_19530127_P031 | Q5 | 六亲 | A | D | |
|
||||
| contest8_2021 | male_19710910_P033 | Q3 | 流年运势 | A | D | |
|
||||
| contest8_2021 | female_19670827_P034 | Q1 | 感情 | B | D | |
|
||||
| contest8_2021 | female_19670827_P034 | Q2 | 事业 | A | C | |
|
||||
| contest8_2022 | male_19740428_P017 | Q1 | 流年运势 | B | A | |
|
||||
| contest8_2022 | male_19740428_P017 | Q2 | 感情 | A | C | |
|
||||
| contest8_2022 | female_19810526_P018 | Q2 | 感情 | A | B | |
|
||||
| contest8_2022 | female_19810526_P018 | Q4 | 性格 | A | D | |
|
||||
| contest8_2022 | female_19900523_P019 | Q1 | 六亲 | B | D | |
|
||||
| contest8_2022 | female_19900523_P019 | Q3 | 感情 | C | D | |
|
||||
| contest8_2022 | female_19900523_P019 | Q4 | 流年运势 | B | C | |
|
||||
| contest8_2022 | female_19900523_P019 | Q5 | 性格 | C | B | |
|
||||
| contest8_2022 | female_19771026_P020 | Q1 | 事业 | C | A | |
|
||||
| contest8_2022 | female_19771026_P020 | Q3 | 感情 | D | B | |
|
||||
| contest8_2022 | female_19771026_P020 | Q4 | 财富 | C | A | |
|
||||
| contest8_2022 | female_19771026_P020 | Q5 | 健康 | B | D | |
|
||||
| contest8_2022 | male_19850629_P021 | Q4 | 流年运势 | D | C | |
|
||||
| contest8_2022 | male_19850629_P021 | Q5 | 学业 | A | B | |
|
||||
| contest8_2022 | male_19831101_P022 | Q1 | 感情 | C | A | |
|
||||
| contest8_2022 | male_19831101_P022 | Q2 | 学业 | B | D | |
|
||||
| contest8_2022 | male_19831101_P022 | Q3 | 流年运势 | C | D | |
|
||||
| contest8_2022 | male_19831101_P022 | Q5 | 财富 | D | B | |
|
||||
| contest8_2022 | female_19841209_P023 | Q2 | 财富 | B | C | |
|
||||
| contest8_2022 | female_19841209_P023 | Q5 | 感情 | C | B | |
|
||||
| contest8_2022 | male_19810617_P024 | Q3 | 健康 | A | B | |
|
||||
| contest8_2022 | male_19810617_P024 | Q5 | 财富 | C | B | |
|
||||
| contest8_2023 | female_19661018_P009 | Q1 | 性格 | D | B | |
|
||||
| contest8_2023 | female_19661018_P009 | Q2 | 事业 | D | C | |
|
||||
| contest8_2023 | female_19661018_P009 | Q3 | 六亲 | C | B | |
|
||||
| contest8_2023 | female_19661018_P009 | Q4 | 感情 | B | A | |
|
||||
| contest8_2023 | female_19661018_P009 | Q5 | 流年运势 | A | D | |
|
||||
| contest8_2023 | male_19620806_P010 | Q3 | 感情 | A | B | |
|
||||
| contest8_2023 | male_19620806_P010 | Q4 | 流年运势 | A | D | |
|
||||
| contest8_2023 | male_19620806_P010 | Q5 | 其他 | B | D | |
|
||||
| contest8_2023 | male_19860424_P011 | Q1 | 感情 | A | D | |
|
||||
| contest8_2023 | male_19860424_P011 | Q2 | 六亲 | A | D | |
|
||||
| contest8_2023 | male_19860424_P011 | Q3 | 财富 | A | C | |
|
||||
| contest8_2023 | male_19860424_P011 | Q4 | 感情 | B | C | |
|
||||
| contest8_2023 | male_19860424_P011 | Q5 | 事业 | C | D | |
|
||||
| contest8_2023 | male_19560311_P012 | Q1 | 性格 | D | C | |
|
||||
| contest8_2023 | male_19560311_P012 | Q2 | 学业 | C | A | |
|
||||
| contest8_2023 | male_19560311_P012 | Q3 | 感情 | B | A | |
|
||||
| contest8_2023 | male_19560311_P012 | Q4 | 流年运势 | D | C | |
|
||||
| contest8_2023 | male_19560311_P012 | Q5 | 健康 | B | C | |
|
||||
| contest8_2023 | female_19780405_P013 | Q1 | 流年运势 | C | B | |
|
||||
| contest8_2023 | female_19780405_P013 | Q2 | 流年运势 | A | C | |
|
||||
| contest8_2023 | female_19780405_P013 | Q3 | 感情 | D | C | |
|
||||
| contest8_2023 | female_19780405_P013 | Q4 | 六亲 | A | B | |
|
||||
| contest8_2023 | female_19780405_P013 | Q5 | 六亲 | A | B | |
|
||||
| contest8_2023 | female_19581027_P014 | Q1 | 事业 | D | C | |
|
||||
| contest8_2023 | female_19581027_P014 | Q3 | 事业 | A | C | |
|
||||
| contest8_2023 | female_19581027_P014 | Q5 | 健康 | B | D | |
|
||||
| contest8_2023 | female_20020601_P015 | Q1 | 财富 | C | B | |
|
||||
| contest8_2023 | female_20020601_P015 | Q2 | 学业 | A | D | |
|
||||
| contest8_2023 | female_20020601_P015 | Q5 | 六亲 | C | A | |
|
||||
| contest8_2023 | male_19800711_P016 | Q1 | 感情 | A | C | |
|
||||
| contest8_2023 | male_19800711_P016 | Q2 | 感情 | B | C | |
|
||||
| contest8_2023 | male_19800711_P016 | Q3 | 事业 | A | B | |
|
||||
| contest8_2023 | male_19800711_P016 | Q4 | 性格 | A | B | |
|
||||
| contest8_2023 | male_19800711_P016 | Q5 | 财富 | C | D | |
|
||||
| contest8_2024 | guangdong_female_19800824_P001 | Q3 | 感情 | A | D | |
|
||||
| contest8_2024 | guangdong_female_19800824_P001 | Q4 | 六亲 | D | C | |
|
||||
| contest8_2024 | guangdong_female_19800824_P001 | Q5 | 感情 | B | C | |
|
||||
| contest8_2024 | chaozhou_male_19720108_P002 | Q4 | 六亲 | D | C | |
|
||||
| contest8_2024 | chaozhou_male_19720108_P002 | Q5 | 财富 | C | A | |
|
||||
| contest8_2024 | male_19611230_P003 | Q1 | 流年运势 | D | B | |
|
||||
| contest8_2024 | male_19611230_P003 | Q2 | 感情 | B | A | |
|
||||
| contest8_2024 | male_19611230_P003 | Q4 | 流年运势 | C | A | |
|
||||
| contest8_2024 | male_19611230_P003 | Q5 | 财富 | B | C | |
|
||||
| contest8_2024 | female_19831028_P004 | Q2 | 感情 | B | A | |
|
||||
| contest8_2024 | female_19831028_P004 | Q4 | 感情 | C | D | |
|
||||
| contest8_2024 | female_19831028_P004 | Q5 | 感情 | B | A | |
|
||||
| contest8_2024 | male_19710412_P005 | Q1 | 感情 | A | B | |
|
||||
| contest8_2024 | male_19710412_P005 | Q2 | 感情 | B | A | |
|
||||
| contest8_2024 | male_19710412_P005 | Q3 | 财富 | B | C | |
|
||||
| contest8_2024 | female_19830326_P006 | Q1 | 感情 | C | B | |
|
||||
| contest8_2024 | female_19830326_P006 | Q2 | 感情 | C | A | |
|
||||
| contest8_2024 | female_19800921_P007 | Q3 | 流年运势 | B | D | |
|
||||
| contest8_2024 | male_20070131_P008 | Q1 | 健康 | A | B | |
|
||||
| contest8_2024 | male_20070131_P008 | Q2 | 六亲 | B | C | |
|
||||
| contest8_2024 | male_20070131_P008 | Q4 | 流年运势 | C | D | |
|
||||
| contest8_2025 | guangdong_female_19511114_P001 | Q2 | 感情 | A | D | |
|
||||
| contest8_2025 | guangdong_female_19511114_P001 | Q4 | 流年运势 | D | A | |
|
||||
| contest8_2025 | hongkong_female_19870705_P002 | Q1 | 健康 | A | D | |
|
||||
| contest8_2025 | hongkong_female_19870705_P002 | Q2 | 性格 | D | B | |
|
||||
| contest8_2025 | hongkong_female_19870705_P002 | Q3 | 事业 | B | D | |
|
||||
| contest8_2025 | hongkong_female_19870705_P002 | Q4 | 感情 | C | D | |
|
||||
| contest8_2025 | hongkong_female_19870705_P002 | Q5 | 六亲 | A | B | |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q1 | 六亲 | C | B | |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q3 | 学业 | B | D | |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q4 | 感情 | B | C | |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q5 | 流年运势 | C | A | |
|
||||
| contest8_2025 | singapore_male_19930408_P004 | Q2 | 流年运势 | A | D | |
|
||||
| contest8_2025 | singapore_male_19930408_P004 | Q3 | 事业 | C | B | |
|
||||
| contest8_2025 | singapore_male_19930408_P004 | Q5 | 健康 | C | B | |
|
||||
| contest8_2025 | malaysia_male_19880110_P005 | Q2 | 流年运势 | B | A | |
|
||||
| contest8_2025 | malaysia_male_19880110_P005 | Q3 | 感情 | A | D | |
|
||||
| contest8_2025 | malaysia_male_19880110_P005 | Q4 | 六亲 | C | A | |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q2 | 性格 | C | B | |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q3 | 事业 | C | B | |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q4 | 流年运势 | A | D | |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q5 | 健康 | D | C | |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q1 | 六亲 | B | A | |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q2 | 学业 | A | C | |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q3 | 感情 | A | B | |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q4 | 事业 | A | D | |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q5 | 性格 | D | B | |
|
||||
| contest8_2025 | beijing_male_19700722_P008 | Q1 | 学业 | D | C | |
|
||||
| contest8_2025 | beijing_male_19700722_P008 | Q2 | 事业 | C | A | |
|
||||
| contest8_2025 | beijing_male_19700722_P008 | Q3 | 流年运势 | C | D | |
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"model": "kimi-k3",
|
||||
"skill_mode": "with-skill",
|
||||
"skill_version": "3.9.0-未发版(规则库 568 条)",
|
||||
"eval_date": "2026-10-13",
|
||||
"benchmark": "BaziQA-全球算命师大赛",
|
||||
"overall": {
|
||||
"total": 200,
|
||||
"correct": 81,
|
||||
"accuracy": 40.5,
|
||||
"no_answer": 0
|
||||
},
|
||||
"baseline": {
|
||||
"name": "官方基线(Gemini)",
|
||||
"overall": {
|
||||
"total": 200,
|
||||
"correct": 69,
|
||||
"accuracy": 34.5
|
||||
},
|
||||
"per_contest": {
|
||||
"contest8_2021": 27.5,
|
||||
"contest8_2022": 40.0,
|
||||
"contest8_2023": 27.5,
|
||||
"contest8_2024": 35.0,
|
||||
"contest8_2025": 42.5
|
||||
},
|
||||
"per_dimension": {
|
||||
"流年运势": 40.5,
|
||||
"感情": 36.7,
|
||||
"六亲": 27.6,
|
||||
"事业": 24.0,
|
||||
"性格": 45.0,
|
||||
"学业": 41.7,
|
||||
"财富": 30.8,
|
||||
"健康": 23.1,
|
||||
"其他": 50.0
|
||||
}
|
||||
},
|
||||
"per_contest": {
|
||||
"contest8_2021": {
|
||||
"total": 40,
|
||||
"correct": 19,
|
||||
"no_answer": 0,
|
||||
"accuracy": 47.5
|
||||
},
|
||||
"contest8_2022": {
|
||||
"total": 40,
|
||||
"correct": 14,
|
||||
"no_answer": 0,
|
||||
"accuracy": 35.0
|
||||
},
|
||||
"contest8_2023": {
|
||||
"total": 40,
|
||||
"correct": 17,
|
||||
"no_answer": 0,
|
||||
"accuracy": 42.5
|
||||
},
|
||||
"contest8_2024": {
|
||||
"total": 40,
|
||||
"correct": 17,
|
||||
"no_answer": 0,
|
||||
"accuracy": 42.5
|
||||
},
|
||||
"contest8_2025": {
|
||||
"total": 40,
|
||||
"correct": 14,
|
||||
"no_answer": 0,
|
||||
"accuracy": 35.0
|
||||
}
|
||||
},
|
||||
"per_dimension": {
|
||||
"流年运势": {
|
||||
"total": 37,
|
||||
"correct": 16,
|
||||
"no_answer": 0,
|
||||
"accuracy": 43.2
|
||||
},
|
||||
"感情": {
|
||||
"total": 49,
|
||||
"correct": 17,
|
||||
"no_answer": 0,
|
||||
"accuracy": 34.7
|
||||
},
|
||||
"六亲": {
|
||||
"total": 29,
|
||||
"correct": 12,
|
||||
"no_answer": 0,
|
||||
"accuracy": 41.4
|
||||
},
|
||||
"事业": {
|
||||
"total": 25,
|
||||
"correct": 12,
|
||||
"no_answer": 0,
|
||||
"accuracy": 48.0
|
||||
},
|
||||
"性格": {
|
||||
"total": 20,
|
||||
"correct": 12,
|
||||
"no_answer": 0,
|
||||
"accuracy": 60.0
|
||||
},
|
||||
"学业": {
|
||||
"total": 12,
|
||||
"correct": 5,
|
||||
"no_answer": 0,
|
||||
"accuracy": 41.7
|
||||
},
|
||||
"财富": {
|
||||
"total": 13,
|
||||
"correct": 3,
|
||||
"no_answer": 0,
|
||||
"accuracy": 23.1
|
||||
},
|
||||
"健康": {
|
||||
"total": 13,
|
||||
"correct": 4,
|
||||
"no_answer": 0,
|
||||
"accuracy": 30.8
|
||||
},
|
||||
"其他": {
|
||||
"total": 2,
|
||||
"correct": 0,
|
||||
"no_answer": 0,
|
||||
"accuracy": 0.0
|
||||
}
|
||||
},
|
||||
"notes": "判分:评测/工具/run_eval.py;求解留档:评测/ai答案/kimi-k3/with-skill/(41 位命主:规则库 3.7 全量 + 3.9 补强重跑 17 位命主的合并集,2026-10-13 收录;3.6 版留档存档于 with-skill-v3.6/);官方基线口径见 试题/BaziQA-全球算命师大赛/SOURCE.md"
|
||||
}
|
||||
@@ -0,0 +1,167 @@
|
||||
# BaziQA 评测得分 — kimi-k3(with-skill)
|
||||
|
||||
- 模型:**kimi-k3**
|
||||
- 模式:**with-skill**(加载子平八字技能排盘 + 规则库推理)
|
||||
- 技能版本:3.9.0-未发版(规则库 568 条)
|
||||
- 评测日期:2026-10-13
|
||||
- 赛事:BaziQA-全球算命师大赛(2021–2025 五届 × 40 题,共 200 题)
|
||||
- 判分:`评测/工具/run_eval.py`(脚本判分,非模型裁判)
|
||||
- 求解留档:`评测/ai答案/kimi-k3/with-skill/`(41 位命主,含完整推理过程;本轮为规则库 3.7 全量 + 3.9 补强重跑 17 位命主的合并集,3.6 版留档存档于 `with-skill-v3.6/`)
|
||||
- 错因分类:本轮重跑暂未归并(错题清单错因列留空,待后续人工/脚本补录)
|
||||
|
||||
## 总览
|
||||
|
||||
| 口径 | 正确/总题数 | 准确率 | 未答 |
|
||||
|---|---|---|---|
|
||||
| 本次评测 | 81/200 | 40.5% | 0 |
|
||||
| 官方基线(Gemini) | 69/200 | 34.5% | 0 |
|
||||
|
||||
> 基线口径见 试题/BaziQA-全球算命师大赛/SOURCE.md。
|
||||
|
||||
## 分届准确率
|
||||
|
||||
| 届别 | 本次 | 官方 |
|
||||
|---|---|---|
|
||||
| contest8_2021 | 19/40 = 47.5%(未答 0) | 27.5% |
|
||||
| contest8_2022 | 14/40 = 35.0%(未答 0) | 40.0% |
|
||||
| contest8_2023 | 17/40 = 42.5%(未答 0) | 27.5% |
|
||||
| contest8_2024 | 17/40 = 42.5%(未答 0) | 35.0% |
|
||||
| contest8_2025 | 14/40 = 35.0%(未答 0) | 42.5% |
|
||||
|
||||
## 分维度准确率
|
||||
|
||||
| 维度 | 本次 | 官方 |
|
||||
|---|---|---|
|
||||
| 流年运势 | 16/37 = 43.2%(未答 0) | 40.5% |
|
||||
| 感情 | 17/49 = 34.7%(未答 0) | 36.7% |
|
||||
| 六亲 | 12/29 = 41.4%(未答 0) | 27.6% |
|
||||
| 事业 | 12/25 = 48.0%(未答 0) | 24.0% |
|
||||
| 性格 | 12/20 = 60.0%(未答 0) | 45.0% |
|
||||
| 学业 | 5/12 = 41.7%(未答 0) | 41.7% |
|
||||
| 财富 | 3/13 = 23.1%(未答 0) | 30.8% |
|
||||
| 健康 | 4/13 = 30.8%(未答 0) | 23.1% |
|
||||
| 其他 | 0/2 = 0.0%(未答 0) | 50.0% |
|
||||
|
||||
## 错题清单(错因留空,待人工/后续填写)
|
||||
|
||||
| 届别 | 命主 | 题序 | 维度 | 我答 | 正解 | 错因 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| contest8_2021 | male_19540318_P025 | Q2 | 六亲 | B | A | |
|
||||
| contest8_2021 | male_19540318_P025 | Q3 | 流年运势 | D | C | |
|
||||
| contest8_2021 | male_19831019_P026 | Q1 | 事业 | B | C | |
|
||||
| contest8_2021 | male_19831019_P026 | Q2 | 感情 | A | D | |
|
||||
| contest8_2021 | male_19831019_P026 | Q3 | 六亲 | B | D | |
|
||||
| contest8_2021 | male_19831019_P026 | Q4 | 流年运势 | C | B | |
|
||||
| contest8_2021 | female_19841220_P027 | Q1 | 学业 | B | C | |
|
||||
| contest8_2021 | female_19841220_P027 | Q3 | 感情 | D | C | |
|
||||
| contest8_2021 | female_19841220_P027 | Q4 | 流年运势 | C | D | |
|
||||
| contest8_2021 | male_19770706_P028 | Q1 | 性格 | D | B | |
|
||||
| contest8_2021 | male_19770706_P028 | Q2 | 事业 | C | A | |
|
||||
| contest8_2021 | male_19770706_P028 | Q4 | 感情 | C | D | |
|
||||
| contest8_2021 | female_19750107_P030 | Q2 | 感情 | A | D | |
|
||||
| contest8_2021 | female_19750107_P030 | Q3 | 感情 | C | D | |
|
||||
| contest8_2021 | female_19750107_P030 | Q4 | 事业 | B | A | |
|
||||
| contest8_2021 | male_19530127_P031 | Q4 | 流年运势 | D | A | |
|
||||
| contest8_2021 | male_19530127_P031 | Q5 | 六亲 | B | D | |
|
||||
| contest8_2021 | male_19710910_P033 | Q2 | 流年运势 | A | B | |
|
||||
| contest8_2021 | male_19710910_P033 | Q3 | 流年运势 | A | D | |
|
||||
| contest8_2021 | female_19670827_P034 | Q1 | 感情 | B | D | |
|
||||
| contest8_2021 | female_19670827_P034 | Q2 | 事业 | B | C | |
|
||||
| contest8_2022 | male_19740428_P017 | Q1 | 流年运势 | D | A | |
|
||||
| contest8_2022 | male_19740428_P017 | Q2 | 感情 | B | C | |
|
||||
| contest8_2022 | male_19740428_P017 | Q3 | 流年运势 | A | C | |
|
||||
| contest8_2022 | male_19740428_P017 | Q4 | 六亲 | B | C | |
|
||||
| contest8_2022 | male_19740428_P017 | Q5 | 流年运势 | A | B | |
|
||||
| contest8_2022 | female_19810526_P018 | Q1 | 学业 | D | B | |
|
||||
| contest8_2022 | female_19810526_P018 | Q2 | 感情 | A | B | |
|
||||
| contest8_2022 | female_19810526_P018 | Q4 | 性格 | A | D | |
|
||||
| contest8_2022 | female_19810526_P018 | Q5 | 六亲 | C | B | |
|
||||
| contest8_2022 | female_19900523_P019 | Q1 | 六亲 | C | D | |
|
||||
| contest8_2022 | female_19900523_P019 | Q3 | 感情 | C | D | |
|
||||
| contest8_2022 | female_19900523_P019 | Q4 | 流年运势 | B | C | |
|
||||
| contest8_2022 | female_19771026_P020 | Q1 | 事业 | C | A | |
|
||||
| contest8_2022 | female_19771026_P020 | Q3 | 感情 | D | B | |
|
||||
| contest8_2022 | female_19771026_P020 | Q4 | 财富 | B | A | |
|
||||
| contest8_2022 | female_19771026_P020 | Q5 | 健康 | B | D | |
|
||||
| contest8_2022 | male_19850629_P021 | Q1 | 性格 | C | A | |
|
||||
| contest8_2022 | male_19850629_P021 | Q4 | 流年运势 | D | C | |
|
||||
| contest8_2022 | male_19831101_P022 | Q2 | 学业 | A | D | |
|
||||
| contest8_2022 | male_19831101_P022 | Q3 | 流年运势 | C | D | |
|
||||
| contest8_2022 | male_19831101_P022 | Q5 | 财富 | D | B | |
|
||||
| contest8_2022 | female_19841209_P023 | Q2 | 财富 | B | C | |
|
||||
| contest8_2022 | female_19841209_P023 | Q5 | 感情 | D | B | |
|
||||
| contest8_2022 | male_19810617_P024 | Q2 | 感情 | A | C | |
|
||||
| contest8_2022 | male_19810617_P024 | Q3 | 健康 | A | B | |
|
||||
| contest8_2022 | male_19810617_P024 | Q5 | 财富 | C | B | |
|
||||
| contest8_2023 | female_19661018_P009 | Q2 | 事业 | D | C | |
|
||||
| contest8_2023 | female_19661018_P009 | Q3 | 六亲 | D | B | |
|
||||
| contest8_2023 | female_19661018_P009 | Q4 | 感情 | B | A | |
|
||||
| contest8_2023 | female_19661018_P009 | Q5 | 流年运势 | A | D | |
|
||||
| contest8_2023 | male_19620806_P010 | Q5 | 其他 | B | D | |
|
||||
| contest8_2023 | male_19860424_P011 | Q1 | 感情 | B | D | |
|
||||
| contest8_2023 | male_19860424_P011 | Q2 | 六亲 | B | D | |
|
||||
| contest8_2023 | male_19860424_P011 | Q3 | 财富 | A | C | |
|
||||
| contest8_2023 | male_19860424_P011 | Q4 | 感情 | B | C | |
|
||||
| contest8_2023 | male_19560311_P012 | Q2 | 学业 | B | A | |
|
||||
| contest8_2023 | male_19560311_P012 | Q3 | 感情 | C | A | |
|
||||
| contest8_2023 | female_19780405_P013 | Q1 | 流年运势 | A | B | |
|
||||
| contest8_2023 | female_19780405_P013 | Q2 | 流年运势 | A | C | |
|
||||
| contest8_2023 | female_19780405_P013 | Q4 | 六亲 | A | B | |
|
||||
| contest8_2023 | female_19581027_P014 | Q1 | 事业 | D | C | |
|
||||
| contest8_2023 | female_19581027_P014 | Q2 | 其他 | C | A | |
|
||||
| contest8_2023 | female_19581027_P014 | Q3 | 事业 | D | C | |
|
||||
| contest8_2023 | female_19581027_P014 | Q5 | 健康 | B | D | |
|
||||
| contest8_2023 | female_20020601_P015 | Q1 | 财富 | C | B | |
|
||||
| contest8_2023 | female_20020601_P015 | Q4 | 感情 | B | D | |
|
||||
| contest8_2023 | male_19800711_P016 | Q1 | 感情 | A | C | |
|
||||
| contest8_2023 | male_19800711_P016 | Q2 | 感情 | B | C | |
|
||||
| contest8_2023 | male_19800711_P016 | Q4 | 性格 | C | B | |
|
||||
| contest8_2024 | guangdong_female_19800824_P001 | Q1 | 六亲 | C | B | |
|
||||
| contest8_2024 | guangdong_female_19800824_P001 | Q2 | 学业 | C | B | |
|
||||
| contest8_2024 | guangdong_female_19800824_P001 | Q3 | 感情 | B | D | |
|
||||
| contest8_2024 | guangdong_female_19800824_P001 | Q4 | 六亲 | D | C | |
|
||||
| contest8_2024 | chaozhou_male_19720108_P002 | Q2 | 感情 | D | C | |
|
||||
| contest8_2024 | chaozhou_male_19720108_P002 | Q4 | 六亲 | A | C | |
|
||||
| contest8_2024 | chaozhou_male_19720108_P002 | Q5 | 财富 | C | A | |
|
||||
| contest8_2024 | male_19611230_P003 | Q2 | 感情 | B | A | |
|
||||
| contest8_2024 | male_19611230_P003 | Q3 | 流年运势 | A | B | |
|
||||
| contest8_2024 | male_19611230_P003 | Q4 | 流年运势 | D | A | |
|
||||
| contest8_2024 | male_19611230_P003 | Q5 | 财富 | D | C | |
|
||||
| contest8_2024 | female_19831028_P004 | Q2 | 感情 | B | A | |
|
||||
| contest8_2024 | female_19831028_P004 | Q4 | 感情 | B | D | |
|
||||
| contest8_2024 | female_19831028_P004 | Q5 | 感情 | C | A | |
|
||||
| contest8_2024 | male_19710412_P005 | Q2 | 感情 | B | A | |
|
||||
| contest8_2024 | male_19710412_P005 | Q3 | 财富 | B | C | |
|
||||
| contest8_2024 | male_19710412_P005 | Q4 | 财富 | A | B | |
|
||||
| contest8_2024 | male_19710412_P005 | Q5 | 健康 | C | B | |
|
||||
| contest8_2024 | female_19830326_P006 | Q1 | 感情 | C | B | |
|
||||
| contest8_2024 | female_19830326_P006 | Q3 | 感情 | C | B | |
|
||||
| contest8_2024 | female_19830326_P006 | Q4 | 流年运势 | A | D | |
|
||||
| contest8_2024 | male_20070131_P008 | Q1 | 健康 | A | B | |
|
||||
| contest8_2024 | male_20070131_P008 | Q4 | 流年运势 | C | D | |
|
||||
| contest8_2025 | hongkong_female_19870705_P002 | Q1 | 健康 | A | D | |
|
||||
| contest8_2025 | hongkong_female_19870705_P002 | Q2 | 性格 | D | B | |
|
||||
| contest8_2025 | hongkong_female_19870705_P002 | Q3 | 事业 | A | D | |
|
||||
| contest8_2025 | hongkong_female_19870705_P002 | Q5 | 六亲 | A | B | |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q1 | 六亲 | C | B | |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q2 | 性格 | C | B | |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q3 | 学业 | B | D | |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q4 | 感情 | B | C | |
|
||||
| contest8_2025 | singapore_male_19930408_P004 | Q1 | 六亲 | A | C | |
|
||||
| contest8_2025 | singapore_male_19930408_P004 | Q3 | 事业 | C | B | |
|
||||
| contest8_2025 | singapore_male_19930408_P004 | Q4 | 感情 | B | A | |
|
||||
| contest8_2025 | singapore_male_19930408_P004 | Q5 | 健康 | C | B | |
|
||||
| contest8_2025 | malaysia_male_19880110_P005 | Q1 | 事业 | B | D | |
|
||||
| contest8_2025 | malaysia_male_19880110_P005 | Q3 | 感情 | A | D | |
|
||||
| contest8_2025 | malaysia_male_19880110_P005 | Q4 | 六亲 | C | A | |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q2 | 性格 | C | B | |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q3 | 事业 | D | B | |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q4 | 流年运势 | A | D | |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q5 | 健康 | A | C | |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q1 | 六亲 | B | A | |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q2 | 学业 | B | C | |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q3 | 感情 | A | B | |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q4 | 事业 | A | D | |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q5 | 性格 | D | B | |
|
||||
| contest8_2025 | beijing_male_19700722_P008 | Q3 | 流年运势 | C | D | |
|
||||
| contest8_2025 | beijing_male_19700722_P008 | Q4 | 健康 | A | C | |
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"model": "kimi-k3",
|
||||
"skill_mode": "without-skill",
|
||||
"skill_version": "无(裸模型对照)",
|
||||
"eval_date": "2026-10-12",
|
||||
"benchmark": "BaziQA-全球算命师大赛",
|
||||
"overall": {
|
||||
"total": 200,
|
||||
"correct": 82,
|
||||
"accuracy": 41.0,
|
||||
"no_answer": 0
|
||||
},
|
||||
"baseline": {
|
||||
"name": "官方基线(Gemini)",
|
||||
"overall": {
|
||||
"total": 200,
|
||||
"correct": 69,
|
||||
"accuracy": 34.5
|
||||
},
|
||||
"per_contest": {
|
||||
"contest8_2021": 27.5,
|
||||
"contest8_2022": 40.0,
|
||||
"contest8_2023": 27.5,
|
||||
"contest8_2024": 35.0,
|
||||
"contest8_2025": 42.5
|
||||
},
|
||||
"per_dimension": {
|
||||
"流年运势": 40.5,
|
||||
"感情": 36.7,
|
||||
"六亲": 27.6,
|
||||
"事业": 24.0,
|
||||
"性格": 45.0,
|
||||
"学业": 41.7,
|
||||
"财富": 30.8,
|
||||
"健康": 23.1,
|
||||
"其他": 50.0
|
||||
}
|
||||
},
|
||||
"per_contest": {
|
||||
"contest8_2021": {
|
||||
"total": 40,
|
||||
"correct": 17,
|
||||
"no_answer": 0,
|
||||
"accuracy": 42.5
|
||||
},
|
||||
"contest8_2022": {
|
||||
"total": 40,
|
||||
"correct": 20,
|
||||
"no_answer": 0,
|
||||
"accuracy": 50.0
|
||||
},
|
||||
"contest8_2023": {
|
||||
"total": 40,
|
||||
"correct": 12,
|
||||
"no_answer": 0,
|
||||
"accuracy": 30.0
|
||||
},
|
||||
"contest8_2024": {
|
||||
"total": 40,
|
||||
"correct": 17,
|
||||
"no_answer": 0,
|
||||
"accuracy": 42.5
|
||||
},
|
||||
"contest8_2025": {
|
||||
"total": 40,
|
||||
"correct": 16,
|
||||
"no_answer": 0,
|
||||
"accuracy": 40.0
|
||||
}
|
||||
},
|
||||
"per_dimension": {
|
||||
"流年运势": {
|
||||
"total": 37,
|
||||
"correct": 14,
|
||||
"no_answer": 0,
|
||||
"accuracy": 37.8
|
||||
},
|
||||
"感情": {
|
||||
"total": 49,
|
||||
"correct": 17,
|
||||
"no_answer": 0,
|
||||
"accuracy": 34.7
|
||||
},
|
||||
"六亲": {
|
||||
"total": 29,
|
||||
"correct": 9,
|
||||
"no_answer": 0,
|
||||
"accuracy": 31.0
|
||||
},
|
||||
"事业": {
|
||||
"total": 25,
|
||||
"correct": 11,
|
||||
"no_answer": 0,
|
||||
"accuracy": 44.0
|
||||
},
|
||||
"性格": {
|
||||
"total": 20,
|
||||
"correct": 10,
|
||||
"no_answer": 0,
|
||||
"accuracy": 50.0
|
||||
},
|
||||
"学业": {
|
||||
"total": 12,
|
||||
"correct": 7,
|
||||
"no_answer": 0,
|
||||
"accuracy": 58.3
|
||||
},
|
||||
"财富": {
|
||||
"total": 13,
|
||||
"correct": 6,
|
||||
"no_answer": 0,
|
||||
"accuracy": 46.2
|
||||
},
|
||||
"健康": {
|
||||
"total": 13,
|
||||
"correct": 6,
|
||||
"no_answer": 0,
|
||||
"accuracy": 46.2
|
||||
},
|
||||
"其他": {
|
||||
"total": 2,
|
||||
"correct": 2,
|
||||
"no_answer": 0,
|
||||
"accuracy": 100.0
|
||||
}
|
||||
},
|
||||
"notes": "对照组:同模型不加载技能,仅凭模型自身知识手排四柱作答;判分:评测/工具/run_eval.py;求解留档:评测/ai答案/kimi-k3/without-skill/(41 位命主)"
|
||||
}
|
||||
@@ -0,0 +1,166 @@
|
||||
# BaziQA 评测得分 — kimi-k3(without-skill)
|
||||
|
||||
- 模型:**kimi-k3**
|
||||
- 模式:**without-skill**(裸答对照:不加载技能、不给排盘与规则库,仅凭模型自身知识手排四柱作答)
|
||||
- 技能版本:无(裸模型对照)
|
||||
- 评测日期:2026-10-12
|
||||
- 赛事:BaziQA-全球算命师大赛(2021–2025 五届 × 40 题,共 200 题)
|
||||
- 判分:`评测/工具/run_eval.py`(脚本判分,与 with-skill 组同一脚本同一答案键)
|
||||
- 求解留档:`评测/ai答案/kimi-k3/without-skill/`(41 位命主,含模型手排四柱与作答过程)
|
||||
- 备注:对照组,仅用于与 with-skill 组对照;裸答无规则推理链,错题不做错因归类
|
||||
|
||||
## 总览
|
||||
|
||||
| 口径 | 正确/总题数 | 准确率 | 未答 |
|
||||
|---|---|---|---|
|
||||
| 本次评测 | 82/200 | 41.0% | 0 |
|
||||
| 官方基线(Gemini) | 69/200 | 34.5% | 0 |
|
||||
|
||||
## 分届准确率
|
||||
|
||||
| 届别 | 本次 | 官方 |
|
||||
|---|---|---|
|
||||
| contest8_2021 | 17/40 = 42.5%(未答 0) | 27.5% |
|
||||
| contest8_2022 | 20/40 = 50.0%(未答 0) | 40.0% |
|
||||
| contest8_2023 | 12/40 = 30.0%(未答 0) | 27.5% |
|
||||
| contest8_2024 | 17/40 = 42.5%(未答 0) | 35.0% |
|
||||
| contest8_2025 | 16/40 = 40.0%(未答 0) | 42.5% |
|
||||
|
||||
## 分维度准确率
|
||||
|
||||
| 维度 | 本次 | 官方 |
|
||||
|---|---|---|
|
||||
| 流年运势 | 14/37 = 37.8%(未答 0) | 40.5% |
|
||||
| 感情 | 17/49 = 34.7%(未答 0) | 36.7% |
|
||||
| 六亲 | 9/29 = 31.0%(未答 0) | 27.6% |
|
||||
| 事业 | 11/25 = 44.0%(未答 0) | 24.0% |
|
||||
| 性格 | 10/20 = 50.0%(未答 0) | 45.0% |
|
||||
| 学业 | 7/12 = 58.3%(未答 0) | 41.7% |
|
||||
| 财富 | 6/13 = 46.2%(未答 0) | 30.8% |
|
||||
| 健康 | 6/13 = 46.2%(未答 0) | 23.1% |
|
||||
| 其他 | 2/2 = 100.0%(未答 0) | 50.0% |
|
||||
|
||||
## 错题清单(裸答组不做错因归类)
|
||||
|
||||
| 届别 | 命主 | 题序 | 维度 | 我答→正解 |
|
||||
|---|---|---|---|---|
|
||||
| contest8_2021 | male_19540318_P025 | Q2 | 六亲 | B→A |
|
||||
| contest8_2021 | male_19540318_P025 | Q3 | 流年运势 | B→C |
|
||||
| contest8_2021 | male_19540318_P025 | Q4 | 健康 | A→C |
|
||||
| contest8_2021 | male_19831019_P026 | Q1 | 事业 | B→C |
|
||||
| contest8_2021 | male_19831019_P026 | Q2 | 感情 | B→D |
|
||||
| contest8_2021 | male_19831019_P026 | Q3 | 六亲 | B→D |
|
||||
| contest8_2021 | male_19831019_P026 | Q4 | 流年运势 | D→B |
|
||||
| contest8_2021 | female_19841220_P027 | Q2 | 事业 | C→A |
|
||||
| contest8_2021 | female_19841220_P027 | Q3 | 感情 | D→C |
|
||||
| contest8_2021 | female_19841220_P027 | Q4 | 流年运势 | A→D |
|
||||
| contest8_2021 | female_19841220_P027 | Q5 | 流年运势 | B→A |
|
||||
| contest8_2021 | male_19770706_P028 | Q2 | 事业 | C→A |
|
||||
| contest8_2021 | male_19770706_P028 | Q4 | 感情 | C→D |
|
||||
| contest8_2021 | male_19700723_P029 | Q3 | 性格 | C→A |
|
||||
| contest8_2021 | female_19750107_P030 | Q2 | 感情 | A→D |
|
||||
| contest8_2021 | female_19750107_P030 | Q3 | 感情 | C→D |
|
||||
| contest8_2021 | female_19750107_P030 | Q4 | 事业 | B→A |
|
||||
| contest8_2021 | male_19530127_P031 | Q2 | 六亲 | C→B |
|
||||
| contest8_2021 | male_19530127_P031 | Q4 | 流年运势 | D→A |
|
||||
| contest8_2021 | male_19530127_P031 | Q5 | 六亲 | B→D |
|
||||
| contest8_2021 | male_19710910_P033 | Q2 | 流年运势 | A→B |
|
||||
| contest8_2021 | female_19670827_P034 | Q1 | 感情 | B→D |
|
||||
| contest8_2021 | female_19670827_P034 | Q2 | 事业 | A→C |
|
||||
| contest8_2022 | male_19740428_P017 | Q1 | 流年运势 | B→A |
|
||||
| contest8_2022 | male_19740428_P017 | Q2 | 感情 | B→C |
|
||||
| contest8_2022 | male_19740428_P017 | Q3 | 流年运势 | A→C |
|
||||
| contest8_2022 | male_19740428_P017 | Q5 | 流年运势 | A→B |
|
||||
| contest8_2022 | female_19810526_P018 | Q1 | 学业 | C→B |
|
||||
| contest8_2022 | female_19810526_P018 | Q2 | 感情 | A→B |
|
||||
| contest8_2022 | female_19810526_P018 | Q3 | 六亲 | B→A |
|
||||
| contest8_2022 | female_19810526_P018 | Q4 | 性格 | A→D |
|
||||
| contest8_2022 | female_19900523_P019 | Q1 | 六亲 | B→D |
|
||||
| contest8_2022 | female_19900523_P019 | Q4 | 流年运势 | D→C |
|
||||
| contest8_2022 | female_19771026_P020 | Q1 | 事业 | C→A |
|
||||
| contest8_2022 | female_19771026_P020 | Q3 | 感情 | D→B |
|
||||
| contest8_2022 | female_19771026_P020 | Q4 | 财富 | C→A |
|
||||
| contest8_2022 | male_19850629_P021 | Q1 | 性格 | C→A |
|
||||
| contest8_2022 | male_19850629_P021 | Q2 | 感情 | A→B |
|
||||
| contest8_2022 | male_19850629_P021 | Q4 | 流年运势 | B→C |
|
||||
| contest8_2022 | male_19831101_P022 | Q3 | 流年运势 | C→D |
|
||||
| contest8_2022 | female_19841209_P023 | Q1 | 性格 | A→D |
|
||||
| contest8_2022 | female_19841209_P023 | Q2 | 财富 | B→C |
|
||||
| contest8_2022 | male_19810617_P024 | Q3 | 健康 | A→B |
|
||||
| contest8_2023 | female_19661018_P009 | Q2 | 事业 | B→C |
|
||||
| contest8_2023 | female_19661018_P009 | Q3 | 六亲 | D→B |
|
||||
| contest8_2023 | female_19661018_P009 | Q4 | 感情 | D→A |
|
||||
| contest8_2023 | female_19661018_P009 | Q5 | 流年运势 | B→D |
|
||||
| contest8_2023 | male_19620806_P010 | Q1 | 六亲 | D→A |
|
||||
| contest8_2023 | male_19620806_P010 | Q2 | 六亲 | C→B |
|
||||
| contest8_2023 | male_19620806_P010 | Q3 | 感情 | A→B |
|
||||
| contest8_2023 | male_19620806_P010 | Q4 | 流年运势 | C→D |
|
||||
| contest8_2023 | male_19860424_P011 | Q1 | 感情 | B→D |
|
||||
| contest8_2023 | male_19860424_P011 | Q2 | 六亲 | B→D |
|
||||
| contest8_2023 | male_19860424_P011 | Q3 | 财富 | A→C |
|
||||
| contest8_2023 | male_19860424_P011 | Q4 | 感情 | B→C |
|
||||
| contest8_2023 | male_19860424_P011 | Q5 | 事业 | C→D |
|
||||
| contest8_2023 | male_19560311_P012 | Q1 | 性格 | D→C |
|
||||
| contest8_2023 | male_19560311_P012 | Q2 | 学业 | B→A |
|
||||
| contest8_2023 | male_19560311_P012 | Q3 | 感情 | B→A |
|
||||
| contest8_2023 | female_19780405_P013 | Q2 | 流年运势 | B→C |
|
||||
| contest8_2023 | female_19780405_P013 | Q3 | 感情 | D→C |
|
||||
| contest8_2023 | female_19780405_P013 | Q4 | 六亲 | A→B |
|
||||
| contest8_2023 | female_19780405_P013 | Q5 | 六亲 | A→B |
|
||||
| contest8_2023 | female_19581027_P014 | Q1 | 事业 | A→C |
|
||||
| contest8_2023 | female_19581027_P014 | Q3 | 事业 | A→C |
|
||||
| contest8_2023 | female_20020601_P015 | Q1 | 财富 | C→B |
|
||||
| contest8_2023 | female_20020601_P015 | Q3 | 感情 | D→C |
|
||||
| contest8_2023 | female_20020601_P015 | Q5 | 六亲 | C→A |
|
||||
| contest8_2023 | male_19800711_P016 | Q1 | 感情 | A→C |
|
||||
| contest8_2023 | male_19800711_P016 | Q2 | 感情 | B→C |
|
||||
| contest8_2023 | male_19800711_P016 | Q4 | 性格 | C→B |
|
||||
| contest8_2024 | guangdong_female_19800824_P001 | Q2 | 学业 | C→B |
|
||||
| contest8_2024 | guangdong_female_19800824_P001 | Q3 | 感情 | B→D |
|
||||
| contest8_2024 | guangdong_female_19800824_P001 | Q5 | 感情 | A→C |
|
||||
| contest8_2024 | chaozhou_male_19720108_P002 | Q1 | 性格 | B→D |
|
||||
| contest8_2024 | chaozhou_male_19720108_P002 | Q4 | 六亲 | D→C |
|
||||
| contest8_2024 | male_19611230_P003 | Q3 | 流年运势 | D→B |
|
||||
| contest8_2024 | male_19611230_P003 | Q4 | 流年运势 | D→A |
|
||||
| contest8_2024 | male_19611230_P003 | Q5 | 财富 | D→C |
|
||||
| contest8_2024 | female_19831028_P004 | Q2 | 感情 | B→A |
|
||||
| contest8_2024 | female_19831028_P004 | Q4 | 感情 | B→D |
|
||||
| contest8_2024 | male_19710412_P005 | Q1 | 感情 | D→B |
|
||||
| contest8_2024 | male_19710412_P005 | Q2 | 感情 | B→A |
|
||||
| contest8_2024 | male_19710412_P005 | Q3 | 财富 | B→C |
|
||||
| contest8_2024 | male_19710412_P005 | Q4 | 财富 | A→B |
|
||||
| contest8_2024 | male_19710412_P005 | Q5 | 健康 | C→B |
|
||||
| contest8_2024 | female_19830326_P006 | Q1 | 感情 | C→B |
|
||||
| contest8_2024 | female_19830326_P006 | Q2 | 感情 | C→A |
|
||||
| contest8_2024 | female_19830326_P006 | Q3 | 感情 | C→B |
|
||||
| contest8_2024 | female_19830326_P006 | Q4 | 流年运势 | A→D |
|
||||
| contest8_2024 | female_19800921_P007 | Q1 | 学业 | B→C |
|
||||
| contest8_2024 | female_19800921_P007 | Q2 | 感情 | C→D |
|
||||
| contest8_2024 | male_20070131_P008 | Q4 | 流年运势 | A→D |
|
||||
| contest8_2024 | male_20070131_P008 | Q5 | 六亲 | A→C |
|
||||
| contest8_2025 | guangdong_female_19511114_P001 | Q4 | 流年运势 | B→A |
|
||||
| contest8_2025 | hongkong_female_19870705_P002 | Q1 | 健康 | A→D |
|
||||
| contest8_2025 | hongkong_female_19870705_P002 | Q5 | 六亲 | A→B |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q1 | 六亲 | C→B |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q2 | 性格 | C→B |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q3 | 学业 | B→D |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q4 | 感情 | B→C |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q5 | 流年运势 | C→A |
|
||||
| contest8_2025 | singapore_male_19930408_P004 | Q1 | 六亲 | D→C |
|
||||
| contest8_2025 | singapore_male_19930408_P004 | Q3 | 事业 | C→B |
|
||||
| contest8_2025 | singapore_male_19930408_P004 | Q5 | 健康 | C→B |
|
||||
| contest8_2025 | malaysia_male_19880110_P005 | Q1 | 事业 | B→D |
|
||||
| contest8_2025 | malaysia_male_19880110_P005 | Q3 | 感情 | A→D |
|
||||
| contest8_2025 | malaysia_male_19880110_P005 | Q4 | 六亲 | C→A |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q2 | 性格 | C→B |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q3 | 事业 | D→B |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q4 | 流年运势 | A→D |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q5 | 健康 | B→C |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q1 | 六亲 | C→A |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q3 | 感情 | A→B |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q4 | 事业 | A→D |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q5 | 性格 | D→B |
|
||||
| contest8_2025 | beijing_male_19700722_P008 | Q3 | 流年运势 | A→D |
|
||||
| contest8_2025 | beijing_male_19700722_P008 | Q4 | 健康 | A→C |
|
||||
|
||||
> 共错 118 题(对 82/200)。本组为裸模型对照:模型自行手排四柱并作答,无技能排盘与规则库支持;判分口径与 with-skill 组完全一致。
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"model": "qoder-agent",
|
||||
"skill_mode": "with-skill",
|
||||
"skill_version": "3.6.2-未发版(规则库 3.7)",
|
||||
"eval_date": "2026-10-13",
|
||||
"benchmark": "BaziQA-全球算命师大赛",
|
||||
"overall": {
|
||||
"total": 200,
|
||||
"correct": 79,
|
||||
"accuracy": 39.5,
|
||||
"no_answer": 0
|
||||
},
|
||||
"baseline": {
|
||||
"name": "官方基线(Gemini)",
|
||||
"overall": {
|
||||
"total": 200,
|
||||
"correct": 69,
|
||||
"accuracy": 34.5
|
||||
},
|
||||
"per_contest": {
|
||||
"contest8_2021": 27.5,
|
||||
"contest8_2022": 40.0,
|
||||
"contest8_2023": 27.5,
|
||||
"contest8_2024": 35.0,
|
||||
"contest8_2025": 42.5
|
||||
},
|
||||
"per_dimension": {
|
||||
"流年运势": 40.5,
|
||||
"感情": 36.7,
|
||||
"六亲": 27.6,
|
||||
"事业": 24.0,
|
||||
"性格": 45.0,
|
||||
"学业": 41.7,
|
||||
"财富": 30.8,
|
||||
"健康": 23.1,
|
||||
"其他": 50.0
|
||||
}
|
||||
},
|
||||
"per_contest": {
|
||||
"contest8_2021": {
|
||||
"total": 40,
|
||||
"correct": 16,
|
||||
"no_answer": 0,
|
||||
"accuracy": 40.0
|
||||
},
|
||||
"contest8_2022": {
|
||||
"total": 40,
|
||||
"correct": 15,
|
||||
"no_answer": 0,
|
||||
"accuracy": 37.5
|
||||
},
|
||||
"contest8_2023": {
|
||||
"total": 40,
|
||||
"correct": 15,
|
||||
"no_answer": 0,
|
||||
"accuracy": 37.5
|
||||
},
|
||||
"contest8_2024": {
|
||||
"total": 40,
|
||||
"correct": 19,
|
||||
"no_answer": 0,
|
||||
"accuracy": 47.5
|
||||
},
|
||||
"contest8_2025": {
|
||||
"total": 40,
|
||||
"correct": 14,
|
||||
"no_answer": 0,
|
||||
"accuracy": 35.0
|
||||
}
|
||||
},
|
||||
"per_dimension": {
|
||||
"流年运势": {
|
||||
"total": 37,
|
||||
"correct": 15,
|
||||
"no_answer": 0,
|
||||
"accuracy": 40.5
|
||||
},
|
||||
"感情": {
|
||||
"total": 49,
|
||||
"correct": 16,
|
||||
"no_answer": 0,
|
||||
"accuracy": 32.7
|
||||
},
|
||||
"六亲": {
|
||||
"total": 29,
|
||||
"correct": 15,
|
||||
"no_answer": 0,
|
||||
"accuracy": 51.7
|
||||
},
|
||||
"事业": {
|
||||
"total": 25,
|
||||
"correct": 10,
|
||||
"no_answer": 0,
|
||||
"accuracy": 40.0
|
||||
},
|
||||
"性格": {
|
||||
"total": 20,
|
||||
"correct": 8,
|
||||
"no_answer": 0,
|
||||
"accuracy": 40.0
|
||||
},
|
||||
"学业": {
|
||||
"total": 12,
|
||||
"correct": 5,
|
||||
"no_answer": 0,
|
||||
"accuracy": 41.7
|
||||
},
|
||||
"财富": {
|
||||
"total": 13,
|
||||
"correct": 5,
|
||||
"no_answer": 0,
|
||||
"accuracy": 38.5
|
||||
},
|
||||
"健康": {
|
||||
"total": 13,
|
||||
"correct": 4,
|
||||
"no_answer": 0,
|
||||
"accuracy": 30.8
|
||||
},
|
||||
"其他": {
|
||||
"total": 2,
|
||||
"correct": 1,
|
||||
"no_answer": 0,
|
||||
"accuracy": 50.0
|
||||
}
|
||||
},
|
||||
"notes": "判分:评测/工具/run_eval.py;求解留档:评测/ai答案/qoder-agent/with-skill/(41 位命主,每位新开无上下文子代理,真太阳时主盘 + 双盘纪律);技能副本 /tmp/skill_bench(rsync 自母版,排除 评测/ 与 .git,故物理隔绝答案键)+ extend_cities.py 地点扩展;全程 ZIPEC_EVAL=1,副本 data/ 仅 cities.json、无 .license.json,零额度消耗;官方基线口径见 试题/BaziQA-全球算命师大赛/SOURCE.md"
|
||||
}
|
||||
@@ -0,0 +1,190 @@
|
||||
# BaziQA 评测得分 — qoder-agent(with-skill)
|
||||
|
||||
- 模型:**qoder-agent**(Qoder 桌面端主代理 + 每位命主一个无上下文子代理)
|
||||
- 模式:**with-skill**(加载子平八字技能排盘 + 规则库推理)
|
||||
- 技能版本:3.6.2-未发版(规则库 3.7)
|
||||
- 评测日期:2026-10-12 起跑,2026-10-13 判分收录
|
||||
- 赛事:BaziQA-全球算命师大赛(2021–2025 五届 × 40 题,共 200 题)
|
||||
- 判分:`评测/工具/run_eval.py`(脚本判分,非模型裁判)
|
||||
- 求解留档:`评测/ai答案/qoder-agent/with-skill/`(41 位命主,含完整推理过程)
|
||||
- 求解方式:技能副本 `/tmp/skill_bench`(rsync 自母版,**排除 `评测/` 与 `.git/`**,
|
||||
物理隔绝答案键)+ `extend_cities.py` 地点扩展(追加 23 条,41 位命主 place 全解析);
|
||||
每命主**新开无上下文子代理**独立排盘 + 独立推理,跨命主不共享上下文;
|
||||
真太阳时主盘 + 双盘纪律(境外/模糊地名与时辰边界 ±15 分钟内加排 120°E 对照盘)
|
||||
- 额度:全程 `ZIPEC_EVAL=1` 豁免,副本 `data/` 仅 `cities.json`、无 `.license.json`,
|
||||
**零授权额度消耗**
|
||||
- 错因分类:暂未归并(错题清单错因列留空,待后续人工/脚本补录)
|
||||
|
||||
## 同模型对照
|
||||
|
||||
| 组别 | 正确/总题数 | 准确率 |
|
||||
|---|---|---|
|
||||
| **with-skill(本组)** | 79/200 | 39.5% |
|
||||
| without-skill(裸答对照) | 78/200 | 39.0% |
|
||||
| 官方基线(Gemini) | 69/200 | 34.5% |
|
||||
|
||||
如实呈现:加载技能比同模型裸答只高 **1 题(+0.5pp)**,配对 z = 0.10。
|
||||
题级配对检验——两组都对 53 题、只 with-skill 对 26 题、只裸答对 25 题、都错 96 题;
|
||||
McNemar 不一致对 51 组、26:25 几乎对半,校正 χ² = 0.00,p ≈ 1.0。
|
||||
**技能未带来可检出的增益**。相对官方基线 +5.0pp,配对 z = 1.04(p ≈ 0.30),
|
||||
单组标准误 ±3.46pp,同样不显著。200 题规模下这套基准尚不足以区分
|
||||
「加载技能」与「裸答」两种口径。
|
||||
|
||||
## 总览
|
||||
|
||||
| 口径 | 正确/总题数 | 准确率 | 未答 |
|
||||
|---|---|---|---|
|
||||
| 本次评测 | 79/200 | 39.5% | 0 |
|
||||
| 官方基线(Gemini) | 69/200 | 34.5% | 0 |
|
||||
|
||||
> 基线口径见 试题/BaziQA-全球算命师大赛/SOURCE.md。
|
||||
|
||||
## 分届准确率
|
||||
|
||||
| 届别 | 本次 | 官方 |
|
||||
|---|---|---|
|
||||
| contest8_2021 | 16/40 = 40.0%(未答 0) | 27.5% |
|
||||
| contest8_2022 | 15/40 = 37.5%(未答 0) | 40.0% |
|
||||
| contest8_2023 | 15/40 = 37.5%(未答 0) | 27.5% |
|
||||
| contest8_2024 | 19/40 = 47.5%(未答 0) | 35.0% |
|
||||
| contest8_2025 | 14/40 = 35.0%(未答 0) | 42.5% |
|
||||
|
||||
## 分维度准确率
|
||||
|
||||
| 维度 | 本次 | 官方 |
|
||||
|---|---|---|
|
||||
| 流年运势 | 15/37 = 40.5%(未答 0) | 40.5% |
|
||||
| 感情 | 16/49 = 32.7%(未答 0) | 36.7% |
|
||||
| 六亲 | 15/29 = 51.7%(未答 0) | 27.6% |
|
||||
| 事业 | 10/25 = 40.0%(未答 0) | 24.0% |
|
||||
| 性格 | 8/20 = 40.0%(未答 0) | 45.0% |
|
||||
| 学业 | 5/12 = 41.7%(未答 0) | 41.7% |
|
||||
| 财富 | 5/13 = 38.5%(未答 0) | 30.8% |
|
||||
| 健康 | 4/13 = 30.8%(未答 0) | 23.1% |
|
||||
| 其他 | 1/2 = 50.0%(未答 0) | 50.0% |
|
||||
|
||||
## 错题清单(错因留空,待人工/后续填写)
|
||||
|
||||
| 届别 | 命主 | 题序 | 维度 | 我答 | 正解 | 错因 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| contest8_2021 | male_19540318_P025 | Q2 | 六亲 | B | A | |
|
||||
| contest8_2021 | male_19540318_P025 | Q3 | 流年运势 | D | C | |
|
||||
| contest8_2021 | male_19540318_P025 | Q5 | 六亲 | C | B | |
|
||||
| contest8_2021 | male_19831019_P026 | Q1 | 事业 | B | C | |
|
||||
| contest8_2021 | male_19831019_P026 | Q2 | 感情 | A | D | |
|
||||
| contest8_2021 | male_19831019_P026 | Q3 | 六亲 | A | D | |
|
||||
| contest8_2021 | male_19831019_P026 | Q4 | 流年运势 | D | B | |
|
||||
| contest8_2021 | female_19841220_P027 | Q1 | 学业 | B | C | |
|
||||
| contest8_2021 | female_19841220_P027 | Q2 | 事业 | C | A | |
|
||||
| contest8_2021 | female_19841220_P027 | Q3 | 感情 | D | C | |
|
||||
| contest8_2021 | female_19841220_P027 | Q4 | 流年运势 | C | D | |
|
||||
| contest8_2021 | male_19770706_P028 | Q2 | 事业 | C | A | |
|
||||
| contest8_2021 | male_19770706_P028 | Q4 | 感情 | C | D | |
|
||||
| contest8_2021 | male_19700723_P029 | Q1 | 感情 | C | D | |
|
||||
| contest8_2021 | male_19700723_P029 | Q3 | 性格 | C | A | |
|
||||
| contest8_2021 | male_19700723_P029 | Q5 | 健康 | B | C | |
|
||||
| contest8_2021 | female_19750107_P030 | Q2 | 感情 | A | D | |
|
||||
| contest8_2021 | female_19750107_P030 | Q3 | 感情 | B | D | |
|
||||
| contest8_2021 | male_19530127_P031 | Q1 | 事业 | A | C | |
|
||||
| contest8_2021 | male_19530127_P031 | Q4 | 流年运势 | D | A | |
|
||||
| contest8_2021 | male_19530127_P031 | Q5 | 六亲 | B | D | |
|
||||
| contest8_2021 | male_19710910_P033 | Q3 | 流年运势 | A | D | |
|
||||
| contest8_2021 | female_19670827_P034 | Q1 | 感情 | B | D | |
|
||||
| contest8_2021 | female_19670827_P034 | Q2 | 事业 | A | C | |
|
||||
| contest8_2022 | male_19740428_P017 | Q1 | 流年运势 | B | A | |
|
||||
| contest8_2022 | male_19740428_P017 | Q2 | 感情 | B | C | |
|
||||
| contest8_2022 | male_19740428_P017 | Q3 | 流年运势 | A | C | |
|
||||
| contest8_2022 | female_19810526_P018 | Q1 | 学业 | C | B | |
|
||||
| contest8_2022 | female_19810526_P018 | Q2 | 感情 | A | B | |
|
||||
| contest8_2022 | female_19810526_P018 | Q4 | 性格 | A | D | |
|
||||
| contest8_2022 | female_19900523_P019 | Q1 | 六亲 | B | D | |
|
||||
| contest8_2022 | female_19900523_P019 | Q4 | 流年运势 | B | C | |
|
||||
| contest8_2022 | female_19771026_P020 | Q1 | 事业 | C | A | |
|
||||
| contest8_2022 | female_19771026_P020 | Q3 | 感情 | D | B | |
|
||||
| contest8_2022 | female_19771026_P020 | Q4 | 财富 | C | A | |
|
||||
| contest8_2022 | male_19850629_P021 | Q1 | 性格 | B | A | |
|
||||
| contest8_2022 | male_19850629_P021 | Q4 | 流年运势 | B | C | |
|
||||
| contest8_2022 | male_19850629_P021 | Q5 | 学业 | A | B | |
|
||||
| contest8_2022 | male_19831101_P022 | Q2 | 学业 | A | D | |
|
||||
| contest8_2022 | male_19831101_P022 | Q3 | 流年运势 | C | D | |
|
||||
| contest8_2022 | male_19831101_P022 | Q5 | 财富 | D | B | |
|
||||
| contest8_2022 | female_19841209_P023 | Q1 | 性格 | A | D | |
|
||||
| contest8_2022 | female_19841209_P023 | Q2 | 财富 | A | C | |
|
||||
| contest8_2022 | female_19841209_P023 | Q3 | 流年运势 | B | A | |
|
||||
| contest8_2022 | female_19841209_P023 | Q4 | 感情 | A | C | |
|
||||
| contest8_2022 | female_19841209_P023 | Q5 | 感情 | C | B | |
|
||||
| contest8_2022 | male_19810617_P024 | Q2 | 感情 | D | C | |
|
||||
| contest8_2022 | male_19810617_P024 | Q3 | 健康 | A | B | |
|
||||
| contest8_2022 | male_19810617_P024 | Q5 | 财富 | C | B | |
|
||||
| contest8_2023 | female_19661018_P009 | Q1 | 性格 | D | B | |
|
||||
| contest8_2023 | female_19661018_P009 | Q2 | 事业 | D | C | |
|
||||
| contest8_2023 | female_19661018_P009 | Q3 | 六亲 | D | B | |
|
||||
| contest8_2023 | female_19661018_P009 | Q4 | 感情 | C | A | |
|
||||
| contest8_2023 | male_19620806_P010 | Q4 | 流年运势 | C | D | |
|
||||
| contest8_2023 | male_19620806_P010 | Q5 | 其他 | B | D | |
|
||||
| contest8_2023 | male_19860424_P011 | Q2 | 六亲 | A | D | |
|
||||
| contest8_2023 | male_19860424_P011 | Q4 | 感情 | D | C | |
|
||||
| contest8_2023 | male_19560311_P012 | Q2 | 学业 | C | A | |
|
||||
| contest8_2023 | male_19560311_P012 | Q3 | 感情 | C | A | |
|
||||
| contest8_2023 | male_19560311_P012 | Q4 | 流年运势 | D | C | |
|
||||
| contest8_2023 | female_19780405_P013 | Q2 | 流年运势 | A | C | |
|
||||
| contest8_2023 | female_19780405_P013 | Q3 | 感情 | D | C | |
|
||||
| contest8_2023 | female_19780405_P013 | Q4 | 六亲 | A | B | |
|
||||
| contest8_2023 | female_19780405_P013 | Q5 | 六亲 | D | B | |
|
||||
| contest8_2023 | female_19581027_P014 | Q1 | 事业 | D | C | |
|
||||
| contest8_2023 | female_19581027_P014 | Q3 | 事业 | A | C | |
|
||||
| contest8_2023 | female_19581027_P014 | Q5 | 健康 | B | D | |
|
||||
| contest8_2023 | female_20020601_P015 | Q1 | 财富 | C | B | |
|
||||
| contest8_2023 | female_20020601_P015 | Q3 | 感情 | D | C | |
|
||||
| contest8_2023 | female_20020601_P015 | Q5 | 六亲 | C | A | |
|
||||
| contest8_2023 | male_19800711_P016 | Q1 | 感情 | A | C | |
|
||||
| contest8_2023 | male_19800711_P016 | Q2 | 感情 | B | C | |
|
||||
| contest8_2023 | male_19800711_P016 | Q3 | 事业 | A | B | |
|
||||
| contest8_2023 | male_19800711_P016 | Q4 | 性格 | A | B | |
|
||||
| contest8_2024 | guangdong_female_19800824_P001 | Q2 | 学业 | C | B | |
|
||||
| contest8_2024 | guangdong_female_19800824_P001 | Q3 | 感情 | B | D | |
|
||||
| contest8_2024 | guangdong_female_19800824_P001 | Q5 | 感情 | B | C | |
|
||||
| contest8_2024 | chaozhou_male_19720108_P002 | Q2 | 感情 | D | C | |
|
||||
| contest8_2024 | chaozhou_male_19720108_P002 | Q4 | 六亲 | D | C | |
|
||||
| contest8_2024 | chaozhou_male_19720108_P002 | Q5 | 财富 | C | A | |
|
||||
| contest8_2024 | male_19611230_P003 | Q3 | 流年运势 | A | B | |
|
||||
| contest8_2024 | male_19611230_P003 | Q4 | 流年运势 | D | A | |
|
||||
| contest8_2024 | male_19611230_P003 | Q5 | 财富 | D | C | |
|
||||
| contest8_2024 | female_19831028_P004 | Q2 | 感情 | B | A | |
|
||||
| contest8_2024 | female_19831028_P004 | Q4 | 感情 | B | D | |
|
||||
| contest8_2024 | female_19831028_P004 | Q5 | 感情 | B | A | |
|
||||
| contest8_2024 | male_19710412_P005 | Q2 | 感情 | B | A | |
|
||||
| contest8_2024 | male_19710412_P005 | Q3 | 财富 | B | C | |
|
||||
| contest8_2024 | male_19710412_P005 | Q5 | 健康 | C | B | |
|
||||
| contest8_2024 | female_19830326_P006 | Q1 | 感情 | C | B | |
|
||||
| contest8_2024 | female_19830326_P006 | Q2 | 感情 | C | A | |
|
||||
| contest8_2024 | female_19830326_P006 | Q4 | 流年运势 | A | D | |
|
||||
| contest8_2024 | male_20070131_P008 | Q1 | 健康 | D | B | |
|
||||
| contest8_2024 | male_20070131_P008 | Q3 | 性格 | D | A | |
|
||||
| contest8_2024 | male_20070131_P008 | Q4 | 流年运势 | C | D | |
|
||||
| contest8_2025 | guangdong_female_19511114_P001 | Q2 | 感情 | B | D | |
|
||||
| contest8_2025 | guangdong_female_19511114_P001 | Q4 | 流年运势 | C | A | |
|
||||
| contest8_2025 | hongkong_female_19870705_P002 | Q1 | 健康 | A | D | |
|
||||
| contest8_2025 | hongkong_female_19870705_P002 | Q2 | 性格 | D | B | |
|
||||
| contest8_2025 | hongkong_female_19870705_P002 | Q3 | 事业 | A | D | |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q1 | 六亲 | C | B | |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q2 | 性格 | D | B | |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q3 | 学业 | C | D | |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q4 | 感情 | B | C | |
|
||||
| contest8_2025 | singapore_male_19930408_P004 | Q2 | 流年运势 | B | D | |
|
||||
| contest8_2025 | singapore_male_19930408_P004 | Q3 | 事业 | C | B | |
|
||||
| contest8_2025 | singapore_male_19930408_P004 | Q5 | 健康 | C | B | |
|
||||
| contest8_2025 | malaysia_male_19880110_P005 | Q1 | 事业 | A | D | |
|
||||
| contest8_2025 | malaysia_male_19880110_P005 | Q3 | 感情 | A | D | |
|
||||
| contest8_2025 | malaysia_male_19880110_P005 | Q4 | 六亲 | C | A | |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q1 | 性格 | C | A | |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q2 | 性格 | C | B | |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q3 | 事业 | C | B | |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q4 | 流年运势 | A | D | |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q5 | 健康 | D | C | |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q1 | 六亲 | B | A | |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q3 | 感情 | C | B | |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q4 | 事业 | A | D | |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q5 | 性格 | A | B | |
|
||||
| contest8_2025 | beijing_male_19700722_P008 | Q3 | 流年运势 | A | D | |
|
||||
| contest8_2025 | beijing_male_19700722_P008 | Q4 | 健康 | A | C | |
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"model": "qoder-agent",
|
||||
"skill_mode": "without-skill",
|
||||
"skill_version": "无(裸模型对照)",
|
||||
"eval_date": "2026-10-13",
|
||||
"benchmark": "BaziQA-全球算命师大赛",
|
||||
"overall": {
|
||||
"total": 200,
|
||||
"correct": 78,
|
||||
"accuracy": 39.0,
|
||||
"no_answer": 0
|
||||
},
|
||||
"baseline": {
|
||||
"name": "官方基线(Gemini)",
|
||||
"overall": {
|
||||
"total": 200,
|
||||
"correct": 69,
|
||||
"accuracy": 34.5
|
||||
},
|
||||
"per_contest": {
|
||||
"contest8_2021": 27.5,
|
||||
"contest8_2022": 40.0,
|
||||
"contest8_2023": 27.5,
|
||||
"contest8_2024": 35.0,
|
||||
"contest8_2025": 42.5
|
||||
},
|
||||
"per_dimension": {
|
||||
"流年运势": 40.5,
|
||||
"感情": 36.7,
|
||||
"六亲": 27.6,
|
||||
"事业": 24.0,
|
||||
"性格": 45.0,
|
||||
"学业": 41.7,
|
||||
"财富": 30.8,
|
||||
"健康": 23.1,
|
||||
"其他": 50.0
|
||||
}
|
||||
},
|
||||
"per_contest": {
|
||||
"contest8_2021": {
|
||||
"total": 40,
|
||||
"correct": 18,
|
||||
"no_answer": 0,
|
||||
"accuracy": 45.0
|
||||
},
|
||||
"contest8_2022": {
|
||||
"total": 40,
|
||||
"correct": 17,
|
||||
"no_answer": 0,
|
||||
"accuracy": 42.5
|
||||
},
|
||||
"contest8_2023": {
|
||||
"total": 40,
|
||||
"correct": 13,
|
||||
"no_answer": 0,
|
||||
"accuracy": 32.5
|
||||
},
|
||||
"contest8_2024": {
|
||||
"total": 40,
|
||||
"correct": 14,
|
||||
"no_answer": 0,
|
||||
"accuracy": 35.0
|
||||
},
|
||||
"contest8_2025": {
|
||||
"total": 40,
|
||||
"correct": 16,
|
||||
"no_answer": 0,
|
||||
"accuracy": 40.0
|
||||
}
|
||||
},
|
||||
"per_dimension": {
|
||||
"流年运势": {
|
||||
"total": 37,
|
||||
"correct": 14,
|
||||
"no_answer": 0,
|
||||
"accuracy": 37.8
|
||||
},
|
||||
"感情": {
|
||||
"total": 49,
|
||||
"correct": 16,
|
||||
"no_answer": 0,
|
||||
"accuracy": 32.7
|
||||
},
|
||||
"六亲": {
|
||||
"total": 29,
|
||||
"correct": 15,
|
||||
"no_answer": 0,
|
||||
"accuracy": 51.7
|
||||
},
|
||||
"事业": {
|
||||
"total": 25,
|
||||
"correct": 8,
|
||||
"no_answer": 0,
|
||||
"accuracy": 32.0
|
||||
},
|
||||
"性格": {
|
||||
"total": 20,
|
||||
"correct": 6,
|
||||
"no_answer": 0,
|
||||
"accuracy": 30.0
|
||||
},
|
||||
"学业": {
|
||||
"total": 12,
|
||||
"correct": 7,
|
||||
"no_answer": 0,
|
||||
"accuracy": 58.3
|
||||
},
|
||||
"财富": {
|
||||
"total": 13,
|
||||
"correct": 7,
|
||||
"no_answer": 0,
|
||||
"accuracy": 53.8
|
||||
},
|
||||
"健康": {
|
||||
"total": 13,
|
||||
"correct": 4,
|
||||
"no_answer": 0,
|
||||
"accuracy": 30.8
|
||||
},
|
||||
"其他": {
|
||||
"total": 2,
|
||||
"correct": 1,
|
||||
"no_answer": 0,
|
||||
"accuracy": 50.0
|
||||
}
|
||||
},
|
||||
"notes": "对照组:同模型不加载技能——无排盘脚本、无规则库、无 SKILL.md,仅给盲版题面的出生信息,模型手排四柱(自行决定时区/真太阳时口径并留档)作答;求解留档:评测/ai答案/qoder-agent/without-skill/(41 位命主);判分:评测/工具/run_eval.py(与实验组同题集、同答案键、同脚本)"
|
||||
}
|
||||
@@ -0,0 +1,185 @@
|
||||
# BaziQA 评测得分 — qoder-agent(without-skill 裸答对照组)
|
||||
|
||||
- 模型:**qoder-agent**(同一模型,每位命主一个无上下文子代理)
|
||||
- 模式:**without-skill**(裸答对照——不给排盘工具、不给规则库、不给 SKILL.md)
|
||||
- 技能版本:无(裸模型对照)
|
||||
- 评测日期:2026-10-13
|
||||
- 赛事:BaziQA-全球算命师大赛(2021–2025 五届 × 40 题,共 200 题)
|
||||
- 判分:`评测/工具/run_eval.py`(与实验组同题集、同答案键、同脚本)
|
||||
- 求解留档:`评测/ai答案/qoder-agent/without-skill/`(41 位命主,含手排四柱过程)
|
||||
- 对照口径(测试规则.md §6):子代理只读盲版题面 `questions/`,禁读禁跑
|
||||
`/tmp/skill_bench/` 与母版 `SKILL.md`/`rules/`/`scripts/`/`vendor/`、禁调 Skill 工具、
|
||||
禁联网查万年历、禁跑任何历法/干支换算脚本(含自己写的);四柱全部手排
|
||||
(立春换年 / 节气换月 / 子初换日),时区与真太阳时口径由子代理自行决定并在留档写明
|
||||
- 错因分类:暂未归并(错题清单错因列留空,待后续人工/脚本补录)
|
||||
|
||||
## 同模型对照
|
||||
|
||||
| 组别 | 正确/总题数 | 准确率 |
|
||||
|---|---|---|
|
||||
| with-skill(加载技能) | 79/200 | 39.5% |
|
||||
| **without-skill(本组)** | 78/200 | 39.0% |
|
||||
| 官方基线(Gemini) | 69/200 | 34.5% |
|
||||
|
||||
如实呈现:裸答组比加载技能组只低 **1 题(−0.5pp)**,McNemar 不一致对 51(26:25),
|
||||
校正 χ² = 0.00。两组在 200 题上几乎完全同分,**本基准未能检出技能带来的增益**。
|
||||
|
||||
## 总览
|
||||
|
||||
| 口径 | 正确/总题数 | 准确率 | 未答 |
|
||||
|---|---|---|---|
|
||||
| 本次评测 | 78/200 | 39.0% | 0 |
|
||||
| 官方基线(Gemini) | 69/200 | 34.5% | 0 |
|
||||
|
||||
> 基线口径见 试题/BaziQA-全球算命师大赛/SOURCE.md。
|
||||
|
||||
## 分届准确率
|
||||
|
||||
| 届别 | 本次 | 官方 |
|
||||
|---|---|---|
|
||||
| contest8_2021 | 18/40 = 45.0%(未答 0) | 27.5% |
|
||||
| contest8_2022 | 17/40 = 42.5%(未答 0) | 40.0% |
|
||||
| contest8_2023 | 13/40 = 32.5%(未答 0) | 27.5% |
|
||||
| contest8_2024 | 14/40 = 35.0%(未答 0) | 35.0% |
|
||||
| contest8_2025 | 16/40 = 40.0%(未答 0) | 42.5% |
|
||||
|
||||
## 分维度准确率
|
||||
|
||||
| 维度 | 本次 | 官方 |
|
||||
|---|---|---|
|
||||
| 流年运势 | 14/37 = 37.8%(未答 0) | 40.5% |
|
||||
| 感情 | 16/49 = 32.7%(未答 0) | 36.7% |
|
||||
| 六亲 | 15/29 = 51.7%(未答 0) | 27.6% |
|
||||
| 事业 | 8/25 = 32.0%(未答 0) | 24.0% |
|
||||
| 性格 | 6/20 = 30.0%(未答 0) | 45.0% |
|
||||
| 学业 | 7/12 = 58.3%(未答 0) | 41.7% |
|
||||
| 财富 | 7/13 = 53.8%(未答 0) | 30.8% |
|
||||
| 健康 | 4/13 = 30.8%(未答 0) | 23.1% |
|
||||
| 其他 | 1/2 = 50.0%(未答 0) | 50.0% |
|
||||
|
||||
## 错题清单(错因留空,待人工/后续填写)
|
||||
|
||||
| 届别 | 命主 | 题序 | 维度 | 我答 | 正解 | 错因 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| contest8_2021 | male_19540318_P025 | Q3 | 流年运势 | B | C | |
|
||||
| contest8_2021 | male_19540318_P025 | Q4 | 健康 | A | C | |
|
||||
| contest8_2021 | male_19831019_P026 | Q1 | 事业 | B | C | |
|
||||
| contest8_2021 | male_19831019_P026 | Q2 | 感情 | A | D | |
|
||||
| contest8_2021 | male_19831019_P026 | Q3 | 六亲 | A | D | |
|
||||
| contest8_2021 | male_19831019_P026 | Q4 | 流年运势 | C | B | |
|
||||
| contest8_2021 | male_19831019_P026 | Q5 | 性格 | D | A | |
|
||||
| contest8_2021 | female_19841220_P027 | Q2 | 事业 | C | A | |
|
||||
| contest8_2021 | female_19841220_P027 | Q4 | 流年运势 | B | D | |
|
||||
| contest8_2021 | male_19770706_P028 | Q2 | 事业 | C | A | |
|
||||
| contest8_2021 | male_19770706_P028 | Q4 | 感情 | C | D | |
|
||||
| contest8_2021 | male_19700723_P029 | Q3 | 性格 | B | A | |
|
||||
| contest8_2021 | female_19750107_P030 | Q2 | 感情 | B | D | |
|
||||
| contest8_2021 | female_19750107_P030 | Q3 | 感情 | B | D | |
|
||||
| contest8_2021 | female_19750107_P030 | Q4 | 事业 | D | A | |
|
||||
| contest8_2021 | male_19530127_P031 | Q1 | 事业 | A | C | |
|
||||
| contest8_2021 | male_19530127_P031 | Q2 | 六亲 | C | B | |
|
||||
| contest8_2021 | male_19530127_P031 | Q3 | 流年运势 | B | A | |
|
||||
| contest8_2021 | male_19530127_P031 | Q4 | 流年运势 | D | A | |
|
||||
| contest8_2021 | male_19530127_P031 | Q5 | 六亲 | B | D | |
|
||||
| contest8_2021 | female_19670827_P034 | Q1 | 感情 | B | D | |
|
||||
| contest8_2021 | female_19670827_P034 | Q2 | 事业 | A | C | |
|
||||
| contest8_2022 | male_19740428_P017 | Q1 | 流年运势 | B | A | |
|
||||
| contest8_2022 | male_19740428_P017 | Q2 | 感情 | B | C | |
|
||||
| contest8_2022 | male_19740428_P017 | Q3 | 流年运势 | A | C | |
|
||||
| contest8_2022 | female_19810526_P018 | Q1 | 学业 | C | B | |
|
||||
| contest8_2022 | female_19810526_P018 | Q2 | 感情 | A | B | |
|
||||
| contest8_2022 | female_19810526_P018 | Q4 | 性格 | A | D | |
|
||||
| contest8_2022 | female_19900523_P019 | Q4 | 流年运势 | D | C | |
|
||||
| contest8_2022 | female_19900523_P019 | Q5 | 性格 | C | B | |
|
||||
| contest8_2022 | female_19771026_P020 | Q1 | 事业 | C | A | |
|
||||
| contest8_2022 | female_19771026_P020 | Q3 | 感情 | D | B | |
|
||||
| contest8_2022 | female_19771026_P020 | Q5 | 健康 | B | D | |
|
||||
| contest8_2022 | male_19850629_P021 | Q1 | 性格 | C | A | |
|
||||
| contest8_2022 | male_19850629_P021 | Q4 | 流年运势 | B | C | |
|
||||
| contest8_2022 | male_19831101_P022 | Q2 | 学业 | C | D | |
|
||||
| contest8_2022 | male_19831101_P022 | Q3 | 流年运势 | C | D | |
|
||||
| contest8_2022 | male_19831101_P022 | Q5 | 财富 | D | B | |
|
||||
| contest8_2022 | female_19841209_P023 | Q1 | 性格 | C | D | |
|
||||
| contest8_2022 | female_19841209_P023 | Q3 | 流年运势 | B | A | |
|
||||
| contest8_2022 | female_19841209_P023 | Q4 | 感情 | B | C | |
|
||||
| contest8_2022 | female_19841209_P023 | Q5 | 感情 | C | B | |
|
||||
| contest8_2022 | male_19810617_P024 | Q2 | 感情 | D | C | |
|
||||
| contest8_2022 | male_19810617_P024 | Q3 | 健康 | D | B | |
|
||||
| contest8_2022 | male_19810617_P024 | Q4 | 事业 | D | A | |
|
||||
| contest8_2023 | female_19661018_P009 | Q1 | 性格 | D | B | |
|
||||
| contest8_2023 | female_19661018_P009 | Q2 | 事业 | D | C | |
|
||||
| contest8_2023 | female_19661018_P009 | Q3 | 六亲 | C | B | |
|
||||
| contest8_2023 | female_19661018_P009 | Q4 | 感情 | D | A | |
|
||||
| contest8_2023 | male_19620806_P010 | Q4 | 流年运势 | C | D | |
|
||||
| contest8_2023 | male_19620806_P010 | Q5 | 其他 | B | D | |
|
||||
| contest8_2023 | male_19860424_P011 | Q1 | 感情 | A | D | |
|
||||
| contest8_2023 | male_19860424_P011 | Q2 | 六亲 | A | D | |
|
||||
| contest8_2023 | male_19860424_P011 | Q4 | 感情 | B | C | |
|
||||
| contest8_2023 | male_19860424_P011 | Q5 | 事业 | C | D | |
|
||||
| contest8_2023 | male_19560311_P012 | Q1 | 性格 | D | C | |
|
||||
| contest8_2023 | male_19560311_P012 | Q2 | 学业 | B | A | |
|
||||
| contest8_2023 | male_19560311_P012 | Q3 | 感情 | B | A | |
|
||||
| contest8_2023 | male_19560311_P012 | Q4 | 流年运势 | A | C | |
|
||||
| contest8_2023 | male_19560311_P012 | Q5 | 健康 | B | C | |
|
||||
| contest8_2023 | female_19780405_P013 | Q2 | 流年运势 | A | C | |
|
||||
| contest8_2023 | female_19780405_P013 | Q4 | 六亲 | C | B | |
|
||||
| contest8_2023 | female_19780405_P013 | Q5 | 六亲 | D | B | |
|
||||
| contest8_2023 | female_19581027_P014 | Q1 | 事业 | D | C | |
|
||||
| contest8_2023 | female_19581027_P014 | Q3 | 事业 | D | C | |
|
||||
| contest8_2023 | female_19581027_P014 | Q5 | 健康 | B | D | |
|
||||
| contest8_2023 | female_20020601_P015 | Q1 | 财富 | C | B | |
|
||||
| contest8_2023 | female_20020601_P015 | Q3 | 感情 | D | C | |
|
||||
| contest8_2023 | male_19800711_P016 | Q1 | 感情 | A | C | |
|
||||
| contest8_2023 | male_19800711_P016 | Q2 | 感情 | B | C | |
|
||||
| contest8_2023 | male_19800711_P016 | Q3 | 事业 | C | B | |
|
||||
| contest8_2023 | male_19800711_P016 | Q4 | 性格 | A | B | |
|
||||
| contest8_2024 | guangdong_female_19800824_P001 | Q3 | 感情 | A | D | |
|
||||
| contest8_2024 | guangdong_female_19800824_P001 | Q4 | 六亲 | D | C | |
|
||||
| contest8_2024 | guangdong_female_19800824_P001 | Q5 | 感情 | B | C | |
|
||||
| contest8_2024 | chaozhou_male_19720108_P002 | Q1 | 性格 | B | D | |
|
||||
| contest8_2024 | chaozhou_male_19720108_P002 | Q2 | 感情 | D | C | |
|
||||
| contest8_2024 | chaozhou_male_19720108_P002 | Q4 | 六亲 | D | C | |
|
||||
| contest8_2024 | chaozhou_male_19720108_P002 | Q5 | 财富 | C | A | |
|
||||
| contest8_2024 | male_19611230_P003 | Q1 | 流年运势 | C | B | |
|
||||
| contest8_2024 | male_19611230_P003 | Q2 | 感情 | B | A | |
|
||||
| contest8_2024 | male_19611230_P003 | Q4 | 流年运势 | D | A | |
|
||||
| contest8_2024 | male_19611230_P003 | Q5 | 财富 | D | C | |
|
||||
| contest8_2024 | female_19831028_P004 | Q2 | 感情 | B | A | |
|
||||
| contest8_2024 | female_19831028_P004 | Q4 | 感情 | C | D | |
|
||||
| contest8_2024 | female_19831028_P004 | Q5 | 感情 | C | A | |
|
||||
| contest8_2024 | male_19710412_P005 | Q1 | 感情 | C | B | |
|
||||
| contest8_2024 | male_19710412_P005 | Q2 | 感情 | B | A | |
|
||||
| contest8_2024 | male_19710412_P005 | Q3 | 财富 | B | C | |
|
||||
| contest8_2024 | male_19710412_P005 | Q4 | 财富 | A | B | |
|
||||
| contest8_2024 | female_19830326_P006 | Q1 | 感情 | C | B | |
|
||||
| contest8_2024 | female_19830326_P006 | Q3 | 感情 | C | B | |
|
||||
| contest8_2024 | female_19830326_P006 | Q4 | 流年运势 | A | D | |
|
||||
| contest8_2024 | female_19800921_P007 | Q2 | 感情 | B | D | |
|
||||
| contest8_2024 | female_19800921_P007 | Q3 | 流年运势 | A | D | |
|
||||
| contest8_2024 | female_19800921_P007 | Q4 | 六亲 | C | D | |
|
||||
| contest8_2024 | male_20070131_P008 | Q1 | 健康 | A | B | |
|
||||
| contest8_2024 | male_20070131_P008 | Q4 | 流年运势 | C | D | |
|
||||
| contest8_2025 | guangdong_female_19511114_P001 | Q3 | 事业 | D | B | |
|
||||
| contest8_2025 | guangdong_female_19511114_P001 | Q4 | 流年运势 | B | A | |
|
||||
| contest8_2025 | hongkong_female_19870705_P002 | Q1 | 健康 | A | D | |
|
||||
| contest8_2025 | hongkong_female_19870705_P002 | Q2 | 性格 | D | B | |
|
||||
| contest8_2025 | hongkong_female_19870705_P002 | Q5 | 六亲 | C | B | |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q1 | 六亲 | C | B | |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q2 | 性格 | A | B | |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q3 | 学业 | B | D | |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q4 | 感情 | B | C | |
|
||||
| contest8_2025 | miyazaki_male_19830421_P003 | Q5 | 流年运势 | C | A | |
|
||||
| contest8_2025 | singapore_male_19930408_P004 | Q3 | 事业 | C | B | |
|
||||
| contest8_2025 | singapore_male_19930408_P004 | Q5 | 健康 | C | B | |
|
||||
| contest8_2025 | malaysia_male_19880110_P005 | Q3 | 感情 | A | D | |
|
||||
| contest8_2025 | malaysia_male_19880110_P005 | Q4 | 六亲 | C | A | |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q2 | 性格 | C | B | |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q3 | 事业 | D | B | |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q4 | 流年运势 | A | D | |
|
||||
| contest8_2025 | malaysia_male_19730824_P006 | Q5 | 健康 | D | C | |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q1 | 六亲 | D | A | |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q2 | 学业 | A | C | |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q3 | 感情 | D | B | |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q4 | 事业 | A | D | |
|
||||
| contest8_2025 | taiwan_female_19880215_P007 | Q5 | 性格 | D | B | |
|
||||
| contest8_2025 | beijing_male_19700722_P008 | Q3 | 流年运势 | A | D | |
|
||||
@@ -0,0 +1,93 @@
|
||||
# contest8_2021 · female_19670827_P034 盲测求解
|
||||
|
||||
## 一、命主信息
|
||||
|
||||
- person_id:female_19670827_P034
|
||||
- 姓名:1967年出生女性
|
||||
- 性别:女
|
||||
- 出生钟表时间:1967-08-27 16:51(题目原文「1967-08-27 下午16:51 香港出生」)
|
||||
- 出生地:中国香港
|
||||
- 真太阳时主盘:1967-08-27 15:25(申时)
|
||||
- 对照盘口径:120°E 不经度修正,`--place "中国大陆"`(杭州代理 120.16E/Asia/Shanghai,钟表时=真太阳时)→ 真太阳时 16:49(申时)
|
||||
- 是否排对照盘:**是**。触发原因:place 为「中国香港」属境外/模糊地名(任务书双盘纪律第 2 条)。
|
||||
- **两盘对照结论:四柱完全相同**(主盘 15:25 与对照盘 16:49 同落申时 15:00–17:00;香港 1967-08 行夏令时,钟表 16:51 扣 DST+经度后为 15:25,大陆口径为 16:49,均入申)。故本命**无口径分歧**,两盘答案一致,末尾答案行不加 `口径分歧` 注记。
|
||||
|
||||
## 二、命盘要点(真太阳时主盘 = 对照盘,四柱一致)
|
||||
|
||||
```
|
||||
年 丁未(偏财) · 墓
|
||||
月 戊申(正官) · 死
|
||||
日 癸亥(日主) · 帝旺
|
||||
时 庚申(正印) · 死
|
||||
```
|
||||
|
||||
- 藏干:未(己七杀、丁偏财、乙食神)/申(庚正印、壬劫财、戊正官)×2/亥(壬劫财、甲伤官)
|
||||
- 空亡:子丑(日、时柱)
|
||||
- 节令:立秋后、白露前,月令申
|
||||
- 神煞(仅细节参看层,不入格局):日柱 阴差阳错、十恶大败;月/时支 红艳×2、孤辰×2、劫煞、太极贵人、天德合一类;年支 华盖
|
||||
- 大运:顺行,4 岁起——己酉(1971)→庚戌(1981)→辛亥(1991)→壬子(2001)→癸丑(2011)→甲寅(2021)…
|
||||
|
||||
## 三、取格与成败(依 00_总纲 六步 + 13_印绶格)
|
||||
|
||||
1. **定月令**:月支申,本气庚金;对日干癸水为**正印**(藏干另有壬劫、戊官)。
|
||||
2. **取格**:日干配月令本气 = 印 → **印绶格**(R-印-01,正偏同格)。
|
||||
3. **透干辨主从**:本气庚(正印)透时干,为格之主;余气戊(正官)透月干;年干透丁(偏财)。本气当令且透,**本格不失**,兼论官、财。
|
||||
4. **定格结论**:**印绶格,透正官**(R-印-03 官印相生),并透偏财生官。
|
||||
|
||||
**成败**:
|
||||
- R-印-03:印格透官,「官不独取其生印,即可以为用……只要官星清纯」。本命官星戊一位独透(未中己土七杀藏支不透,支静不作混论,R-运-20),**官星清纯** → **成格**。
|
||||
- 天干顺生一路:**丁(偏财)→ 戊(正官)→ 庚(正印)→ 癸(日主)**,财生官、官生印、印生身,顺而有情(R-纲-01 吉神顺用),无刑冲破害。
|
||||
- **用神**:官(戊)——印格透官,官即可以为用;**相神**:官/财相济(官为成格之所赖,财为官之源)。
|
||||
- **身旺印强**:癸生申月得印,坐亥(癸之帝旺),双申+时干庚,印重身旺(R-印-03「身旺印强亦不愁太过」)。
|
||||
|
||||
**格局高低**(R-印-17):**官星清纯**为高,财官印三全、顺生有情,**有情兼有力** → 定**贵**格,非贫贱之局。气候:秋金生水、金水相涵,无燥烈之弊(R-纲-15 配气候平和)。
|
||||
|
||||
- 财(丁)通根年支未(未藏丁),弱而有根,足为官之源,但力不厚 → 贵胜于富(R-事-03 官星有理会主贵;R-事-02 财气未臻「通门户」之富)。
|
||||
|
||||
## 四、行运(依 90_行运 R-运-27 断运四步;R-印-19 印格用官取运)
|
||||
|
||||
取运基线(R-印-19 印格用官、官露印重):**财运反吉,伤食之方亦最利**;忌再行印比(增身夺财)。
|
||||
|
||||
| 大运 | 岁 | 年份 | 干支性质 | 断 |
|
||||
|---|---|---|---|---|
|
||||
| 己酉 | 4–14 | 1971–81 | 己(杀)+酉(印) | 杀印增身,童限后段 |
|
||||
| 庚戌 | 14–24 | 1981–91 | 庚(印)+戌(官库/火土) | **官星得地**(戌为戊官之根),婚缘之运 |
|
||||
| 辛亥 | 24–34 | 1991–2001 | 辛(偏印)+亥(劫财) | **忌运**:印旺**泄官**(R-女-29⑪)、劫夺财;**运支亥=日支亥夫宫伏吟**(R-运-29 E 组引动),夫宫被激起 |
|
||||
| 壬子 | 34–44 | 2001–2011 | 壬子比劫大旺 | **重忌运**:比劫夺财,主**破财/争夺** |
|
||||
| 癸丑 | 44–54 | 2011–2021 | 癸(比)+丑(官库湿土) | 身仍旺,财官微苏 |
|
||||
| 甲寅 | 54– | 2021– | 甲(伤官)+寅(伤财) | 伤食透清,反为利(R-印-19) |
|
||||
|
||||
**女命叠加(97_女命)**:
|
||||
- 夫星=正官戊,透月干且**官星明顺**(R-女-28「官星明顺,夫贵而吉」);夫星透干而**于格局成局**——官印相生(R-女-07),故**主夫贤得力,即夫宫无用亦然**。
|
||||
- **日主自合官星**:日干癸与月干戊作**戊癸合**,无别干争合(R-女-10「日主自合官星……夫妻相亲,其情愈密」)——本命层为**婚姻正面**信号。
|
||||
- 反面:**夫宫(日支亥)坐劫财**,于「印格用官」为**忌神**(劫夺财、财为官之源)→ 夫宫不美(R-女-14 夫宫以格局喜忌断);亥中另藏甲伤官。
|
||||
- 神煞细节(禁则 R-禁-01/R-女-39:只作参看、不改格局):**阴差阳错**日(R-煞-28 婚事多磨、事与愿违)、**红艳**两见(R-煞-31 异性缘重、风情)、**孤辰**两见(R-煞-32 孤独立身)、**十恶大败**日(R-煞-30 财物大进大出、破耗)。
|
||||
|
||||
## 五、逐题推理
|
||||
|
||||
### 第 1 题(婚姻感情,截至 2017-09)
|
||||
|
||||
考点:军婚龄女性的**婚姻状况**(婚否/婚变否/恋爱史)。参考点 2017 年,命主 50 岁。
|
||||
|
||||
推理链:
|
||||
- **婚否**:夫星戊清纯透且**戊癸合身**(R-女-10)、官印相生成局(R-女-07)→ 命带坚实婚缘,非「从未结婚」(排除 C、D)。
|
||||
- **婚期**:庚戌运(1981–1991,14–24 岁)运支**戌为戊官之根、官星得地**,且运内 1987 丁卯「卯会亥未木局」引动夫宫、1988 戊辰「戊官透清」,为**婚缘之成**窗口——与选项 A/B 共述的「庚戌运已结婚」相合。
|
||||
- **婚变否**:辛亥运(1991–2001,24–34 岁)为**忌运**——偏印辛再增印重、**印旺泄官**(R-女-29⑪「满局印绶泄官星之气」),亥劫夺财;且**运支亥与日支亥夫宫支伏吟**(R-运-29 E 组),夫宫于忌运被激起(R-女-25:引动言其应、吉凶由喜忌出 → 忌运引动夫宫为**凶向**)。夫宫本坐劫财忌神(R-女-14),叠此忌运伏吟 → 主**婚缘之变**(R-女-24「夫宫逢冲(动)而无解之岁运,多应婚缘之变」)。
|
||||
- 命带**阴差阳错**(婚事多磨)+**红艳**(异性缘重、风情)+**孤辰**(孤处)三神煞同向,正应「婚变后散拖不断」之细节(细节参看层,不作格局断)。
|
||||
- 逐项排除:C「从未结婚,谈过 4 次恋爱」——官清透+戊癸合,主婚缘实成,排除;D 更排除;A「婚姻至今美满」——夫星虽美(得良夫),然**夫宫坐忌劫+辛亥忌运伏吟**,星美而宫动,「得良夫而难偕老」(R-女-19 类断),「至今美满」过强。
|
||||
- 结论:**B**(庚戌运结婚、辛亥运离婚、之后拍散拖)。此项星/宫信号相左,定 B 属**倾向判定**,标低置信。
|
||||
|
||||
### 第 2 题(财政事业,截至 2017-09)
|
||||
|
||||
考点:**事业层级与投资财运**。
|
||||
|
||||
推理链:
|
||||
- **事业层级**:格局为印格透官、**官星清纯**、财官印顺生(R-印-03/R-印-17)→ 定**贵**,事业有平台有地位(R-事-03 官星有理会主贵)→ 对应「上市公司」级职务(b 或 d),排除无业靠父母(c)。
|
||||
- **投资财运**:财星丁一点、弱而仅通根未,**财不厚**(R-事-02 未成「财气通门户」之富);34–54 岁行**壬子、癸丑比劫忌运**,比劫夺财、十恶大败日主「财物大进大出」→ **投资失利、资财耗散** → 排除 d(d 需「投资常大赚、财务自由」,与财弱劫旺相悖)。
|
||||
- 在 a(普通正职、投资失利负债)与 b(上市公司高层、投资失利剩不多钱)间:命局**官贵清**而**财不真**——贵象明显(有正职/高层平台可倚),富象不足(投资失利、钱不多)。取其**贵而财不聚**之象 → b。
|
||||
- 结论:**B(对应 b)**。
|
||||
|
||||
## 六、末尾答案行(恰好 2 行)
|
||||
|
||||
Q1: B # 低置信
|
||||
Q2: B
|
||||
@@ -0,0 +1,113 @@
|
||||
# contest8_2021 · female_19750107_P030
|
||||
|
||||
## 命主信息
|
||||
|
||||
- person_id:female_19750107_P030(题面名「1975年出生女性」)
|
||||
- 性别:女
|
||||
- 出生钟表时间:1975-01-07 09:00(巳时,题面 raw「1975-01-07 巳时 香港出生」)
|
||||
- 出生地:中国香港(题面 place 原文)
|
||||
- 真太阳时:1975-01-07 08:31(经度修正 −23.32 分 / 均时差 −5.32 分,合计 −28.64 分;时区 Asia/Hong_Kong,无夏令时)
|
||||
- 当前年:2021,虚岁 47,行壬申运(40–50)
|
||||
- 命盘无晚子时提示、无节气边界提示(生于小寒 1975-01-06 07:17 之后约 25 小时)
|
||||
|
||||
## 是否排对照盘及原因
|
||||
|
||||
**已排对照盘。** 触发条件为「place 为境外/模糊地名」——出生地「中国香港」属境外地名,故按任务书口径加排一盘(`--place "中国大陆"`,120°E 不经度修正,解析为杭州代理 120.16E / UTC+8)。
|
||||
|
||||
两盘四柱完全相同:
|
||||
|
||||
| 口径 | 真太阳时 | 四柱 | 起运 |
|
||||
|---|---|---|---|
|
||||
| 主盘(中国香港,119.6E 经度修正) | 08:31 | 甲寅 丁丑 癸丑 丙辰 | 0 岁 4 月 6 天 |
|
||||
| 对照盘(中国大陆,120°E 不修正) | 08:55 | 甲寅 丁丑 癸丑 丙辰 | 0 岁 4 月 8 天 |
|
||||
|
||||
两盘同柱、仅起运日相差 2 天(可忽略),故**全部题目两盘答案一致,无口径分歧**。下文以真太阳时主盘为准。
|
||||
|
||||
## 命盘要点
|
||||
|
||||
- 四柱:甲寅(年)· 丁丑(月)· 癸丑(日)· 丙辰(时)
|
||||
- 日主:癸水,生丑月(腊月,湿寒土旺)
|
||||
- 十神格局配置:年甲=伤官、月丁=偏财、日癸=日主、时丙=正财;月支丑=七杀(本气己)、日支丑=七杀、年支寅=正官(戊)、时支辰=正官(戊)
|
||||
- 地支藏干:寅(甲伤官 丙正财 戊正官)、丑(己七杀 癸比肩 辛偏印)×2、辰(戊正官 乙食神 癸比肩)
|
||||
- 五行粗略力量:水(癸×3 根)与金(辛×2 印)为身党;土(官杀 ×4)最重,火(财 ×3,通根寅)次之,木(伤食 ×3,甲坐寅禄)再之。日主有丑、辰两处通根、得丑中辛金生护,作**身偏弱**论,煞重财旺、克泄交加。
|
||||
- 调候:癸水腊月寒冻,喜丙火解冻(《穷通宝鉴》癸水十二月「宜丙解冻……名水辅阳光」)。丙透时干、丁透月干,**气候得宜**,非「四海为家一生劳苦」之金寒水冷局。
|
||||
- 神煞(仅作细节参看,不入格局四层):月支、日支双重**华盖**(孤高、艺文、宗教玄学之缘),**寡宿**(亲缘疏离、独立),时柱**童子煞、地网**,年支**金舆、劫煞**,月/日**福星贵人**。
|
||||
|
||||
## 取格(依《子平真诠》取格总纲六步)
|
||||
|
||||
1. 月令丑,丑本气为**己土**;己克癸、阴见阴,为日主癸水之**七杀**。
|
||||
2. 月令本气为煞 → 定格**偏官格(七杀格)**。
|
||||
3. 藏干变化:丑为杂气(己癸辛),本气己土**不透**;四柱天干所透甲(年)、丁(月)、丙(时)**皆非月令所藏**,系年支寅之甲丙透出,不能改月令之格;月令余气癸仅透于日干(日主自身,不为用)、余气辛藏不透。故依总纲「藏干不及本气当令」,**格仍以月令本气七杀取定**,属**杂气七杀**(参 R-杀-08)。
|
||||
4. 会支:地支寅丑丑辰之间无三合三会(寅丑不化、丑辰无合),无会支变格。
|
||||
5. 外格闸门:月令自有用神(七杀),不入杂格。
|
||||
|
||||
**格之成败**:七杀为凶神,逆用——宜制之化之(总纲「凶神逆用」)。
|
||||
- 制:年干**甲木伤官**透、坐寅禄(甲于寅为禄)力健,可制七杀;
|
||||
- 化:丑中**辛金偏印**与七杀同藏月令(煞印同根),印有情,可化七杀;
|
||||
- 病:**财星丙丁两透**、通根寅木,财滋七杀、党煞攻身;且丙辛相合、财来坏印。日主身偏弱而官杀四位、财三火,克泄耗重,故依「煞重身轻,用食则身不能当,不若转而就印」之义,**以印化煞为主、伤官制煞为辅**。
|
||||
|
||||
**用神 / 相神**:以月令七杀为用(逆用);相神取辛金偏印(化煞,与煞同根有情)与甲木伤官(制煞);忌神为财(丙丁火)。
|
||||
|
||||
**格局高低**:有情(煞印同根)而身煞两停、偏于煞重,财透滋煞坏印为病,格成而带忌,属「无情而有情,格亦许贵,但不大耳」——**中等偏下、清贫劳碌中有清气的命**。参《滴天髓·何知》「贫而正者:官杀旺、身弱、财生官杀,有印则一衿易得」之义,即身弱赖印、可取得一份文职/功名而不主大富。
|
||||
|
||||
## 行运(喜印比帮身化煞,忌财滋煞坏印,忌官杀混杂攻身;食伤制煞有用但泄身,半喜半忌)
|
||||
|
||||
- **乙亥**(10–20,1985–1995):亥为水(比劫)兼甲木长生,乙为食神——帮身兼制煞,**喜**,少女运顺。
|
||||
- **甲戌**(20–30,1995–2005):甲伤官透而泄身,戌为燥土官杀,且运支戌与日支丑相**刑**、刑动夫宫——**忌运**,感情、事业多波折之十年,婚姻应期若落此段每多不顺。
|
||||
- **癸酉**(30–40,2005–2015):癸比肩帮身,酉偏印化煞,且酉与日支丑半会金局、暗会夫宫——**喜运**,最安稳之十年。
|
||||
- **壬申**(40–50,2015–2025):壬劫财帮身、申偏印化煞(申亦冲年支寅),**喜运带冲**,帮身有力而事业环境有动。
|
||||
- **辛未**(50–60,2025–2035):辛偏印透(喜),未为七杀兼燥土、又冲丑(动夫宫、动华盖库),半吉半动。
|
||||
|
||||
## 逐题推理
|
||||
|
||||
### 第 1 题(Q26,考点:2018 戊戌年所启动的「技艺/向学」之事)
|
||||
|
||||
- 戊戌年(虚岁 43),行壬申运。戌与月支、日支之**丑相刑**(丑戌刑),而丑正是命带**双重华盖**之库;华盖主孤高、艺文、**宗教玄学之缘**(「印逢华盖,翰苑尊居」「华盖逢空,偏宜僧道」),华盖库逢流年刑冲即为「开库引动」。
|
||||
- 戌中藏辛(偏印),偏印主玄学、术数、冷门学问;命局华盖×2+寡宿孤处之象,一旦被引动,最易落向玄学/术数/宗教类进修,而非普通实用手艺。
|
||||
- 排除:驾驶(驿马主驾车迁动,命之驿马在亥,2018 戌非驿马)、法文(语言属食伤吐秀,与戌年刑丑开华盖库无对应)、美甲(虽属华盖「辛勤学艺」之列,但华盖×2 叠加偏印与孤处之象,指向上更偏玄学)。
|
||||
- 结论:**D 玄学**。(中等偏低置信)
|
||||
|
||||
### 第 2 题(Q27,考点:初恋/第一次与男生交往之应期)
|
||||
|
||||
- 女命夫星为官杀、夫宫为日支(丑)。初恋属「情之始动」,应期取夫星、夫宫之引动。
|
||||
- 1985–1995 行乙亥喜运(水木帮身、食伤吐秀,少女情窦易开)。选项所在年份中,**1994 甲戌**:甲木伤官透于流年干(伤官主情感之外露与主动表达),戌又与日支丑相刑、动夫宫,落在乙亥喜运之末,虚岁 19。
|
||||
- 1995 起入甲戌忌运(伤官见官、丑戌刑夫宫),此后十年感情多波折,故「初交」更宜落在入忌运前的 1994;1997(丁丑,月柱全伏吟,主郁结非始)、2002(壬午,午为癸之绝地,非吉始)均不合「初次」之义。
|
||||
- 结论:**B 1994**。(低置信)
|
||||
|
||||
### 第 3 题(Q28,考点:结婚之年)
|
||||
|
||||
- 婚姻应期,依女命「夫星透清、夫宫逢合会之岁运多应婚缘之成;夫星被伤、夫宫逢冲无解多应婚变」——即取**夫宫(日支丑)逢合会**之年。
|
||||
- 丑之合会:子丑六合(子年)、巳酉丑三合(巳/酉年)。选项内:1996 丙子(子丑合)、1993 癸酉与 2005 乙酉(酉丑半合金局)、2003 癸未(丑未冲)。
|
||||
- 1993(虚岁 18)过早;1996(21)虽为六合,然 1995 已入甲戌忌运、运支戌刑日支丑,夫宫正被刑,成婚之象不纯;**2005 乙酉**:入癸酉喜运(比肩帮身、偏印化煞),流年酉与日支丑半会金局、会动夫宫,且大运支亦酉,酉丑两重会动,虚岁 30,正当婚龄——合于「夫宫逢会而成婚」。
|
||||
- 结论:**D 2005**。(低置信)
|
||||
|
||||
### 第 4 题(Q29,考点:现时职业,2021 辛丑年 / 壬申运)
|
||||
|
||||
- 格为七杀身弱、**以印化煞为相神**(辛金偏印);40–60 岁大运(壬申、辛未)皆行**印比之乡**,印星为一生立身之靠。
|
||||
- 印主文书、学问、教育、证书、平台;2021 辛丑年,辛(偏印)透干发用,丑又伏吟月/日柱,正应「以印为职业、以文教立身」之象。七杀格身弱用印、格成而降等(「贵而不大」),合「贫而正者、有印则一衿易得」之情——落为**文教类职业**。
|
||||
- 排除:政府工作(正官不透,官星藏支不显,非公职显达之象)、保安员(七杀有伤官制、印化,非全无制化之贱/劳命)、会计师(财旺身弱不任财,且财为命忌、非立身之本)。
|
||||
- 结论:**D 老师**。(中度置信)
|
||||
|
||||
### 第 5 题(Q30,考点:2014 甲午年运势)
|
||||
|
||||
- 2014 甲午,在癸酉喜运(2005–2015)之内。流年甲=伤官透(制煞),午=财(丁己),午与年支寅**半合火局**(寅午)——财与伤官并动,火财旺而日主身弱,属耗身滋煞、为财奔忙之局,但大运酉金偏印帮身化煞可为救应。
|
||||
- 五组引动逐查:A 透清(午中丁己财煞,流年未透干)弱;B 会局(寅午半合火,仅一重);C 刑冲(午与命四支无冲刑害,申酉大运亦不与午相冲);D 空亡(命之空亡为寅卯、子丑,午不填合);E 伏吟反吟(无)。**引动单薄、仅一重会局**,且不为凶冲,故不作人生剧变之年。
|
||||
- 排 A「先跌后升乘风破浪」(需强动之吉局)、D「人生低谷一无所有」(需凶冲重克)皆不合:无冲无刑、大运助身,非大起大落;B「家境清贫入不敷支」更近一生常态而非本年专象。综合取**平顺无甚波澜**。
|
||||
- 结论:**C 平平稳稳**。(中度置信)
|
||||
|
||||
## 存疑与边界声明
|
||||
|
||||
- 命主出生地「中国香港」属境外,已加排对照盘;两盘同柱,答案无口径分歧。
|
||||
- 本盘属**杂气七杀、煞重身轻转就印**之局,取格结论稳定;但身弱/煞重之「分两」、以及「印化为主抑或伤官制为主」,各家分寸有别,行运喜忌中「印运」两项随此略有摆动(本文取印运为喜)。
|
||||
- 第 2、3 题(初恋/结婚年份)依赖「夫宫逢合会即应婚」这一应期通例外推,盘上无官杀透干之强信号,两题均属**低置信**;第 1 题(玄学 vs 美甲)为华盖取象之两可,属**低置信**。
|
||||
- 全篇严守红线:仅读盲版题面,未触碰 answers/、他人答案、fate_benchmark/、评测跑分_qoder-agent/,未联网。题面 JSON 无 `answer` 字段,无泄露。
|
||||
|
||||
---
|
||||
|
||||
## 答案
|
||||
|
||||
Q1: D
|
||||
Q2: B
|
||||
Q3: D
|
||||
Q4: D
|
||||
Q5: C
|
||||
@@ -0,0 +1,143 @@
|
||||
# BaziQA 求解留档 — contest8_2021 / female_19841220_P027
|
||||
|
||||
## 一、命主信息与排盘口径
|
||||
|
||||
- person_id:female_19841220_P027(题面 name「1984年出生女性」)
|
||||
- 性别:女
|
||||
- 出生钟表时间:1984-12-20 17:30(题面 place「中国香港」,酉时)
|
||||
- 真太阳时(主盘):1984-12-20 **17:08**(经度修正 −23.32 分 + 均时差 +2.22 分 = 合计 −21.10 分;时区 Asia/Hong_Kong,夏令时否)
|
||||
- 对照盘(120°E 不经度修正,`--place 中国大陆`):真太阳时 1984-12-20 **17:32**
|
||||
|
||||
**是否排对照盘:是。触发原因(满足两条,任一即排):**
|
||||
1. 主盘真太阳时 17:08 距酉时边界(17:00 奇数整点)仅 **8 分钟 < 15 分钟**;
|
||||
2. place「中国香港」属任务书列明的境外/模糊地名。
|
||||
|
||||
**双盘结论:两盘四柱完全相同**——主盘 17:08、对照盘 17:32 均落在酉时(17:00–19:00)之内,故四柱、藏干、神煞、节令、大运、流年全部一致,**本命主全部五题两盘答案相同,无口径分歧**,末尾答案行不附加对照盘标注。
|
||||
|
||||
> 说明:题面 JSON 未见任何 `answer` 字段残留,盲测材料无泄露迹象。
|
||||
|
||||
## 二、命盘要点
|
||||
|
||||
```
|
||||
四柱:甲子 丙子 戊子 辛酉
|
||||
十神:七杀 偏印 日主 伤官
|
||||
藏干:子—癸(正财) ×3;酉—辛(伤官)
|
||||
空亡:日柱午未;时柱子丑
|
||||
纳音:海中金 涧下水 霹雳火 石榴木
|
||||
节令:子月(大雪后、小寒前);月令子
|
||||
神煞:红艳×3(子)、将星×6(子)、桃花×2(酉)、勾煞(酉)
|
||||
大运:逆行,4 岁 5 个月 23 天起运(4.48 岁)
|
||||
乙亥(1988) 甲戌(1998) 癸酉(2008) 壬申(2018) 辛未(2028) 庚午(2038)…
|
||||
流年(题域内):2011辛卯 2014甲午 2016丙申 2017丁酉 2018戊戌 2019己亥 2020庚子 2021辛丑
|
||||
```
|
||||
|
||||
- **日主戊土,生子月(仲冬严寒)**,地支子子子酉、一片水(财)金(伤),四柱无辰戌丑未,日主无根;天干甲(杀)丙(印)戊(日)辛(伤),**甲→丙→戊→辛 成一条顺生链**,暖气仅系于丙火一点,而丙坐子(胎地)无根。
|
||||
- 财星(癸水)三见、当令,财极旺;身弱之局。
|
||||
|
||||
## 三、取格(依 00_总纲_取格.md §1 六步)
|
||||
|
||||
1. 定月令:月柱子,月令**子**,子为专气(藏癸一神)。
|
||||
2. 月令十神分类:以日干戊对月令本气癸——戊土克癸水,为我克之财(阴阳异,正财)→ **财格**。
|
||||
3. 藏干变化:子为专气,无余气可透,格不移。
|
||||
4. 会支变化:无三合三会改月令之气(申子之合在大运、非原局)。格不变。
|
||||
5. 定格完成:**正财格**。
|
||||
6. 外格闸门:月令自有用神(财),且干头财官煞食可取(甲煞、辛伤),**无用门不通过**;日干无合化,**从化门不通过**。虽有「财旺身弱、日主无根」之从财临界之疑,但月令自有用神财、且透丙印(透印则身有所赖而不从,R-杂-10/17),依 R-纲-16「月令自有用神者一概不得弃正格就杂格」**定正格财格**,不取从财。
|
||||
|
||||
**取格结论:正财格**(月令子、本气癸、专气取用,R-财-01)。
|
||||
|
||||
## 四、成败 / 用神相神 / 高低(依 12_财格.md)
|
||||
|
||||
**格局细判——财用煞印(R-财-19):**
|
||||
- 结构:月令财(三子癸水)党七煞(甲木,水生木)为忌;透印(丙火偏印)化煞生身(甲→丙→戊,煞印相生);且**冬土**(戊日生冬月)逢之。
|
||||
- R-财-19 原文「有财用煞印者,党煞为忌,印以化之,格成富局,若冬土逢之亦贵格……化煞而即以解冻,又不露财以杂其印,所以贵也」——本命**财不透天干**(三子皆藏,天干无壬癸),正合「不露财以杂其印」;丙印化煞并解冬冻。**成格,贵格**。
|
||||
- 兼看:丙印透而天干无财相攻,财印不相碍(R-财-07 财格佩印之意并通)。
|
||||
|
||||
**用神相神:**
|
||||
- 用神:月令**财**(癸水);相神:**印(丙火)**——化煞(甲)生身、解冻;**煞(甲)**为所化之用(财党煞、印化煞)。辛酉伤官生财,为兼神(生财之源,然身弱非所宜过重)。
|
||||
|
||||
**格局高低:**
|
||||
- **有情**:甲丙戊辛一路顺生,夫星(甲煞)得印化而与日主有情,格局生化顺畅。
|
||||
- **有力**:日主戊无根、印丙无根,身相俱虚,力不足——高而不厚之象。
|
||||
- **气候(调候 R-纲-15 / 92_调候)**:戊土十一二月「严寒冰冻,丙火为尊,甲木为佐」,本命丙、甲双透,**调候得用**,格局成色大增。
|
||||
- 综合:**中间偏上**——成格有调候,但身弱印虚,属「有成而力不全」,非大贵,主中上之局、衣食事业可观而不至大富大贵。
|
||||
|
||||
**喜忌:** 喜印比(火土,帮身、暖局);忌财(水,破印耗身)过旺;伤官(金)泄身生财,为身弱之忌而结构所系,中性偏忌。
|
||||
|
||||
## 五、行运(依 90_行运.md R-运-27;财格「取运」R-财-19→R-财-30)
|
||||
|
||||
- **乙亥(1988–1998,4.5–14.5 岁,童限末段)**:乙为正官(夫星)透,亥为财(水旺)。童年平常,财旺耗身。
|
||||
- **甲戌(1998–2008,14.5–24.5 岁)**:甲为七杀(夫星)透,**戌为火土库、戊之根**——帮身(喜)。且甲木生丙火(杀印相生),**利学业、长身**。此运覆盖中学至大学,为青年较顺之运。
|
||||
- **癸酉(2008–2018,24.5–34.5 岁)**:癸为正财(忌,财旺破印)、酉为伤官(忌,泄身生财)。酉又是桃花,且与命时支酉**伏吟自刑**——此运为**财伤忌运**,感情、事业多波折,桃花重、心浮。
|
||||
- **壬申(2018–2028,34.5–44.5 岁)**:壬为偏财(忌),申为食神、且**申子半合水局**(财局成)——财极旺、身更弱,为**忌运**;2018 为其交运年。
|
||||
- **辛未(2028–)**:辛为伤官,未为土库(帮身,喜);但未与命中三子**子未相害**——喜忌互见。
|
||||
|
||||
**大运喜忌基线:** 喜火土(甲戌之戌、辛未之未,次喜丙火透运);忌水(癸酉之癸、壬申之壬申);金运(伤官)泄身生财,忌中带用。
|
||||
|
||||
## 六、逐题推理
|
||||
|
||||
### 第 11 题(学历)
|
||||
|
||||
考点:格局对学业文凭(印为文书文凭、伤官主聪颖才艺)之配置 + 求学阶段大运。
|
||||
|
||||
- 印(丙火)为文凭学历,透月干而**坐子无根、又被三子旺财所耗**——印不厚,学历非顶尖之兆;
|
||||
- 然伤官辛酉坐禄而旺,**天资聪颖、才艺外露**;
|
||||
- 求学大运 **甲戌(14.5–24.5 岁)**:甲(杀)生丙(印)为杀印相生,戌土帮身,**助印助身**,学业可成,能至大学;
|
||||
- 财旺身弱者,务实、重享乐而不喜死读书;伤官旺者,爱玩乐、好表现、不安分。四柱无驿马,但三子水旺(土荡)、伤官外放,行向偏动。
|
||||
- 排除:A「资质愚笨」与伤官旺(聪颖)不符;D「与书无缘、中学毕业」与印透、杀印相生大运不符。B 与 C 均止于「大学毕业」,区别在「专心学习」与「爱好玩乐、海外」。伤官旺 + 财旺(享乐务实)> 专心苦读,故取 C。
|
||||
|
||||
**倾向:C(爱好玩乐,海外读书,大学毕业)。**(低置信:B/C 两选项分野仅在求学态度与是否海外,盘上「海外」硬信号不足。)
|
||||
|
||||
### 第 12 题(毕业后的工作类型)
|
||||
|
||||
考点:财格取象(财帛、经营、数字)叠加伤官生财之事类。
|
||||
|
||||
- 月令**正财**为一格之主,主钱财、经营、可支配资源;
|
||||
- 时柱辛酉**伤官生财**、伤官坐禄而旺——职业取象为「以才艺、口才、形象变现」,属**交际/销售/服务**之列,非纯文书坐班;
|
||||
- 桃花红艳三见(子三子红艳、酉桃花),主容貌、魅力、人际场合得利——指往需应酬交际之业。
|
||||
- 排除:D「运输、文件单据」偏财格之「单据」而无伤官交际之象;A「会计」需印/官(循规细致),与伤官旺(不喜拘束)不合;B「空中服务员」亦合伤官形象服务,但四柱**无驿马**(申子辰驿马在寅,命中无寅),远行服务之信号不显,且航线固定受薪、不显伤官「主动创收」之性。财格 + 伤官生财,以**公关销售**取象为最贴。
|
||||
|
||||
**倾向:C(公关行业,需要为公司销售、应酬)。**(低置信:B 空姐同为伤官+桃花之象,仅以无驿马降级为备选。)
|
||||
|
||||
### 第 13 题(感情婚姻)
|
||||
|
||||
考点:女命夫星(官煞)、夫宫(日支)之喜忌,与夫星夫宫之引动应期(97_女命 R-女-04、07、13、14、16、24)。
|
||||
|
||||
- 命中无正官,**七杀甲木透年干为夫星**(R-女-06 煞亦可为夫);
|
||||
- 夫星甲木坐子得水生,又得月干丙火**化煞**(甲→丙→戊,煞印相生)——**夫星透而于格局成局,主夫贤得力**(R-女-07);
|
||||
- 夫宫(日支)子为**正财**,乃月令用神、夫宫有用(R-女-13/14);原局夫宫**无刑冲**,夫缘宫位未见破;
|
||||
- 反面因素:伤官辛酉甚旺(女命伤官旺主口舌、不安于夫)、桃花红艳三见(多情),故**婚姻中口舌吵闹不免**;
|
||||
- 应期:**2014 甲午年**(大运癸酉)——流年干**甲即夫星透清**,午冲日支子(夫宫被冲而动),且午为戊之刃帮身;夫星透 + 夫宫动,主**成婚**。R-事-13:夫星为喜用而透清得地者,冲动多应成婚。
|
||||
- 排除:A「女同性恋」与夫星甲木明确透干有情不符;C「2016 婚外情」——2016 丙申无官煞引动,且申为甲木绝地(夫星受挫)而非桃花引动,取证不足;B「2017 结婚、2020 离婚」——2020 庚子虽伏吟夫宫,但原局夫宫无破、夫星有情,未见必离之硬信号。
|
||||
|
||||
**倾向:D(已婚人士,2014年结婚,虽时有吵闹但不失恩爱)。**(中低置信:伤官桃花旺,B 之婚变轨降级保留。)
|
||||
|
||||
### 第 14 题(家宅搬迁之年)
|
||||
|
||||
考点:迁动之应——印(住所房产)、日支(家宫)、驿马之引动(90_行运 R-运-29 五组、R-运-31 宫位事类)。
|
||||
|
||||
- 命无驿马;搬迁取印星(住所)与日支(家)之引动。
|
||||
- 大运 **壬申自 2018 起,壬为偏财克丙(印)——财坏印,印主住所,住所因财而变**;2018 又为**交运年**(癸酉转壬申),交运多应环境之迁徙变更;
|
||||
- 2018 戊戌:戌为印之墓库、燥土,与命宫之位相激;且此年神煞逢**寡宿**(子见戌),主独处、居所之变。
|
||||
- 排除:2017 丁酉(桃花+正印透)偏应感情文书之事(若 2014 成婚,2017 主桃花而非迁居);2019 己亥(亥子会水)与 2020 庚子(子伏吟家宫)皆水旺,应财与身之耗,非住所之迁。
|
||||
|
||||
**倾向:B(2018)。**(低置信:2019/2020 家宫逢会逢伏吟,备选。)
|
||||
|
||||
### 第 15 题(2018 年发生何事及结果)
|
||||
|
||||
考点:2018 戊戌(大运壬申交运)之引动合成事件(R-运-31/32;六亲依 R-亲-02 印为母)。
|
||||
|
||||
- 大运 **壬(偏财)克丙(偏印)——财坏印**,丙火为母星(印为母)兼主住所与文书;
|
||||
- 流年 **戊戌**:戌为**丙火之墓库**(丙戊墓在戌)——**母星入墓**,主母亲之恙;
|
||||
- 救应:流年干**戊土(比肩)克大运壬水**,比劫夺财、制住坏印之财,**印星得救**——故为「幸非末期、存活至今」而非凶终;
|
||||
- 流年 2018 神煞逢寡宿、十恶大败(自身),亦见该年动荡;
|
||||
- 排除:B「妇科病」——三子水旺虽为命局薄弱(肾/生殖)之根,但 2018 戌土非直接冲克子水、且交运壬申会水反使水旺,水病信号不若「财坏印、印入墓」之母病信号直捷;C「合伙赚钱」——流年戊克大运壬偏财,比劫夺财主**破耗**而非进财,与此象相反;D「男同事私情」——2018 无官煞(情)引动,戌害酉(桃花)为感情受损而非生发私情。
|
||||
|
||||
**倾向:A(母亲发现乳癌,幸非末期,存活至今)。**(低置信:B 妇科病轨降级保留。)
|
||||
|
||||
## 七、末尾答案行(恰 5 行)
|
||||
|
||||
Q1: C # 低置信
|
||||
Q2: C # 低置信
|
||||
Q3: D # 低置信
|
||||
Q4: B # 低置信
|
||||
Q5: A # 低置信
|
||||
@@ -0,0 +1,140 @@
|
||||
# contest8_2021 · male_19530127_P031 盲测求解
|
||||
|
||||
## 一、命主信息与排盘口径
|
||||
|
||||
- person_id:male_19530127_P031(题面 name「1953年出生男性」)
|
||||
- 性别:男
|
||||
- 出生钟表时间:1953-01-27 05:00(题面 raw 记「卯时」)
|
||||
- 出生地:马来西亚(题面 place 原文=「马来西亚」)
|
||||
- 真太阳时(主盘):1953-01-27 04:04(时区 Asia/Kuala_Lumpur,夏令时否;经度修正 −73.24 分、均时差 −12.04 分,合计 −85.28 分)
|
||||
- 四柱(主盘):壬辰 / 癸丑 / 戊寅 / 甲寅
|
||||
- **对照盘:已排。触发原因**——place 为境外/模糊地名「马来西亚」,命中双盘纪律第二条,须排 120°E 不经度修正之对照盘。
|
||||
- 对照盘命令:`--place "中国大陆"`(副本解析为杭州代理),真太阳时 1953-01-27 04:48。
|
||||
- 对照盘四柱:壬辰 / 癸丑 / 戊寅 / 甲寅 —— **四柱、藏干、空亡、大运干支全同**。
|
||||
- 结论:**两盘无口径分歧**,下文答案行不标分歧注。主盘真太阳时 04:04 距时辰边界 05:00 为 56 分钟,不触「小于 15 分钟」条款,故盘面唯一不确定项(时柱取寅取卯)已由两盘一致排除——时柱稳定取 **甲寅(寅时)**,非题面 raw 所记「卯时」。
|
||||
- 排盘审计:日界规则子初换日(23:00);历法库 tyme4py 1.5.0;schema 1.2。无晚子时提示、无节气边界提示。
|
||||
|
||||
## 二、命盘要点
|
||||
|
||||
- 日主:戊土,生于丑月(季冬冻土,湿寒)。
|
||||
- 四柱十神:年壬(偏财)辰、月癸(正财)丑、日戊(日主)寅、时甲(七杀)寅。
|
||||
- 地支藏干:辰(戊乙癸)、丑(己癸辛)、寅(甲丙戊)、寅(甲丙戊)。
|
||||
- 全局力量粗核——
|
||||
- 土(日主一方):日主戊+丑本气己+辰本气戊+寅中戊×2,**得月令(丑为土)且通根四支**;
|
||||
- 财(水):壬、癸两透+辰中癸+丑中癸,**财星两透而根深**;
|
||||
- 官杀(木):甲透时干+寅中甲×2+辰中乙,**杀透而双禄**;
|
||||
- 印(火):寅中丙×2(长生有气,**不透**);
|
||||
- 食伤(金):丑中辛(**不透**,墓库)。
|
||||
- 关键结构:**财旺生杀(财党煞)**——壬癸财透而生时干甲杀,杀得双寅之禄攻身;唯一制化是藏而不透的丙火(偏印化杀+丑月调候解冻)与丑中辛金(伤官制杀),二者皆埋支中。日主得令有根,但天干无印比相帮,相对财杀成势略微偏弱,全局「财杀两旺、身需扶」。
|
||||
- 神煞(只作细节参看,不入格局四层):年柱纳音长流水→年支辰为**地网**(主蹇滞、缠缚、官司缠扰);日支、时支双**驿马**(以年支辰查,寅为马);月支**天乙贵人**;年、月支**太极贵人**;年支**华盖**;日柱**阴差阳错**;月支**绞煞、寡宿**。空亡:日柱申酉、时柱子丑。
|
||||
|
||||
## 三、取格
|
||||
|
||||
依《子平真诠·论用神》「用神专求月令」:
|
||||
|
||||
1. 月令为丑(丑月),藏干己、癸、辛(寅申巳亥、辰戌丑未月,参 R-纲-07、R-纲-10 杂气取用)。
|
||||
2. 月令本气己(劫财)**不透**;中气癸(正财)**透月干**——「本气不透而透余气,以透者取用,格随透干变」;且己(土)与癸(水)相克非相生,不构成「变而不失本格」,故**格随透变**。
|
||||
3. 取 **正财格(杂气财格)**。年干壬偏财并透,财为同格(正偏财同论,R-财-01)。
|
||||
|
||||
**格之成败(带忌与救应)**:财格成格之所喜在「财根深、透一位清用」(R-财-02)——本命财星 **两透(壬癸)已属「露」**,且「透财过多成露」为财格之忌(R-财-20 喜忌总表)。更关键者:财旺而生时干**七杀甲**,成 **财带七煞** 之局。解此忌只有两路——合煞存财(R-财-16)或制煞生财(R-财-17),本命**无透干可合可制**;又若走「财用煞印」路(R-财-19,冬土逢之化煞即解冻本为至贵),则须「不露财以杂其印」,而本命财**双透露**、印**独而藏**——正落 R-财-14「财用煞印而印独、财煞并透,非特不贵,亦不富」之破格条件。
|
||||
故本命 **财格带煞,成中带破、破中有微救(暗印暗伤)**:格局定在「常人求财、劳而多是非」,非富贵之造。财党煞无制,是其一生成败之枢——**因财生事、因财招官非**。
|
||||
|
||||
**用神与相神**:格局之神为财(月令所透);扶抑药神取 **丙火偏印**——化甲杀以护身、解丑月之冻以暖局,一身二用,此与《穷通宝鉴》戊土十二月调候「丙为尊、甲为佐」相合(R-候-08)。相神即此藏寅之丙(及帮身之土)。喜 **火(印)、土(比劫)**;忌 **水(财,党煞且坏印)、木(官杀,攻身)**;金(食伤)泄身生水、兼能制煞,属半路参用(R-财-30「伤食之方亦任意可行」)。
|
||||
|
||||
**格局高低**:财印相并、财能坏印(R-财-21),又煞无制合,属「有情不足、有力不均」之中下之造,气候上得丙火暗解寒冻,故**劳碌奔财、是非随身,晚运转金则印被冲克**。
|
||||
|
||||
## 四、行运
|
||||
|
||||
以日主偏弱、喜印比(火土)、忌财杀(水木)为基线(R-运-27 第①步,参财格取运 R-财-23~30):
|
||||
|
||||
| 大运 | 年份 | 干支十神 | 喜忌基调 |
|
||||
|---|---|---|---|
|
||||
| 甲寅 | 1956–1966 | 七杀/杀禄 | 忌(杀攻身,少年辛劳) |
|
||||
| 乙卯 | 1966–1976 | 正官/官禄 | 忌(官杀并旺) |
|
||||
| **丙辰** | 1976–1986 | 偏印/比劫 | **喜**(印透暖局化杀,得帮身之地) |
|
||||
| **丁巳** | 1986–1996 | 正印/印比 | **喜**(火最旺,格局得济);惟巳为水命之**地网**,官司缠扰之暗线 |
|
||||
| **戊午** | 1996–2006 | 比肩/阳刃 | 喜(帮身);惟午为戊之**阳刃**,运中逢冲即起争讼 |
|
||||
| **己未** | 2006–2016 | 劫财/比土 | 喜(帮身担财) |
|
||||
| 庚申 | 2016–2026 | 食神/食神 | 转忌(金泄身生水;**双申冲命日时双寅**,冲丙印之根——母迟) |
|
||||
| 辛酉 | 2026– | 伤官/伤官 | 忌(泄身) |
|
||||
|
||||
要点:**1975–2020 正落丙辰丁巳戊午己未四步火土帮身之运(外带庚申)**——身弱者得印比帮身方能担财,故其谋生立业之「用神窗口」与题目所设 45 年职业期完全重合(详见第 1 题)。2016 入庚申运为一生喜忌之转折(详见第 5 题)。
|
||||
|
||||
## 五、逐题推理
|
||||
|
||||
> 说明:下引题号一律写作「第 N 题」形式,答案行收于文末。
|
||||
|
||||
### 第 1 题(1975–2020,丙辰至庚申大运,职业)
|
||||
|
||||
**考点**:以格局用神与十神结构定一生职业方向。
|
||||
|
||||
**推理链**:本命定格 **财格**——月令用神是财,R-财-01 明言「财……为财帛,为妻子,为才能」。财格之人,谋生之具系于「财」一路:或自营求利(生意),或以才艺取酬。再看其运:1976–2016 一路行丙辰、丁巳、戊午、己未**火土帮身之运**(身弱者得印比扶助,方能任财),故「以财为业且能立得住」的窗口恰在此四步运内,与题目所给 1975–2020 完全吻合——四选项中,唯「生意人」是「财格+身弱得帮而经营求财」的正解。
|
||||
逐项排除:
|
||||
- B 装修工人、D 铁匠:二者皆以「土/火金」五行取象、属手艺劳作,与「月令用神为财」的格局主线不合(手艺可归财之「才能」一路,但非格局主导方向)。
|
||||
- A 德士司机:双驿马(日、时支寅)确主车马奔波,是其可取之处;然驿马属神煞层,只给「动」之事类,不决定格局方向——格局主线仍是「财」,故选「以财为业」者。
|
||||
- 故选 **C 生意人**(1976 起行印比运、帮身担财,正合长期经营求财之象)。
|
||||
|
||||
**置信度**:中低(A/B 有神煞与五行取象之旁支支持,降级保留为备选)。
|
||||
|
||||
### 第 2 题(何年得子女)
|
||||
|
||||
**考点**:男命子息应期。子星取官煞(R-亲-02),另参 R-亲-32「用神即子星」——本命扶抑/调候用神为**火**,「其子必在木火之运、或木火流年得」。
|
||||
|
||||
**推理链**:四选项 1976、1978、1979、1985 皆落在丙辰运(1976–1986)之内,须以子星/子女宫的引动收敛。
|
||||
- 1978 戊午:**午为火(正合 R-亲-32 用神之火)**;且午与命日支、时支寅成**寅午半合火局**(B 会局组),直接**引动时支(子女宫)**——子女宫被会动,主子女之事有成。喜年逢子女宫动,排序最优。
|
||||
- 1976 丙辰:丙亦为火(用神得地),且为交运之年;惟辰与命中寅、丑无会无合,子女宫未被引动,次之。
|
||||
- 1985 乙丑:乙正官(子星)透清(辰中乙,A 透清组)、丑又填实时柱空亡(子丑,D 组),子息信号亦强;然乙为木、非火(用神是木火之「火」为主),又丑冲丑、丑午相害并存,杂而不纯,降为备选。
|
||||
- 1979 己未:未与丑冲(丑未冲,冲月令财库),主财与父母之事,于子息无直接引动,排除。
|
||||
**结论**:取 **1978(B)**——火(用神)临岁 + 时支子女宫逢合而动,二者同指得子女。
|
||||
|
||||
**置信度**:低(1976、1985 为降级保留之备选)。
|
||||
|
||||
### 第 3 题(何年闹上官非并被警察扣留)
|
||||
|
||||
**考点**:官杀之忌被引动、日主受官杀制之应期(R-事-13 官禄受冲之两向、R-运-29 五组引动)。
|
||||
|
||||
**推理链**:本命官杀(甲乙木)为忌,官非之应即在官杀被激之年。
|
||||
- 1995 乙亥(丁巳运末年,合42 岁):①**A 透清**——流年干乙,正是年支辰中所藏之正官,**官星透清**(忌神透清则凶应,主官事、官方临门);②**B 会局**——亥与命日支、时支双寅**寅亥合木**,官杀成局而势增;③**C 刑冲**——亥与大运支巳相冲(巳亥冲)。**三组引动齐备**,且所引动者直指官杀(乙官透、亥合木),是官杀攻身、被官方所制之象,与「被警察扣留」最贴合。
|
||||
- 1996 丙子(戊午运交运年):A 引动的是丙印(喜神透清,主文书、庇护,非官事)、C 为子午冲(冲阳刃,主争讼、破耗)、B 子辰半合水(财)、D 子填实时柱空亡——组数虽多(四组),但引动主神为印与财,官杀未被直接激起,且偏吉偏杂,不如 1995 之直落官非。
|
||||
- 1997 丁丑、1998 戊寅:丑为月支伏吟、寅为日时支伏吟,多主财与自身宫位之事;官杀虽在 1998 得三寅之旺,然无官星透清之「显」,且伏吟主重复旧事,不作首应。故排除。
|
||||
**结论**:取 **1995(A)**。
|
||||
|
||||
**置信度**:中低(1996 因组数最多作降级保留之备选)。
|
||||
|
||||
### 第 4 题(因何事闹上官非)
|
||||
|
||||
**考点**:官非之十神事类(R-运-31 十神映射)。
|
||||
|
||||
**推理链**:本命官非的根由在格局结构——**财旺生杀(财党煞)而无制无合**。R-运-31:财主「钱财进出、收入渠道」,煞主「压力与责任、规章考核」;财党煞即「因财而生是非、因利而触法网」。全局财(壬癸)两透而根深,正是「贪财趋利、以财为事」之象(参 93 性情层:财旺身弱者多趋财奉势),故其官非之因应落在**财**一路,而非纯暴力或侵夺。
|
||||
逐项排除:
|
||||
- A 打架:纯煞/刃之象,本命虽杀旺,但杀由财生(因财起争),财才是主因,打架为「因」之下游。
|
||||
- B 吸毒、C 偷窃:本命伤官(辛)与劫财(己)皆藏而不透、力量单薄,不足以成吸毒(伤官放纵)或偷窃(劫财侵夺)之主象。
|
||||
- D 经营非法高利贷:正是「以财为业(财格)、以财生煞(放贷取利而涉非法催讨)、财煞俱现而无制」之现实落地,与第 1 题「生意人」的职业方向互为印证。
|
||||
**结论**:取 **D 经营非法高利贷**。
|
||||
|
||||
**置信度**:中。
|
||||
|
||||
### 第 5 题(2016 年发生何事)
|
||||
|
||||
**考点**:2016 丙申流年 + 庚申大运之引动(R-运-29 五组、R-亲-34 父母应期)。
|
||||
|
||||
**推理链**:2016 为交运之年,命主 62.76 岁交入 庚申 大运。
|
||||
- 引动结构:大运支申与流年支申**双申,齐冲命日支、时支双寅**(C 刑冲组,申寅冲);且流年干丙、大运干庚——**庚金克丙火**(C 之外,干头克)。
|
||||
- 事类定位:寅中所藏为**甲(杀)、丙(偏印)、戊(比肩)**。其中 **丙火偏印即母星**(R-亲-02:正印为母,偏印同类,命以丙为母星),丙之根寄于双寅。今大运与流年双申冲双寅,**印之根气被连根冲拔**;又运干庚金直克流年显露之丙——**母星透而受克、其根又被冲斩**,正是 R-亲-34「岁月印气斩丧于时支者,先克母」(时支寅藏丙,印气被冲)之明验。以 1953 年生、2016 年 63 岁推,其母已届高寿,此断合于常理。
|
||||
逐项排除(皆降级保留而不删):
|
||||
- A 负债累累、C 创业失败、D 股票损失:庚申食伤生水、金水偏旺,于身弱之命确有「财旺耗身、破财」之直白取象(属不经细分规则的取象路径),故不得删除;但三者皆无 2016 独有的硬冲结构,年份指向性弱于「冲印斩母根」,降为备选。
|
||||
- 故选 **B 母亲逝世**。
|
||||
|
||||
**置信度**:中(A/C/D 为降级保留之备选)。
|
||||
|
||||
## 六、存疑与边界
|
||||
|
||||
- 时柱问题:题面记「卯时」,而主盘真太阳时 04:04、对照盘 04:48 皆落寅时(时柱甲寅),两盘一致,故采寅时;已按双盘纪律排对照盘并声明。
|
||||
- 格局主从:月令丑本气己(劫财)不透、中气癸透,依杂气取用定格为财格;若按其本气视作月劫而别取财煞为用(建禄月劫格路径),行运喜忌方向与本判不冲突,仅名目之别。
|
||||
- 第 1、2、3 题置信度偏低,均已在行尾保留备选;若需复核,优先回查时辰边界与 1978/1985 两年之子星引动。
|
||||
|
||||
Q1: C
|
||||
Q2: B
|
||||
Q3: A
|
||||
Q4: D
|
||||
Q5: B
|
||||
@@ -0,0 +1,102 @@
|
||||
# contest8_2021 · male_19540318_P025 盲测求解
|
||||
|
||||
## 一、命主信息
|
||||
|
||||
- person_id:male_19540318_P025(1954 年出生男性)
|
||||
- 性别:男(阳年男命 → 大运顺行)
|
||||
- 出生钟表时间:1954-03-18 15:00(农历二月十四日申时;题面 place = 「中国大陆」)
|
||||
- 出生地:中国大陆(副本解析为杭州代理 120.16E,Asia/Shanghai)
|
||||
- **真太阳时:1954-03-18 14:51**(经度修正 +0.64 分、均时差 −8.83 分,合计 −8.19 分)
|
||||
- 是否排对照盘:**是**
|
||||
- 触发条件 1:真太阳时 14:51 距时辰边界 15:00 仅 **9 分钟(< 15 分钟)**;
|
||||
- 触发条件 2:place 为模糊地名「中国大陆」。
|
||||
- 对照盘口径:120°E 不经度修正,即「钟表时 = 真太阳时」→ 15:00 落 **申时**;
|
||||
故对照盘时柱为 **庚申**。(说明:以 `--place "中国大陆"` 实跑,脚本对主盘照常施加 −8.19 分修正得 14:51;「不经度修正」口径须手工置为钟表时,故对照盘由 15:00 钟表时直接定时柱。)
|
||||
- 两盘仅时柱不同:主盘 己未(未时)/对照盘 庚申(申时);年月日柱、节令、大运、流年全同。
|
||||
- 依任务书,**答案行以真太阳时主盘(己未/未时)为准**;与对照盘分歧者于该行行尾标注。
|
||||
|
||||
## 二、命盘(真太阳时主盘)
|
||||
|
||||
```
|
||||
年 甲午(伤官) 月 丁卯(偏财) 日 癸酉(日主) 时 己未(七杀)
|
||||
藏干:午=丁己 卯=乙 酉=辛 未=己丁乙
|
||||
空亡:日柱 戌亥 时柱 子丑
|
||||
节令:卯月(惊蛰后、清明前);胎元 戊午,命宫 辛未
|
||||
大运(顺行,6.02 岁起):
|
||||
戊辰(6) 己巳(16) 庚午(26) 辛未(36) 壬申(46) 癸酉(56) 甲戌(66) 乙亥(76) 丙子(86)
|
||||
命带神煞:月德(年干甲)、天乙/福星贵人·文昌·桃花·灾煞·绞煞(月支卯)、桃花·将星(年支午)、
|
||||
将星·勾煞(日支酉)、月德合(时干己)
|
||||
```
|
||||
|
||||
对照盘(庚申时)差异:时柱 庚申(正印);命带外加 天德、太极贵人、**驿马**、红艳、亡神、孤辰(皆在时支申)。
|
||||
|
||||
## 三、取格、成败、用神相神、高低
|
||||
|
||||
1. **月令定十神**:月令卯,本气乙木;日干癸(阴水)生乙(阴木),同性 → **乙为食神**(R-纲-00 用神专求月令)。
|
||||
2. **定格**:定为 **食神格**。月令卯为专气(只藏乙),本气不透;年干透 **甲(伤官)**、月干透 **丁(偏财)**、时干透 **己(七杀)**。月令藏食而伤官透干 → **藏食露伤**(R-食-17:主人性刚)。
|
||||
3. **成格路径**:命见 财透(丁有根于午、未)与 煞透(己),且 **甲己相合**——伤官(食伤同类)合去七杀,使煞不能为害而财得存,正是 **食神合煞存财**(R-食-08「最为贵格」);亦近 伤官合杀之理。财、煞之间以日干间隔、且煞被合去,故不作 R-食-11「食神透煞忌见财」之破论。
|
||||
4. **成败与身强弱(R-89)**:日主癸水生卯月失令、泄气;四柱一点水比劫皆无(无壬癸子亥丑),全赖 **日支酉(辛偏印)**生身,而 **月日卯酉相冲**,印星被冲不宁 → **身弱**。食神生财本喜身强食旺(R-食-02),此身弱不任财,格虽成而降等。
|
||||
5. **用神相神**:身弱,**取印(酉中辛)为用**——生身兼制伤官之泄;相神即此酉印,惜为卯所冲。喜 **比劫(水)**帮身;忌 **财(火)、官杀(土)、食伤(木)**。
|
||||
6. **格局高低(R-纲-13)**:有情(甲己合煞、食伤生财流通、财气通门户)而非力全(身弱、印被冲、无庚辛透干);气候上癸生卯月「专用庚、辛次之」(R-候-13),本命无庚、仅辛藏酉,**调候不足,成色减**。综合为**中等偏低之富格**,富贵系于行运。
|
||||
|
||||
## 四、行运
|
||||
|
||||
- **己巳(16-26,1970-1980)**:巳为火(财)、己为杀,身弱不美;然巳酉半合金(印),略有可参。
|
||||
- **庚午(26-36,1980-1990)**:庚(正印)生身——喜;午(财)助旺财——忌;午午伏吟。
|
||||
- **辛未(36-46,1990-2000)**:辛(偏印)生身——喜;未(杀/燥土)与命时支未伏吟、土重克水——忌。
|
||||
- **壬申(46-56,2000-2010)、癸酉(56-66,2010-2020)**:金水比印之地,一生最得力之二十年。
|
||||
- 喜:金、水(印比)。忌:火、土(财杀)、木(食伤泄身)。
|
||||
|
||||
## 五、逐题推理
|
||||
|
||||
> 体例:先复述考点 → 推理链(格局行运 → 事件候选 → 排除)→ 选项。双盘分歧处并列。
|
||||
|
||||
### 第 1 题(考点:财运形态·财禄)
|
||||
**推理**:财星丁(偏财)透月干、根于午与未中丁,**财旺**;卯乙食神当令、甲伤官透,**食伤生财、财气通门户**(R-事-02「伤官重而财神流通」爲富象)。然日主癸水**身弱**(四柱无水、仅酉印、卯酉冲印),**财重身轻、身不任财**(R-事-04),故财虽广而难固守、易暴起暴跌;食伤旺者泄身而喜享受、**多花销挥霍**。
|
||||
- A「普通打工仔」:与财旺、食伤开创之格局及 extra_info(思想进取、善于开创)不合 —— 排除。
|
||||
- D「守财奴、不喜交际、财源未广」:财透旺则财源广,且命带双桃花(善交际),与 D 相反 —— 排除。
|
||||
- **B「与朋友长期合作、得助力致富」**:需比劫(朋友/合伙人)为喜用且现身,而**主盘四柱无一点水(比劫全无)**——朋友之星缺席,主盘难成立。
|
||||
- C「财源广、暴起暴跌、自己多挥霍」:与「财旺透干有根 + 身弱不任财 + 食伤泄身挥霍」最合。
|
||||
**主盘取 C。** 对照盘(庚申时)时支申藏 **壬(劫财)**,比劫现于支,与 B 有部分支持 → 该题存口径分歧。
|
||||
|
||||
### 第 2 题(考点:六亲·父亡应期;父星=偏财丁,父母宫=月柱)
|
||||
**推理**:父星丁火透月干、根于午未;父母宫为月支卯,且**命局本有卯酉冲**(父母宫与己身宫素相冲)。此期大运 **戊辰(1960-1970)**——辰与月支卯相**害(卯辰害)**、辰湿土晦火,父母宫受累。五组引动(R-运-29 已逐组核对 A 透清/B 会局/C 刑冲害/D 空亡/E 伏吟):
|
||||
- **1959 己亥**:亥卯未三合木局、亥填日柱空亡、驿马;然木旺反**生**火,父星得生 —— 不合父亡。
|
||||
- **1963 癸卯**:流年干 **癸(比肩)直克月干丁(父星)**,劫夺父星;卯与月支**伏吟**(父母宫伏吟,主哭泣);丁火**病于卯**(阴干逆行,卯为丁之病地);岁运神煞并见 **灾煞+绞煞**。父亡信号最强。
|
||||
- **1964 甲辰**:甲(伤官)**生**丁(反为生扶);辰湿土晦火、运年双辰伏吟、卯辰害 —— 有牵动而克父星之力弱。
|
||||
- **1969 己酉**:酉冲月支卯(父母宫受冲),然酉为**丁之长生**(反生父星);己土泄火。
|
||||
**主盘取 B(1963 癸卯)**——以「天干直克父星+父母宫伏吟+灾煞绞煞」为断。**本命年月日柱两盘全同,父之判定两盘一致,无口径分歧。**
|
||||
|
||||
### 第 3 题(考点:迁移应期·到香港=离乡迁居)
|
||||
**推理**:印(金)为用神,主居所/文书/身份;迁动求驿马、冲、会合之引动。逐候选核五组:
|
||||
- **1960 庚子**:子午冲(冲年柱,离祖之象)+子填时柱空亡(子丑)+庚正印透 —— 2 组。
|
||||
- **1962 壬寅**:寅午半合火+金舆(车马)—— 1 组。
|
||||
- **1968 戊申**:申(年支午之驿马)与大运辰半合水 —— 1 组(主盘命无申,引动单薄)。
|
||||
- **1971 辛亥**:辛(偏印)透清命中辛(日支酉)+**亥与命卯、未三合木局**+**亥冲大运巳**(己巳运)+**亥填日柱空亡(戌亥)**—— **4 组,引动最重**;且亥为日支酉之**驿马**,印透主得居所身份。印透(安身)+驿马(迁)+冲大运(大动)+合命局,迁移之象最著。
|
||||
**主盘取 D(1971 辛亥)**。对照盘命带申(驿马),1968 申伏吟时支亦强,对照盘偏 C(1968)→ 口径分歧。
|
||||
|
||||
### 第 4 题(考点:大运疾病)
|
||||
**推理**:**先辨大运**——本命甲午年卯月、阳年男顺行、6.02 岁起运,虚龄 35-44(约 1988-1997)实历 **庚午→辛未** 运(虚龄 37-47 为辛未),**并非题面所写之「甲戌」**(甲戌为本命第 7 步、虚龄约 67-77)。题面大运名与本命不符,判为题干误标,按实际大运论。
|
||||
命局总相:**癸水弱、火土燥旺、金水枯(金仅酉且被卯冲)**;辛未运未土(七杀/燥土)与命时支伏吟、土重克水。
|
||||
- R-性-38「**金水枯伤而肾经虚**」、R-性-34「**忌土而入水则肾病**」→ 病应 **肾/膀胱/泌尿系统**。
|
||||
- A 呼吸:火旺克金(肺)亦有理,然命金本弱、非主攻方向;B 消化:土旺(脾胃)亦是一说;D 恶性肿瘤:无郁火金生毒之显配。
|
||||
**取 C(泌尿系统)**(低置信:A 呼吸、B 消化为备选线)。对照盘时支申(金)不改变「火土旺、水弱」之总相,两盘同判 C。
|
||||
|
||||
### 第 5 题(考点:子息;子星=官煞,子女宫=时柱)
|
||||
**推理**:**主盘时柱 己未**——时干 **己(七杀)即子星透**,七杀克身(身弱为忌)→ **「子透破局」**(R-亲-18,虽时支生旺亦难为子息、或子有损);时支未,子星(阳干戊土)临**「衰」**(R-亲-15「衰中二子」)→ 二子之数。又命带**双桃花**(年支午、月支卯)→ 异性缘重,主发妻之外另有情缘(外宠)。1996 丙子年,子与主盘时支**未相害(子未害)**,害及子女宫,恰应「子有损」之象。
|
||||
**主盘取 B(发妻头胎产子有损;后与外宠产子、母子平安)**——与「子透破局+二子+桃花外宠」最合。
|
||||
对照盘(庚申时)时干 **庚(正印)=用神透** → 时干有用、主子女贵(R-亲-17);时支申子星临「病」→ 一子,利 C(资优生)/D(留英)→ 口径分歧(对照盘偏 C)。
|
||||
|
||||
## 六、存疑与边界
|
||||
|
||||
- 本命日主身弱仅一酉印且被卯冲,身弱程度与「食神生财」格之适配为本盘最大张力;已按身弱取印为用。
|
||||
- 题面第 4、5 题之「甲戌大运(虚龄35-44)」与本命(甲午年卯月顺行、6 岁起运)不符,按实际大运(庚午/辛未)论断,此为题干大运名误标。
|
||||
- 真太阳时 14:51 距 15:00 边界仅 9 分钟,且出生地模糊,主盘/对照盘时柱分歧(己未/庚申)为题面固有歧义,已按任务书以主盘为准并逐题标注分歧。
|
||||
|
||||
## 七、答案
|
||||
|
||||
Q1: C # 低置信; 口径分歧: 对照盘=B
|
||||
Q2: B # 低置信
|
||||
Q3: D # 低置信; 口径分歧: 对照盘=C
|
||||
Q4: C # 低置信
|
||||
Q5: B # 低置信; 口径分歧: 对照盘=C
|
||||
@@ -0,0 +1,102 @@
|
||||
# contest8_2021 · male_19700723_P029(游先生)
|
||||
|
||||
## 命主信息
|
||||
|
||||
- person_id:male_19700723_P029(1970年出生男性·游先生)
|
||||
- 性别:男
|
||||
- 出生钟表时间:1970-07-23 08:20(农历庚戌年六月廿一日辰时)
|
||||
- 出生地(题目原文):中国台湾
|
||||
- 真太阳时(主盘):1970-07-23 08:19(Asia/Taipei,经度修正+6.24分/均时差−6.44分/合计−0.20分)
|
||||
- 对照盘:**已排**。触发原因:place「中国台湾」属任务书所列「境外/模糊地名」清单(含「台湾」),故按 120°E 不经度修正口径加排一盘。
|
||||
- 对照盘真太阳时 08:14(`--place "中国大陆"`)。**两盘四柱完全相同**(庚戌/癸未/甲辰/戊辰,同为辰时),仅真太阳时差 5 分钟,**不构成口径分歧**,下文只列一盘结论。
|
||||
|
||||
## 命盘
|
||||
|
||||
- 年柱 庚戌(七杀) · 养
|
||||
- 月柱 癸未(正印) · 墓 ← 月令未
|
||||
- 日柱 甲辰(日主) · 衰
|
||||
- 时柱 戊辰(偏财) · 衰
|
||||
|
||||
地支藏干:戌(戊辛丁)/未(己丁乙)/辰(戊乙癸)/辰(戊乙癸)
|
||||
空亡:日柱空亡 寅卯;时柱空亡 戌亥(年支戌落时柱空亡)
|
||||
神煞要点:华盖(戌、辰、辰三见)、天乙贵人(日干甲见月支未)、金舆(辰、辰)、十灵日、十恶大败(日柱甲辰)、童子煞(辰、辰)
|
||||
节令:月令未,小暑后、立秋前;命宫壬午
|
||||
|
||||
## 取格 → 成败 → 用神相神 → 高低
|
||||
|
||||
**月令与十神**:月令未,未藏己(正财)、丁(伤官)、乙(劫财),本气己土为日干甲木之正财 → **财格**(R-财-01)。四柱天干庚(七杀)、癸(正印)、甲(日主)、戊(偏财);未中三干皆不透,年月时三干为外来的煞、印、财。
|
||||
|
||||
**力量**(参 R-旺-05、R-纲-13):地支戌未辰辰四土,财极旺而身弱。甲木生未月为墓,仅得辰辰未中乙木为余气微根,天干无木比帮身 → **身弱财旺**。
|
||||
|
||||
**配合**:戊(偏财,时干)透一位清用(R-财-02);庚(七杀,年干)透而财生煞,财党煞攻身为忌;癸(正印,月干)透,既化煞(金生水)又生身(水生木),为全局最要之救应。属「财格佩印」兼「财党煞得印化」之局(R-财-07、R-财-19)。财印之间以日干甲隔位,不相贴相克(R-财-07 成格条件成立),但戊癸隔位相合、财有坏印之意,格局遂成而带疵(参 R-财-21、R-财-14 之警戒)。
|
||||
|
||||
**用神相神**:月令用神为财(戊、己土);相神为癸水正印(化煞、生身、护格),兼取辰未中之乙木比劫帮身。忌神为财过旺不受身任(坏印、党煞)、及七杀庚直接攻身。
|
||||
|
||||
**高低与气候**:财旺而无强根之比劫、印单而带合,属「有情而力不全」一格,非上乘贵格,主凭才艺/文凭与实务谋生、为财操劳;未月三伏,土燥木渴,财重身轻,须水润木、木帮身(参 R-候-04 六月甲木,调候参看层,不改格局)。作富局/中小成之命看,不作贵格看。
|
||||
|
||||
## 大运喜忌(依 R-财-23~30、R-运-27)
|
||||
|
||||
- 甲申(5–15)/乙酉(15–25):比劫帮身、申酉官杀金。帮身与杀攻并见(乙酉运辰酉合金,官杀结党),少年学龄期身弱逢官杀为忌,学业受压。
|
||||
- 丙戌(25–35):丙食神制杀(喜)+戌偏财(忌),食神生财、技艺谋生之象。
|
||||
- 丁亥(35–45):丁伤官制杀(喜)+亥正印帮身、亥未半合木局(比劫,喜)——**一生最顺之运**。
|
||||
- **戊子(45–55,即第22题的45–54岁)**:戊偏财透,财星重出、又隔位合癸印(财旺坏印,忌);地支子正印,与命局辰辰半合水局(印局,喜),帮身化煞。一运之内干忌支喜——**起伏**。
|
||||
- 己丑(55–65):己丑财星叠见,且丑与年支戌、月支未构成丑戌未三刑、丑未相冲,财库动而身益弱。
|
||||
|
||||
---
|
||||
|
||||
## 逐题推理
|
||||
|
||||
### 第21题(婚姻状况与学历)
|
||||
|
||||
- 考点:财为妻、印为学历,看妻宫刑冲与印星得失。
|
||||
- 妻星(财):戊偏财透时干,正财己为本气,财星根深成格。妻宫=日支辰,辰中坐戊偏财(财为格局用神),又带金舆——「妻宫坐财,妻当贤贵」,妻星透而成格主内助(R-亲-05、R-亲-10)。**但日支辰与年支戌相冲、又与时辰自刑**——正应「妻宫有用而坐下刑冲,未免得美妻而难偕老」(R-亲-12),财复党煞攻身(R-亲-25 凶组)。妻星妻宫虽美,刑冲终动其宫,主婚姻曾生大波折。
|
||||
- 学历(印):癸正印透月干、坐天乙贵人(日干甲见未),为喜用之神,「孤财不贵,佩印帮身,即印取贵」(R-财-07)——即凭文凭取身价;命带三重华盖、日柱十灵日(R-煞-08、R-煞-29),主聪明向学。虽财有坏印之意,然财印隔位不相贴,印透有根(辰中癸癸),学历以中上断。
|
||||
- 结论:婚姻经波折(离),学历中上(高级大学)——**C**(低置信:婚姻项与「财为格局用神→妻贤→已婚」一路相左,二读并存)。
|
||||
|
||||
### 第22题(45–54岁/戊子运工作运)
|
||||
|
||||
- 考点:戊子大运对财格身弱之喜忌。
|
||||
- 戊偏财透=财格得财、事业财禄之象;地支子正印与命局辰辰半合水局,印星成局帮身化煞,身弱能任财。运逢「财+印」——财格佩印最喜印旺(R-财-26),身得帮而能担财;大运又逢将星(掌事自主)、福星贵人、太极贵人(R-煞-09、R-煞-23),主独当一面、衣食有靠。
|
||||
- 反向:戊土偏财为扶抑忌神、且隔位合癸印(戊癸合)有坏印之嫌,财多身弱本主为财操劳;故取**自行创业、事业有声有色**一路。
|
||||
- 结论:**B**(低置信:与「财多身弱、财运起伏」的 D 一路接近,二者择一)。
|
||||
|
||||
### 第23题(个性智慧/52岁父母状况)
|
||||
|
||||
- 考点:性情(参 93)+父母宫(月柱)。
|
||||
- 性情:甲木日主宜正宜刚,然身弱财旺、七杀庚透——欲多力薄、性急而易动摇;命带三重华盖(孤高、艺文、玄学、想象力)与十灵日(聪明灵慧),主思致活跃而不易专守。取「想象力丰富但定力不足,急躁」。
|
||||
- 父母:月柱癸未为父母宫,月干癸正印为母、透而带天乙贵人;财为父、根深有力。命主壮年已越五十,父母有寿根之象,2021辛丑虽逢丑未冲、丑戌未三刑动父母宫,然丑又为日干甲之天乙贵人,动而有解——从**父母健在**一路。
|
||||
- 结论:**A**(低置信)。
|
||||
|
||||
### 第24题(2020年事项)
|
||||
|
||||
- 考点:2020庚子流年引动(R-运-29 五组、R-运-34)。
|
||||
- A透清:流年干庚透出年干七杀,杀重攻身(庚锐克甲)。
|
||||
- B会局:流年支子与大运支子伏吟,子辰辰半合水印局,印重。
|
||||
- C刑冲:子害月支未(子未害);子伏吟大运子。
|
||||
- D空亡/E伏吟:大运干戊与流年无空支填冲;子子伏吟成立(E)。
|
||||
- 合成:庚七杀临身克日主(木主肝胆、筋骨、头部),又逢**灾煞**(以年支戌查,寅午戌见子,2020子支正逢灾煞——血光、意外、急症、开刀之象,R-煞-35),子未相害动月支(R-运-31)。杀攻身+灾煞并见,主身有伤损之应。
|
||||
- 结论:**B(身体不佳住院开刀)**(低置信:C 合伙创业(无透比劫、仅印局,信号弱)、D 官非牢狱(有印化煞,不至)皆降为备选)。
|
||||
|
||||
### 第25题(52岁/2021健康)
|
||||
|
||||
- 考点:四柱五行偏枯与疾病(参 93 R-性-34、R-性-38)。
|
||||
- 命局土(财)极旺,木(日主)弱而受金(杀)克:土旺则脾胃/肠胃易病;水(印、辰癸辰癸)偏多主嗽(肺、呼吸);火(丁藏戌未)微弱,心火不足。2021辛丑,丑未冲、丑戌未三刑齐动,土性受冲刑而病应脾胃。
|
||||
- 结论:**C(肠胃心肺机能不佳)**。
|
||||
|
||||
---
|
||||
|
||||
## 存疑与边界
|
||||
|
||||
- 本盘格局成而带疵(财煞并透、印单带合),第21题婚姻项「财为格局用神→妻贤→已婚」与「妻宫辰戌冲自刑→难偕老→离婚」两读并存,取后者(R-亲-12 明确),故标低置信。
|
||||
- 第22题戊子运干忌支喜,B 与 D 力度相近,取喜神印局帮身一路(B),标低置信。
|
||||
- 第23题个性 A/B 两读皆通,取华盖+十灵之「想象力丰富、定力不足」一路(A),父母项取「冲刑有贵人解→健在」,标低置信。
|
||||
- 第24题于 2020 庚子杀攻身、兼逢灾煞取「住院开刀」(B),其「与朋友合伙创业」(C)、「官非」(D)降级备选,标低置信。
|
||||
- 第25题取 C,中低置信。
|
||||
- 未触碰任何禁区文件、未联网。
|
||||
- 答案行按本命主题序 1–5 输出(对应 question_id P029-Q21…P029-Q25)。
|
||||
|
||||
Q1: C # 低置信
|
||||
Q2: B # 低置信
|
||||
Q3: A # 低置信
|
||||
Q4: B # 低置信
|
||||
Q5: C
|
||||
@@ -0,0 +1,150 @@
|
||||
# contest8_2021 · male_19710910_P033
|
||||
|
||||
## 命主信息
|
||||
|
||||
- person_id:male_19710910_P033
|
||||
- 性别:男
|
||||
- 出生钟表时间:1971-09-10 10:31(广东潮汕)
|
||||
- 真太阳时:1971-09-10 10:20(经度修正 -13.28 分,均时差 +2.64 分,合计 -10.64 分;时区 Asia/Shanghai,无夏令时)
|
||||
- 题面:current_year = 2021
|
||||
- **对照盘:不排。** 理由两条都不触发——① 真太阳时 10:20 距时辰边界(巳午之交 11:00)尚差 40 分钟,≥15 分钟;② 出生地「广东潮汕」为境内常规地名,不属题书列举的境外/模糊地名(美国、中国大陆、日本、马来西亚、新加坡、台湾、香港)。故只以真太阳时主盘作答。
|
||||
|
||||
---
|
||||
|
||||
## 一、命盘要点
|
||||
|
||||
四柱(真太阳时):
|
||||
|
||||
| 柱 | 干支 | 十神 | 支中藏干 | 十二长生 |
|
||||
|---|---|---|---|---|
|
||||
| 年 | 辛亥 | 伤官 | 壬(偏财)、甲(七杀) | 绝 |
|
||||
| 月 | 丁酉 | 正印 | 辛(伤官,本气) | 死 |
|
||||
| 日 | 戊戌 | 日主 | 戊(比肩)、辛(伤官)、丁(正印) | 墓 |
|
||||
| 时 | 丁巳 | 正印 | 丙(偏印)、庚(食神)、戊(比肩) | 临官 |
|
||||
|
||||
- 空亡:日柱辰巳、时柱子丑。**时支巳落空亡。**
|
||||
- 神煞(读盘直取):日柱魁罡(戊戌)、十恶大败;日支戌为华盖、寡宿;时支巳为禄神、驿马、亡神;年支亥劫煞、天德合。
|
||||
- 命宫辛卯,胎元戊子。节令:白露后、寒露前,月令酉。
|
||||
|
||||
## 二、取格(依 00_总纲_取格.md §1 六步)
|
||||
|
||||
1. **定月令**:月柱丁酉,月令为酉。
|
||||
2. **月令十神分类**:日主戊土,酉之本气为辛金,戊生辛、阳生阴为**伤官**。→ 定格**伤官格**(R-伤-01)。
|
||||
3. **藏干变化**:酉为专气,只藏辛。辛透年干(年柱辛亥),月令本气与透干同气,格稳,不变他格。
|
||||
4. **会支变化**:原局无三合三会动月令,格不变。
|
||||
5. **定格**:**伤官格**。
|
||||
6. **外格闸门**:月令自有用神(伤官),且干头有官杀财(亥中甲、壬)可参,不入杂格。
|
||||
|
||||
## 三、成败、用神相神与格局高低
|
||||
|
||||
**伤官逆用,两途**:宜佩印制之,或生财化之(R-伤-01)。
|
||||
|
||||
- 生财一路:财为壬水,仅藏年支亥中,一位、不透,且**与日支无根、被时支巳冲(巳亥冲)**——财弱而受伤,伤官生财「成而不全」,且冬金(秋金)生财本不贵之嫌(借 R-伤-19 之意),故生财一路走不通。
|
||||
- 佩印一路:**丁火正印两透(月干、时干)**,且印有实根——时干丁通根时支巳(巳中丙),月干丁通根日支戌(戌中丁)、又丁长生于酉;伤官辛金当令且透干,伤旺。伤旺、印透而根深,正合 **R-伤-06 伤官佩印** 之格。
|
||||
|
||||
**定局:伤官佩印,成格。** 用神为**丁火正印**(制伤护身),相神即印星自身及帮身之比劫(戌、巳中之戊)。
|
||||
|
||||
**身强弱的判读**:日主戊土生酉月失令(死地),但日坐戌土(比肩通根)、时得巳禄(戊之临官),又得双丁印生——**身不弱,趋中和**。故触 R-伤-06「反要伤官旺、身稍弱」之边界、又不至 R-伤-12「伤轻身重而印绶多见」之破格(伤官不轻,月令+透干);依 16_伤官格.md 补注,作**「成格而降等」**论。
|
||||
|
||||
**带忌**:年支亥中壬偏财暗伏(财坏印之根),亥又与时支巳相冲(巳亥冲,冲动禄、印根与财杀之支)。此为全局之暗礁:**财星一动即坏印**,是断运的关键钥匙。
|
||||
|
||||
**气候参看(R-候-08 戊土八月)**:「金泄身寒,赖丙照暖,喜水滋润,先丙后癸,不必木疏」。命中丙藏巳、丁双透,火暖有根,调候之「丙」基本到位;亥水壬为滋润之源(惜藏而被冲)。调候与格局方向一致(火印为喜),减色处只在财星弱而受伤,成色由秀而中上,**不主大富,主技艺、专业与文书之学**。
|
||||
|
||||
**格局高低(R-纲-13)**:有情(印制伤、印得生根)而非情之至;有力(用相根深)而非力之全。定为**中等偏上**。魁罡日(R-煞-27)主聪敏果断、临事有威;十恶大败日主财来财去、不善积财——两者叠加,是「有本事、能掌事,但钱财聚不住」之象。
|
||||
|
||||
## 四、行运喜忌基线(16_伤官格.md R-伤-23 / 90_行运.md §7)
|
||||
|
||||
**伤官佩印取运:行官煞为宜(官煞生印),印运亦吉,伤食不碍,财地则凶**(R-伤-23)。合命:喜木(官杀,生印)、火(印,帮身制伤)、土(比劫,帮身);忌水(财,坏印破格);金(伤食)不碍亦不助。
|
||||
|
||||
大运逐段(逆行):
|
||||
|
||||
| 大运 | 年龄 | 喜忌判定 |
|
||||
|---|---|---|
|
||||
| 丙申(1972) | 1–11 | 丙印透为喜(调候所需),申为食神泄秀——幼年平顺偏吉 |
|
||||
| 乙未(1982) | 11–21 | 乙正官生印为喜,未土帮身——学业成长之吉运 |
|
||||
| 甲午(1992) | 21–31 | 甲七杀生印 + 午火印刃——**官杀+印双喜,青年最顺**,升学/入职/成长期 |
|
||||
| 癸巳(2002) | 31–41 | 癸正财透本为忌,然戊癸相合、巳火帮身,喜忌相抵——中平,成家立业、财有所积 |
|
||||
| 壬辰(2012) | 41–51 | **壬偏财透干,财坏印之忌运**(R-运-03 伤官佩印而行财运);辰又六合月令酉(辰酉合金)助伤、辰为湿土晦火损印——**十年基调为破财、事业受挫**。本批三题(2016–2019)全落此运 |
|
||||
| 辛卯(2022) | 51–61 | 辛伤官透为忌,卯正官生印、卯戌合火为喜——先抑后扬 |
|
||||
|
||||
**关键**:壬辰运是「财坏印」的败运基调,凡流年再引动财星或助伤,即为滞、为耗、为不顺之应期年。
|
||||
|
||||
## 五、逐题推理
|
||||
|
||||
### 第 1 题(题目问「截至 2018 年的事业状态」)
|
||||
|
||||
**考点**:命主截至 2018 年的职业/事业形态(出身与事业线)。
|
||||
|
||||
**推理链**:
|
||||
- 格局 = 伤官佩印,身中和,财弱而受伤→**不宜大商、难致大富,宜靠技艺/专业/文书立身**;日柱魁罡「临事有威、能自掌事」,十恶大败「财来财去、不擅积财」。
|
||||
- 行运:甲午(21–31)官印双喜,是学艺/入行/上进的十年;癸巳(31–41)财官相抵、巳火帮身,为积财成家阶段;壬辰(2012 起)财坏印忌运,**事业转入下坡**。此即「截至 2018 年」之境:一个有手艺/有一摊事、却在走下坡、被钱所困的人。
|
||||
- 逐项排除:
|
||||
- C「大型机构高级技术顾问」、D「电讯门市销售员」——皆为受薪雇员。但第 2 题四个选项一律以「整年赚不到钱/赚小财/多赚 8 倍/大赚其财」这种**收入年度剧变**的口吻设问,说明命主是**自负盈亏、收入随经营起落**的自营者;受薪顾问与门市销售员无「破产隐忧」可言,与设问口径不合,排除 C、D。
|
||||
- B「艺术家靠绘画赚钱」——伤官固主秀气,但此盘印双透、印亦有实根,气质偏「专业/文书/技术」而非纯艺术,且无纯艺术格之实据,不作首选。
|
||||
- A「小商人,在内地开厂」——自营、收入随经营剧变、有破产之虞,与设问口径及「十恶大败、财来财去」之象最合。
|
||||
- **结论:A**。
|
||||
|
||||
### 第 2 题(题目问 2016 及 2017 年的经历)
|
||||
|
||||
**考点**:2016、2017 两年的经营/财运顺逆,属流年应事回溯。
|
||||
|
||||
**断年核对(依 R-运-34 五步,重查 §7 序、分格取运条 R-伤-23、R-运-29 五组、R-运-31 映射)**:
|
||||
|
||||
**2016 丙申**(大运壬辰,财坏印之忌运背景)
|
||||
- A 透清:流年干**丙**为偏印,命中巳中藏丙,丙透 = **透清喜神**(吉向)。
|
||||
- B 会局:流年支**申** —— 命有酉(月支)、戌(日支),申来则**申酉戌三会西方金局**,伤官成局大旺(忌向,泄身、克官、生财坏印)。
|
||||
- C 刑冲:**巳申刑合**(合则化水为财,又刑动时支),**申亥相害**(害年支财杀之根)。
|
||||
- D 空亡:不涉(辰巳空,申不填)。
|
||||
- E 伏吟反吟:无。
|
||||
- 神煞(query_shensha 实查):丙申逢**驿马**(迁动、外出、场所变更)、**劫煞**(破耗争夺)、**文昌**、福星贵人。
|
||||
- 合成:喜在干(丙印)、忌在支(会金局+刑合),**支之忌得会而动**,且带劫煞破耗、又逢驿马冲动——读作「局面变动、奔波、破耗,进项不聚」。印虚(丙坐申为病地,印无根)不足以制旺伤。
|
||||
- → **2016 事业不顺、整年赚不到钱**。
|
||||
|
||||
**2017 丁酉**(同运)
|
||||
- A 透清:流年干**丁**为正印,命中双丁透、戌藏丁,丁透 = 透清喜神(吉向);且丁通根于流年坐支酉(丁长生酉),**印实有力**。又**丁与运干壬相合**(丁壬合),合绊壬财——**去忌神**(吉向)。
|
||||
- B 会局:流年支**酉**与运支**辰**六合(**辰酉合金**),又与命时支巳半合金——助伤官(忌向)。
|
||||
- C 刑冲:**酉戌相害**(害日支、妻宫)。
|
||||
- D 空亡:不涉。
|
||||
- E 伏吟:酉与月支酉**伏吟**(伤官本气重现)。
|
||||
- 神煞:丁酉逢**灾煞**(小凶),无劫煞。
|
||||
- 合成:天干**印实且合去忌财**(吉向直捷,R-运-19 干动为应),地支伤旺(忌向但只在泄)。吉在干、忌在支而力平——读作「平中见顺、小有进项」。
|
||||
- → **2017 平中见顺,赚得小财**;因 2017 **无劫煞**,作「破产隐忧」的力度依据不足,排除「更不顺、有破产隐忧」。
|
||||
|
||||
- **结论:b**(2016 事业不顺、整年赚不到钱;2017 平中见顺、赚得小财)。
|
||||
|
||||
### 第 3 题(题目问 2019 年的状况)
|
||||
|
||||
**考点**:2019 年事业财运 + 妻/子息应事(得子 vs 流产),多线合一。
|
||||
|
||||
**断年核对(R-运-34 五步)**:
|
||||
|
||||
**2019 己亥**(大运壬辰)
|
||||
- A 透清:流年干**己**为劫财(帮身而分夺财货);命中无己透、亥中有物可牵,透清不显喜神。
|
||||
- B 会局:流年支**亥** —— 与年支亥相**伏吟**(财、杀之支重现),与运支辰无合无会。
|
||||
- C 刑冲:**巳亥相冲**——流年支亥冲时支巳(冲禄、冲印根丙、冲子息宫)。仅此一冲(R-运-29 仅 C 一组,止于年,不下流月)。
|
||||
- D 空亡:时支巳落空亡,亥来冲空之巳(冲空激起)。
|
||||
- E 伏吟:**流年支亥与年支亥伏吟**。
|
||||
- 神煞(实查):己亥逢**天德合**(遇险得解之吉神)、**劫煞**(以日支戌查,见于亥——破耗争夺)。
|
||||
- 方向判别(R-事-11/13,C 组命中先定方向):
|
||||
- **事业线**:干为劫财(分夺)、支为财星伏吟且冲禄坏印——**忌神财动而禄、印受冲**,印为用神,用神受冲刑 → **凶向**(阻滞、破耗)。
|
||||
- **子息线**:子星为官杀之甲木(藏亥)。甲长生于亥,流年亥再来**亥亥伏吟**,**子星得地而增强、且为喜神**(官杀生印);子息宫(时支巳)被冲——依 R-事-13「子星强而得地、为喜用者,冲动多应得子」。且带天德合,逢凶得解。
|
||||
- 合成候选:①事业受阻滞、耗财(劫财+财动+冲禄坏印,且有劫煞)——主候选;②家中添丁(子星得地得喜,冲动子女宫)——次候选;③妻宫(日支戌)未受正冲(酉戌害为轻),妻身安。
|
||||
- 逐项排除:
|
||||
- b/c 皆言「事业顺畅、大赚其财」——与壬辰财坏印忌运基调、劫财夺财、冲禄坏印之向背相反,排除。
|
||||
- c/d 皆言「太太流产兼住院」——需子星受伤被克、子女宫逢冲无解;此处子星甲木得亥长生、又逢亥亥伏吟而增强,且逢天德合解厄,不符,排除。
|
||||
- **结论:a**(事业多有阻滞、耗财不少,但喜得麟儿)。
|
||||
|
||||
---
|
||||
|
||||
## 存疑与边界
|
||||
|
||||
- 第 1 题:伤官佩印「身不弱」处成格降等之边界,档次在「专业/自营」之间;最终以第 2、3 题设问口径(收入随经营剧变、存在破产隐忧)反证为自营小商人,非受薪顾问。判 A 置信度中等。
|
||||
- 第 2 题:2017 顺逆取决于天干印(喜)与地支合金(忌)的权重,此处以「干动为应、去忌财」为主,倾向平中见顺。**低置信**,主要备选为 a(2017 更不顺)。
|
||||
- 第 3 题:2019 子息方向依 R-事-13 以「子星得地、为喜用」断得子;若从「冲子女宫」直取亦可读流产,两向并开,此处取吉向。**低置信**,主要备选为 d。
|
||||
- 未排对照盘(真太阳时距边界 40 分钟、地名境内),无口径分歧。
|
||||
|
||||
---
|
||||
|
||||
Q1: A
|
||||
Q2: B
|
||||
Q3: A
|
||||
@@ -0,0 +1,121 @@
|
||||
# contest8_2021 · male_19770706_P028 求解留档
|
||||
|
||||
## 一、命主信息
|
||||
|
||||
- person_id:male_19770706_P028(题面名「1977年出生男性」)
|
||||
- 性别:男
|
||||
- 出生钟表时间:1977-07-06 13:00(题面 raw:「1977-07-06 未时 台湾出生」)
|
||||
- 出生地:中国台湾(题面 place 原文)
|
||||
- 主盘真太阳时:1977-07-06 13:01(时区 Asia/Taipei,经度+均时差合计修正 +1.87 分;无夏令时)→ 时柱 **辛未**
|
||||
- **排了对照盘**。触发原因有两项同时成立:
|
||||
1. place 为境外/模糊地名(「中国台湾」在触发清单内);
|
||||
2. 主盘真太阳时 13:01 距时辰边界 13:00(午/未交界)仅 **1 分钟**(<15 分钟)。
|
||||
- 对照盘口径:120°E 不经度修正,`--place "中国大陆"` → 真太阳时 1977-07-06 **12:56**(未到 13:00)→ 时柱 **庚午**。
|
||||
- 主盘与对照盘仅时柱不同:主盘 辛未(正官/时支未土财库),对照盘 庚午(七杀/时支午火)。
|
||||
- **答案行以真太阳时主盘为准**;对照盘分歧处正文注明(本题面 raw 已明写「未时」,故主盘辛未为定盘,对照盘仅作品字)。
|
||||
|
||||
## 二、命盘要点(主盘:丁巳 丙午 甲子 辛未)
|
||||
|
||||
- 四柱:年 丁巳(伤官)· 月 丙午(食神)· 日 甲子(日主)· 时 辛未(正官)。
|
||||
- 地支藏干:巳(丙食神·庚七杀·戊偏财)、午(丁伤官·己正财)、子(癸正印)、未(己正财·丁伤官·乙劫财)。
|
||||
- 空亡:日柱、时柱同空戌亥。
|
||||
- 节令:月令午,生于芒种后、小暑前(小暑 1977-07-07 13:47,距出生不足 1 日——月令对记录误差较敏感,但题面已明写未时且月令由日期定,无跨月之虞)。
|
||||
- 神煞(细节层):文昌(巳)、劫煞(巳)、地网(巳)、月德(丙)、太极贵人(午/子)、桃花(午)、红艳(午)、灾煞(午)、福星贵人(子)、将星(子)、月德合(辛)、天乙贵人(未)、童子煞(未)。
|
||||
- 大运(逆行,起运 10.13 岁):乙巳(1987) → 甲辰(1997) → 癸卯(2007) → **壬寅(2017)** → 辛丑(2027) → 庚子(2037)……
|
||||
|
||||
## 三、取格与成败(主盘)
|
||||
|
||||
1. **定月令**:月柱丙午,月令午。午本气丁(甲木之伤官)、中气己(正财)。
|
||||
2. **月令十神分类**:以日干甲对月令本气丁 → **伤官**当令。→ 定格 **伤官格**(R-伤-01)。
|
||||
3. **会支变化(关键)**:年支巳、月支午、时支未 **三会南方火局(巳午未)**,天干丙(食神)、丁(伤官)双透。月令之气尽化为火(R-纲-08 会支变化),食伤极旺。
|
||||
4. **辨身强弱(R-89 参看)**:甲木生午月失令(死位),泄于满盘火;仅日支子水正印贴身、时支未中乙木为微根(且被火局焚弱,子水又被午冲)。→ **身弱**,伤官旺、食伤混杂(丙丁并透)。
|
||||
5. **成败判定**:伤官凶神宜逆用(R-纲-01)——
|
||||
- 财星己土深藏月/时/年支,**不透干**,伤官生财一路(R-伤-03)虽具其质而言不上透清;
|
||||
- 印(子中癸)藏于日支贴身,可作 **伤官佩印** 之形(R-伤-06),且甲木夏月得水正合「夏木逢润、佩印秀百倍」(R-伤-18、R-伤-20)——但印不透干、子水受午冲,根不深,只算 **成而带忌**;
|
||||
- 时干辛金正官被年干丁伤官直克(伤官见官),又被月干丙食神合(丙辛合、火旺不化,为合绊)——官星受伤,属「伤官见官」之忌。
|
||||
- **结论:伤官格,身弱,成中带忌**。以 **子水正印为用神**(生身 + 制伤 + 调候),印为相;忌食伤火(泄身)、财土(耗身党煞)。
|
||||
6. **气候(R-候-04·甲木五月)**:五月甲木「先癸后丁,庚次之」;忌「行运忌火地(木化成灰)、忌西方,惟东方吉、北方次之」。本盘癸水藏子不透且受冲,调候得力有限;喜水润、喜东方木运。
|
||||
7. **格局高低(R-纲-13)**:夏木逢润本为秀气高处,然印根浅、子午相冲、伤官见官——**有情而非情之至、有力而非力之全**,中上之局,凭运而发。
|
||||
|
||||
## 四、行运喜忌(R-运-27 断运四步)
|
||||
|
||||
- 基线(伤官佩印取运,R-伤-23):**行印运(水)吉、比劫运(木)吉;伤食运(火)无碍至泄;财运(土)凶**。
|
||||
- 逐运:
|
||||
- 乙巳(1987-1997):巳火助燥、乙木帮身有限 → 平常偏忌。
|
||||
- 甲辰(1997-2007):甲比肩帮身,辰湿土晦火、且**子辰半合水局**生身 → 转吉,学业/立身之段。
|
||||
- 癸卯(2007-2017):癸正印透(喜)、卯为甲木羊刃帮身、卯未拱木 → **最吉之运**,身转强可任财 → 婚姻、得子、事业成家在此十年。
|
||||
- **壬寅(2017-2027)**:壬偏印透(印运吉,R-伤-23「印运亦吉」)、寅为甲木禄根帮身;寅午半合火局亦助其势。→ 印比齐至、自立有根之运,事业上行/自立门户之机。
|
||||
- 辛丑(2027-):辛正官透(伤官见官之忌再现)、丑湿土晦火略解燥 → 平中带警。
|
||||
|
||||
## 五、逐题推理
|
||||
|
||||
### 第 1 题(Q16 个性特征)
|
||||
- 考点:性情(R-93 参看层,叠加于格局之后)。
|
||||
- 推理链:甲木日主,满盘火(巳午未三会),木尽泄于火、无金水相济——正合 **「木奔南而软怯」**(R-性-05):「其性软怯……发泄太过者聪明自恃、多迁变不常,成姑息繁缛之仁;木尽泄于火而无水金相济者……作事狐疑少决断」。伤官旺(秀气)主想法多、才华外露,而身弱无强根(子水受冲、木被火焚)主落不到实处——**想法多而不切实际、爱做白日梦**。
|
||||
- 排除:孤僻(A)与「木奔南」之软怯不合,且命带桃花红艳、伤官外向;中规中矩(C)与伤官不受拘束之性格相反;火爆生事(D)属火日主「火烈性燥」之象(R-性-03),本盘日主为木非火,火为泄神非日主本色,R-性-05 明言木奔南为「软怯」而非刚暴。
|
||||
- **取 B**。
|
||||
|
||||
### 第 2 题(Q17 曾做过什么工作)
|
||||
- 考点:职业事类(十神×宫位×五行取象,R-运-31)。
|
||||
- 推理链:伤官当令(伤官>食神,业务/推销/才艺型输出),官星被伤合 → 不宜体制内固定公职;财星己土(正财)藏支——靠自身口才与专业输出取财(伤官生财)。火旺为「快节奏、投机、口才、服务」之象,财随火生。取象落于 **金融/证券之营业销售**(伤官口才 + 财 + 火之快动),非会计(需印之文书细致,本盘印弱不透)。
|
||||
- 与第 3 题互证:第 3 题「创业开证券公司」之选项与本格伤官生财、且命主本业在证券一线相衔(证券营业员 → 创业证券公司),叙事一致。
|
||||
- 排除:会计(B,印弱不透,文书项非所长);厨师(C,食神主厨,然本盘伤官当令、伤官为主非食神);房屋仲介(D,土财之固定不动产象,较证券稍次——保留为备选)。
|
||||
- **取 A**(低置信,D 为备选)。
|
||||
|
||||
### 第 3 题(Q18 2017 年起壬寅大运工作变化)
|
||||
- 考点:大运引动之事业变化(R-运-27~32)。
|
||||
- 推理链:壬寅入运(2017 交运)。
|
||||
- 运干壬水偏印透 → 印运,伤官佩印「印运亦吉」(R-伤-23),帮身制伤,为 **喜**;
|
||||
- 运支寅为甲木之禄(本气根)→ 印比齐来,身弱转强、自立有根;
|
||||
- 寅与月支午半合火局,才华动力再盛。
|
||||
- 身弱伤官格得印比之运 = 有实力自开门户、事业扩张之期。伤官格本性独立进取(不受拘束、创业精神),壬寅印比之运给足底气 → **创业/自立门户**。
|
||||
- 排除:公职人员(A,官弱且伤官见官,不宜体制);学校老师(B,印弱且非本命主线);盖庙当庙公(D,偏印枭神兼命带童子煞虽带宗教缘,然伤官旺者主世俗进取、奉势趋利——R-性-14「浊则刚猛……奉势趋利」,与遁入庙务之象相左;降为备选)。
|
||||
- **取 C**(低置信,D 为备选)。
|
||||
|
||||
### 第 4 题(Q19 那一年结婚、几个小孩)
|
||||
- 考点:婚姻应期 + 子息数(R-96 六亲,叠加于格局之后)。
|
||||
- 推理链:
|
||||
- 妻宫 = 日支子(正印),妻星 = 财(己土正财,R-亲-02「正财为妻」),深藏月/时/年支不透(财星深伏,R-亲-27 宜引动);
|
||||
- 妻宫子水被月支午冲(子午冲)——妻宫动荡,然印为身弱之喜用,算「妻宫有用而坐下刑冲」,主得妻而防波折(R-亲-12);
|
||||
- 命带童子煞(时支未)主婚缘迟滞 → 婚姻多不宜太早(排除 2004 甲申 27 岁之选项 A,且 2004 甲申天干甲为比肩争妻);
|
||||
- 大运 **癸卯(2007-2017)**:癸正印透、卯为甲木羊刃帮身、卯未拱木 → 身转强可任财,**婚姻、育子之窗口在此十年**;
|
||||
- 应期年比对五组引动(R-运-29):
|
||||
- **2009 己丑**:己为正财透干(正财为妻,妻星明现,A 组透清)+ 丑与日支子相合(婚姻宫合动,解子午之冲)+ 丑冲时支未(子女宫被引动)+ 丑为日干甲之天乙贵人(贵人临门之喜)→ **多重引动、且正向**;
|
||||
- 2008 戊子:戊偏财透 + 子伏吟日支(E 组),信号较弱、偏财主偏。
|
||||
- 子息:男命以官煞为子星(R-亲-02),时干辛(正官)被丁伤官直克、又逢丙辛合绊 → 时干子星受伤破局(R-亲-18「时干不好、子透破局……难为子息」)→ **子息不多,一个**。
|
||||
- **取 C**(2009 年己丑年,一个小孩)。
|
||||
|
||||
### 第 5 题(Q20 健康如何)
|
||||
- 考点:健康(R-93 疾病篇参看层)。
|
||||
- 推理链:
|
||||
- 全局火炎土燥(巳午未三会火局 + 丙丁双透),日主甲木被泄被焚——「火多主痰」(R-性-38),木属风、火旺焚木成风痰;
|
||||
- 用神/调候神为子水(癸,夏木之润),然子水**既被午冲、又与未相穿(子未害)**,又受满盘火土熬逼——**阳亢阴弱**(R-性-33「火旺水涸」之火颠倒相克);
|
||||
- 五行配脏:水主肾与脑(肾生髓通脑),甲木主头、肝胆、神经。子水受穿受冲、木被火焚 → 病位落于 **水(脑/肾系)与木(头)**,与选项「子水受穿,阳亢阴弱,头部有颗小肿瘤」之病机一一对应;
|
||||
- 命带灾煞(午)、童子煞(未)亦主多灾病之细节参看。
|
||||
- 排除:A「火旺心脏有问题」——火虽旺,然日主为木,火为泄神而非日主本色,病机落点在受冲受伤之 **子水与甲木(头)**,非以火直断心脏;B「辛金克身、丙辛合、精神有问题」——辛官被合克属实,然官非病神主线;D「一生无病痛」与火炎土燥、用神受冲之象显然相悖。
|
||||
- **取 C**(中低置信)。
|
||||
|
||||
## 六、对照盘(120°E 无经度修正,真太阳时 12:56 → 时柱庚午)分歧说明
|
||||
|
||||
- 对照盘四柱:丁巳 丙午 甲子 庚午(时干庚七杀、时支午)。差异:火更旺(巳午午)、时干由辛正官变庚七杀、时支未土消失。
|
||||
- 逐题影响:
|
||||
- 第 1 题:同 B(火更旺仍主泄气太过、木奔南软怯)。
|
||||
- 第 2 题:庚煞透干,或可参「伤官用煞」取武职/纪律性行业,取象游移,主盘仍取 A。
|
||||
- 第 3 题:壬寅大运同,仍 C。
|
||||
- 第 4 题:对照盘时支午(庚金沐浴=二子常数),子息数或作二;婚姻应期年份不变(正财透仍在 2009 己丑)——然题面 raw 明写「未时」,主盘辛未为准,仍取 C。
|
||||
- 第 5 题:对照盘无未支 → 「子未相穿」不成立,唯余子午冲,选项 C 之前提「子水受穿」落空,对照盘倾向于 A;**主盘为准,仍取 C**。
|
||||
- 结论:以真太阳时主盘(辛未)为准作答;对照盘仅第 5 题(及第 4 题子息数)有实质分歧,已如上注明。
|
||||
|
||||
## 七、存疑与边界
|
||||
|
||||
- 本盘时柱正处午/未交界(真太阳时 13:01),题面 raw 明写「未时」,故定辛未主盘;对照盘庚午并陈备核。
|
||||
- 伤官佩印之印(子水)不透干且受冲,成格之力打折,属「成而带忌」,格局中上;若印得生扶(水运)则秀气大显。
|
||||
- 第 2、3 题为取象类(职业/事业),伤官格身弱火旺之主流取象为「业务/技艺/自立创业」,选项之间存游移,已标低置信并留备选;第 5 题为主盘病机最贴合之项,亦标中低置信。
|
||||
|
||||
---
|
||||
|
||||
Q1: B
|
||||
Q2: A
|
||||
Q3: C
|
||||
Q4: C
|
||||
Q5: C
|
||||
@@ -0,0 +1,133 @@
|
||||
# contest8_2021 · male_19831019_P026 解答
|
||||
|
||||
## 一、命主信息
|
||||
|
||||
- person_id:male_19831019_P026(1983 年出生男性)
|
||||
- 性别:男
|
||||
- 出生钟表时间:1983-10-19 09:58(Asia/Singapore,该时区当无夏令时)
|
||||
- 出生地:新加坡(境外地名)
|
||||
- 真太阳时(主盘):1983-10-19 09:08(经度修正 −64.60 分 / 均时差 +15.11 分 / 合计 −49.49 分)
|
||||
- 排盘结果:四柱 癸亥 壬戌 庚辰 辛巳(起运 3 岁 4 个月,逆行)
|
||||
- **对照盘:已排。触发两条**:① 出生地「新加坡」属境外地名;② 主盘真太阳时 09:08 距时辰边界(巳时起点 09:00)仅 8 分钟,小于 15 分钟。
|
||||
对照盘口径 `--place "中国大陆"`(副本解析为 120.16E / Asia/Shanghai,钟表时=真太阳时)→ 真太阳时 1983-10-19 10:13。
|
||||
**对照盘四柱与主盘完全相同(癸亥 壬戌 庚辰 辛巳),仅起运微差(3.39 vs 3.41 岁),四柱与大运干支一律相同**——两盘无口径分歧,下列各题结论两盘一致,无需分歧标注。
|
||||
|
||||
> 排盘命令:`ZIPEC_EVAL=1 python scripts/cast_chart.py --name male_19831019_P026 --gender 男 --birth "1983-10-19 09:58" --place "新加坡"`(及 `--place "中国大陆"`);两次退出码均 0,无异常。
|
||||
|
||||
---
|
||||
|
||||
## 二、命盘要点
|
||||
|
||||
```
|
||||
年 月 日 时
|
||||
天干 癸 壬 庚 辛
|
||||
伤官 食神 日主 劫财
|
||||
地支 亥 戌 辰 巳
|
||||
食神 偏印 偏印 七杀
|
||||
藏干 壬甲 戊辛丁 戊乙癸 丙庚戊
|
||||
```
|
||||
|
||||
- 十神分布:日主庚金,月令戌(本气戊土=偏印),透干壬(食神,月)、癸(伤官,年)、辛(劫财,时)。
|
||||
- 五行:土(戌辰+巳戊,印)最重且当令;水(壬癸亥+辰癸,食伤)次重而流通;金(庚辛+戌辛巳庚,日主与比劫)得印生而旺;火(戌丁+巳丙,官煞)极弱而藏;木(亥甲+辰乙,财)弱而藏。
|
||||
- 显著结构:辰戌冲(月日相冲,妻宫被冲);庚辰日=魁罡、十恶大败日;月支戌为红艳+金舆;时支巳为驿马+劫煞+地网;年支亥为亡神+文昌+太极贵人;年柱纳音大海水命,辰巳为地网。
|
||||
- 节令:生于寒露后、立冬前,戌月戊土司令。
|
||||
|
||||
---
|
||||
|
||||
## 三、取格(依《子平真诠》月令取格六步)
|
||||
|
||||
1. 定月令:戌;藏干戊(本气)、辛、丁。
|
||||
2. 月令十神:日干庚对戌本气戊土=偏印 → **印绶格**(正偏同格)。
|
||||
3. 藏干变化:戌本气戊不透;余气仅辛透(时干劫财),辛为劫财、非可用之「用神」型。本气戊土当令且通根辰、巳,**本气有力**,依总纲「本气当令有力者仍主格」——**格定印绶,不随透干变**。
|
||||
4. 会支变化:无三合三会改格。
|
||||
5. 定格:**印绶格**(月令戌藏戊印当令,本气主格)。
|
||||
6. 外格闸门:月令自有用神(印),不转杂格。
|
||||
|
||||
## 四、成败 · 用神相神 · 格局高低
|
||||
|
||||
- **成格路径(印格用伤食泄秀,R-印-05)**:月令为印,四柱透壬(食神)癸(伤官)且通根亥、辰,身强印旺(土印重、金得生而旺),以伤食泄身之秀气——「身强印旺,恐其太过,泄身以为秀气」,**成格**。
|
||||
- **用神**:食伤(壬癸水)。**相神**:食伤之根(亥、辰水库),水得禄得库,用相不孤。
|
||||
- **官煞不取**:官(丁)煞(丙)皆藏不透,无官印相生、无煞印相生之路可走;财(甲乙)藏弱,亦非主干。
|
||||
- **高低(有情/有力)**:印水相涵成「金白水清」之秀,用相有力(水通根亥禄辰库,金连续生水),此为「有情兼有力」,得中上之局。气候参看(调候):庚金生九月(戌月)「戊土司令,最怕土厚埋金,宜先用甲疏、后用壬洗」——本盘壬水透干淘洗庚金(得用),甲木藏亥疏土(欠透),调候大体得半。失分处:辰戌冲(两印相冲,印被激动)、土厚有埋金之嫌,故格成而有带忌之象。
|
||||
- 结论:**印格用伤食泄秀,成格、有情有力而带辰戌冲之忌**——秀气外显、聪明有专业之象,然根基带冲、起伏较大。
|
||||
|
||||
## 五、行运(依 R-运-27 四步、R-印-21/24 取运条)
|
||||
|
||||
喜忌基线(印格用伤食,R-印-21):**喜财(木,疏土坏印去太过)、喜食伤(水,泄秀);忌印(土,尤己土浊壬);行官运反见其灾;煞运反能为福**。
|
||||
|
||||
- 辛酉(3.39–13.39 岁,1986–1995):劫财+羊刃(酉),酉为日柱空亡支。金旺生水,通泄秀之路,早年平顺。
|
||||
- 庚申(13.39–23.39,1996–2005):比肩+禄(申,亦为空亡支)。比劫助身生水,读书成长期平稳。
|
||||
- **己未(23.39–33.39,2006–2015):正印+印,己土浊壬、印重助太过——忌运**。(2011 年落此运)
|
||||
- **戊午(33.39–43.39,2016–2025):偏印(忌)+午火正官(R-印-21「行官运反见其灾」)——印官并忌**。(二婚、生子诸年落此运)
|
||||
- 丁巳(43.39–53.39,2026–2035):丁正官(忌)+巳七杀(煞运「反能为福」,且巳为驿马、丙煞得禄)。
|
||||
- 丙辰(53.39–63.39,2036–2045):丙七杀+辰印。
|
||||
- 乙卯 / 甲寅(63.39 岁起,2046– ):财运,喜运,晚景得地。
|
||||
|
||||
总势:早年金水运平稳,中年(23–53 岁)印官印煞为忌、起伏与阻滞较多,须待木财运(63 岁后)方为得力——属**先用神被印混、晚运行财而转顺**之格局。
|
||||
|
||||
---
|
||||
|
||||
## 六、逐题推理
|
||||
|
||||
### 第 1 题(P026-Q6)命主目前的职业 — 选项 A 贸易生意 / B 电脑技术人员 / C 偏门放高利贷 / D 无工作靠父亲
|
||||
|
||||
- **考点**:以格局用神与十神主导定职业领域(「对事」取象参 R-运-31、91_何知事类)。
|
||||
- **推理链**:本盘用神为食伤(壬癸水),日主庚金,金水相涵、印(辰戌土)为平台学历。食伤=专业技能、技艺输出;庚金=金属/器械/逻辑;水=流通/运算。金水食伤+印格专业 → 技术专业型。财星(甲乙木)藏而弱、无根,食伤生财之路不畅,不宜纯经商;官煞(火)藏弱,无官贵平台可倚。2021 年(38 岁)行戊午运(印+官),为受雇于单位、倚专业立身之象。
|
||||
- **排除**:A 贸易生意——财星(甲乙木)藏于亥、辰而不透且弱,食伤生财无根,与「食伤生财、财通门户」之富局不合,主财源不稳,列次;C 偏门放高利贷——本盘成格(印格用伤食、有情有力),非破格贫贱之局,劫财虽透尚不足成偏门主业;D 无工作靠父亲——印旺身强、成格有专业之气,非破格仰食之象。
|
||||
- **取**:**B 电脑技术人员**(置信度中低——A 有食伤生财之支线)。
|
||||
|
||||
### 第 2 题(P026-Q7)已离婚,第二婚年份 — 2017 / 2018 / 2019 / 2020
|
||||
|
||||
- **考点**:男命婚姻应期,依妻宫(日支)与妻星(财)之引动(R-女-24 三途、R-事-13 婚姻宫、96_六亲)。
|
||||
- **推理链**:
|
||||
- 婚姻底色:日支辰=妻宫,辰中藏乙木正财(妻星藏于妻宫)。**印格妻宫坐财,印格逢之反为不美(R-亲-06)**;又**原局辰戌冲,妻宫逢冲,主得美妻而难偕老(R-亲-12)**——两条并见,正是「已离婚」之硬信号。
|
||||
- 应期:再婚属「婚缘之成」,R-女-24 以「妻宫逢合会」或「妻星引动」为期。合妻宫之年:2017 丁酉(辰酉六合)、2020 庚子(子辰半合);妻星引动之年:2019 己亥(亥中甲木偏财长生成地)。
|
||||
- 逐年核(R-运-29 五组):2017 酉=辰酉合妻宫,然酉为日柱空亡支且逢羊刃、灾煞(桃花带刃),合而化金(比劫),主感情激烈而争夺、空动,宜离婚动荡而非结缡;2018 戊戌=辰戌再冲,激动的正是妻宫,为**冲而主婚变**之年,不作成婚看;2019 己亥=亥中甲木(妻星/偏财)得长生,妻星引动,合「婚缘之成」之理,然己土印透、亡神并在,属平中带杂;2020 庚子=子辰半合(引动妻宫成水局)+子为咸池桃花(R-煞-07 感情萌动),合而化用神(水),为诸年中「感情萌动、合动妻宫」最清者。
|
||||
- **排除**:2017(合而带刃煞、空亡,主动荡)次之;2018(辰戌冲妻宫,主婚变向)为离婚之象而非再婚;2020(桃花合妻宫亦强)。三者与 2019 竞争。
|
||||
- **取**:**C 2019**(置信度低——2017/2020 各有合妻宫之力,主要分歧在此三选一)。
|
||||
|
||||
### 第 3 题(P026-Q8)目前一个孩子的出生年 — 2018 / 2019 / 2020 / 2021
|
||||
|
||||
- **考点**:男命子息之应期(R-亲-28/32、子女宫时柱、R-事-13 子女宫受冲)。
|
||||
- **推理链**:男命子星,《子平真诠》取官煞(R-亲-02),本库骨架仍以真诠为准;然本盘官煞(丙丁火)藏弱不透,依《滴天髓》「用神即子星」之法(R-亲-32),**用神为水(食伤),则子必于水之运年得之**。本运为戊午(官煞在支),流年中水旺者为 2019 己亥(亥=壬水食神之禄、癸水之乡,且**时支巳为子女宫,己亥流年巳亥相冲——子女宫受冲,子星得地则主得子**,R-事-13)、2020 庚子(子=癸水帝旺、伤官极旺,且子辰半合水局)。2018 戊戌为火土(午戌半合火局,官煞之应却有辰戌冲、印重浊壬),2021 辛丑为湿土金库,水气皆不如亥、子之旺。
|
||||
- **排除**:2018(火土+辰戌冲,水弱)次;2019(亥,水旺、子女宫受冲,强力候选);2021(丑土,水弱)次。
|
||||
- **取**:**C 2020**(用神水帝旺、子辰半合水局,得子之象最旺;置信度低——与 2019 相去一线)。
|
||||
|
||||
### 第 4 题(P026-Q9)2011 年发生的事 — A 象棋冠军 / B 犯法被抓坐牢 / C 脚受伤骨折 / D 小横财
|
||||
|
||||
- **考点**:流年吉凶方向与事类落地(R-运-29 五组、R-运-31/32、91 何知 §3 冲刑方向)。
|
||||
- **推理链**:2011 辛卯,行己未印运(忌,己土浊壬)。按五组核:
|
||||
- A 透清:流年干辛=月支戌中所藏(戌藏戊辛丁),**戌中辛透清于流年干**,劫财引动 → 争夺、分夺(R-运-22)。
|
||||
- B 会局:流年卯与大运未半合木,又年支亥与卯拱木——财(木)得局,然卯亦与月支戌相合(卯戌合)、与日支辰相害(卯辰害)。
|
||||
- C 刑冲:**卯辰相害**,害及日支妻宫/贴身处;R-事-11 方向——卯为财(在本盘印重之局,财疏土坏印为喜用方向)。
|
||||
- 组合读象:一「辛劫财透清夺财」+二「卯木(正财、亦主筋骨四肢)被庚辛金克、被戌合、被辰害」——财与木俱受克夺。卯木属木、主筋(四肢);金旺克木,木被激而伤,主**肢体/筋骨之伤**(《滴天髓》疾病层:「金行木地胆灾」「五行颠倒相克」——金旺克木,木主筋与手足);劫财夺财虽在,但「得财」与劫财夺财正相背,小横财之象不真(且卯为正财非偏财,横财当属偏财)。己未忌运、无强力吉神护木。
|
||||
- 二德旁参:2011 逢天德合、月德合(R-煞-05),吉神旁参仅主「凶中有解、得宽宥」,不主大吉;将星(岁运逢)主竞争掌事——不足以独撑「象棋冠军」之断(且文昌、华盖未引动,学业技艺之神未应)。
|
||||
- **排除**:A 象棋冠军——文昌/华盖未引动、仅凭将星与二德支撑,证据薄;B 犯法坐牢——本盘虽有魁罡破(辰戌冲)、地网等牢狱色彩之簇,然 2011 流年未冲动魁罡(戌辰),且二德在(凶有解),落点不如「金木相战伤木」直接;D 小横财——卯为正财、非横财,且劫财透清正主夺财,与「得财」相背。
|
||||
- **取**:**C 脚受伤骨折**(金旺克卯木、卯被合被害、木主筋与四肢;置信度低到中低)。
|
||||
|
||||
### 第 5 题(P026-Q10)性格外表 — A 斯文有礼爱穿名牌 / B 忠厚老实不爱打扮 / C 粗鲁无礼满身纹身 / D 沉默少话皮肤白净
|
||||
|
||||
- **考点**:性情外表之细节参看(93_性情,格局定论之后叠加,不回改格局)。
|
||||
- **推理链**:
|
||||
- 五行气势:日主庚金,金水相涵(壬癸亥透通根),印(辰戌土)重。
|
||||
- **金见水以流通(R-性-06)**:日主为金,金旺遇水为「得气之正」——**内方外圆,能知权变,处世不伤廉惠,行藏自合中庸**。「处世不伤廉惠」即得体有礼之象 → 斯文有礼。
|
||||
- 神煞旁参:月支戌为**红艳**(庚见戌,主风情魅力和异性缘重、好修饰)+**金舆**(庚见戌,禄命之车,主安泰福德、一生清泰)——二者并见,主重仪表、爱华美之物 → 爱穿名牌(此二煞为命带,非流年仅逢)。
|
||||
- 武职/刚烈之面:庚金阳金、日柱魁罡(庚辰)本主刚果有威,然金水流通、印重涵养,其刚不显于外,不作粗鲁论。
|
||||
- **排除**:B 忠厚老实不爱打扮——印重或主内敛质朴,然月支红艳、金舆并见,与「不爱打扮」相抵;C 粗鲁无礼满身纹身——无伤官见血刃、无羊刃劫煞会凶之局(原局刑冲止于辰戌之冲),庚金正直不当此断;D 沉默少话皮肤白净——金水固主肤白,然庚金刚直、食伤透而流通(R-性-06 明主「能知权变、处世得体」),「沉默少话」与流通之性不合,且 D 两项在规则层无直接支撑,较 A 为弱。
|
||||
- **取**:**A 斯文有礼,爱穿名牌**(R-性-06 金水流通+红艳金舆二煞并见;置信度中低——D 之「皮肤白净」亦有金水之据)。
|
||||
|
||||
---
|
||||
|
||||
## 七、存疑与边界声明
|
||||
|
||||
- 双盘同柱,无口径分歧。
|
||||
- 本盘月令无节气边界提示、无晚子时提示。
|
||||
- 性情、神煞、婚姻应期、流年事类诸断,属 93/94/96/91 之细节参看层,只叠加于格局之后,不断必然;第 2、3、4 题因应期跨多个相邻年份、候选互有竞争,置信度偏低。
|
||||
|
||||
## 八、答案
|
||||
|
||||
Q1: B
|
||||
Q2: C
|
||||
Q3: C
|
||||
Q4: C
|
||||
Q5: A
|
||||
@@ -0,0 +1,148 @@
|
||||
# contest8_2022 · female_19771026_P020 盲测求解
|
||||
|
||||
## 一、命主信息
|
||||
|
||||
- person_id:female_19771026_P020(1977 年出生女性)
|
||||
- 性别:女
|
||||
- 出生钟表时间:1977-10-26 11:10(当地钟表时)
|
||||
- 出生地:马来西亚(题面 place 原文)
|
||||
- **真太阳时(主盘)**:1977-10-26 10:42(经度修正 −73.24 分 / 均时差 +16.07 分)
|
||||
- 对照盘真太阳时:1977-10-26 11:26(120°E 不经度修正)
|
||||
- current_year(赛事元数据):2022
|
||||
|
||||
### 是否排对照盘及原因
|
||||
|
||||
**排了对照盘。** 触发条件为「place 为境外/模糊地名」——出生地「马来西亚」属境外,命中双盘纪律第 2 条,故另排一盘 `--place "中国大陆"`(副本解析为杭州代理 120.16E / Asia/Shanghai,UTC+8 钟表时≈真太阳时)。
|
||||
|
||||
(另一条件「真太阳时距时辰边界 < 15 分钟」未触发:主盘 10:42 距巳时上界 11:00 为 18 分钟 > 15。)
|
||||
|
||||
两盘差异集中在**时柱**(其余三柱全同):
|
||||
|
||||
| | 年 | 月 | 日 | 时 |
|
||||
|---|---|---|---|---|
|
||||
| 真太阳时主盘(10:42) | 丁巳 | 庚戌 | 丙辰 | **癸巳**(正官) |
|
||||
| 对照盘 120°E(11:26) | 丁巳 | 庚戌 | 丙辰 | **甲午**(偏印/枭,坐丙刃) |
|
||||
|
||||
主盘时干支 10:42 落巳时(09:00–11:00);对照盘 11:26 落午时(11:00–13:00)。**答案行以真太阳时主盘为准。**
|
||||
|
||||
## 二、命盘要点(真太阳时主盘)
|
||||
|
||||
- 四柱:丁巳 / 庚戌 / 丙辰 / 癸巳;日主丙火,月令戌(寒露后、立冬前)。
|
||||
- 双方:丙火两临官于年支、时支巳(禄神两见),年干透丁劫财帮身 → **日主通根强,身旺**。
|
||||
- 财:庚偏财透月干,根于年/时两巳(巳藏庚),月支戌藏辛正财 → **财旺而有根**。
|
||||
- 官:癸正官透时干,通根日支辰(辰藏癸) → **官清而有根**。
|
||||
- 食伤:月令戌本气戊土(食神)当令,日支辰藏戊、巳中亦藏戊 → **食伤旺**。
|
||||
- 印:仅日支辰藏乙木正印,天干不透 → 印弱。
|
||||
- 空亡:日柱空亡子丑;时柱空亡午未。
|
||||
- 神煞(细节层参看,不入格局):年/时支巳见禄神、劫煞、地网;日支辰见华盖、寡宿、童子煞。
|
||||
|
||||
## 三、取格(依 00_总纲 六步)
|
||||
|
||||
1. **定月令**:月柱庚戌,月令戌。
|
||||
2. **月令十神**:日干丙对月令戌本气戊 → 丙生戊、同为阳 → **戊土=食神** → 定格食神。
|
||||
3. **藏干变化(戌为墓库月)**:戌藏戊(食)、辛(正财)、丁(劫财)。本气戊不透;透丁于年干(劫财)。丁火生戊土(透干生本气),本气戊当令有力 → **本气仍主格,丁为帮(生食神),变而不失本格**。
|
||||
4. **会支变化**:支见巳、戌、辰、巳,无三合/三会引动戌气 → 不变格。
|
||||
5. **定格**:**食神格**(吉神,顺用)。
|
||||
6. **杂格闸门**:月令自有用神(食神),不从化、不无用 → 不入杂格。
|
||||
|
||||
**格之成败**(14_食神格):
|
||||
- 月令食神、庚偏财透干有根、身强食旺 → 命中 R-食-02「食神生财,大贵之格」之成格框架。
|
||||
- 时透癸正官 → 触 R-食-10「食神忌官」(此局非金水食神,无 R-食-15 之免)。此为**带忌**:官星混于食神局中,财官虽相生(庚生癸),终究于食神之纯为杂。
|
||||
- 年干丁劫财与月干庚财相邻相克(丁克庚),带**劫夺财**之象(R-财-20 忌「财露无官,比劫劫夺」);所幸时干癸官可制丁劫、护财(R-财-03 财旺生官则露不忌之理)。
|
||||
|
||||
**用神与相神**:
|
||||
- 用神=月令食神(戊土);相神=财(庚辛,食神生财,缺财则食神无出路)。
|
||||
- 喜:财(食神生财)、身旺(食有气)、比劫帮身(财食俱重时)。
|
||||
- 忌:官(R-食-10,惟此局官兼护财制劫,忌中带用);枭印夺食(R-食-09,主盘无枭,对照盘有)。
|
||||
|
||||
**格局高低**:食神生财而财透有根、身食两旺,**有情**;财得官护、官得财生,财官一路相生成流——**有力**。故格不低(财禄之格),惟食神同官并见减其清、兼婚姻宫(日支辰)受月支戌冲,主财上顺、婚上波。
|
||||
|
||||
**气候(92_调候参看)**:丙生九月,「火气愈退、所忌土晦光,先用甲木、次取壬水」。全局土旺(戌辰巳皆藏戊)晦火,天干无甲、无壬(仅癸),**气候偏失**——谋事多需借运(甲/乙木疏土、壬癸润)补之。
|
||||
|
||||
## 四、行运
|
||||
|
||||
大运:辛亥(1981,4 岁)→ 壬子(1991)→ 癸丑(2001)→ 甲寅(2011)→ 乙卯(2021)→ 丙辰(2031)。
|
||||
|
||||
- **癸丑运(2001–2011,24–34 岁)**:癸正官透运干——女命夫星(癸)透清,正婚姻之期;丑带伤官/财,且丑与日柱空亡(子丑)同支、又与月支戌相刑。
|
||||
- **甲寅运(2011–2021,34–44 岁)**:甲偏印(枭)透,泄官(水生木)而克食(木克土);寅为原局日支辰所推之**驿马**(申子辰马在寅)——此十年为**驿马之运**,迁动、奔波、外移之象主调;寅又与原局巳起寅巳刑。
|
||||
- **乙卯运(2021–2031,44–54 岁)**:乙正印(非枭)+卯木,疏土生火,利于文书、平台、安稳;卯与柱中戌有卯戌之合。
|
||||
|
||||
行运断法按 90_行运 §7(先运后年、先大局后流年)+ §8 事类落地、§9 断年核对回路执行。
|
||||
|
||||
## 五、逐题推理(主盘)
|
||||
|
||||
### 第 1 题(P020-Q16)命主现在的职业(2022 年)
|
||||
|
||||
- 考点:以格局十神定职业倾向。
|
||||
- 推理链:食神格为格之主轴,用神食神、相神财,财旺(庚透+巳中两庚+戌辛)而身旺能任财——**食神生财**之人的职业落点在「有财可经营」的金商业;食神主表达/技艺/服务,官透为夫星兼职务。
|
||||
- 逐项:家庭主妇(A)与身旺财旺食伤旺之「有力任财」结构不符;秘书(B)需官印为主而本命印弱(仅辰中乙),不符;公关行业(D)偏食伤+官之人脉社交,然本命财星独重(财三见),职业重心在财;**自己做生意(C)**最契食神生财、财旺身旺之局。
|
||||
- 结论:**C**(低置信——C 与 D 均属食伤类职业,界限不硬)。
|
||||
|
||||
### 第 2 题(P020-Q17)2008 年发生何事
|
||||
|
||||
- 考点:婚姻应期(女命夫星/夫宫引动)。
|
||||
- 大运背景:癸丑运(2001–2011)癸正官透运,夫星透清之十年,为婚姻平台期。
|
||||
- 2008 戊子(按 R-运-34 五步核对):
|
||||
- A 透清:戊为月令戌中食神之透清(食神透)。
|
||||
- B 会局:子与日支辰半合水,引动辰中癸官(夫星/夫宫)——**夫宫逢会**(R-女-24 婚缘之成之途)。
|
||||
- C 刑冲:无。
|
||||
- D 空亡:子正是日柱空亡(子丑)之支,流年填实/伏象被激起。
|
||||
- E 伏吟反吟:无。
|
||||
- 另:子为癸(正官/夫星)之禄地,夫星得禄。
|
||||
- 合成:夫宫(辰)逢子辰半合而引动、夫星(癸)又得禄于子,双重婚姻引动;候选中「签字结婚」为最贴合(余项换工作/开公司/车祸均无相应强引动)。
|
||||
- 结论:**A 签字结婚**(中置信)。对照盘(时干甲、官藏辰)此年子辰半合水与子为癸禄之引动依旧成立,两盘同断。
|
||||
|
||||
### 第 3 题(P020-Q18)离婚何时(2010/2013/2016/2018)
|
||||
|
||||
- 考点:婚姻之变应期(夫宫受冲、夫星被伤/合)。
|
||||
- 结构前提:原局**月支戌冲日支辰**——夫宫本已受冲(R-女-19 得良夫而难偕老),故离婚为本命潜势,只待岁运再引。
|
||||
- 逐年核(R-运-29 五组,皆甲寅运内):
|
||||
- 2013 癸巳:夫星癸透清(伏吟时柱)+寅巳刑——夫星被「引」而未「伤」,属引动非刑伤,偏婚姻事件/夫之起伏,非离婚首选。
|
||||
- 2016 丙申:申辰半合水引动夫宫+申中壬七煞现(官煞混杂之象)+寅申冲——夫宫被会、夫星受混杂。
|
||||
- **2018 戊戌**:戌与日支辰**辰戌冲**(二戌冲辰,夫宫被冲破)+流年干戊合时干癸(**戊癸合,夫星被合去**,R-女-09 夫不亲妻)+戊食神透克癸官(食伤克夫星)。**三重新引动叠加于夫宫与夫星**。
|
||||
- 合成:2018 同时命中「夫宫逢冲而无合解」(R-女-24 婚缘之变)+「夫星被合去」+「食伤克官」——三线归一,离婚应期最著。
|
||||
- 结论:**D 2018**(中置信)。对照盘 2018 辰戌冲夫宫依旧(无癸透则戊癸合不成立,但辰戌冲足以断婚变),两盘同断。
|
||||
|
||||
### 第 4 题(P020-Q19)2016 年发生何事
|
||||
|
||||
- 考点:流年事类落地(R-运-31/32)。
|
||||
- 大运背景:甲寅运为**驿马运**(原局申子辰马在寅)。
|
||||
- 2016 丙申(五步核对):
|
||||
- A 透清:丙为比肩(巳中丙透清)。
|
||||
- B 会局:申与日支辰半合水(引动夫宫/夫星);申与时支巳相合(巳申合)。
|
||||
- C 刑冲:**申冲大运寅——冲的正是驿马**;R-煞-06「流年支再冲马者,动象尤急」。
|
||||
- D 空亡:无。
|
||||
- E 伏吟反吟:无。
|
||||
- 神煞(细节层):丙申年逢孤辰、亡神、勾煞、文昌、天德月德。
|
||||
- 合成:「驿马被冲而急动」为一等一之信号,指向迁移、外移、出境之事;候选中「移民外国」最配(驿马冲=不安其居、远迁),次为因财(申为庚财临官之禄,偏财得禄)。
|
||||
- 结论:**C 移民外国**(低置信——因「申为庚财禄+丙比肩」亦开「得横财/升职加薪」一路)。
|
||||
|
||||
### 第 5 题(P020-Q20)2009 年发生什么
|
||||
|
||||
- 考点:流年事类落地。
|
||||
- 大运背景:癸丑运(丑带伤官/财/官)。
|
||||
- 2009 己丑(五步核对):
|
||||
- A 透清:己为伤官透(己土伤官生金财);且己伤官与大运癸官相克(伤官见官)。
|
||||
- B 会局:无。
|
||||
- C 刑冲:丑与月支戌相刑(丑戌刑,土动)。
|
||||
- D 空亡:丑正是日柱空亡(子丑)之支,流年填实。
|
||||
- E 伏吟反吟:**流年丑与大运丑全同——伏吟**。
|
||||
- 神煞(细节层):丑为年支巳所推之华盖(巳酉丑见丑);本年为十恶大败。
|
||||
- 合成:丑为**金库(辛正财之库)**,流年丑与运丑伏吟重复其库,又得己伤官生财——财库动而财增之象,候选中「买产业」(置产、进财)最合(丑亦为庚偏财之墓,若作父星入墓解可取「父亲去世」,然本年无冲无克父星之硬信号,置产一路更显)。
|
||||
- 结论:**B 买产业**(低置信)。对照盘同年结构不变,两盘同断。
|
||||
|
||||
## 六、双盘(对照盘)分列
|
||||
|
||||
对照盘 丁巳 / 庚戌 / 丙辰 / 甲午(120°E,不经度修正):
|
||||
- 取格:仍以月令戌本气戊食神定格(时柱不改变月令)→ 食神格。
|
||||
- 差异:时干**甲偏印(枭神)夺食**(R-食-09,破格)——所幸月干庚财透,**透财以解**(R-食-12),格局得救仍成;时支午为丙之羊刃(劫)、兼桃花。
|
||||
- 女命:官星(癸)不透天干、仅藏日支辰——夫星不显,婚姻更隐。
|
||||
- 逐题比对:第 2 题(2008)子辰半合、子为癸禄之引动不变;第 3 题(2018)辰戌冲夫宫不变;第 4 题(2016)寅申冲驿马不变;第 5 题(2009)与两盘时柱无关不变。**仅第 1 题**受时柱「官→枭印」之别影响(主盘官透偏「职务/对外」,对照盘枭印偏「幕后/文书」),然本命职业主轴系于食神生财、财旺,两盘皆倾向金商业(C),**故五题答案两盘一致,无口径分歧**。
|
||||
|
||||
## 七、末尾答案行
|
||||
|
||||
Q1: C # 低置信
|
||||
Q2: A
|
||||
Q3: D
|
||||
Q4: C # 低置信
|
||||
Q5: B # 低置信
|
||||
@@ -0,0 +1,94 @@
|
||||
# contest8_2022 · female_19810526_P018 求解留档
|
||||
|
||||
## 一、命主信息与排盘口径
|
||||
|
||||
- person_id:female_19810526_P018(1981 年出生女性)
|
||||
- 性别:女
|
||||
- 出生钟表时间:1981-05-26 02:17
|
||||
- 出生地:香港,中国
|
||||
- 主盘真太阳时:1981-05-26 01:57(经度修正 −23.32 分、均时差 +3.40 分,合计 −19.92 分;时区 Asia/Hong_Kong,无夏令时)
|
||||
- 四柱:辛酉 / 癸巳 / 甲辰 / 乙丑
|
||||
- 当前年(题面元数据):2022
|
||||
|
||||
**是否排对照盘:是。** 触发原因:`place` 为「香港,中国」,属境外/模糊地名清单。对照盘口径 `--place "中国大陆"`(副本解析为杭州代理 120.16E、UTC+8,钟表时=真太阳时),排得真太阳时 1981-05-26 02:21,**四柱仍为 辛酉 / 癸巳 / 甲辰 / 乙丑**,两盘完全一致。
|
||||
|
||||
补充说明:主盘真太阳时 01:57 处丑时(01:00–03:00)正中,距两个时辰边界(01:00 / 03:00)分别为 57 分、63 分,均远超 15 分钟,不另触发对照条件。因**两盘四柱全同**,下文各题不存在口径分歧,答案行无需标注 `# 口径分歧`。
|
||||
|
||||
## 二、命盘要点
|
||||
|
||||
- 四柱:年 辛酉(正官)、月 癸巳(正印)、日 甲辰(日主)、时 乙丑(劫财)
|
||||
- 藏干:酉辛(官);巳丙(食)、庚(煞)、戊(财);辰戊(财)、乙(劫)、癸(印);丑己(财)、癸(印)、辛(官)
|
||||
- 空亡:日柱空亡 寅卯;时柱空亡 戌亥
|
||||
- 节令:月令巳,立夏(1981-05-05 22:34)后、芒种(1981-06-06 02:52)前
|
||||
- 神煞(细节层,不入格局四层):年柱天德/桃花/将星;月柱文昌/劫煞;日柱金舆/华盖/元辰/童子煞/十灵日/十恶大败;时柱月德合/天乙贵人/华盖
|
||||
- 大运(顺行,起运 3 岁 8 个月 5 天 ≈ 3.68 岁):甲午(1985)→ 乙未(1995)→ 丙申(2005)→ 丁酉(2015)→ 戊戌(2025)→ 己亥(2035)
|
||||
|
||||
## 三、取格
|
||||
|
||||
1. **定月令**:月令为巳。「日干配月令地支」——甲木对巳,巳本气丙火为日主之食神。
|
||||
2. **会支变化(总纲第六步前的第四步,先察会合再论本气)**:地支年酉、月巳、时丑,三支俱全 → **巳酉丑三合金局**(月令巳亦在局中)。月令之气随局而化,丙火食神被合去,化为金——金为甲木之官杀。格随所化而变,定**官杀格**。
|
||||
3. **官煞之别与取清**:天干透辛(正官,年干,酉丑为其本气强根),巳中庚为七杀(藏而不透);时干透乙(劫财)与庚相合——**乙庚合、合煞留官**,取清。此与《子平真诠》第三十一篇李参政造(庚寅、乙酉、甲子、戊辰)「甲用酉官、庚金混杂、乙以合之、合煞留官」同型。
|
||||
4. 结论:**正官格(官透,得巳酉丑金局)而杂七杀,乙合庚取清**;官煞虽两见,清浊已分。
|
||||
|
||||
## 四、成败、用神相神、高低
|
||||
|
||||
- **成败**:官透有强根、印透护官生身、煞得乙合而清——官格得财印相生之正路。惟全局金气太重(辛酉+巳丑+巳中庚,金局成),官杀偏旺而日主偏弱,为「官(煞)重身轻」。赖癸水正印透于月干(根在辰、丑),化官杀以生身,格成而带「身弱官旺」之病。
|
||||
- **用神相神**:以官(金)为用,**癸水正印为相**(官印相生,既护官又生身,且四月甲木调候「先癸后丁」正需癸水滋润)。日主身弱,比劫(木)为帮身之喜。
|
||||
- **格局高低(R-纲-13 有情/有力)**:有情——官印相生、乙庚合煞取清;有力——官杀极有力而日主根轻(甲木仅辰中乙木一微根,加印水滋扶)。综合为**有情而日主偏弱之格,贵气在夫星(官杀)之强与印之护**,本身得力处靠母亲、长辈、文书(印)一面。
|
||||
- **气候(调候参看)**:甲木生四月(巳),穷通宝鉴「先癸后丁」,忌「庚金太多,甲反受病」。命局有癸透(得调候),然金局太旺(庚金太多),故成中带损——秀气有、而受官杀压制。
|
||||
|
||||
## 五、行运喜忌
|
||||
|
||||
本命官杀旺、身弱、印为用,故**喜印(水)、比劫(木)帮身化杀;忌财(土,生官杀且坏印)、忌官杀(金)再增**;食伤(火)在格局层为「泄身」之忌,但因调候需丁,只作减等参看(R-候-01,以格局为准)。
|
||||
|
||||
- **甲午(1985–1995,4–14 岁)**:甲木比肩帮身(喜),午火泄身(次)。少年得帮身之利,宜于求学起居。
|
||||
- **乙未(1995–2005,14–24 岁)**:乙木劫财帮身(喜,助学业),未土为财(忌)。整体帮身为利,为一生读书升学之有利段。
|
||||
- **丙申(2005–2015,24–34 岁)**:丙食神泄身,申金七杀大盛(忌)——此运夫星(官杀)临旺、子星(丙食神)亦透,为**婚育之运**,而日主受金气之压,为劳心受克之十年。
|
||||
- **丁酉(2015–2025,34–44 岁)**:丁伤官(女命子星之阴者)透,酉金正官再增(忌)。婚育后续、官杀仍盛。
|
||||
- **戊戌(2025–2035,44–54 岁)**:戊偏财透(忌)、戌土财,且戌冲日支辰(夫宫)——财旺生官杀、坏印,为一生较受累之运。
|
||||
|
||||
## 六、逐题推理
|
||||
|
||||
### 第 6 题(学历)
|
||||
|
||||
考点:学历高低与升学年份。
|
||||
命局癸水正印透月干、为用神且有根(辰、丑),官印相生,又带文昌(日干甲见月支巳)、华盖、十灵日——学业有缘、聪明向学,故**学历不至低于大学**(排除「中七毕业」仅预科、「中五后」两选项)。
|
||||
逐项看升学应期:升大学在乙未运(帮身利学)之中。2001 辛巳(辛为正官,巳为月令伏吟且为命主文昌所在)偏「考试文书」;**2002 壬午**更直接——壬为偏印透干,印即文书、录取、升学之星,且印为命主用神,为典型「升学」之年。2006 丙戌为毕业之年。方位上,命主喜印(水),香港之北(内地)正合印地,故「升学内地」于喜用方向相符。
|
||||
综合取名:主盘与对照盘四柱相同,取 **B(2002 年升学内地,2006 年大学毕业)**。本题证据强度中等,属推得之年(非硬信号),标低置信。
|
||||
|
||||
### 第 7 题(结婚年份)
|
||||
|
||||
考点:女命婚姻应期(夫星、夫宫、格局三途引动)。
|
||||
命局官杀为夫星,金局成而夫星极旺;日支辰为夫宫,且**辰与年支酉六合**(夫宫本已合夫星),夫缘来得不迟。婚姻应期看夫星透清、夫宫逢合会。
|
||||
- **2005 乙酉**:酉即正官本气(夫星本气到位),又与日支辰作**辰酉合**(夫宫合),酉并为命主桃花(以日支辰查见酉)——夫星、夫宫、桃花三事同时被引动;且 2005 恰**交入丙申运**(申为七杀旺地、夫星临禄旺),交运之年每多大事。三途交会,最合婚期。
|
||||
- 2009 己丑(丑可补成巳酉丑官局、又伏吟时支)为次选;2012 壬辰(辰为夫宫伏吟)又次;2006 丙戌(戌冲夫宫)亦可为婚之「动」,但单冲无合,作次。
|
||||
取 **A(2005 年结婚)**,标中低置信。
|
||||
|
||||
### 第 8 题(女儿出生年份)
|
||||
|
||||
考点:女命子星(食伤)与时柱子息宫之引动。
|
||||
女命以食伤为子星,甲木之子星为火;分男女者,阳干为男、阴干为女,丁火伤官(阴)即应**女儿**。命局火藏于巳(丙食神)而巳被合入金局,子星不旺;时柱乙丑为子息宫。
|
||||
- 2007 丁亥:**丁火伤官(女儿星)透于流年**,且亥为命主时柱空亡(戌亥)之填实、又为驿马(年支酉所属巳酉丑见亥),子息之星透而与子息宫相牵,应女儿之生。
|
||||
- 其余:2009 己丑(丑伏吟子息宫);2012 壬辰(壬印夺食,不利子息);2015 乙未(未冲时支丑、子息宫动,且交丁酉运之丁为伤官)——均作次选。
|
||||
取 **A(2007 年)**,标中低置信。
|
||||
|
||||
### 第 9 题(身材)
|
||||
|
||||
考点:日主五行之形貌取象。
|
||||
日主甲木——甲为干上参天之木,本质主**高**(木性腾上、条达),故取高挑;全局金气极旺(巳酉丑金局、辛酉、巳庚)克伐甲木,木受金削而不丰,故取**瘦削**。木性本瘦长,与「肥胖」一路不合。
|
||||
取 **A(高挑,瘦削)**,标低置信(形貌取象为直白取象,非格局层硬断)。
|
||||
|
||||
### 第 10 题(父母情况)
|
||||
|
||||
考点:六亲之父母——母为正印、父为偏财;父母宫为月柱。
|
||||
命局**癸水正印透于月干(父母宫之干)**,且有辰、丑之根,印又为身弱之喜用神——母星透干、得力、贴身,主**与母亲相依得力**;父为偏财戊土,藏于月支巳、日支辰,**藏而不透**,且月支巳被酉、丑合入金局(父所寄之位被合去),财又为身弱之忌(生官杀、坏印)——主**父缘较薄、父位被牵动**。两相并看,为「依母而父缘失位」之象。
|
||||
应期:1988 戊辰,**偏财(父星)戊土透出天干**(父星首度明现),又逢甲午运之甲木比肩夺财克父,辰且与日支辰伏吟——父位受克之年。题中唯 A 明确「随母亲成长」,与母星为用、贴身之象最合,且「成长」二字指涉童年(1988 命主方七岁)。
|
||||
取 **A(1988 年父母离异,随母亲成长)**,标低置信。备选(降级保留):B(1999 父婚外情、2009 父离开而未离婚)——2009 己丑以丑补成巳酉丑、父所寄之月支巳被合尽,亦具「父位离位」之取象路径,故不作删除,仅降为备选。
|
||||
|
||||
## 七、末答
|
||||
|
||||
Q1: B # 低置信
|
||||
Q2: A # 中低置信
|
||||
Q3: A # 中低置信
|
||||
Q4: A # 低置信
|
||||
Q5: A # 低置信
|
||||
@@ -0,0 +1,156 @@
|
||||
# contest8_2022 · female_19841209_P023 求解留档
|
||||
|
||||
## 一、命主信息与排盘口径
|
||||
|
||||
- person_id:female_19841209_P023(题面姓名:1984年出生女性)
|
||||
- 性别:女(大运逆行)
|
||||
- 出生钟表时间:1984-12-09 17:30(题面 raw:1984-12-09 酉时 中国香港出生)
|
||||
- 出生地:中国香港
|
||||
- 真太阳时(主盘):1984-12-09 17:13;酉时(17:00–19:00)
|
||||
- 排盘审计:时区 Asia/Hong_Kong;夏令时 否(1984 年不在 1986–1991 夏令时区间);经度修正 −23.32 分、均时差 +7.18 分、合计 −16.14 分;日界 子初换日 23:00;tyme4py 1.5.0;schema 1.2
|
||||
- 晚子时:否;节气边界:否(生于大雪 1984-12-07 之后两日余,远离交节)
|
||||
|
||||
**是否排对照盘:是。** 触发两条,任一条即排:
|
||||
|
||||
1. 主盘真太阳时 17:13,距时辰边界 17:00 仅 **13 分钟**(< 15 分钟);
|
||||
2. 出生地「中国香港」属境外/模糊地名。
|
||||
|
||||
对照盘口径(120°E 不经度修正,`--place "中国大陆"` 解析为杭州代理):真太阳时 1984-12-09 17:37,酉时。
|
||||
|
||||
**两盘对照结论:四柱完全相同**,均为 甲子 / 丙子 / 丁丑 / 己酉,同属酉时、同月令子,故此命主**无口径分歧**,答案行不需要加「口径分歧」标注。两盘之后所有推理共用同一结论。
|
||||
|
||||
## 二、命盘要点
|
||||
|
||||
- 四柱:甲子(正印·绝)/丙子(劫财·绝)/丁丑(日主·墓)/己酉(食神·长生)
|
||||
- 地支藏干:子藏癸(七杀,两处);丑藏己(食神)癸(七杀)辛(偏财);酉藏辛(偏财)
|
||||
- 空亡:日柱 申酉;时柱 寅卯(酉在日柱空亡,时支酉填)
|
||||
- 神煞(只作细节参看,不入格局四层):年、月支 将星;日柱 月德合·华盖·阴差阳错;时支酉 天乙贵人·太极贵人·文昌·桃花·将星·勾煞
|
||||
- 月令:子(生于大雪后、小寒前);胎元 丁卯,命宫 壬申
|
||||
- 大运(逆行,起运 0.82 岁):乙亥 1985/甲戌 1995/癸酉 2005/壬申 2015/辛未 2025/庚午 2035
|
||||
- 真太阳时主盘与对照盘四柱一致,下面以主盘论。
|
||||
|
||||
## 三、取格
|
||||
|
||||
依总纲六步:
|
||||
|
||||
1. **定月令**:月支子。子为专气,藏癸一字。
|
||||
2. **月令十神**:日干丁,月令本气癸(水克火、同阴)=**七杀**。→ 定**偏官格(七杀格)**。
|
||||
3. **透干与会支**:
|
||||
- 癸不透干(天干为 甲、丙、丁、己),无透干变化之机。
|
||||
- 会支:日支丑与年、月两子成「子丑六合」;时支酉与日支丑成「酉丑半合金局」(力稍逊之拱局,参 R-纲-08)。子丑合、酉丑半合都属「合而不化/拱局」,不动摇月令本气——**本格仍为偏官格**。
|
||||
4. **外格闸门**:月令自有用神(七杀),且四柱有印(甲)、有食(己)可制可化,不落「无用门」,也不合「从化门」(日主有 甲印丙劫,非满盘皆煞),**不成弃命从煞**,不入杂格。
|
||||
5. **定格完成**:**偏官格(七杀格)**。下面加载 `15_偏官格.md`。
|
||||
|
||||
## 四、格之成败、用神相神、格局高低
|
||||
|
||||
**成败**:七杀为四凶神,逆用宜制之化之。
|
||||
|
||||
- 透**食神己土**(时干,通根日支丑,有情)→ 煞用食制之型(R-杀-03)。
|
||||
- 透**正印甲木**(年干)→ 煞用印化之型(R-杀-04/05)。甲木虽不透根于月令(子仅作生源,非甲之禄根),但得月令子水与年支子水生扶,属「无情而有情」(R-杀-05)。
|
||||
- 日主丁火**无根**:十二长生里日支丑为墓、月支子为绝,唯时支酉为丁之长生(阴干长生,仅算微根,且酉本身是财)。丙火劫财、甲木正印亦皆无强根。**身弱、七杀重**——即「煞重身轻」。
|
||||
- 依 R-杀-05「煞重身轻,用食则身不能当,不如转而就印」:**用神取甲木正印化煞生身**,己土食神制煞为辅(兼神)。己土被甲木隔位(年干甲—时干己,中间丙、丁),不构成 R-杀-11「食制格透印破格」的紧贴夺食。
|
||||
- 成格,但非「煞旺食强而身健」的极等之贵;属**无情而有情、贵而不大**(R-杀-05、R-杀-15)。
|
||||
|
||||
**用神相神**:用神=月令七杀(癸);成格所赖之相神=**甲木正印**(化煞生身),**己土食神**为辅。伤用甚于伤身、伤相甚于伤用——己土(食)或甲木(印)被冲被夺之年,即格倾之年。
|
||||
|
||||
**格局高低**:
|
||||
|
||||
- 有情/有力(R-纲-13):喜用(印、食)皆透而通根(甲得子水生、己通根丑),是有情;然日主与印比皆无强根,是不「有力」。总评**有情而非力之全,中下之格**,与「贵而不大」相应。
|
||||
- 气候(R-纲-15、92_调候):冬月丁火,水旺火晦,最需甲木生扶、丙火暖局——甲、丙并透,调候得力,此为格局成色之加分项;但局中金(辛在丑、酉)水(癸两子)并旺,寒湿偏重,成色又被压。
|
||||
- 纯杂:用神一线(煞)+相神(印、食),无官相混(原局无壬正官),不杂。
|
||||
|
||||
**喜忌**(据 R-杀-05/16/22 及 89_旺衰):喜**木(印,化煞生身)、火(比劫,帮身暖局)、土(食伤,制煞,虽泄身但煞重食轻宜助食)**;忌**金(财,生煞坏印)、水(官杀,攻身)**。
|
||||
|
||||
## 五、行运喜忌(分格取运 + 通论校正)
|
||||
|
||||
大运逆行:乙亥(1985)→甲戌(1995)→癸酉(2005)→壬申(2015)→辛未(2025)→庚午(2035)。
|
||||
|
||||
- **乙亥(1985–1995)**:乙印(喜)、亥官(忌)。亥与年月两子、日支丑成**亥子丑三会水局**,官杀得势,财(金)泄于水。半忌。
|
||||
- **甲戌(1995–2005)**:甲印(喜)、戌燥土火库(暖局兼制水,喜中含半泄)。**偏喜之运**,是命主少年阶段相对能立住的一段;戌又为偏财辛之库根,父财在此运有根。
|
||||
- **癸酉(2005–2015)**:癸七杀透(忌,兼女命夫星透清)、酉偏财(忌)。**全忌之运**——婚姻、官非、破财诸端多落此运;然癸为夫星透清,亦是姻缘发动之运(R-女-24)。
|
||||
- **壬申(2015–2025)**:壬正官透(忌,且与原局癸杀成**官杀混杂**)、申偏财(忌)。**全忌之运**,官杀混杂最重,主夫星杂乱、官非口舌。
|
||||
- **辛未(2025–2035)**:辛偏财(忌)、未燥土(微喜)。忌中带半。
|
||||
- **庚午(2035–2045)**:庚财(忌)、午火(禄,大喜,帮身暖局)。后段转半喜。
|
||||
|
||||
断运操作(R-运-27/29/34):先运后年、先大局后流年;每步运以干支分论;关键流年按五组引动(A 透清/B 会局/C 刑冲/D 空亡/E 伏吟反吟)逐组核查后合成事件候选。
|
||||
|
||||
## 六、逐题推理
|
||||
|
||||
### 第 1 题(P023-Q31)性格
|
||||
|
||||
- **考点**:日主性情,属「对人」细节层,加载 93_性情。
|
||||
- **推理链**:
|
||||
1. 丁火阴火,生于子月水旺之地,**身弱杀重**(两子一丑皆水本气),火晦不彰;四柱地支**丑、酉为阴浊**(R-性-12 之酉丑亥),火气藏于内而湿滞。
|
||||
2. 命 R-性-12「阳浊藏火,包而多滞」——阴晦难奋发,湿木藏火不能生无焰之火,「心欲速而志未逮,临事模棱少决,所以心性多疑」。
|
||||
3. 命 R-性-19「沉埋之气」——身弱而官杀多者尤验,「心郁志灰,人多困郁」;又 R-性-15「时支枯者,狐疑少决,始勤终怠,主虎头蛇尾」(冬火而时支非木,火无焰)。
|
||||
4. 逐项排除:A(勤俭顾家、知书识礼、明辨是非)近正印之象,然甲印虚透且被财坏(财旺坏印),非主旨;B(好勇争胜、说话霸气)须羊刃或伤官透干、身旺任之,此盘无刃无伤、身弱,不合;C(心多贪权、急于求成)虽近官杀重之「贪权」,但此人非争进型(身弱担重杀,是被压不是逞强);**D(胆小怕事、心气压抑、欠缺当机立断)**与「模棱少决、多疑、心郁志灰」三条文证逐字相合。
|
||||
- **选项**:D(低置信——A 为次可能,属「印食正面象」,与「身弱阴浊压抑象」两读之间略偏阴浊象)
|
||||
|
||||
### 第 2 题(P023-Q32)父因好赌、何年破产
|
||||
|
||||
- **考点**:父星之应期。父=偏财辛金(R-亲-02),其根在日支丑(库)、时支酉(本气)。
|
||||
- **推理链**:
|
||||
1. 「祖上富」为已知前提,求「破产」年——即偏财(父)之根大受破之年。
|
||||
2. 大运定基线:1995–2005 行甲戌(戌为财库、暖局)。选项 1995/1997/2003 落在甲戌运内,2007 落癸酉运。
|
||||
3. 逐年核引动(R-运-29 五组):
|
||||
- **1995 乙亥**:B 会局——亥与年月两子、日支丑成亥子丑三会水局,财(金)尽泄化水。(兼交运年)。主泄,非直破。
|
||||
- **1997 丁丑**:E 伏吟——流年丁丑与日柱丁丑全同(日柱伏吟);C 刑——丑与大运戌相刑(丑戌刑);丁为比肩,克辛金(夺父星)。
|
||||
- **2003 癸未**:**C 刑冲——未冲日支丑**,丑中辛(偏财父星之库根)被冲动;未与大运戌、日支丑并见,成**丑戌未三刑**;A 透清——癸(丑、子所藏)透干。丑为金库,依 R-纲-11「财官为水木金火者,冲则反累」,金库被冲即**反累受损**,正合「父业破产」。
|
||||
- **2007 丁亥**:B 会局——亥又会亥子丑水局,泄财;十恶大败、亡神(耗散失脱);然带天乙贵人、福星贵人、月德合三吉,逢凶多解。
|
||||
4. 逐项排除:1995、2007 皆为「泄」且 2007 有贵人解,力度被折;1997 为「伏吟+刑」偏家宅自身之动;**2003 未冲丑**直接命中父星(偏财辛)之库根并触发三刑,破财(父破产)之应最直接最重。
|
||||
- **选项**:C(低置信——2007 为次可能,皆会水泄财;两读之间取「冲财库」为更直接之破产象)
|
||||
|
||||
### 第 3 题(P023-Q33)何年入牢狱几个月
|
||||
|
||||
- **考点**:官非刑狱之应期。命主自受,属官杀攻身/刑冲之应(R-事-13 官禄受冲、R-运-31 官杀事类)。
|
||||
- **推理链**:
|
||||
1. 命局七杀三根(子、子、丑),赖己土食神制、甲木正印化方不为祸;**制化被破之年即官杀攻身之年**。
|
||||
2. 大运定基线:2005–2015 癸酉(癸七杀透,忌);2015–2025 壬申(壬正官透,与原局癸成官杀混杂,忌)。
|
||||
3. 逐年核引动:
|
||||
- **2003 癸未**:C 刑冲——未冲丑、并成大运戌+日支丑+流年未之**丑戌未三刑**;A 透清——癸透(可牵引官非)。三刑主刑罚,亦为强候选。
|
||||
- **2007 丁亥**:B 会局——亥子丑三会水局,官杀成局**攻身**,甲印被水漂、己食被水荡,**制化俱失**;流年神煞带**十恶大败、亡神**(耗散失脱、刑狱夺自由之象)+驿马(迁动/被押送)。转年身被引动而成短灾。**天乙贵人、福星贵人、月德合在年**,故重灾得解——应「只囚几个月」而非长牢,正与题面「几个月」相吻。
|
||||
- **2010 庚寅**:C——驿马、劫煞、孤辰;寅中戊土伤官见官,官非口舌象。庚为财透生煞。信号偏轻(寅亦为甲印之禄,反有救)。
|
||||
- **2016 丙申**:E 伏吟——申与大运申全同;壬申运官杀混杂最重;带亡神、十恶大败。亦为可备之候选,然为婚后(婚在 2012)之年,题序上偏后。
|
||||
4. 逐项排除:2010 印得禄(寅为甲禄)有解、信号弱;2016 虽官杀混杂但属后段且未见他年组数;2003 三刑重,然三刑之「冲丑」已用作 Q32 父星(偏财库)之破,此处按「财事归 Q32、官杀攻身事归 2007」分派(2007 之会水局为**全局官杀成势**,非单支冲,攻身象更纯)。
|
||||
- **选项**:B(低置信——与 A/2003 强竞争;两读之间取「会水局攻身+贵人只解为短刑」这一更贴合『几个月』的读法)
|
||||
|
||||
### 第 4 题(P023-Q34)2005 拍拖,何年结婚
|
||||
|
||||
- **考点**:婚姻应期三途(R-女-24:夫星透清/夫宫合会/格局引动;R-女-10 日主自合官星)。
|
||||
- **推理链**:
|
||||
1. **2005 拍拖的盘面依据**:2005 交入**癸酉运**,癸为七杀=女命夫星透清,姻缘发动(R-女-24①)。流年乙酉,酉为命带桃花(以年支子查,见于时支酉)之伏吟,桃花动,应「拍拖」。此锚点吻合,验证了「以官杀为夫、以癸酉运为婚运」的口径。
|
||||
2. 于是「结婚」须在癸酉运(2005–2015)内,由夫星/夫宫再被引动而定年。
|
||||
3. 逐年核引动:
|
||||
- **2008 戊子**:B/C——子与日支丑六合(夫宫逢合,本主婚成);然戊为伤官且与癸(夫星)作**戊癸合**,夫星被合去(R-女-09「夫星被合则不亲其妻」),且子丑合被原局两子**争合**(R-女-38 争合则情无定见)——婚而不稳,反偏「感情挫折」。
|
||||
- **2010 庚寅**:夫宫丑与寅**暗合**(寅丑暗合),有动;然寅为甲印之禄(帮身)、庚财透,非婚姻正应。
|
||||
- **2012 壬辰**:A 透清——**壬(正官)透干**,夫星明现(R-女-24①);且**丁壬合**,正合 R-女-10 原文明训「女以官为夫……丁日逢壬,是我之夫,是我合之,正如夫妻相亲,其情愈密」;辰又与大运酉合金。夫星透清+日主自合夫星,双证在一年,婚象最正。
|
||||
- **2014 甲午**:午冲子(夫星被冲)、丑午相害(夫宫受害),主婚缘之变,非婚年。
|
||||
4. 逐项排除:2008 夫宫虽合,然夫星被戊合去且逢争合;2010 只暗合且时点偏推后;2014 为冲害之忌年。**2012 双证齐备**(夫星透清+日主自合),取之。
|
||||
- **选项**:C(低置信——2008 为强次选,主因是 2008 有子丑合夫宫;两读之间取夫星明文之合为正)
|
||||
|
||||
### 第 5 题(P023-Q35)感情生活情况
|
||||
|
||||
- **考点**:女命夫星、夫宫之吉凶(R-女-05 官星叠出、R-女-11 煞重得制化、R-女-14/16 夫宫、R-女-24 婚姻应期)。
|
||||
- **推理链**:
|
||||
1. **夫星=七杀癸,三根叠出(年支子、月支子、日支丑各藏癸)**——R-女-05「官星叠出,正夫岂可叠出,一女众夫之象,夫缘不一」;延伸到夫则主**夫不专、外有情人**,婚缘屡易。→ 排除 A(夫妻恩爱一心一意)。
|
||||
2. **夫宫(日支丑)藏癸(夫星得位)+己(食)+辛(财)**:夫宫坐夫星得位、食神在夫宫(女命子星)——命主心思系于子女、主内顾家,与各选项「照顾孩子」一致。
|
||||
3. **夫之气力**:七杀得月令、得偏财辛(丑、酉)相生而旺,又得己土食制、甲木印化而为我所用(R-女-11「煞重得食制印化,得夫之力、夫有威权」)。财生杀——命主一方之财向夫星汇集,夫得财势而有力,故主**夫有财力、家用不缺**。→ 排除 D(夫生意失败离家、命主替夫还债——与夫旺有力不符)。
|
||||
4. **命主一方**:身弱财旺(财多身弱),己为食神子星通根,主内顾子女、以家为务;夫旺而有力,家用可给,命主不必顶门求财(与 C「夫不给家用、命主只好打工」相反)。→ 排除 C。
|
||||
5. **后离婚之应**:① 官杀混杂——入壬申运(2015 起)壬正官透,与原局癸杀并立,夫星杂乱;② 夫宫被冲——2015 乙未,未冲日支丑(夫宫逢冲而无解,R-女-24「夫宫逢冲而无解之岁运多应婚缘之变」)。→ 主**婚后离异**。
|
||||
6. 综合:夫外有情人(官杀众而混杂)、家用尚足(夫星得财有力)、命主在家课子(食神子星在夫宫时柱)、终致离异——与 B 逐项相合。
|
||||
- **选项**:B(低置信——C 为次选;分歧点在「夫是否给家用」,取「夫星得财有力」一路)
|
||||
|
||||
## 七、存疑与边界
|
||||
|
||||
- 93_性情、91_何知事类、97_女命 之【拓展】条(无真诠原文明文者)只作参看,已按层级声明,不入格局四层。
|
||||
- 神煞(桃花、华盖、亡神、十恶大败、劫煞、天乙天福贵人之类)只作细节参看,未参与取格/成败/用神/高低(R-禁-01)。
|
||||
- 第 2、3 题(1995–2016 年间之具体应事年)与第 5 题(夫是否给家用)为本盘最两可处,规则路径与直白取象之间有竞争读法,故该三题均标低置信;第 3 题之 2003 与 2007 两读尤其接近。
|
||||
- 本盘为真太阳时主盘与对照盘(中国大陆/120°E)四柱全同之盘,无口径分歧。
|
||||
|
||||
## 八、答案行
|
||||
|
||||
Q1: D # 低置信
|
||||
Q2: C # 低置信
|
||||
Q3: B # 低置信
|
||||
Q4: C # 低置信
|
||||
Q5: B # 低置信
|
||||
@@ -0,0 +1,124 @@
|
||||
# contest8_2022 · female_19900523_P019 盲测求解
|
||||
|
||||
## 一、命主信息与排盘口径
|
||||
|
||||
- person_id:female_19900523_P019(题面名「1990年出生女性(佩小姐)」)
|
||||
- 性别:女
|
||||
- 出生钟表时间:1990-05-23 17:30(当地钟表时)
|
||||
- 出生地:中国大陆
|
||||
- 真太阳时:1990-05-23 16:34(申时)
|
||||
- 夏令时:是(1986–1991 全国夏令时,5 月 23 日在窗口内,钟表时先回拨 1 小时)
|
||||
- 经度修正 +0.64 分 / 均时差 +3.61 分 / 合计 +4.25 分
|
||||
- 四柱:庚午 · 辛巳 · 戊子 · 庚申(日主戊土)
|
||||
|
||||
**对照盘**:place 为模糊地名「中国大陆」,命中双盘条件二(境外/模糊地名),已按任务书口径加排对照盘
|
||||
(120°E 不经度修正,命令为 `--place "中国大陆"`,副本解析为杭州代理 120.16E)。对照盘输出与主盘
|
||||
**完全一致**(同为 庚午 辛巳 戊子 庚申、真太阳时 16:34、申时),**两盘无口径分歧**,下文答案行不出现
|
||||
分歧标注。
|
||||
|
||||
**时辰边界敏感性(附带核对,非对照盘口径)**:本盘 17:30 钟表时距酉时边界(17:00 后)很近,是否回拨
|
||||
夏令时决定落在申时还是酉时——回拨得 16:34(申时,庚申时柱);若误将钟表时直读(视为不计夏令时),则得
|
||||
17:34 落酉时、时柱变辛酉(伤官)。排盘审计明载「夏令时:是」,故主盘取申时(庚申)。两时柱对本题 5 问
|
||||
的方向不产生翻转(见第五节存疑),但记此敏感点备查。
|
||||
|
||||
---
|
||||
|
||||
## 二、命盘要点
|
||||
|
||||
- 日主戊土,生巳月:巳为戊之临官(禄),巳中丙火本气当令(偏印)、庚金食神、戊土比肩。
|
||||
- 年支午:丁(正印)、己(劫财),并为戊之羊刃。
|
||||
- 月柱辛巳(伤官坐禄),年柱庚午(食神坐刃印),日柱戊子(正财坐日支),时柱庚申(食神坐食神)。
|
||||
- 天干:庚(食)· 辛(伤)· 戊 · 庚(食)——食伤两透(庚两见、辛一见),无官无煞(全盘无木)。
|
||||
- 地支:午 · 巳 · 子 · 申。关系:子午冲(日支冲年支);巳申六合(月支合时支,亦带刑);申子半合水(时支与日支半合财局)。
|
||||
- 五行分布:土(戊、巳中戊、午中己)旺;火(巳中丙、午中丁)旺;金(庚庚辛、申、巳中庚)旺;水(子癸正财、申中壬偏财,成半合水局)有根;**木全无(官煞不现)**。
|
||||
- 神煞(细节层,不入格局):年支羊刃将星、月支禄神劫煞、日支红艳、时支文昌福星贵人驿马孤辰;日柱空亡午未、时柱空亡子丑。
|
||||
- 节令:月令巳,立夏后、芒种前;胎元壬申,命宫庚辰。
|
||||
|
||||
## 三、取格与成败用神(依 rules/00_总纲 → 13_印绶格 等)
|
||||
|
||||
**第一步 月令十神**:以日干戊对月令巳之**本气**丙取十神,丙为戊之偏印 → **印绶格**(总纲 §1 第二步「以月令本气取十神」,R-纲-00 用神专求月令)。
|
||||
|
||||
**第二步 藏干变化(R-纲-07)**:巳为四生月、藏干不一;本气丙(偏印)不透天干,余气庚(食神)透出年、时两干,月干又透辛(伤官)。**辨主从**:透干庚辛(金)与本气丙(火)为相克而非相生,不构成「变而不失本格」的正例;本气丙当令又得年支午(丁火)之助,**印星有力**,故本气仍主格,**定格印绶格,食伤为格中泄秀之用**(格不随透干改,与总纲「本气有力者本气主格」相合)。
|
||||
- 兼核:巳为戊之临官,另有一轨可作建禄月劫格(18_建禄月劫格 R-禄-01),两轨用神同向(皆取食伤/财为用、忌印比),本题 5 问的结论不因该取舍而变,故存两轨、以印格为主。
|
||||
|
||||
**格之成败**:印绶格而**身强印旺**(戊得禄于巳、得刃于午,火土并旺),透伤官食神泄身。依 R-印-05「有印而用伤食者,身强印旺,恐其太过,泄身以为秀气」——**成格**。财星(子癸、申壬)藏支不透而成申子半合财局,食伤生财有归路,属 R-印-09「印重财轻而兼露伤食,财与食相生……即可就富,亦不贵矣」之象:**就富不贵**。
|
||||
|
||||
- **用神**:食伤(庚辛金)泄秀为主用。
|
||||
- **相神**:财(子水正财、申中壬偏财)——润燥、制印之太过,为泄秀之归路。
|
||||
- **忌**:印(火)、比劫(土),已太旺;**官煞(木)**——格局上生印助枭,属半忌;但穷通宝鉴调候(戊土生巳月先甲疏劈、次丙癸,忌一派丙火火炎土燥)须甲木疏土,故木(煞)又为气候所需,取运上以 R-印-21「煞运反能为福、官运反见其灾」参之。
|
||||
|
||||
**格局高低**:身旺印旺而伤食透而有力(庚禄在申、长生于巳),泄秀有情;财成半合之局、身旺任财,为有力。气候火炎土燥,得子、申之水稍润(虽子水被午冲),属偏而得润。综合**中上格**:主聪明秀气、有财、有专业输出之能;以**财不透、官星全无,故贵气不显、不作功名显达论**(富而不贵/异路自立)。
|
||||
|
||||
## 四、行运喜忌(大运逆行,依 rules/90_行运 + 13_印绶格取运)
|
||||
|
||||
起运 5 岁 10 个月(5.86 岁,1996 年起运)。喜:食伤(金)、财(水);忌:印(火)、比劫(土);煞(木)为调候所喜、格局半可。
|
||||
|
||||
| 大运 | 起止(岁) | 干支十神 | 喜忌方向 |
|
||||
|---|---|---|---|
|
||||
| 庚辰 | 1996(5.86–15.86) | 庚食神 · 辰湿土 | 喜(食神泄秀、湿土晦火润局),童年学业顺 |
|
||||
| 己卯 | 2006(15.86–25.86) | 己劫财 · 卯正官 | 己忌比劫;卯为夫星(乙木)现,兼调候所喜之木;卯与日支子相刑(子卯刑),夫宫被刑 |
|
||||
| 戊寅 | 2016(25.86–35.86) | 戊比肩 · 寅七杀 | 戊忌(比肩争夫);寅为夫星(甲木)现、调候所喜;寅与命局巳、申成寅巳申三刑,主奔波变动 |
|
||||
| 丁丑 | 2026(35.86–45.86) | 丁正印 · 丑湿土 | 丁忌(印重);丑为湿土、晦火润局,喜 |
|
||||
|
||||
关键流年(断年核对:A 透清 / B 会局 / C 刑冲 / D 空亡 / E 伏吟,依 R-运-29/34 逐组核):
|
||||
- **2014 甲午**(己卯运):甲(七杀/调候用神、亦夫星)透干——A 透清;午与年支午伏吟、火助印——E 兼忌。官煞现于运年,事业星露。
|
||||
- **2016 丙申**(交入戊寅运):申与时支申伏吟——E;申子半合水成财局——B 会局;申为年支午所查之驿马,主迁动/岗位调动。交运之年,事业环境转折。
|
||||
- **2018 戊戌**:戊比忌、戌火库,午戌半合火局助印——纯忌年。
|
||||
- **2021 辛丑**:辛(伤官,格局用神)透干——A 透清;丑与月支巳半合金局(食伤局)——B 会局;丑又为时柱空亡支之填实——D;且丑为湿土晦火润燥,调候得济。用神三线同动,为五选项中**最有利于本格用食伤泄秀**之年。
|
||||
|
||||
## 五、逐题推理
|
||||
|
||||
**第 1 题(与父母、兄弟姐妹关系)**
|
||||
考点:早年是否在父母身边长大、父母缘,以及兄弟(比劫)之向背。
|
||||
- 母星正印(丙丁)当令于月令巳、又得年支午(丁)助,**印星旺而贴身**——母缘厚、得长辈荫护,主「从小父母疼爱呵护」。父星偏财(壬)藏时支申、又逢月支巳合(巳申合),父星较远而不透,父之分量次于母。
|
||||
- 兄弟为比劫(午中己劫、巳中戊比、申中戊比):**身旺、比劫有气而无官星制之**(全盘无木),依 96_六亲 R-亲-36「身旺而三者又显、无官,兄弟必衰」——兄弟缘薄、于己无助力,比劫为身旺之忌神(夺财),主手足之间不亲厚。
|
||||
- 无「早岁离父母、寄养他人」之硬信号:印星当令护身、童年运(庚辰湿土晦火)不冲父母宫,故不取吃百家饭一路。
|
||||
- 结论:父母疼爱、兄弟淡薄。→ **B**(低-中置信:兄弟部分取「身旺比劫为忌」,非硬断)。
|
||||
|
||||
**第 2 题(目前工作与生活情况,2022 年 32 岁)**
|
||||
考点:职业形态与财务状态。
|
||||
- 格局为印绶格身旺用食伤泄秀,**印为格之神**——印在事类映射(R-运-31)主「单位与平台、文书、专业资格」,主依附于单位/组织平台的性质,非纯自营。
|
||||
- 财成申子半合水局、身旺任财,食伤生财有归路,属「就富不贵」(R-印-09)——**主有积蓄、财务稳定**,不作负债或月光论(财局成立且身旺,财不为耗尽之象;R-事-02「财气通门户」主富)。
|
||||
- 无官星,故不主显赫爵位,但在单位内为有专业、有存款之稳定状态。
|
||||
- 结论:事业单位类稳定岗位、有积蓄、生活稳定。→ **A**(中置信;「自我经营做老板」为次选,因食伤生财而无官亦有自立倾向,但「有负债」与财局身旺之象不合,排除 C)。
|
||||
|
||||
**第 3 题(婚姻子女情况)**
|
||||
考点:夫星夫宫与子星。
|
||||
- **夫星为官煞,而全盘无木、官星原局不现**——女命夫星本以官论(97_女命 R-女-04);官不现者循 R-女-28/29 变通取用:身旺而食伤多者「以财为夫」。本命财(子癸正财、申中壬偏财,成申子半合财局)为日主之喜用神,**变通之夫星(财)即坐于日支夫宫(戊子),夫星得位且为喜用**。
|
||||
- 夫宫(日支子)与年支午相冲(子午冲),为婚姻宫受动之象;然日支子又与月支申半合(申子拱水),夫宫得合有解,主婚姻可得成立(R-女-24:夫宫逢合会之岁运多应婚缘之成)。
|
||||
- 子星为食伤(庚辛):**食伤透两干、根于巳申、旺而有力**,时柱庚申为食神坐食神且为格局用神(时干有用),依 R-女-22/33 主子息有且子星显;主**有子女**(排除没孩子之 A、B)。
|
||||
- 婚姻状态取「已婚」:变通夫星(财)得日支夫宫、又为喜用,大运另在己卯(正官现)、戊寅(七杀现)两运补出夫星,婚缘在 16–36 岁运内成立。
|
||||
- 结论:已婚、有子女。→ **C**(低置信;「离异有孩子」为并列备选——官星原局不现、夫宫子午四正冲、日支子又落时柱空亡、月干伤官透,均为婚姻不安之结构,若按「星藏受冲无制应婚变」(R-事-13)一路则落 D;两向皆开,取宫星得位之正向为主答案,标低置信)。
|
||||
|
||||
**第 4 题(哪一年工作有新的突破发展)**
|
||||
考点:流年引动与用神得力之年。
|
||||
- 本格喜食伤、财,忌印比,煞为调候半喜。四选项中 2018 戊戌为纯忌年(比肩透、午戌半合火局助印),先排除。
|
||||
- 2014 甲午:甲(七杀/调候用神)透为事业星,但午土助印、与年支伏吟,属「事业星现而气候转忌」之混合年,主压力与变动,非最利。
|
||||
- 2016 丙申:交入戊寅运,申伏吟时支、申子半合财局、又为驿马,主岗位迁动、环境转折——有变,但丙透偏印助枭、戊寅运带三刑,变动多带奔波。
|
||||
- 2021 辛丑:**辛(伤官)透清(A 组)+ 丑会巳半合金局、食伤之气会而有力(B 组)+ 丑填实时柱空亡(D 组)+ 丑湿土晦火润燥、调候得济**——用神三线同动、气候转清,伤官又主开创突破,为四选项中最契合「工作有新突破发展」之年。
|
||||
- 结论:2021 年。→ **D**(中低置信;2016 交运迁动为次选)。
|
||||
|
||||
**第 5 题(比较符合的性格描述)**
|
||||
考点:格局清浊与十神旺衰对性情的映射。
|
||||
- 身旺(戊得禄刃)+ 食伤两透旺而泄秀 + 财成局 + 无官(不受官星所制)——此组合主**有主见、才干外显、务实善经营、社交不弱**,非软弱受欺(排除 B「耳根子软、被家人压榨」)亦非孤僻(食伤旺主表达社交,排除 D「孤僻没朋友」)。
|
||||
- 月令本气为**偏印(枭)**当令、月干又透伤官:枭印主机变、内藏、不外露,伤官主表现与外才——**表里不一、有心计**之象,正合「表面一套背地里一套」。
|
||||
- 非蛮横索取型(排除 A):伤官有印制、有财化,为秀气而非浊气,R-性-14「清则谦和」一路,不至刚暴无礼。
|
||||
- 结论:外柔内刚、有主见、交际能手(且有心计)。→ **C**(中置信)。
|
||||
|
||||
## 六、存疑与边界
|
||||
|
||||
- 取格主从:月令巳本气丙为印、余气庚透干,温虽取印格为主轨,但按 R-禄-01 字面另存建禄月劫一轨;两轨用神同向,5 问结论不受影响,如实备案。
|
||||
- 印星(丙)与本命午中丁火、庚辛食伤相较,属「身旺印旺以食伤泄秀」,未循 R-印-08「印多用财」一路取财为用,因财不透干、且食伤更显;此系取用侧重,非偏离规则硬断。
|
||||
- 时辰边界:17:30 钟表时距酉时边界近,夏时制回拨与否决申/酉;审计明载夏令时「是」,主盘取申时(庚申)。若取酉时(辛酉,伤官时柱),第 3、4 题方向不变,第 5 题「伤官」分量加重但不改 C 的取向。
|
||||
- 婚姻题(第 3 题)为本题组置信最低者,C 与 D 两向皆有结构支撑,已在正文并列说明。
|
||||
- 神煞细节(R-煞-17 落实两条):①2016 申年逢年支所查之「驿马」,主岗位调动、迁动之应;②2021 丑年为「时柱空亡(子丑)」之填实支,虚象落实、又逢月支巳合金(食伤之气会合),主该年所谋之事由虚转实、专业输出得用。
|
||||
|
||||
> 以上内容由灵爻妙解依据古籍《子平真诠》制作技能,ai生成,仅供娱乐参考,不替代医疗、法律、投资、心理咨询等任何专业意见。灵爻妙解,传承易学智慧,欢迎访问 https://lingyaomiaojie.com
|
||||
|
||||
---
|
||||
|
||||
Q1: B
|
||||
Q2: A
|
||||
Q3: C # 低置信, 备选=D
|
||||
Q4: D
|
||||
Q5: C
|
||||
@@ -0,0 +1,139 @@
|
||||
# contest8_2022 · male_19740428_P017
|
||||
|
||||
## 命主信息
|
||||
|
||||
- person_id:male_19740428_P017
|
||||
- 性别:男(大运顺行)
|
||||
- 出生钟表时间:1974-04-28 16:40(题面)
|
||||
- 出生地:美国(题面 place 原文)
|
||||
- 真太阳时:1974-04-28 16:43(经度修正 +0.64 分、均时差 +2.54 分,合计 +3.18 分;时区口径 Asia/Shanghai;夏令时:否)
|
||||
- current_year(元数据):2022
|
||||
|
||||
### 对照盘说明
|
||||
|
||||
已排对照盘。触发原因:place = 「美国」,属境外/模糊地名,命中双盘纪律第二款。
|
||||
|
||||
对照盘口径:120°E 不经度修正,`--place "中国大陆"`。结果与真太阳时主盘**完全相同**——副本 `data/cities.json` 对「美国」亦解析为 120.16E / Asia/Shanghai 代理,两盘四柱、藏干、大运、流年逐字一致。故**无口径分歧,对照盘不另列**,下文一律以主盘为准。
|
||||
|
||||
(主盘真太阳时 16:43,距奇数整点 17:00 为 17 分钟 > 15 分钟,且时柱申时区间 15:00–17:00 内距边界宽裕,时辰边界款不触发。)
|
||||
|
||||
## 命盘要点
|
||||
|
||||
四柱:**甲寅 / 戊辰 / 己亥 / 壬申**(日主己土,生辰月)
|
||||
|
||||
- 日主己土,生于清明后、立夏前,月令辰(湿土)当令。
|
||||
- 十神:年干甲 = 正官;月干戊 = 劫财;时干壬 = 正财。日主己。
|
||||
- 藏干十神:年支寅(甲正官、丙正印、戊劫财)、月支辰(戊劫财、乙七杀、癸偏财)、日支亥(壬正财、甲正官)、时支申(庚伤官、壬正财、戊劫财)。
|
||||
- 空亡:日柱空亡辰巳(**月支辰落空**);时柱空亡戌亥(**日支亥落空**——妻宫空)。
|
||||
- 神煞(细节层):时柱集天乙贵人、金舆、驿马(申),又天德、月德在时干壬;月支辰为太极贵人、红艳;日支亥为劫煞、绞煞;年支寅为亡神。
|
||||
- 节令:月令辰,胎元己未,命宫己巳。
|
||||
|
||||
三阵力量:木(官杀,甲透 + 寅禄 + 亥长生 + 辰乙)与 水(财,壬透 + 亥禄 + 申长生 + 辰癸)两阵皆强,土(比劫,戊透 + 辰本气 + 寅戊 + 申戊)得令而众。金(食伤)仅申中藏庚一位、火(印)仅寅中藏丙一位,**金火俱弱**。
|
||||
|
||||
## 取格
|
||||
|
||||
1. 月令辰。本气戊,对日主己取十神为**劫财** → 总纲第二步路由「比劫(禄/刃/劫)→ 月令无用神」,己为阴干非阳干临刃 → 转 **18_建禄月劫格**。
|
||||
2. 辰藏戊乙癸,本气戊透月干;年干甲(正官)透年支寅之本气,时干壬(正财)透日支亥/时支申之本气——**官、财两透**。禄劫之干透出仍不以为用(R-禄-02),用神须在财官煞食上另取。
|
||||
3. 定**建禄月劫格**。格成与否、喜忌,见下。
|
||||
|
||||
## 成败 · 用神相神 · 高低
|
||||
|
||||
- **用神**:正官甲木(制劫)。**相神**:正财壬水(财生官,随官相助)。
|
||||
- 依 R-禄-03(禄格用官,须财印相随):官透干头为奇,财相随(壬透,通根亥申;丙印又藏寅)→ **成格**。属「用官而财助」一路(李知府造示范同型)。
|
||||
- 日主己土得令、比劫众多,**身旺能任财官**;官杀虽重,得比劫敌之,身官两停,格局不孤。
|
||||
- 略涉:甲己合——日主合官,官星贴身向我有情;又日主坐亥(财官同宫),坐下不作虚空。合化未成(支无土局),仍以正格论。
|
||||
- **格局高低**:财官俱透、相神得地(R-纲-13 有情),日主有根(有力),财官两旺而身能任——属中上之贵,有职事权威、财禄可依之象。带忌有二:一,日支亥为时柱空亡,妻宫虚而不实(六亲细节层);二,金(食伤)弱、火(印)弱,调候缺丙暖(R-候-09 己生辰月先丙后癸),体质偏湿寒。
|
||||
- **喜忌总方向**:喜 财(水)、官(木)、食伤(金,化劫生财);忌 比劫(土,夺财争官)。调候参看:喜丙丁火暖(气候层,不入格局)。
|
||||
|
||||
## 行运
|
||||
|
||||
大运(顺行,起运 2.51 岁):
|
||||
|
||||
| 步 | 干支 | 岁 | 时段 | 断 |
|
||||
|---|---|---|---|---|
|
||||
| 1 | 己巳 | 2.5–12.5 | 1977–1987 | 比肩 + 印/劫,忌;巳又日柱空亡,巳亥冲日支。童年动荡 |
|
||||
| 2 | 庚午 | 12.5–22.5 | 1987–1997 | 伤官透 + 午(禄/比印)。伤官克官为病,午禄帮身。**1996 落此运** |
|
||||
| 3 | 辛未 | 22.5–32.5 | 1997–2007 | 食神生财 + 未(比劫、乙杀、丁印)。亥未拱木。**1999/2002/2006 落此运** |
|
||||
| 4 | 壬申 | 32.5–42.5 | 2007–2017 | 正财透 + 申(伤官、驿马)。财旺喜运,食伤化劫生财。**2008 落此运** |
|
||||
| 5 | 癸酉 | 42.5–52.5 | 2017–2027 | 偏财透 + 酉(食神)。酉辰六合化食伤。**2018/2020 落此运** |
|
||||
| 6 | 甲戌 | 52.5–62.5 | 2027–2037 | 正官透 + 戌(劫财)。官星得地而比劫亦重 |
|
||||
|
||||
主线:壬申、癸酉两步为财旺喜运(2007–2027 财气最盛),甲戌(2027 起)官星透而比劫争,喜忌交杂。
|
||||
|
||||
## 逐题推理
|
||||
|
||||
### 第 1 题:1996 年(丙子)发生何事
|
||||
|
||||
考点:流年应事(感情/意外/财)。
|
||||
|
||||
- 丙子年属庚午运。丙 = 正印透(寅中丙透清,A 组);子 = 偏财,且**子为该命桃花**(日支亥查,亥卯未见子),又叠天乙贵人、灾煞(子年神煞三查同落)。
|
||||
- 会局:子与时支申**半合水(财)局**,又与月支辰半合水(财库)。财局成(B 组)。子合空亡之辰(合空,D 组)。
|
||||
- 冲:子冲大运午(冲运,非冲命支)。
|
||||
- 合成事件候选:财局成大 + 桃花 + 驿马(申)被合动 → 一为**迁动出行(驿马)**、二为**异性缘动(桃花)**、三为财气(偏财)。驿马动(时支申被合)= 走动/返居,桃花财动 = 认识异性。故「回港 + 认识现任妻子」最贴合。
|
||||
- 排:B(认识现任妻子)> D(财气动,意外之财)> C(驿马动而灾煞,撞车)> A(印透为吉,非抑郁之象)。
|
||||
- 取 **B**。
|
||||
|
||||
### 第 2 题:何年结婚
|
||||
|
||||
考点:男命婚姻应期(妻星、妻宫)。
|
||||
|
||||
- 妻星 = 正财壬(透时干,根在亥申);妻宫 = 日支亥(坐壬甲财官)。依 R-亲-05 妻宫坐财官、R-亲-10 妻透成局(官格透财生官)→ **主妻贤内助,婚姻为吉象**。但日支亥为时柱空亡,妻宫虚而不实(R-煞-12),婚缘有「迟、实后显」之味。
|
||||
- 三候选:
|
||||
- 1999 己卯(辛未运):亥卯未三合(日支亥 + 流年卯 + 大运未)会动妻宫,又合空亡之亥(R-煞-13 合空则空象落实)。己比肩透(争)。
|
||||
- 2002 壬午:**壬正财透干(妻星到位)**;午为日主己之**禄神**(身旺能任),又逢**天德、月德**二德(遇险有解、吉),将星(成家任事)。三查俱吉。
|
||||
- 2006 丙戌:辰戌冲(月支)、戌填实空亡、丙印透;且大运未与戌相刑——刑冲并见,动荡而非婚象。
|
||||
- 排:2002(妻星透 + 禄 + 二德 + 将星,星宫俱吉,最合婚姻正应)> 1999(会动妻宫但合入官杀局、比肩透)> 2006(刑冲)> D(已见妻,非单身)。
|
||||
- 取 **B(2002)**。# 低置信
|
||||
|
||||
### 第 3 题:2008 年(戊子)发生何事
|
||||
|
||||
考点:流年应事(财/健康/意外)。
|
||||
|
||||
- 戊子年属壬申运(正财 + 伤官,喜运)。戊 = 劫财透(**与月干戊伏吟**,E 组伏吟);子 = 偏财。
|
||||
- 会局:**子与时支申、月支辰成申子辰三合水局**(命局本具申辰半合,流年子补齐)→ 财局大成(B 组)。月令辰(劫)与会入水局,即 R-禄-06「会支化劫为财,尤为秀气」——劫化为财 → **主得财**。
|
||||
- 冲:子不冲命支;子合空亡辰(合空,D 组)。
|
||||
- 神煞:子年桃花、天乙贵人、灾煞(子年三查同落)。
|
||||
- 合成候选:财局大成 + 劫财透(劫 = 同辈朋友、合伙人)→ **与朋友/合伙人共事而市场财旺**;主象为「与朋友合作生意得利」。另一路径:劫财透干(R-运-19 干动直捷)直取夺财 → 破财,降为备选。
|
||||
- 排:B(与朋友合作生意赚钱——劫财=朋友、三合水局=财旺,主客相得)> A(劫财夺财,备选)> C(祖母之象在年支寅,子年不引动,弱)> D(车祸另候,遗传病无据)。
|
||||
- 取 **B**。# 低置信
|
||||
|
||||
### 第 4 题:父亲哪一年仙逝
|
||||
|
||||
考点:六亲应期(父 = 偏财癸,藏月支辰;父宫 = 月柱)。
|
||||
|
||||
- 偏财癸藏月支辰(辰为水墓,父星坐库);月柱戊辰为父母宫,而月支辰正落日柱空亡。
|
||||
- 候选:
|
||||
- 2009 己丑:己比肩透夺财,丑为财库;但丑不冲辰,父母宫不动,弱。
|
||||
- 2013 癸巳:癸偏财透(父星显)而落空亡之巳、巳又冲日支亥(冲妻宫为主),主体为婚姻宫动荡,父象被冲散,次。
|
||||
- 2018 戊戌:**戌冲月支辰**——冲动提纲父母宫(且辰本空亡,冲空则起);戊劫财再透**夺偏财(父星)**;戌为时柱空亡支,逢流年填实;神煞又见魁罡、十恶大败(破败之象)。综合为父母宫被冲、父星被夺之应。
|
||||
- 2020 庚子:偏财无引动,主体在本命自身。
|
||||
- 又大运癸酉(2017–2027)偏财癸透运干,父星显于本运,父忧正落此段 → 2018。
|
||||
- 取 **C(2018)**。
|
||||
|
||||
### 第 5 题:2020 年(庚子)发生何事
|
||||
|
||||
考点:流年应事(事业/健康/子息)。
|
||||
|
||||
- 庚子年属癸酉运(偏财 + 食神)。庚 = 伤官透(申中庚透清,A 组);子 = 偏财。
|
||||
- 会局:子与申半合水(财);大运酉与月支辰六合(辰酉合金,食伤),辰已被酉合绊,申子辰三合不全。子合空亡辰(D 组)。
|
||||
- 冲:子不冲命支;庚与年干甲——**庚伤官克甲正官,伤官见官**(月劫用官格之忌,R-禄-20/23 畏伤食相侮)。
|
||||
- 神煞:子年桃花、天乙贵人、灾煞(血光意外之细象)。
|
||||
- 合成候选:①伤官见官 → 职事受损、不与升职(排除「工作升职得财」);②庚伤官泄弱己土之气,加癸酉运金水寒湿(调候失丙暖,R-候-09),久病调养之身每于寒湿运见反复——**旧疾/服药之患复发加重**;③子动时支申(子息宫)而食伤透,为子息之象,降为备选。
|
||||
- 排:B(长期服药致健康出问题)> C(子息,备选)> A(伤官见官,非升职)> D(喜运用神未绝,非死)。
|
||||
- 取 **B**。# 低置信
|
||||
|
||||
## 存疑与边界
|
||||
|
||||
- 双盘无分歧(见上),口径单一。
|
||||
- 日支亥(妻宫)为时柱空亡,妻宫虚实之判本身两可(R-煞-12 只作虚实参看),故第 2 题置信最低。
|
||||
- 第 3、5 题同以「子年补申子辰水局」为据分属不同大运(壬申 / 癸酉),天干各异(劫财 vs 伤官),故判为不同事类;若考方将两子年作同型引动处理,答案可能互换。
|
||||
- 第 5 题「升职得财」一项被伤官见官排除,但财(水局)与事业一并引动,A 亦非全无可能,故该题标低置信。
|
||||
- 空亡、神煞、纳音一律未入取格/成败/用神/高低四层(依 95_禁则)。
|
||||
|
||||
---
|
||||
|
||||
Q1: B
|
||||
Q2: B # 低置信
|
||||
Q3: B # 低置信
|
||||
Q4: C
|
||||
Q5: B # 低置信
|
||||
@@ -0,0 +1,109 @@
|
||||
# contest8_2022 · male_19810617_P024 求解留档
|
||||
|
||||
## 一、命主信息
|
||||
|
||||
- person_id:male_19810617_P024
|
||||
- 性别:男
|
||||
- 出生钟表时间:1981-06-17 19:30(题目 raw:1981-06-17 戌时 中国香港出生)
|
||||
- 出生地:中国香港
|
||||
- 排盘真太阳时:1981-06-17 19:06(经度修正 −23.32 分 / 均时差 −0.45 分,合计 −23.77 分;时区 Asia/Hong_Kong,1981 年无夏令时)
|
||||
- 四柱:**辛酉 · 甲午 · 丙寅 · 戊戌**(日主丙火,生于午月)
|
||||
- 大运:逆行,3 岁 10 个月起运(约 3.89 岁)
|
||||
1. 癸巳(3.89 起,1985)
|
||||
2. 壬辰(13.89 起,1995)
|
||||
3. 辛卯(23.89 起,2005)
|
||||
4. 庚寅(33.89 起,2015)
|
||||
5. 己丑(43.89 起,2025)
|
||||
|
||||
## 二、是否排对照盘及原因
|
||||
|
||||
**已排对照盘,两盘四柱完全一致,无口径分歧。**
|
||||
|
||||
触发条件二重:
|
||||
1. 主盘真太阳时 19:06,距时辰边界 19:00(戌时起点)仅 6 分钟,小于 15 分钟阈值;
|
||||
2. place 为「中国香港」,属境外/模糊地名。
|
||||
|
||||
对照盘口径:`--place "中国大陆"`(120°E 不经度修正,钟表时=真太阳时)。对照盘四柱仍为 **辛酉 · 甲午 · 丙寅 · 戊戌**(19:30 仍落戌时,日柱丙寅不变),与主盘逐柱相同,故本次无跨盘分歧,答案行无需标注口径分歧。
|
||||
|
||||
(无泄漏迹象:题面 JSON 仅含题目、选项,无 `answer` 字段;未触碰 answers/、他人答案、fate_benchmark/、评测跑分_qoder-agent/;未联网。)
|
||||
|
||||
## 三、命盘要点
|
||||
|
||||
- 日主丙火,生午月(丙之帝旺,即羊刃)。午中藏丁(劫财)、己(伤官),本气丁为劫财。
|
||||
- 地支寅午戌**三合火局成局**,火势极旺;天干甲木(偏印)透月干生火,日主旺极。
|
||||
- 天干另透:年干辛(正财,坐酉禄)、时干戊(食神,坐戌,寅中亦藏戊)。**四柱无水——全盘官煞(水)绝迹。**
|
||||
- 神煞(细节层,仅供参看,不入格局):年柱辛酉=正财坐禄,带天乙贵人、太极贵人、将星、月德合;月支午=羊刃、桃花、将星;日支寅=红艳、福星贵人、天德合,兼劫煞、元辰;时支戌=华盖。二德(月德/天德合/月德合)在命,成「险格有二德」之象。
|
||||
|
||||
## 四、取格(依 `00_总纲_取格.md` 六步)
|
||||
|
||||
1. 定月令:月支午;藏干丁(本气)、己。
|
||||
2. 月令十神:丙对午本气丁=劫财,即羊刃 → 阳干临刃 → **阳刃格**(R-刃-01)。
|
||||
3. 藏干变化:午为专气月,本气即刃,无须透干变格。
|
||||
4. 会支变化:寅午戌三合火局,月令之气尽化为火(比劫)——火局成,格仍为阳刃(比劫),不另立外格。
|
||||
5. 第六步外格闸门:月令无用神(刃),但四柱干头有财(辛)、食(戊)可取,非「无用门」可通(R-纲-16 与 R-纲-01 但书),故**不转杂格,归正格阳刃论**。判为**阳刃格**。
|
||||
|
||||
## 五、成败、用神相神、高低
|
||||
|
||||
- **成败**:阳刃宜逆用,喜官煞制伏,最忌官煞俱无(R-纲-02、R-刃-02)。本命四柱无水,**官煞俱无、全无制刃之物**——正格以「制刃取贵」一路断为无成,不能以贵论(R-刃-13 官煞藏露根浅之贵亦无从谈起,因根本无官煞)。险格而有二德在命,按 R-煞-02 只作安危旁参,不改格局。
|
||||
- **变通用财(成格之另一路)**:阳刃用财本为格所不喜,然**财星根深**(辛坐酉禄,禄为财之重根),又**透食伤转刃生财**(戊食神透时干坐戌,刃火生食土、食土生财金,火→土→金一路顺生通关)——依 R-刃-06,**变格可成,主富**,「虽不比建禄月劫之可以取贵,亦可就富」。故本命定性:**富而不贵**(无官则无位无爵)。
|
||||
- **用神/相神**:用神为财(辛金),相神为食神(戊土)——食转刃生财、且为火金之通关之神(R-旺-23 火金要土)。甲木偏印生身助刃,于旺极为累(身已太旺,印非所用)。
|
||||
- **调候(R-候-06 丙火午月)**:调候用神壬、庚(水火既济);**忌「戊己出干」「成火局不见滴水」**——本命戊土出干、寅午戌火局成、全盘无一滴水,正踩午月丙火调候大忌,原文断此象「僧道鳏独」。调候失济,虽成格而成色大减(气候只增减成色,不推翻格局)。
|
||||
- **格局高低**:身(火)旺极、财(金)有根而遭旺火劫夺、食神通关——财气尚能通门户(R-事-02),故以「富」为格调,然富而有限、不成贵局;气候(无水)偏枯,减色。
|
||||
- **性情(R-性-13、R-性-11)**:羊刃局旺(支会寅戌、逢火局)→ 心高志傲、刚烈有胆识、好动独立;又「阳明遇金」(寅午戌火局+酉中辛金伏藏被火争夺)→ 郁而多烦,一生得意者少、失意者多。
|
||||
|
||||
## 六、行运喜忌(依 `90_行运.md`、`17_阳刃格.md` 取运节)
|
||||
|
||||
- **喜**:行官煞(水)之乡以制刃、且济调候;亦喜财乡若能生官煞者。忌:比劫(火)再旺、印(木)助刃、及官煞俱无之顺火之运。
|
||||
- **癸巳运(1985–1995,约 4–14 岁)**:癸水正官透干制刃——少年一段官星露,为一生较「成格」之段。
|
||||
- **壬辰运(1995–2005,约 14–24 岁)**:壬水七煞透干制刃、辰为湿土晦火——青年前半段,官煞水运续旺,制刃济候,为求学、踏入社会之成格段。
|
||||
- **辛卯运(2005–2015,约 24–34 岁)**:辛为正财透(妻星现)、卯为桃花(以日支寅查)——婚恋期;然卯木印生火、卯戌合又助火,火益旺而财被劫,主「财来财去、婚恋有起有伏」。
|
||||
- **庚寅运(2015–2025,约 34–44 岁)**:庚为偏财透(与流年财星呼应)、寅为印(寅午戌再会火局)——十年偏财显露而劫夺随之,求财多奔波、聚而不厚。
|
||||
- **己丑运(2025 起)**:己土伤官、丑为湿土晦火生金(丑酉半合金局),火气得泄、财得生,财渐安。
|
||||
|
||||
## 七、逐年断运(R-运-34 五步核对,关键年)
|
||||
|
||||
**第 38 题·2014 甲午年(辛卯运内)**
|
||||
- A 透清:流年干甲=偏印,透命中寅中甲木之印(印助火,忌)。
|
||||
- B 会局:流年支午与命午伏吟、又与寅戌重会火局,火势更炽。
|
||||
- C 刑冲:午午伏吟月令羊刃,无解(合处逢冲、逢冲不冲皆未解)。
|
||||
- D 空亡:日柱空亡戌亥、时柱空亡辰巳,午不涉。
|
||||
- E 伏吟:流年午与月柱午伏吟(羊刃伏吟)、干支不同柱故非全伏吟。
|
||||
- 岁运神煞:午=羊刃(岁运再逢,R-煞-20 主刑伤血光)、桃花、将星、勾煞。
|
||||
- 合成:羊刃逢岁刃、火局极旺→血光刑伤之象急;火主心与血脉,刃在月支(胸位)→ **心胸部位手术之应**。
|
||||
|
||||
**第 40 题·2020 庚子 / 2021 辛丑年(庚寅运内)**
|
||||
- 2020 庚子:庚=偏财透(与运干庚伏吟,财星叠见);子=正官(喜用、能制刃济候);子冲月令午刃(C 组刑冲:子午冲)。衰水冲旺火,午刃反激,为「动而多耗」之年(岁运逢灾煞、绞煞:血光意外、牵连羁绊)。
|
||||
- 2021 辛丑:辛=正财透干(财临);丑=湿土,晦火生金助财,且丑与年支酉半合金局(财得局);岁运逢月德合(凶中有缓)、华盖(向学孤处)。
|
||||
- 合成:偏财运(2015–2025)逢财透、财局,然原局劫刃极重、财易被夺——财能聚而聚之不厚,属「薄有积蓄」一档;非财务自由(无官无印贵气、财不得纯),亦不至月月清空或负欠。
|
||||
|
||||
## 八、逐题推理
|
||||
|
||||
**第 36 题(出生家庭环境:A 家境(清)贫 / B 不过不失 / C 小康之家 / D 富裕家庭)**
|
||||
考点:原局年、月二柱所临十神与格局喜忌,定祖上/早年家境。年柱辛酉=正财坐禄(财之重根)、并带天乙贵人、太极贵人、将星、月德合,祖上宫财、德、位俱备;本格以财为用(阳刃用财之富格),财居年月为日主之喜——依 R-亲-35「年月财官印为日主之喜,父母不贵亦富」,家境偏于优裕。但月令午为羊刃、劫夺年柱之财(午火克酉金),且火局旺劫,家境虽不薄而有耗、非巨富之象。合参:家境在常人之上、未至豪门。取 **C 小康之家**。
|
||||
|
||||
**第 37 题(婚姻状况:A 仍然单身 / B 同居生活 / C 已婚 / D 已离婚)**
|
||||
考点:男命妻星、妻宫与格局喜忌(`96_六亲.md`)。妻星=正财辛,透年干、坐酉禄(星不弱),且与日主丙有「丙辛合」之情(有情、有婚缘);辛卯运(2005–2015)正财透干兼桃花,正为婚恋应期,故非全无妻缘。然:①月令午刃(劫财极旺)直劫年财,火又克金——妻星被夺被伤;②妻宫日支寅虽带福星贵人、天德合,却也坐劫煞、元辰(动摇耗散之煞),并见红艳,婚宫带凶;③调候明断丙火午月成火局无滴水为「僧道鳏独」;④依 R-亲-24「劫刃重、财星轻、有食伤、逢枭印」之主克妻组合,本命正合(劫刃重、财被劫、有食戊、逢枭印甲)。诸征同指婚姻有始多折、难偕老。以妻星透合日主(曾成婚缘)为主,断为已成而变。取 **D 已离婚**。*(低置信:A 单身亦为强备选,「鳏独」可直解为独身;B 同居居其三。)*
|
||||
|
||||
**第 38 题(2014 年手术器官:A 心脏 / B 脑部 / C 双腿 / D 手肘)**
|
||||
考点:2014 甲午流年之引动与病位配属(`93_性情.md` 疾病节)。午为丙火羊刃,流年羊刃伏吟月令羊刃(刃逢刃),R-煞-20 明主「刑伤、血光之虞」;又甲午年重会寅午戌火局,火势到顶。脏腑配属火为「小肠、心」,火主血脉;刃居月支,月柱主胸位。火旺攻心、刃主刀(手术)在胸——病位合于心。取 **A 心脏**。*(低置信:火炎上主头,B 脑部为备选;火克金伤骨可牵及 D 手肘。)*
|
||||
|
||||
**第 39 题(职业:A 保险从业员 / B 零售业 / C 文员 / D 的士司机)**
|
||||
考点:格局取象+十神事类(`91_何知事类.md`、`90_行运.md` R-运-31)。本命阳刃格而**全无官煞**,无公职、无编制、无管理职位可论——文员(C,官印文书之职)最不合。格以「阳刃用财、食神转刃生财」成富格,事业落于**食伤生财**一路:以口才、专业服务换取财利之商业角色。命带天乙贵人、太极贵人、红艳、桃花,人缘与亲和特出,宜人际型销售;羊刃加之无官,主独立自主、佣金自食(非坐店受雇)。火土(食)生金(财)之映射正为「以口才与服务推销金融产品」。取 **A 保险从业员**。*(低置信:B 零售业亦同属财之买卖一路;阳刃亦主驾驶、技术,D 的士司机为备选。)*
|
||||
|
||||
**第 40 题(2020/2021 经济状况:A 月光族 / B 欠下债务 / C 薄有积蓄 / D 财务自由)**
|
||||
考点:庚寅大运(偏财透)末年之财星引动。2020 庚子财星叠透而子午冲刃(动而耗,逢灾煞、绞煞),2021 辛丑正财透、丑酉半合财局、湿土晦火生金(财得局得生,逢月德合缓其凶)。财路显而原局劫刃极重,财聚而不厚:既非「财务自由」(无官无印之贵气、财不纯),亦非月光或负债(财透得局、有食通关可积)。取 **C 薄有积蓄**。
|
||||
|
||||
## 九、存疑与边界
|
||||
|
||||
- 双盘四柱一致,无跨盘分歧。
|
||||
- 「阳刃用财」之变格成立,系依 R-刃-06(财根深+伤食转生);若从严以「阳刃无官煞制即败」单看,则格降为低下——本档取「变格成而主富」一路,并声明其富有限、不成贵。
|
||||
- 第 37 题(婚姻)、第 38 题(手术部位)、第 39 题(职业)判据偏弱、选项相近,均标低置信;第 36、40 题为中等置信。
|
||||
- 神煞、空亡只作细节参看,未入取格/成败/用神/高低四层(R-禁-01)。
|
||||
|
||||
## 十、答案
|
||||
|
||||
Q1: C
|
||||
Q2: D
|
||||
Q3: A
|
||||
Q4: A
|
||||
Q5: C
|
||||
@@ -0,0 +1,110 @@
|
||||
# BaziQA 求解:male_19831101_P022(contest8_2022)
|
||||
|
||||
## 一、命主信息
|
||||
|
||||
- person_id:male_19831101_P022(题目名:1983年出生男性)
|
||||
- 性别:男
|
||||
- 出生钟表时间:1983-11-01 21:30(题面 raw:「1983-11-01 亥时 中国台湾出生」)
|
||||
- 出生地:中国台湾
|
||||
- 真太阳时(主盘):1983-11-01 21:52
|
||||
- 对照盘:**已排**。触发原因:place「中国台湾」属境外/模糊地名(任务书双盘纪律第二条)。对照盘口径为 120°E 不经度修正(`--place "中国大陆"`,副本解析为杭州代理 120.16E / Asia/Shanghai)。
|
||||
- **两盘四柱完全相同**(癸亥 壬戌 癸巳 癸亥),仅经度修正不同(台北 121.5E:+6.24 分;杭州 120.16E:+0.64 分),真太阳时分别 21:52 / 21:47,**同属亥时**,无时辰跨界、无晚子时、无口径分歧。下文结论两盘通用,末尾答案行不标口径分歧。
|
||||
- 题目数:5(P022-Q26 ~ P022-Q30)。
|
||||
|
||||
## 二、排盘口径
|
||||
|
||||
- 时区 Asia/Taipei,夏令时:否(1983 年不在 1986–1991 夏令时段内)。
|
||||
- 经度修正 +6.24 分 / 均时差 +16.38 分 / 合计 +22.62 分(主盘)。
|
||||
- 日界规则:子初换日(真太阳时 23:00);本盘真太阳时 21:52,未涉晚子时;距交节(立冬 11-08 07:52)远,无节气边界提示。
|
||||
- 对照盘仅经度修正不同(合计 +17.02 分),四柱一致。
|
||||
|
||||
## 三、命盘要点
|
||||
|
||||
- 四柱:年 癸亥(比肩·帝旺)/月 壬戌(劫财·衰)/日 癸巳(日主·胎)/时 癸亥(比肩·帝旺)。
|
||||
- 藏干:亥(壬劫财、甲伤官)×2;戌(戊正官、辛偏印、丁偏财);巳(丙正财、庚正印、戊正官)。
|
||||
- 空亡:日柱午未;时柱子丑。
|
||||
- 神煞(仅参看):驿马(亥、巳)、天乙贵人(癸见巳)、太极贵人(癸见巳)、地网(巳)、阴差阳错(癸巳日)、寡宿(年支亥见戌)。
|
||||
- 五行分布:水 6、土 3、火 2、金 2、木 2。**水(比劫)占绝对优势**:天干四字全为壬癸比劫,地支亥亥两坐日主帝旺。
|
||||
|
||||
## 四、取格
|
||||
|
||||
依《子平真诠》「用神专求月令」:
|
||||
|
||||
1. 月令戌(寒露后、立冬前),藏戊辛丁;本气戊为日主癸水之**正官**(戊癸阴阳相配)。
|
||||
2. 戌中戊辛丁**皆不透干**(四柱天干唯壬癸比劫),无从透变,故以本气取格 → **正官格**(杂气正官,兼财兼印藏于库)。
|
||||
3. 非建禄月劫格(月令戌为官库,非癸之禄刃);非从格(日主极旺有根)。外格闸门不开(月令自有用神)。
|
||||
4. 兼看:官、财、印、伤皆藏支而不透,全局天干只显比劫。
|
||||
|
||||
## 五、格之成败 · 用神相神 · 格局高低
|
||||
|
||||
- **成败**:正官格喜财生官、印护官(财印并透两不相碍为上)。此造财(丙丁)、印(庚辛)俱藏不透,官星孤而无辅;更重者——日支巳(官根、亦妻宫财库)被年、时双亥**冲**,官星之根受伤。属「孤官无辅」之列,格低且带忌。
|
||||
- **用神/相神**:身旺极,用神取正官戊土;相神宜财(财生官),而财被比劫重重劫夺、不能生官;印生身反为忌。
|
||||
- **旺衰扶抑(参看层)**:日主旺极、比劫成群、官轻财弱,扶抑药神宜「泄」(食伤)与「耗」(财)。命局甲木伤官、丙丁财皆藏而不透,泄耗之用不显。
|
||||
- **高低**:身旺(有力)而用神官星无力、财被劫、妻/官之根受冲,配合无情不能呼应 → 格局偏低。属劳碌、财来财去、名位不显、婚缘多波折之命,非寒乞(天乙、太极、正官当令,尚有和气与贵人),亦不主大富大贵。
|
||||
- **调候(参看层)**:九月癸水,穷通宝鉴取辛发水源、甲制戊土。命有辛(戌中)、甲(亥中),俱藏透不出 → 中和偏平,常人之上、贵显之下,与格局低断相合。
|
||||
- **禁则约束**:神煞、纳音、空亡未进入取格/成败/用神/高低四层。
|
||||
|
||||
## 六、行运
|
||||
|
||||
- 排法:逆行,起运 7.90 岁。大运:辛酉(1991)→ 庚申(2001)→ 己未(2011)→ 戊午(2021)→ 丁巳(2031)→ 丙辰(2041)。
|
||||
- **辛酉、庚申(7.9–27.9 岁,1991–2011)**:纯印运,覆盖求学全程。印为文凭学业之神,虽于身旺命为忌(助旺),但主读书考试得力 → 学历当在大学之上。
|
||||
- **己未(27.9–37.9 岁,2011–2021)**:己七杀透、未为杀库,官杀运——身旺喜官杀制身,为用神运,事业渐入正轨。
|
||||
- **戊午(37.9–47.9 岁,2021–2031)**:戊正官透、午为正财,官财并美,同为用神运,中年前后为事业财禄主升段(2021 为交运年,戊癸合,官星贴身)。
|
||||
- **丁巳、丙辰(47.9 岁后)**:财星得地,财运续旺。
|
||||
- 忌在印比(金水)之限,喜在官财食伤(土木火)之限。
|
||||
|
||||
## 七、逐题推理
|
||||
|
||||
### 第 1 题(对应 P022-Q26)爱情问题
|
||||
|
||||
- 考点:男命婚姻感情状态。
|
||||
- 推理链:男以财为妻。此造财星丙(藏日支巳,丙禄在巳)、丁(藏月支戌,火库)俱藏不透,且被年时四水比劫重重劫夺——妻星虽藏而有根,却被劫;日支巳为妻宫,坐丙财(妻宫有用),却**被年、时双亥相冲**。依真诠论妻子篇:「妻透成格,或妻宫有用而坐下刑冲,未免得美妻而难偕老」——妻宫有用而逢冲,主有妻而难偕老。合参比劫极旺夺财(「财神轻而比劫多」),婚缘多波折,能成而难守。
|
||||
- 逐项排除:D(已婚幸福育子)——妻宫被冲、财被劫,与「家庭幸福」相反,排除。B(稳定交往多年未婚)——夫妻宫逢冲无解,长期稳定关系难维持,次排。A(单身几任无疾而终)与 C(曾婚离婚)皆合「婚姻不顺」之象。妻宫坐财有根、天乙贵人坐妻宫,主有婚姻之缘而非终身无配,故取 C(曾有一段婚姻而终离),A 列为备选。
|
||||
- 结论:C(低置信;A 为备选)。
|
||||
|
||||
### 第 2 题(对应 P022-Q27)学历与工作
|
||||
|
||||
- 考点:出身学历、职业性质。
|
||||
- 推理链:辛酉、庚申两运共二十年纯印,严丝合缝覆盖求学年龄段 → 学历当在大学以上。格为正官格(官为分所当尊之神),官星虽弱而月令当令有根,天乙、太极二贵人坐日支 —— 主聪慧、向学、走正途体制路线。财星被比劫劫夺,不宜以经商求财为业;官(名位、职务、体制)与印(文书、学术、平台)为一生立身之所。官+印相配、财路受阻 → 宜体制内的研究/学术/文职,而非企业求财或技术经商。
|
||||
- 逐项排除:A(高职摆摊)——二十印运与正官格不容此;D(上市公司、工程/企业)——财被劫,走企业求财之路不顺,次排。C(硕士、大学研究员)与官格+印+贵人路线最合。
|
||||
- 结论:C(中等偏低置信;D 为备选)。
|
||||
|
||||
### 第 3 题(对应 P022-Q28)被骗钱的时间
|
||||
|
||||
- 考点:破财(被骗)之应期,流年定位。
|
||||
- 推理链(按断运序列查表):命局比劫(劫财)极旺,妻财宫(日支巳,藏丙财)本是财之所在。逐候选年比对五组引动——
|
||||
- 2014 甲午:甲透亥中伤官(A 组透清),午为日柱空亡填实(D 组)、午未与大运未合(B 组);但午火属财,为助财之年,非夺财,事类偏得财/伤官泄秀,非「被骗」。
|
||||
- 2018 戊戌:戊透戌中正官(A 组)、戌戌伏吟月支(E 组)、戌与大运未相刑(C 组);事类偏官星/职务/官非,非直接破财。
|
||||
- 2019 己亥:亥为年、时支伏吟(E 组),亥与大运未半合木局成伤官局(B 组),**亥冲日支巳(C 组,冲财宫、妻宫)**;己七杀透。劫财得势(三亥)+伤官局成+冲财宫,正是「比劫夺财、被同辈/小人所骗而破财」之象,且兼动妻宫。
|
||||
- 2021 辛丑:辛透戌中偏印(A 组)、巳丑半合金局合动妻宫(B 组)、丑戌刑(C 组);事类偏文书/合同、婚姻与母辈之事,破财为间接。
|
||||
- 最贴合「被骗钱」(比劫夺财)者为 2019 己亥。
|
||||
- 逐项排除:2014 助财反非破财;2018 偏官非;2021 偏文书婚姻。取 2019。
|
||||
- 结论:C(2019 年)。
|
||||
|
||||
### 第 4 题(对应 P022-Q29)个性及特色
|
||||
|
||||
- 考点:性情、才性。
|
||||
- 推理链:此造最大结构特征是**比劫暴旺**——天干四字全为壬癸比劫,地支亥亥两帝旺,比劫居五行之绝对优势。比劫主同辈、朋友、竞争;身旺比劫为忌,故为「好交际、重义气、朋友多而杂」,但因比劫夺财、朋辈带来的是分夺与破费,难得知己 → 「喜好交友而真心朋友寥寥」。正官虽当令为格,然官星藏而不透、根被冲伤,其「律己约束」之力不能自立,故性格主导在比劫之性,而非正官之德。
|
||||
- 逐项排除:D(和善律己宽人)——此为纯粹正官/正印得用之象,本造官弱被伤,不取(列为备选);A(过动亢奋)——伤官仅藏不透,阳动之性不显;B(体力雄健)——虽身旺体壮,但非命局最显著之「特色」对应。
|
||||
- 结论:C(中等偏低置信;D 为备选)。
|
||||
|
||||
### 第 5 题(对应 P022-Q30)理财能力
|
||||
|
||||
- 考点:财、理财、用财方式。
|
||||
- 推理链:命局财星(丙丁)藏而不透,被年时四水比劫重重劫夺;劫财旺主冒险、投机、好赌、敢下重注,而所赚之财随即被比劫分夺(劫财夺财)——正合「相当投机,赚的钱几乎都投入股市,但赚少赔多」之象。财库(戌)与财根(巳)又逢冲刑,财更难聚守。
|
||||
- 逐项排除:A(会理财、已置房)——财被劫而难聚,与「会理财、能置产」相反;B(母亲代管)——印为母,然印不透、非命局主导,母代管之象不显;C(富二代乱花)——年月无富贵之根可承,身旺比劫更非富二代之象。
|
||||
- 结论:D(中等置信)。
|
||||
|
||||
## 八、存疑与边界
|
||||
|
||||
- 第 1 题「婚变年份」:题面所给 2021 年,盘上冲妻宫最著者为 2019 己亥(亥冲巳),2021 辛丑以巳丑半合、丑戌刑动妻宫与官库为主,冲力不及 2019;然「曾婚而离」之类型判断仍以妻宫坐财逢冲、比劫夺财为据,故取类型 C,年份层面存疑,标低置信。
|
||||
- 第 4 题:正官格与比劫旺双线均显,官弱则取比劫主导之断(C),正官之德(D)降为备选。
|
||||
- 对照盘与主盘四柱全同,无口径分歧。
|
||||
|
||||
---
|
||||
|
||||
Q1: C # 低置信
|
||||
Q2: C # 低置信
|
||||
Q3: C
|
||||
Q4: C # 低置信
|
||||
Q5: D
|
||||
@@ -0,0 +1,127 @@
|
||||
# BaziQA 求解:contest8_2022 · male_19850629_P021
|
||||
|
||||
## 一、命主信息
|
||||
|
||||
- contest:contest8_2022(current_year=2022)
|
||||
- person_id:male_19850629_P021(题目 name「1985年出生男性」)
|
||||
- 性别:男
|
||||
- 出生钟表时间:1985-06-29 18:32(题目 place 原文「马来西亚」,题面注「酉时」)
|
||||
- 出生地:马来西亚(题面 place 原文,脚本解析时区 Asia/Kuala_Lumpur)
|
||||
- **真太阳时(主盘):1985-06-29 17:15**(经度修正 -73.24 分、均时差 -3.04 分,合计 -76.28 分;时区无夏令时)
|
||||
- 四柱:**乙丑 / 壬午 / 己亥 / 癸酉**
|
||||
- 对照盘:**已排**。
|
||||
|
||||
### 双盘说明
|
||||
|
||||
- 触发原因:place「马来西亚」属**境外/模糊地名**(双盘纪律条件二),强制排对照盘。
|
||||
- 对照盘口径:place 传「中国大陆」(副本解析为杭州代理 120.16E,UTC+8 钟表时≈真太阳时,即 120°E 不经度修正),真太阳时 1985-06-29 18:29。
|
||||
- 对照盘四柱:**乙丑 / 壬午 / 己亥 / 癸酉**——与主盘**完全相同**(两盘皆落酉时,18:32 钟表时在 UTC+8 下同为酉时)。
|
||||
- 另注:主盘真太阳时 17:15 距酉时边界 17:00 恰为 15 分钟(纪律条件一要求「小于 15 分钟」,不满足),对照盘由「境外」条件触发。
|
||||
- **两盘同盘,无口径分歧**,下文答案均无「口径分歧」标注。
|
||||
|
||||
---
|
||||
|
||||
## 二、命盘要点
|
||||
|
||||
- 日主己土,生午月(芒种后、小暑前)。
|
||||
- 四柱十神:年乙(七杀)丑、月壬(正财)午、日己(日主)亥、时癸(偏财)酉。
|
||||
- 藏干:丑(己癸辛)、午(丁己)、亥(壬甲)、酉(辛)。
|
||||
- 日主得根:月令午为**己之临官(禄)**,年支丑、月支午中己皆比肩——**身旺**。
|
||||
- 财(水):壬正财透月干、癸偏财透时干,通根日支亥(壬禄)、年支丑(癸),**财旺两透**。
|
||||
- 印(火):午火当令,丁偏印藏——**印旺**。
|
||||
- 食(金):时支酉为辛之禄地(食神有气),年支丑藏辛。
|
||||
- 官煞(木):乙七杀透年干(坐丑衰),甲正官藏日支亥——**官煞弱而混**。
|
||||
- 空亡:日柱辰巳、时柱戌亥(**日支亥在时柱空亡内**)。
|
||||
- 神煞:华盖、太极贵人(年支丑);禄神、桃花、元辰(月支午);天德、驿马(日支亥);文昌、将星、灾煞(时支酉)。
|
||||
- 节令气候:己土生午月,夏土火炎土燥,穷通宝鉴「三夏己土,禾稼在田,最喜甘沛,取癸为要,次用丙火」——**调候正需癸水**,本命癸透亥丑有根,调候得用。
|
||||
|
||||
## 三、取格(依 00_总纲 §1 六步)
|
||||
|
||||
1. 定月令:午。
|
||||
2. 月令午为**日主己之临官(禄堂)**——己禄在午。依 R-禄-01「建禄月劫同格,别取财官煞食为用」,立**建禄月劫格**(月令自身无用神,于四柱另取财官煞食)。
|
||||
- 备注(存疑):总纲 §1 第二步字面作「以日干对月令本气取十神」;午本气丁为偏印,字面亦可读作**印绶格**。然午即己之禄(命盘「月柱·临官」亦标此),子平通法及本库 R-禄-01「月令为日干之禄(临官)」皆归建禄。两读**结论趋同**:无论建禄用财、或印重身强「印多而用财」(R-印-08 透财抑印),**用神皆为财(水)**,故取格分歧不改喜忌与断语。
|
||||
3. 藏干变化:午本气丁(偏印)不透,四柱透财(壬癸)、七杀(乙)、比肩(日主);无寅申巳亥辰戌丑未之透干格变。
|
||||
4. 会支变化:无三合三会成局(丑酉只半合金、亥无卯未),格不变。
|
||||
5. 定格完成:建禄月劫格。
|
||||
6. 杂格闸门:月令自有用神(财、煞透干可取),不转杂格。
|
||||
|
||||
**格之成败**:建禄用财带食——壬癸财两透(财星根深),时支酉食神有气(辛得禄),合 R-禄-05「禄劫用财须带伤食……四柱带食神/伤官透出或有气」→**成格**;财透两位为「露」且偏正杂出,较 R-禄-02「透一位以清用」为逊,故成而未极。
|
||||
|
||||
**用神与相神**:用神=财(壬正财为主、癸偏财为辅,水);相神=食神辛(时支酉,既泄比劫之旺、又生财,兼制年干乙煞)。七杀乙弱且有食制,不碍。
|
||||
|
||||
**格局高低**:身旺、财旺、食有气、调候得癸——**有情而有力**,然官星(甲)藏而弱(官不起),财偏正杂出、比劫(土)与印(火)皆旺助身夺财,故**富多贵少**(依 R-禄-14/18「用财……亦可取富,但不贵耳」,参 R-性-26「富而秀者,身旺财旺与官星不通」)。格局中上偏低之富格。
|
||||
|
||||
**喜忌总纲**:喜金(食伤,泄秀生财)、喜水(财,用神兼调候);忌火(印,助身增燥)、忌土(比劫,夺财);木(官煞)为护财之喜,然身旺而官煞弱且混杂无去留,逢之易起官非是非。五行流行(木→火→土→金→水)无断,根本气畅。
|
||||
|
||||
## 四、行运
|
||||
|
||||
大运逆行,7.88 岁起运:
|
||||
|
||||
- **辛巳**(1993–2002,8–17 岁):辛食神泄秀(喜),巳为印火(忌)然巳与命丑酉**会金局**(巳酉丑,食伤得地、生财)——学业少年期,食伤旺主聪敏,半吉。
|
||||
- **庚辰**(2003–2012,18–27 岁):庚伤官生财(喜),辰湿土助身亦为水库;**庚合年干乙,合煞存财**(R-禄-14)——事业起步、财运上升之吉运。
|
||||
- **己卯**(2013–2022,28–37 岁):己比肩透(忌,夺财);卯为七杀乙木(忌),且**卯冲时支酉**,冲坏食神相神——制煞之具被冲,七杀无制攻身。**忌运**:破财、竞争分夺、官非压力、婚恋波折并见。
|
||||
- **戊寅**(2023–2032,38–47 岁):戊劫财(忌,夺财);寅正官(甲)得地、寅亥合木,官星较显而甲己暗合,比劫与官星并动,喜忌参半。
|
||||
|
||||
### 关键流年(依 R-运-34 五步核对后落笔)
|
||||
|
||||
- **2009 己丑**(庚辰运):己比肩透(夺财)、丑与年支伏吟、丑酉半合金(食伤)、丑辰相破;神煞逢太极/华盖(命带重见)、流年干支自属十恶大败。→ 比劫夺财、合伙分夺之象。
|
||||
- **2019 己亥**(己卯运):己比肩、亥与日柱**伏吟**(妻宫重见),亥为驿马(迁徙动)、天德(得解)——妻宫被牵动。
|
||||
- **2022 壬寅**(己卯运):壬正财透清(命中亥藏壬)、寅为正官甲之生地、寅亥合木(官局动),逢劫煞、亡神、孤辰;己卯运比劫夺财、卯酉冲坏食神(煞无制)——财透而生官煞、煞攻身无制之象。
|
||||
|
||||
## 五、逐题推理
|
||||
|
||||
### 第 1 题(个性)
|
||||
|
||||
考点:对人「性情」细节(加载 93_性情)。
|
||||
|
||||
推理链:五行木火土金水俱全且顺生无断(乙木生午火、午火生己丑土、土生辛酉金、金生壬癸水、水生乙木),依 R-性-02「五气不戾,性情中和」为不苟、无骄谄;天干乙壬己癸全阴在外、地支午(阳)在内,合 R-性-16「阳在内、阴在外,不激不亢,德胜才者,局合君子之风」。身旺而印重、财旺而食秀,为人持正而务实;命带华盖、太极贵人(年支丑)皆主孤高、向学、内敛,火土燥而得丑湿土与水润,非暴烈之象(R-性-03「火烈而性燥」以「无丑辰湿土」为条件,本命有丑,不触发)。综合取向为**谨慎持重、不轻冒险**一路。
|
||||
|
||||
排除:B「脾气暴躁,自暴自弃」需火烈性燥而无湿土,本命丑湿土润、且五行流通,不合;C「先斩后奏,闯祸后就逃避」属伤官劫财无忌之象,本命有官煞透、食神制,不合;D「苦口婆心,啰啰嗦嗦」本命印食虽旺,然主线取中和持正一路更贴。取 A。
|
||||
|
||||
### 第 2 题(婚姻)
|
||||
|
||||
考点:婚姻应期(加载 96_六亲 §4 妻宫妻星 + 90_行运 R-事-13)。
|
||||
|
||||
推理链:妻宫=日支亥(藏壬正财、甲正官——妻宫坐财官,R-亲-05「妻当贤贵」),妻星=天干财(壬正财、癸偏财两透),R-亲-10「妻星透而成局」主内助。日支亥在**时柱空亡(戌亥)**内、且辰巳空亡不涉。大运己卯(2013–2022)卯与日支亥**半合木**、并冲时支酉,婚宫全程被牵动——婚缘应在此运。R-亲-13「妻星两透偏正杂出」防刑克,然 R-亲-23 身旺财旺「必富贵而多妻妾」,非无婚之象,排除「至今未婚」。具体收敛:**2019 己亥**年与日柱己亥**伏吟**(妻宫亥重见)、亥为驿马(成家迁动)、又逢天德(凶解),为婚缘落实之年;对照 2017 丁酉(丁壬合去妻星壬,反主妻星被牵)、2018 戊戌(戊劫财透,夺财),皆不如 2019。选项 B「2019年11月」正为亥年亥月双现妻宫之期。
|
||||
|
||||
取 B。低置信(亦不排除 A 2017年3月)。
|
||||
|
||||
### 第 3 题(2009 年何事)
|
||||
|
||||
考点:流年应事(庚辰运 / 己丑年,命主实龄 24)。
|
||||
|
||||
推理链:庚辰运为伤官生财、合煞存财之吉运(事业开创期);2009 己丑年己比肩透干——**比肩即同辈、朋友、合伙人、竞争者**(R-运-31 十神事类),其用为「分夺财利」。丑与年支乙丑**伏吟**、与时支酉半合金、与大运辰相破,流年干支又自属十恶大败(主财物大进大出、易大挫)。比劫夺财贯穿全年,最合「合伙/朋友间因分财而受骗破耗」之象。分组:B 组(丑酉半合食伤)、E 组(丑伏吟年支)——引动非单一。
|
||||
|
||||
排除:A(黑道女人被追杀)须桃花与煞大动,己丑年无桃花引动(命带桃花在午),不合;C(中彩票得横财)比劫当值之年多主破财而非得财,且丑为金库非水库,不合;D(车祸重伤)命带灾煞在酉、虽逢丑半合,然无冲无刑、引动不足,且比劫夺财之象更着。综合取 B「和朋友创业,被股东诈骗」。
|
||||
|
||||
取 B。低置信。
|
||||
|
||||
### 第 4 题(2022 上半年何事)
|
||||
|
||||
考点:流年应事(己卯运 / 壬寅年,current_year=2022,命主实龄 37)。
|
||||
|
||||
推理链:壬寅年,壬为正财透清(命中亥藏壬),财透而生官煞;寅为正官甲之生地,寅与日支亥**合木**,官局动。然所行**己卯运**为忌运:己比肩夺财、卯冲时支酉**冲坏食神**(食神为制七杀乙之相神),七杀无制而攻身;身旺而官煞弱且**混杂**(乙煞透、甲官藏,无去留),依 R-事-13「官禄受冲刑」——官星浊杂、为忌者多应**官非、口舌**。神煞层:2022 逢**劫煞**(争夺、口舌、意外伤损)、**亡神**(耗散失脱)、孤辰,皆指向争夺破耗与是非乃至官讼;天德合主凶中有缓。
|
||||
|
||||
排除:D(升职)身旺虽喜官,然官煞混而无制、又逢劫煞亡神破耗,升迁之象不成立;A(创业融资)己卯运比劫夺财、食神被冲,不宜得财反主破财,且与劫煞争夺之象相悖;C(父亲受伤)虽偏财(父)在己卯运受比肩之克,但流年主象在官煞攻身与劫煞争夺,官非之象更显。综合取 B「犯下刑事罪被告上法庭」。
|
||||
|
||||
取 B。低置信。
|
||||
|
||||
### 第 5 题(学历)
|
||||
|
||||
考点:学业出身(参 93_性情 §6 出身、印/官/食配置)。
|
||||
|
||||
推理链:学历以印为文凭之器。本命印(丁火)本气藏午、午为印之禄地(当令有力),命带文昌(时支酉)、华盖、太极贵人(年支丑),主聪敏向学;然**财旺两透坏印**(壬癸水克丁火),且日主官星(甲)藏亥、弱而**官不起**——合 R-性-26「富而秀者,身旺财旺与官星不通……纵有清气,不过一衿终身」,为「弃文就商」之象。早年辛巳运食伤泄秀(聪慧)而巳酉丑会金局亦偏食伤生财之路,非纯官印功名之局。综合:有向学之根而文凭受财坏、功名不高,学历止于中等实用一路。
|
||||
|
||||
排除:D(小学未读)印得当令、文昌入命,非失学之象;C(专业技术学校)食伤旺虽近技艺,然本命财旺主商而非专技;A(大学/大专)印虽有力,但财坏印、官不起,文凭之象不足以上探。取 B「中学/高中毕业」。
|
||||
|
||||
取 B。低置信。
|
||||
|
||||
---
|
||||
|
||||
## 六、答案
|
||||
|
||||
Q1: A # 低置信
|
||||
Q2: B # 低置信
|
||||
Q3: B # 低置信
|
||||
Q4: B # 低置信
|
||||
Q5: B # 低置信
|
||||
@@ -0,0 +1,175 @@
|
||||
# contest8_2023 — female_19581027_P014
|
||||
|
||||
## 命主信息
|
||||
|
||||
- person_id:female_19581027_P014(1958年出生女性)
|
||||
- 性别:女
|
||||
- 出生钟表时间:1958-10-27 07:00(当地钟表时,Asia/Taipei)
|
||||
- 出生地:台湾(题面原文;属境外/模糊地名)
|
||||
- 真太阳时主盘:1958-10-27 07:22(经度修正 +6.24 分、均时差 +16.14 分,合计 +22.38 分)
|
||||
- 对照盘:**已排**。触发条件二——出生地为「台湾」(境外/模糊地名,落在任务书列举清单内)。
|
||||
对照盘口径 120°E 不经度修正(`--place "中国大陆"` → 杭州代理 120.16E,UTC+8 钟表时≈真太阳时),
|
||||
真太阳时 07:16。
|
||||
- **两盘结果**:主盘与对照盘四柱全同——**戊戌 壬戌 丁丑 甲辰**(真太阳时 07:22 与 07:16 均落辰时 07:00–09:00 之内)。
|
||||
故本题**不存在口径分歧**,下文按此一盘统一推理,答案行不标「口径分歧」。
|
||||
- 时辰边界检查:真太阳时 07:22 距辰时起点 07:00 为 22 分钟(> 15 分钟),边界条件未触发;对照盘仅因境外地名而排。
|
||||
|
||||
## 一、命盘要点
|
||||
|
||||
```
|
||||
四柱:戊戌 壬戌 丁丑 甲辰
|
||||
```
|
||||
|
||||
- 日主 **丁火**,生于戌月(寒露后、立冬前),戌为火之墓库,日支丑、时支辰皆墓/库,
|
||||
**日主无禄无刃、通根仅戌中丁比肩(墓中之根),身弱**。
|
||||
- 地支四土库齐见(年戌、月戌、日丑、时辰),**戊土伤官极旺**(戊透年干 + 戌本气 + 丑己 + 辰戊)。
|
||||
- 天干:年戊(伤官)、月壬(正官)、日丁(日主)、时甲(正印)。
|
||||
- 藏干:戌〔戊辛丁〕、丑〔己癸辛〕、辰〔戊乙癸〕。
|
||||
- 空亡:日柱空亡 **申酉**;时柱空亡 **寅卯**。
|
||||
- 神煞:**华盖三重**(年戌、月戌、日丑)、绞煞(日支丑)、阴差阳错(日柱直查)。华盖重重,主向学、艺文、宗教玄学之缘。
|
||||
- 干支关系:**丁壬合**(日主丁与月干壬正官作合);丑戌相刑(日支丑刑年月戌);辰戌相冲(时支辰冲年月二戌);丑未冲(逢未运/未年);丑辰、戌戌同气。
|
||||
- 调候:丁生戌月,穷通宝鉴「九月丁火,端用甲、庚(乙不离丙)」——**甲木透时干**,得调候用神;庚金不透(辛金藏戌丑),是此盘之一缺。
|
||||
|
||||
## 二、取格(按 00_总纲 六步)
|
||||
|
||||
1. 月令:戌(月柱壬**戌**)。
|
||||
2. 月令本气十神:戌本气戊,对日干丁为**伤官** → **伤官格**。
|
||||
3. 藏干变化:戌藏戊辛丁,本气**戊透年干**,辛(偏财)藏而不透,故本气透出、格定为**伤官格**(杂气伤官,透清一位)。
|
||||
月干壬正官非月令所藏,属格中之官(伤官见官之字)。日主丁与月干壬作合(丁壬合)。
|
||||
4. 会支变化:辰戌丑未四库并存,然无三合/三会使月令之气化为别神,格不变。
|
||||
5. 定格完成:**伤官格**(杂气透清)。
|
||||
6. 外格闸门:月令自有用神(伤官透干取用),**不转杂格**。
|
||||
|
||||
## 三、格局成败 · 用神相神 · 高低
|
||||
|
||||
- **成败**:伤官旺(土重)而日干偏弱(丁无强根),四柱**透正印甲木**、甲通根辰中乙木——
|
||||
正合《子平真诠》「伤官佩印」:印能制伤、生身,**成格,秀气之格**。
|
||||
另戌月令中戊(伤)与辛(财)同根,兼「财伤有情」一路,秀气可泄于财。
|
||||
- **用神 / 相神**:月令用神为**伤官**(凶神逆用);**相神为甲木正印**(制伤、生身、又得调候),
|
||||
辛金偏财为财源之辅(藏而不透,力缓)。
|
||||
- **带忌与救应**:月干壬官被年干戊伤官紧克(伤官见官),为**带忌**;
|
||||
赖时干甲印制伤、且壬合日主(丁壬合,官有情于我),忌得有救,格不倒。
|
||||
- **高低**:有情(印护身、财有根、官合我)、**力有不全**(身弱、印根仅辰中一乙、官星无强根)。
|
||||
综合为**秀气成格而中上,非大贵**——宜以才艺、专业、口才立身,财来自伤官生财一路,
|
||||
女命另参夫星(官壬透而合我,夫星明顺)。
|
||||
- **调候成色**:甲透得候,才艺成器、秀而不寒;缺庚金一刀劈甲,故其成带「勉强」之味,非殿元之贵。
|
||||
|
||||
## 四、行运(大运逆行)
|
||||
|
||||
- 辛酉(6–16岁,1964起)/庚申(16–26岁,1974起):**财运(金)**。佩印格忌财坏印,少年两运财旺不助身。
|
||||
- **己未(26–36岁,1984起)**:己食神 + 未(木库/印库,且**未冲日支丑**)——食神生财、印库微帮身,此运为才艺变现、家事变动之期。
|
||||
- **戊午(36–46岁,1994起)**:戊伤官 + **午(丁之禄,帮身)**。身弱得禄,且伤官克壬官(夫星受克)——自立创业、老公受克之运。
|
||||
- **丁巳(46–56岁,2004起)**:丁比肩 + **巳(丁之帝旺,帮身)**。身得帝旺,能任财,为财禄丰盛期;然火炎土燥,木(印)渐枯。
|
||||
- **丙辰(56–66岁,2014起)**:丙劫 + 辰(湿土、水库,辰冲命戌)。火土之气稍敛。
|
||||
- 乙卯(66岁起,2024):乙偏印 + 卯(印),印运帮身。
|
||||
|
||||
喜忌基线(伤官佩印,参 R-伤-23 与身弱扶抑):**喜木(印)、火(比劫);官煞(水)为可用(生印,然微克身);土(伤食)不碍;金(财)为忌(坏印)**。
|
||||
|
||||
---
|
||||
|
||||
## 五、逐题推理
|
||||
|
||||
### 第 1 题(P014-Q26,1983/1984/1985/1986)——以服装设计师身份出名大旺
|
||||
|
||||
**考点**:伤官秀气(才艺/专业)在何年彰显成名并转为旺象。
|
||||
|
||||
- 大运:1983 在庚申运末(财),1984 交运入**己未**(食神+印库),1985、1986 在己未运。
|
||||
- 逐组核对:
|
||||
- 1983 癸亥:癸(七杀)透清于丑辰(A 组);亥为甲印长生、驿马。引动 1 组 → 止于年。
|
||||
- 1984 甲子:**甲(正印,相神)透**;子丑六合、子辰半合水(B 组)。交运年。官印相生之象。
|
||||
- 1985 乙丑:乙(偏印)透清于辰(A 组);丑再临、丑戌刑(C 组)。华盖(日支丑)引动。
|
||||
- 1986 丙寅:寅戌半合火(B 组);寅填实时柱空亡(D 组);丙劫帮身。
|
||||
- 论断:本年之「出名」当系**名声与专业资历**同显之象。1984 为**交运年**(脱财运转入己未食神生财之运),
|
||||
流年**甲木正印透出(相神临身)** 且坐下子水官星、子丑合动日支——官印相生,名声地位一时跃升,
|
||||
最合「成名」之直接取象(印主专业资历、官主名望),故取 **B 1984**。
|
||||
(备选:1986 丙寅,丙劫帮身 + 寅戌火局,主「大旺」之元气,然少官印名气之象,降为备选。)
|
||||
- **置信度:中低**(1984 / 1986 两存,1985 华盖学艺亦近)。
|
||||
|
||||
### 第 2 题(P014-Q27,1987/1989/1990/1992)——通灵、梦神明报六合彩明牌,大姐得横财
|
||||
|
||||
**考点**:玄学灵异之缘(华盖/印)与偏门横财(偏财/比劫)同现之年。
|
||||
|
||||
- 大运:1987–1992 皆在**己未运**。
|
||||
- 逐组核对:
|
||||
- 1987 丁卯:丁(比肩,姊妹)透清于戌(A 组);**卯戌六合**(合动年月华盖之戌,B/C 组);卯辰相害;
|
||||
卯填实时柱空亡(D 组)。**引动 4 组**。又:卯为年支戌之桃花;岁运逢**太极贵人、童子煞**(玄学/灵异)。
|
||||
- 1989 己巳:己(食神)透清(A 组);巳丑半合金(B 组)。引动弱。
|
||||
- 1990 庚午:庚(正财)透(非命藏);午戌半合火、丑午害(B/C 组);午为桃花。
|
||||
- 1992 壬申:壬(官)重透;申填实日柱空亡(D 组)。
|
||||
- 论断:**通灵**之象,命本带**华盖三重**(戌戌丑),主宗教玄学、灵异之缘;
|
||||
1987 丁卯以**卯戌合**引动华盖之库,更逢**太极贵人 + 童子煞**(皆玄学灵异之煞),灵异之应最著。
|
||||
又 **丁比肩透** = 姊妹星现,正应「她跟她大姐说」;偏财辛藏戌丑,戌被卯合而动,主偏门之财。
|
||||
通灵 + 姊妹 + 偏财三象俱在 1987,取 **A 1987**。
|
||||
(1990 庚午偏财透,主得财一路,然乏通灵之信号;1992 壬申为日主合夫星并填空亡,属官星事类。)
|
||||
- **置信度:中**。
|
||||
|
||||
### 第 3 题(P014-Q28,1991/1992/1993/1994)——老公上班不稳,自行创业开店,店里打小孩
|
||||
|
||||
**考点**:财星引动(开店自立)+ 夫星/夫宫动摇(老公不稳)+ 子女宫动(打小孩)。
|
||||
|
||||
- 大运:1991–1993 在**己未运**(未冲日支丑,夫宫动);1994 交运入**戊午运**(戊伤官克壬夫星)。
|
||||
- 逐组核对:
|
||||
- 1991 辛未:辛(偏财)透清于戌丑(A 组);未冲日支丑、未刑年月戌(C 组)。引动 2 组。
|
||||
- 1992 壬申:壬(正官,夫星)重透,与命月壬**两壬争合日主丁**;申填实日柱空亡(D 组)。引动 1–2 组。
|
||||
- 1993 癸酉:**癸(七杀)透清于丑辰**(A 组);**酉丑半合金、辰酉合金**(B 组,财局);
|
||||
酉填实日柱空亡(D 组)。**引动 3 组**。又岁运逢**天乙贵人、文昌、将星**(掌事任责)。
|
||||
- 1994 甲戌:戌冲时支辰(子女宫)、戌伏吟年月(C/E 组);甲印透。大运戊午伤官克官(夫星)。
|
||||
- 论断:本题三线并取——**创业开店**(财)、**老公不稳**(夫星受克/浑浊)、**打小孩**(子女宫动)。
|
||||
1993 癸酉三线俱全:**酉会丑、会辰成金局**(伤官生财之财局大开,主自力开张营业)+
|
||||
**癸七杀透而官煞混杂**(夫星不清,正「老公不稳」之象)+ **时支辰(子女宫)逢酉合动**(子女之事),
|
||||
且带**将星**(自主掌事)——引动组数亦最多(3 组)。故取 **C 1993**。
|
||||
(备选:1991 辛未,辛偏财透清为最直接之「创业财」,未冲日支主家事动,然子女宫无引动,降为备选。)
|
||||
- **置信度:低**(1991 / 1993 / 1994 三存,本题最不固)。
|
||||
|
||||
### 第 4 题(P014-Q29,1996/2003/2005/2008)——忽然赚到大钱,买房解决孩子读书通勤
|
||||
|
||||
**考点**:财局大成(赚大钱)+ 印星引动(房产/文书)同现之年。
|
||||
|
||||
- 大运:1996、2003 在戊午运;2005、2008 在**丁巳运**(身得帝旺,能任财)。
|
||||
- 逐组核对:
|
||||
- 1996 丙子:子丑合、子辰半合水(B 组);丙劫帮身。无财、印引动。
|
||||
- 2003 癸未:癸(七杀)透清(A 组);未冲日支丑(C 组)。未为木库(可作印/房),然乏明透之财。
|
||||
- 2005 乙酉:**乙(偏印)透清于辰**(A 组,印主房产文书);**酉丑半合金、辰酉合金**(B 组,财局);
|
||||
酉填实日柱空亡(D 组)。引动 3 组。又岁运逢**天乙贵人、文昌、将星**(文昌主文书契约)。
|
||||
- 2008 戊子:戊(伤官)重透;子丑合(B 组)。无财、印引动。
|
||||
- 论断:**赚大钱**须财旺,**买房**须印显(印主住所/文书)。2005 乙酉一身兼之:
|
||||
酉与命支丑、辰半合成**金局(财局大成)**,又**乙木偏印透出**(住所、文书、契约之象),
|
||||
更逢**文昌**(文墨契约)——财、印、文书三象同时,最合「赚到大钱又置产」;
|
||||
且丁巳运身旺能任财,故取 **C 2005**。
|
||||
- **置信度:中**。
|
||||
|
||||
### 第 5 题(P014-Q30,2008/2010/2016/2022)——乳房硬块转乳癌,开刀顺利平安
|
||||
|
||||
**考点**:木(印/相神)受克之病年,兼见金(刀/手术)与救治之象。
|
||||
|
||||
- 大运:2008、2010 在**丁巳运**(火炎土燥,木渐枯);2016、2022 在**丙辰运**(辰湿土稍敛火)。
|
||||
- 逐组核对:
|
||||
- 2008 戊子:戊(伤官,土)重透;子丑合(B 组)。无金克木之象。
|
||||
- 2010 庚寅:**庚(正财,金)透**——金克甲木相神(木主肝、乳房之象);寅为甲印之禄(得地自救);
|
||||
寅巳相刑(C 组,病动);寅戌半合火(B 组);寅填实时柱空亡(D 组)。**引动 3 组**。
|
||||
岁运逢劫煞。
|
||||
- 2016 丙申:申(金)克甲木;申辰半合水(B 组);申填实日柱空亡(D 组)。无自救之禄。
|
||||
- 2022 壬寅:寅为甲禄、填实空亡(B/D 组);壬官。无金(无刀/病象)。
|
||||
- 论断:乳房(肝木)之病,系**相神甲木受金克**之应;手术(开刀)为**金**象。
|
||||
2008/2016/2022 或无金、或无救;**2010 庚寅**则**庚金透**(病构与开刀之象)且**寅为甲木之禄**——
|
||||
相神虽受克而得地自救,正合「**检查后开刀十分顺利、平安无事**」;又丁巳运火炎土燥,木枯成毒,
|
||||
与时相合,引动组数最多(3 组)。故取 **B 2010**。
|
||||
(备选:2016 丙申,申金克木亦为病象,然无寅禄可救、且落丙辰运,降为备选。)
|
||||
- **置信度:中低**。
|
||||
|
||||
---
|
||||
|
||||
## 六、存疑与边界声明
|
||||
|
||||
- 出生地「台湾」为模糊地名,已按任务书排对照盘;两盘四柱一致,无口径分歧可标。
|
||||
- 本盘界格清晰(月令本气透干取伤官格),无晚子时、无节气边界提示、无外格两可。
|
||||
- 第 1、3、5 题候选年结构接近(同为大运喜忌内的相邻流年),排序取「引动组数最多、且与题干事件三线相合者」,
|
||||
置信度已逐题标注。
|
||||
|
||||
---
|
||||
|
||||
Q1: B
|
||||
Q2: A
|
||||
Q3: C
|
||||
Q4: C
|
||||
Q5: B
|
||||
@@ -0,0 +1,141 @@
|
||||
# contest8_2023 · female_19661018_P009 盲测答卷
|
||||
|
||||
## 命主信息
|
||||
|
||||
- person_id:female_19661018_P009
|
||||
- 性别:女
|
||||
- 出生钟表时间:1966-10-18 23:15(当地钟表时,香港,Asia/Hong_Kong,无夏令时)
|
||||
- 出生地:香港(题面 place 原文)
|
||||
- **真太阳时主盘:1966-10-18 23:06**(经度修正 −23.32 分、均时差 +15.03 分,合计 −8.29 分)
|
||||
- **是否排对照盘:排了。触发原因两条件同时满足——**
|
||||
1. 主盘真太阳时 23:06 距时辰边界(真太阳时 23:00 子时初)仅 **6 分钟 < 15 分钟**;
|
||||
2. place 为境外/模糊地名(香港)。
|
||||
- 对照盘口径:`--place "中国大陆"`(副本解析为杭州代理,120.16E,UTC+8 钟表时≈真太阳时),得真太阳时 1966-10-18 23:30。
|
||||
- **两盘四柱相同(丙午 戊戌 辛亥 戊子),无口径分歧**,答案行以真太阳时主盘为准,无需标注分歧。
|
||||
|
||||
### 排盘口径声明(晚子时)
|
||||
|
||||
本造落于真太阳时 23:00–24:00(晚子时)。主盘按「子初换日」(真太阳时 23:00 起算次日)定格,日柱辛亥、时柱戊子。
|
||||
另存「子正换日」一派,日柱、时柱将不同(该派下日柱作庚戌、时柱作丙子,全局大变)。
|
||||
**下文一切判定按子初换日之盘(辛亥日)展开**;子正换日之盘不在本次口径内,仅作此声明。此外本造距月令节气(寒露 10-09、立冬 11-08)均远,月令无边界风险。
|
||||
|
||||
---
|
||||
|
||||
## 一、命盘要点
|
||||
|
||||
四柱:**丙午 / 戊戌 / 辛亥 / 戊子**(日主 辛金)
|
||||
|
||||
- 天干:丙(正官)· 戊(正印)· 辛(日主)· 戊(正印)
|
||||
- 地支:午(丁七杀、己偏印)· 戌(戊正印、辛比肩、丁七杀)· 亥(壬伤官、甲正财)· 子(癸食神)
|
||||
- 五行分布:火(丙、午、丁×2)约四见,土(戊×2、己、戌及戌中戊)约四见,金(辛×2)二见,水(亥中壬、子中癸)二见,木(亥中甲)一见。**火土两旺、水木偏弱**。
|
||||
- 空亡:日柱空亡寅卯(甲木正财之禄根落空);时柱空亡午未。
|
||||
- 神煞(只作细节层,不入格局四层):年柱天德/月德(丙)、天乙贵人(午)、将星(午);月柱**华盖(戌)**;日柱天德合/月德合(辛)、太极贵人(亥)、金舆(亥)、**劫煞(亥)、元辰(亥)**、十灵日;时柱文昌(子)、桃花(子)、**灾煞(子)**、童子煞(子)。
|
||||
- 节令:戌月,寒露后立冬前;胎元己丑,命宫乙未。
|
||||
|
||||
---
|
||||
|
||||
## 二、取格(六步决策流程)
|
||||
|
||||
**第一步 月令**:月支戌。**第二步 月令十神**:戌藏戊(本气)、辛(中气)、丁(余气);以日干辛对月令本气戊取十神——戊土生辛金,为**正印**,且戊透月干、时干两重 → **定为印绶格**(正偏同格,依「用神专求月令」,月令本气为印即取印格,不为他神另立格局)。
|
||||
|
||||
**第三/四步 藏干与会支变化**:
|
||||
- 月令戌为燥土之库,本气戊透(月干、时干),不必变更本气,格仍以印为主。
|
||||
- 年干透丙 = 正官,丙辛相合(日主自合官星)。年支午为丙之帝旺、戌为丙之余气,官星有根而透,属「印格透官」,官为相神(官生印)。
|
||||
- 支中另有亥、子水(壬伤官、癸食神),为泄身之食伤;时支子与日支亥连气,水有一定力量。
|
||||
- 无三合三会引化月令(午戌仅半合火,辰不见),不构成会支变格;亦无弃印就财官之会局变化。故正格成立。
|
||||
|
||||
**第五步 定格结论**:**印绶格,透正官(官印相生),兼有食伤泄秀。**
|
||||
|
||||
### 成败 / 用神相神 / 格局高低
|
||||
|
||||
- **成格**:印格透官,正官不独生印,即可以为用(R-印-03),身旺印强、官星清纯,成格而贵。本造与《子平真诠》「丙寅、戊戌、辛酉、戊子(张参政)」一造结构极近(同戊戌月、戊子时、年干丙官透、辛日印格透官),书判为贵。
|
||||
- **用神与相神**:月令用神为印(戊土);**相神为丙火正官**(官生印而成格)。全局赖官星一字相成。
|
||||
- **带忌**:① 年支午中藏丁七杀,与丙官并见(官煞混杂),丁藏未透、且日主辛与丙合,官未全浊,但毕竟杂气;② 日支亥中壬水伤官遥对年干丙官(伤官见官之嫌);③ 印过重而透两戊,土重有埋金之嫌——此即**调候之「病」**。
|
||||
- **气候(调候)**:辛金生戌月,戊土司令、母旺子相,「**火土为病,水木为药**」(《穷通宝鉴》九月辛金:须甲疏土、壬泄旺金)。本造**亥中壬甲、时支癸子俱在——药在其命**:日支亥(壬水伤官+甲木正财)为泄金、疏土之总枢,时支子(癸食神)佐之。故格局虽带忌,药神自具,非破格之命。
|
||||
- **高低**:有情(官清、印得官生、食伤泄秀)而力亦不弱(官有午戌之根、印透两重、日主得月令冠带通根),忌在印土太重、财星(木)落空无强根。评为**中等偏上、贵而不厚的成格**(官印相生得贵气,然财空印浊,富不足而格局有瑕)。
|
||||
|
||||
### 行运喜忌基线
|
||||
|
||||
依印格取运(R-印-19~26)并参调候:
|
||||
- **喜**:财(甲乙木,疏土抑印)、食伤(壬癸水,泄旺金淘洗);即运走水木为药乡。
|
||||
- **忌**:官煞(丙丁火,助燥)、印(戊己土,添埋金之病);即火土为忌。
|
||||
- 但依 R-印-19(印格用官、官露印重),「**财运反吉,伤食之方亦为最利**」——财运、食伤运皆利,官运本为用神之乡亦不忌,最忌再添印土与燥火。
|
||||
|
||||
**大运(女命逆行)**:
|
||||
1. 丁酉 1969–1979(3–13 岁):丁为七杀(火,混官助燥)忌;酉为辛禄、帮身。
|
||||
2. 丙申 1979–1989(13–23 岁):丙正官(用乡);申为劫财,申子半合水(泄秀)、申冲日柱空亡之寅。
|
||||
3. 乙未 1989–1999(23–33 岁):乙偏财(木,喜·疏土);未燥土(忌,未戌相刑月支)。
|
||||
4. 甲午 1999–2009(33–43 岁):甲正财(木,喜);午正官(有火之嫌,然为用神之乡)。
|
||||
5. 癸巳 2009–2019(43–53 岁):癸食神(水,喜·泄秀);巳为丙官之禄(官旺),然**巳亥冲**冲日支(己身/配偶宫、财根),且**巳为日支亥之驿马**(亥卯未见巳)→ 主迁动、远行、变动。
|
||||
6. 壬辰 2019–2029(53–63 岁):壬伤官(水,喜);辰为湿土印库(晦火生金,稍缓火土之病),**辰戌冲**冲月支(父母/长辈宫、华盖)。
|
||||
|
||||
---
|
||||
|
||||
## 三、逐题推理
|
||||
|
||||
### 第 1 题(性格特征)
|
||||
|
||||
- **考点**:印格重印之人的性情。
|
||||
- **推理链**:日主辛金生辰戌月,月令印星(戊土)两透,又得年支午中己土、月支戌土相扶,**印重为全局之主**——正印主慈厚、保守、好静、重信誉、依赖、守成、寡于交际;印重而克食伤,故表达含蓄、少夸饰而多务实。日主得官星(丙)相合,性守规矩、循分;食伤(亥子水)泄秀,内里聪敏、心细(文昌入命、十灵日)。合参《滴天髓》性情篇:金得水以流通,本造金旺而水有根,主内方外圆、知权变,然终以重印之守成为底色。
|
||||
- **逐项排除**:甲「急性子、被他人左右、对朋友豪爽」偏比劫外向,本命无比劫透干、亦无财助豪爽,不合;乙「喜投诉、常诉苦、易怒、多疑」属官煞杂乱枭印之象,本命官清无枭,怒象不显,不合;丙「贪财好胜、权力欲重、喜命令人」属财官旺而身强之象,本命财弱而落空、官被日主合,无此张扬,不合。
|
||||
- **择答**:丁——「不懂交际,少说法多做事,守财节俭」正合重印守成、寡言、惜财之性。
|
||||
- **结论:D**(中置信)。
|
||||
|
||||
### 第 2 题(适合行业)
|
||||
|
||||
- **考点**:由格局用神取行业。
|
||||
- **推理链**:格为**印绶格**,印主文书、典籍、教育、学术、行政、静态内务之职;印格透官(官印相生),职业性质偏**文职、书面、守成**一类,而非逐利、交际、临场搏杀之职。本命财星(木)落于日柱空亡且仅亥中一藏、无强根,故**不宜经商、推销类逐财之业**;比劫不显,亦不宜合伙竞争。
|
||||
- **逐项排除**:甲「律师」需官杀有力兼食伤辩才、临事争锋,本命官被日主合、气不张扬,且财官(火)为调候之病,非其本位;乙「销售员」纯逐财而外向,与重印守静、财空之命相违;丙「地产生意」属财土生意,财空而印病(火土为病),不宜以病神为业。
|
||||
- **择答**:丁——「图书馆文员」,静态文职、以文书典籍为业,最契印格守静工文之性。
|
||||
- **结论:D**(中低置信)。
|
||||
|
||||
### 第 3 题(叔叔出家、跳楼亡之年)
|
||||
|
||||
- **考点**:六亲(父辈之亲)丧亡之应期。
|
||||
- **推理链**:叔叔为父之弟,属父辈之亲。依宫分法(年月日时配祖上、父母、己身、子女),**月柱为父母(父辈)之宫**;本造月柱戊戌,其戌又与年支午半合火(官杀,男亲之象)、且戌为本命华盖(僧道之征,正应「叔叔是出家人」)。父辈之亲的丧亡,多应于**该宫逢冲、逢刑、或被合化引动而失位**之年。四候选年皆在丙申运(1979–1989)中:
|
||||
- 1982 壬戌:戌戌伏吟月支,华盖重现;壬伤官透(克丙官)。动而不冲。
|
||||
- 1984 甲子:子与年支午相冲(冲祖上宫),岁运再逢灾煞(子,血光横死之象)。然所冲为年支祖上宫,非父辈之月宫。
|
||||
- 1986 丙寅:寅午戌三合火局(官杀局成),丙官再透且与日主合;寅为日柱空亡并冲大运申。是年天德、月德、天乙、太极贵人齐现,逢凶有解之力偏强。
|
||||
- 1988 戊辰:**辰戌相冲,直冲月支(父辈之宫)**,又冲开戌中印库与华盖(僧道之宫);岁运逢寡宿(孤丧之象)、地网(缠缚蹇滞)。冲月宫而动父辈之亲,宫受冲而无合解,与「叔叔(父辈之亲)亡」之宫象最为贴切。
|
||||
- **取舍**:1986 三合火局、1984 逢灾煞各有一端之象,然 1986 贵人多而解、1984 所冲为祖上宫而非父辈宫;**1988 辰戌冲月支(父辈宫)为唯一直接动及父辈之宫者**,且并逢寡宿、地网,孤丧蹇滞之象齐全,故取 1988。
|
||||
- **结论:D(1988)**(低置信)。
|
||||
|
||||
### 第 4 题(婚姻情况与学历)
|
||||
|
||||
- **考点**:女命夫星/夫宫 + 子星/子息宫 + 学历(印)。
|
||||
- **推理链**:
|
||||
- **学历**:印主学业文凭,本命印绶格、印星两透得令且无财强破印(财仅亥中一藏、落空),学业有根 → 断**有大学毕业**。据此排除丙、丁(二者均「没有大学毕业」)。
|
||||
- **婚姻**:女命以正官为夫星。年干丙正官透干而为印格之相(官印相生成局),主夫贤得力;且**丙辛相合——日主自合官星,是为「我之夫、我合之,夫妻相亲,其情愈密」**(R-女-10,阴日干自合所透正官之正例),主成婚而夫妻情厚。故非「单身从未结婚」。
|
||||
- 夫宫(日支)亥坐伤官,于印格属泄秀之喜,不主刑克;子星为食伤(亥中壬、时支癸),时柱戊子子星得气,主有子女。
|
||||
- **逐项排除**:甲「单身、从未结婚、无子女」与日主自合官星、夫星成局之象相反;丙「已离婚、无子女、没大学毕业」的学历项与印格不合;丁「没有大学毕业」不合,另其所述取向亦无盘面硬信号。
|
||||
- **择答**:乙——**已婚、有子女、正常普通家庭,大学毕业**。
|
||||
- **结论:B**(中置信)。
|
||||
|
||||
### 第 5 题(2008 年至今之命运)
|
||||
|
||||
- **考点**:近十五年(甲午运末·癸巳运·壬辰运初)之运势与应事。
|
||||
- **推理链**:本命用神(药)在财与食伤(水木),忌神为再添印土与燥火(火土为病)。
|
||||
- **甲午运末(至 2009)**:甲正财透(喜),为得财、风光之段。
|
||||
- **癸巳运(2009–2019)**:癸食神透干(喜,泄秀、悠闲享受);**巳为日支亥之驿马**(亥卯未见巳),主迁动、移徙、远行,且巳亥相冲,己身/配偶宫被激起而动 → **应迁动、移居、异地生活**之象;巳又为丙官之禄,官星得禄,名分、身份之事亦动。
|
||||
- **壬辰运(2019–2029)**:壬伤官透(喜,泄秀),辰为湿土印库、能晦火生金稍缓火土之病;辰戌冲月支,长辈宫再动。
|
||||
- 命带天德、月德(丙)与天乙贵人(午),险象得缓解,**不利之事有转圜**,与「骤落穷困、长病不起」一路之凶象不合。
|
||||
- **逐项排除**:丙「酒后开车撞死人、坐牢」需官非刑狱之硬信号(伤官见官成祸、官星被伤而无解),本命官星为用且得日主相合,只有杂气之嫌而无刑狱之局,不合;丁「突然全身多病、四处求医不愈、转为穷困住公屋」为破格沦落之象,本命成格且药神(水木)自具、二德贵人护佑,不至沦落,不合;乙「得保险金而富裕在香港」需财运透显而成,然本命财星落空,是段流年财气不显(2014 甲午、2015 乙未虽有财透,却同时叠午未之燥),不如迁动之象明确。
|
||||
- **择答**:甲——**癸巳运巳为驿马、癸食神泄秀**,正应「移居异地(移民)、半休闲半投资、充裕宽裕」之象。
|
||||
- **结论:A**(低置信;与乙「得财而富裕」备选接近)。
|
||||
|
||||
---
|
||||
|
||||
## 四、存疑与边界
|
||||
|
||||
1. **晚子时分歧**:本造真太阳时 23:06 落于 23:00–24:00,子正换日一派将改日柱、时柱(作庚戌日丙子时),全局大变;本答按主盘子初换日之辛亥日展开,提示此为最大不确定源。
|
||||
2. **第 3 题(六亲丧亡年)** 为四选项中凭宫冲(辰戌冲月支父辈宫)与神煞(寡宿/地网)取象,1984 之灾煞(血光横死)、1986 之三合火局各有一端之象,故标低置信。
|
||||
3. **第 5 题(近十五运)** 与第 2 题(行业)均在「成格带忌、财空印浊」的模糊地带取象,置信不高。
|
||||
4. 神煞、纳音、空亡仅作细节参看,未据以取格、定成败用神或评高低(依禁则)。
|
||||
|
||||
---
|
||||
|
||||
Q1: D
|
||||
Q2: D
|
||||
Q3: D # 低置信(1988;1984 灾煞之象备选接近)
|
||||
Q4: B
|
||||
Q5: A # 低置信(乙「得财富裕」备选接近)
|
||||
@@ -0,0 +1,155 @@
|
||||
# contest8_2023 — female_19780405_P013
|
||||
|
||||
## 一、命主信息
|
||||
|
||||
- person_id:female_19780405_P013(1978 年出生女性)
|
||||
- 性别:女
|
||||
- 出生钟表时间:1978-04-05 17:00(当地钟表时间)
|
||||
- 出生地:台湾(题面原文 place)
|
||||
- 真太阳时:1978-04-05 17:03(时区 Asia/Taipei,UTC+8,夏令时否;经度修正 +6.24 分、均时差 −3.17 分,合计 +3.07 分)
|
||||
- current_year(题面元数据):2023
|
||||
|
||||
### 排盘失败情况
|
||||
无。主盘、对照盘均退出码 0,stdout 正常出盘。
|
||||
|
||||
## 二、排盘口径与双盘
|
||||
|
||||
**是否排对照盘:排了。触发原因(两条均命中):**
|
||||
|
||||
1. 主盘真太阳时 17:03,距时辰边界 17:00(酉时起点,奇数整点)仅 3 分钟,< 15 分钟;
|
||||
2. place「台湾」属境外/模糊地名。
|
||||
|
||||
**对照盘口径**:120°E 不经度修正,`--place "中国大陆"`(副本解析为杭州代理 120.16E / Asia/Shanghai,钟表时 = 真太阳时)。
|
||||
|
||||
**两盘分列:**
|
||||
|
||||
| 柱 | 真太阳时主盘(17:03 → 酉时) | 对照盘(16:57 → 申时) |
|
||||
|---|---|---|
|
||||
| 年 | 戊午 | 戊午 |
|
||||
| 月 | 丙辰 | 丙辰 |
|
||||
| 日 | 丁酉 | 丁酉 |
|
||||
| 时 | **己酉** | **戊申** |
|
||||
| 命宫 | 丙辰 | 丁巳 |
|
||||
|
||||
两盘仅时柱不同,其余三柱、大运(同起运 0.07 岁、同逆行)、节令完全一致。故第 3 题(婚期)、第 1 题(2011)、第 2 题(2009)两盘结论相同;第 4、5 题(子息)受时柱影响,须分列——见第六节。
|
||||
|
||||
**节气边界提示**:主盘距清明(1978-04-05 11:39)仅 5.4 小时(真太阳时),命盘带 ⚠️。若出生记录误差超过此值(即实际出生早于约 11:39 真太阳时之前),月令将由辰变卯、四柱全变。本题出生钟表时已 17:00,误差 5 小时以上方可动摇,认定为辰月。此敏感性记录在此,下文按辰月之盘解释。
|
||||
|
||||
## 三、命盘要点(以真太阳时主盘为准)
|
||||
|
||||
- 四柱:戊午 / 丙辰 / 丁酉 / 己酉
|
||||
- 日主:丁火(生于辰月,清明后 5.4 小时)
|
||||
- 十神分布(干):年干戊=伤官,月干丙=劫财,日干丁(止),时干己=食神。
|
||||
- 地支藏干十神:午(丁比肩、己食神)/辰(戊伤官、乙偏印、癸七杀)/酉(辛偏财)/酉(辛偏财)。
|
||||
- 五行:火(丁、丙、午)/土(戊、己、辰、午中己)/金(酉、酉)/水(辰中癸)/木(辰中乙)。
|
||||
- 关键结构:**戊伤官透于年干、己食神透于时干,食伤双透**;**酉金偏财两坐日、时**,且月支辰与日支酉**辰酉六合**,金气偏旺;日主以**年支午禄(临官)+月干丙劫**为根,**印(乙)藏辰不透、杀(癸)藏辰不透**。
|
||||
- 女命定位:夫星=官杀(水,壬/癸),夫宫=日支**酉**;子星=食伤(土,戊/己),子息宫=时柱(己酉)。
|
||||
|
||||
## 四、取格(依 00_总纲_取格.md §1 六步)
|
||||
|
||||
1. 定月令:节令「辰」,藏干戊乙癸。
|
||||
2. 月令本气十神:日干丁对辰本气戊——火生土、阴阳相异,为**伤官**。伤官非吉神,属逆用之凶神。
|
||||
3. 藏干变化(辰为四墓月):唯一透出者为**本气戊**(年干),乙、癸不透,无须「变而不失本格」之辨。兼透看食伤——时干己为食神,**食伤并透**,但本气戊当令主格。
|
||||
4. 会支变化:辰酉六合,月支与日支相合。合而未全化为金局(原局金虽有两酉,然无丑巳助合、辰中戊土仍当令透干),月令本气仍主格,**不作「辰酉化金变财格」论**(依 R-纲-08「六合力稍逊,亦足参变化」与 R-纲-10 杂气取用之辨主从)。
|
||||
5. 定格:**伤官格**(月令本气伤官透干)。
|
||||
6. 外格闸门:月令自有用神(伤官),不通过「无用门」;日干无合化。**不转杂格**,守正格。
|
||||
|
||||
**格之成败(R-伤-03、R-伤-22、R-伤-05)**:局中财(酉酉两坐)与食伤(戊己双透)并旺,走的是**伤官生财**一路——伤官为生财之具,转凶为吉,为伤官格最利之用法;日干有午禄重根、又有丙劫相扶,**身有根而能任财**,成格。惟**印(乙)不透、财星(辛)亦不透干**,比「财透干而身强」之正例略逊一档,属**成格而降等**:财伤之力量压过日主,偏于「财旺身轻」一侧。
|
||||
|
||||
**用神与相神**:月令用神=伤官(戊),成局所赖=财(酉酉之辛,为相神,伤官生财赖财而成)。伤用神(伤官)甚于伤身,伤相(财)甚于伤用。
|
||||
|
||||
**有力无力与扶抑(参 89_旺衰扶抑 R-旺-14)**:日主弱而财旺、食伤多——扶抑之药取**比劫(火)**帮身、**印(木)**生身制伤。故:
|
||||
- **喜:火(比劫)、木(印)**;
|
||||
- **忌:金(财)、土(食伤)**过泄过耗;
|
||||
- **水(官杀)**:克身为忌,然亦生印(辰藏乙木)略作通关,**吉凶参半、偏忌**。
|
||||
|
||||
**气候(参 92_调候 R-候-07)**:丁火生辰月,「戊土司令,泄弱丁气,先用甲木引丁制土,次看庚金」。本局**甲木不见、庚金不透**,调候之药(甲引丁)缺位,仅乙木藏辰(湿乙伤丁);又忌「支成水局加壬透(杀重身轻)」。故格局成而**气候未得**,属成格减色之象——一生需自食其力、凭才智(伤官为秀气)取贵,非坐享之命。
|
||||
|
||||
**格局高低**:伤官生财、身有根而财伤并旺,有情而**力量不尽均**(身仅一禄、印藏不透、调候缺药),列**中等**;得印比之运助身方见秀发,逢财伤岁运则耗而多劳。
|
||||
|
||||
## 五、行运(依 90_行运.md §7 断运操作序列 / 分格取运节)
|
||||
|
||||
大运逆行:乙卯(0–10)→ 甲寅(10–20)→ 癸丑(20–30)→ 壬子(30–40)→ 辛亥(40–50)→ 庚戌(50–60)→ 己酉(60–70)→ 戊申(70–80)。
|
||||
|
||||
- **乙卯(1978–1988)/甲寅(1988–1998)**:印运(木)当权,正合扶抑「弱而食伤多取印」之喜——生身、制伤,主少年得荫、学业有凭(伤官为秀气,得印则秀而有节)。
|
||||
- **癸丑(1998–2008)**:癸七杀透(夫星现)、丑为金库湿土(半合酉助财)。官杀生印略通身官之关,然湿土晦火、金气愈旺,身弱逢财旺——**事业起步期,劳而多压**;亦是夫星(水)初透之十年,婚缘之门在此段末与下段启。
|
||||
- **壬子(2008–2018)**:壬正官透(**丁日逢壬,是我合之**,日主自合夫星,夫妻相亲——R-女-10)、子与命辰**子辰半合水局**(夫星/官杀成局,正合 R-运-15「丁生辰月……运支逢申子以会之」之成格之型)。此十年为**婚姻、生育之核心期**;然子辰半合水加壬透,逼近调候所忌之「支成水局加壬透(杀重身轻)」,故**喜中带压**:婚育之喜与健康/责任之负并见。
|
||||
- **辛亥(2018–2028)**:辛偏财、亥中壬甲(官印)。财旺耗身、亥又生木——财官印交杂,属**谋财任事、外缘走动**之十年;身轻则宜守不宜攻。
|
||||
- **庚戌(2028–2038)**:庚财、戌火库(亦为伤官之库)。财旺逢火库,身得一点补,然终是财重之运。
|
||||
|
||||
## 六、逐题推理(先复述考点 → 推理链 → 选项字母)
|
||||
|
||||
### 第 1 题(原始题号 P013-Q21):2011 年发生什么事?
|
||||
考点:某一年的现实事件回溯(事业/身份/财务)。
|
||||
- 2011=辛卯,处 **壬子大运**(正官)。
|
||||
- **A 透清(R-运-22)**:流年干辛=偏财(透干,主动),为财星引动之最直接信号。
|
||||
- **B 会局(R-运-23)**:流年卯与日支/时支酉——**卯酉相冲**(非会);卯与大运子**子卯相刑**。
|
||||
- **C 刑冲(R-运-10/11、R-事-10/11)**:卯酉冲,所冲为酉(财宫、夫宫)。财受冲=财之进退变动;夫宫受冲=婚恋/贴身处境被激起。
|
||||
- 引动合成:流年**辛偏财透干+卯偏印临支(印=文书、证件、迁移之象)+卯酉冲(迁移、变动)**,大运壬正官主「名分、事业、身份」。三线合成,2011 是一个**财/事业/身份文书之开创或变动之年**,非无事之年。
|
||||
- 逐项排除:「无事发生」与强引动不符,排除 D;「投资获利千万」为纯财之一闪信号(辛财透而根(酉)被卯冲),财来而根动、难坐实「获利千万」之巨量,降为备选;「绿卡」需印(文书)+迁移之组合,亦合(备选)。主取**财生官、开创事业**——A 成立公司为主答案,B(绿卡)、C(投资获利)降级为备选。
|
||||
- **字母:A**(低置信)。
|
||||
|
||||
### 第 2 题(原始题号 P013-Q22):以下事项,哪个在 2009 年没有发生?
|
||||
考点:某一年多项事件的取伪(哪一项无引动)。
|
||||
- 2009=己丑,处 **壬子大运**。
|
||||
- A 透清:流年干己=食神(透,主动),引动午中己(食神)——主技能、专业、工作输出。
|
||||
- B 会局:**丑酉半合**(巳酉丑缺巳)成金局——财局动,引动日、时酉(财宫、亦为日支夫宫);**子丑六合**合大运子(官杀)。
|
||||
- C 刑冲:丑辰破、丑午害(轻)。
|
||||
- D 空亡:无(丑不在辰巳/寅卯空亡之列)。
|
||||
- E 伏吟反吟:无。
|
||||
- 合成:2009 为**「合」之岁**(子丑合、丑酉合),主「定、聚、置」而**非「动、迁」**;己食神透+丑(金库 = 财库,又为日支酉之华盖=向学)——三事(找到工作=食神/合官、购置不动产=财库、考上律师=华盖向学)皆有引动;惟**远距离旅行**须驿马或冲(迁动)为据:本命并无驿马(年支午属寅午戌,马在申,原局无申),岁运亦未引动驿马(大运子属申子辰马在寅、流年丑属巳酉丑马在亥,命局均无),且 2009 全无冲(只逢合),**无迁移之引动**。
|
||||
- **字母:B**(远距离旅行——2009 年未发生;低置信)。
|
||||
|
||||
### 第 3 题(原始题号 P013-Q23):何时结婚?
|
||||
考点:女命婚姻应期(夫星、夫宫之引动)。
|
||||
- 女以官为夫(R-女-04),本命官杀(壬癸水)**不透干**,仅**癸藏月支辰**。夫星之「透清」,须待大运引动——**癸丑运(1998–2008)透癸七杀、壬子运(2008–2018)透壬正官**,合 R-女-24「夫星透清」之途。
|
||||
- R-女-10 明文:**丁日逢壬,是我之夫,是我合之,夫妻相亲,其情愈密**——本命日干丁,正官壬之一字到运即为「夫妻」之应。壬字(正官)**首见于壬子大运,起于 2008 年**。
|
||||
- 2008=戊子:大运壬子、流年戊子,**子辰半合水局**(夫星/官杀成局,R-运-23 会局作清),且大运子与流年子伏吟加重水势;丁壬合(日主合夫星)。此为全盘**夫星最完整之一次引动与夫妻相亲之合**,且 2008 为**交运年**(癸丑转壬子,人生阶段之里程碑)。
|
||||
- 2009=己丑:另有**丑酉半合**引动夫宫(酉)、子丑合大运(合夫星),为「夫宫逢合」之次强信号——列备选。
|
||||
- 2006 丙戌(戌冲辰、午戌半合火、丙劫透)无明显婚星婚宫引动;2007 丁亥(亥藏壬官但亥与日主、夫宫均无合冲)亦弱。均排除。
|
||||
- **主取 2008**:交运 + 丁壬合(日主自合夫星)+ 子辰半合官杀局,三重相应。备选 2009(夫宫丑酉半合)。
|
||||
- **字母:C(2008)**。
|
||||
|
||||
### 第 4 题(原始题号 P013-Q24):命主哪一年生孩子?
|
||||
考点:女命子息应期(子星=食伤、子息宫=时柱之引动)。
|
||||
- 女命以食伤为子星(R-女-20),本命子星=土(戊伤官、己食神),**戊透年干、己透时干**,子星本旺;子息宫=时柱**己酉**(主盘)。
|
||||
- 候选逐一查表(R-运-22/23 会局透清、R-事-13 子女宫受引动):
|
||||
- **2012 壬辰**:辰本气**戊=子星**(当令透清之根);**辰酉六合**引动时支酉(子息宫);壬=正官(夫星)且**丁壬合**(夫妻相亲)。——子星、子息宫、夫星**三线并动**。
|
||||
- **2013 癸巳**:巳藏戊(子星)、**巳酉半合**引动时支酉(子息宫)、癸=七杀(夫星)。——两线半(子星+子息宫)。
|
||||
- **2015 乙未**:未藏己(子星),未与酉无合、无冲——子息宫未动,仅子星一线。
|
||||
- **2018 戊戌**:戊伤官透(子星强)、戌藏戊,然戌与酉无合、戌冲月支辰——引动在月柱(父母/平台)非子息宫。
|
||||
- 排序:2012 三线并动最全,2013 次之,2015/2018 更次。主取 **2012**。
|
||||
- **字母:A(2012)**(低置信,备选 2013)。
|
||||
|
||||
### 第 5 题(原始题号 P013-Q25):生产状况为?
|
||||
考点:女命子息之男女/状况(子星阴阳、子息宫)。
|
||||
- 依 R-亲-14「看子息:宫(时支)与星(时干所透)并参」,及 R-亲-16「子星之男女,以阳干为男、阴干为女」(推及女命子星食伤:阳土戊为男、阴土己为女)。
|
||||
- **主盘时干=己(食神,阴土)**,且己土于时支酉为**长生**(阴干己长生在酉),时干有用(食神生财,于伤官生财格为助)——合「子星阴干=女」。
|
||||
- **对照盘时干=戊(伤官,阳土)**,为阳干——判为男。(对照盘时支申为驿马,本命神煞结构亦异。)
|
||||
- **口径分歧**:第 5 题两盘结论不同(主盘=女婴 / 对照盘=男婴)。按任务纪律,**答案行以真太阳时主盘为准**——主盘时干己为阴土,**取女婴**。
|
||||
- **字母:B(女婴)**(低置信;对照盘为 A)。
|
||||
|
||||
## 七、双盘分列与分歧汇总
|
||||
|
||||
- 第 1 题:主盘/对照盘均取 A(时柱卯酉冲 vs 卯申无涉,结论方向一致,不改)。
|
||||
- 第 2 题:主盘/对照盘均取 B(本命主盘无驿马、对照盘时支申为驿马,然 2009 岁运未引动驿马,结论一致)。
|
||||
- 第 3 题:主盘/对照盘同(年、月、日柱与大运全同,婚期系于壬子大运与丁壬合),均取 C。
|
||||
- 第 4 题:主盘时支酉、对照盘时支申,2012 辰分别合酉/合申(申子辰半合),均引动子息宫;结论一致取 A。
|
||||
- 第 5 题:**两盘分歧**——主盘时干己(阴→女婴 B)、对照盘时干戊(阳→男婴 A)。答案以主盘为准(B)。
|
||||
|
||||
## 八、存疑与边界声明
|
||||
|
||||
- 本命**印(乙)藏辰不透、官杀(癸)藏辰不透、财(辛)藏酉不透**,全局用神(伤官)虽透而相神(财)与夫星、子星多藏支中,须待岁运引动方显——故各题事件之「应期」多依岁运透清/会局而定,非原局明透,**置信度整体偏低**,第 1、2、4、5 题尤甚。
|
||||
- 日主强弱处「中和偏弱」之临界(午禄+丙劫 vs 酉酉财+戊己伤食),扶抑取「喜印比、忌财伤」;若断为身强,则财官为喜,行运吉凶方向将反转——此处依 R-旺-14「弱而财旺取比劫、弱而食伤多取印」及调候(丁火辰月忌水、喜甲)定为身弱一路。此为判定分歧点,特此声明。
|
||||
- 依 R-女-23 移用长生沐浴歌(以戊阳土查子星临时支之宫数:戊长生在寅,至酉为「死」),本主子星宫数落「死」位——该条系男命子星(官煞)而设、原书无女命明文(R-女-23 存疑)。**不取此条**断「无子」(与第 4 题她有生育相悖),改依 R-亲-14「宫星并参」与 R-女-22「时干有用」正断;此处按 R-禁-22 声明偏离(偏离 R-女-23 之宫数常数,理由:该条效验未详且专为男命立,书证不足)。
|
||||
- 神煞(将星、天乙、文昌、童子煞等)与纳音、空亡**均未进入取格/成败/用神/高低四层**(守 R-禁-01),仅在迁移、文书等细节参看处借用其取象,且不单独定吉凶。
|
||||
|
||||
---
|
||||
|
||||
## 答案
|
||||
|
||||
Q1: A # 低置信
|
||||
Q2: B # 低置信
|
||||
Q3: C
|
||||
Q4: A # 低置信
|
||||
Q5: B # 低置信 # 口径分歧: 对照盘=A
|
||||
@@ -0,0 +1,130 @@
|
||||
# contest8_2023 · female_20020601_P015 求解留档
|
||||
|
||||
## 一、命主信息
|
||||
|
||||
- person_id:female_20020601_P015(女,2002 年生)
|
||||
- 性别:女(大运逆行)
|
||||
- 出生钟表时间:2002-06-01 08:30(Asia/Hong_Kong,无夏令时)
|
||||
- 出生地:香港
|
||||
- 主盘真太阳时:2002-06-01 08:09(经度修正 −23.32 分 / 均时差 +2.64 分 / 合计 −20.68 分)
|
||||
|
||||
### 双盘说明(排了对照盘)
|
||||
|
||||
- **触发原因**:place 为「香港」,属任务书列举之境外/模糊地名,强制排对照盘。
|
||||
- **对照盘口径**:`--place "中国大陆"`(副本解析为杭州代理 120.16E / Asia/Shanghai,UTC+8 钟表时≈真太阳时),真太阳时 08:33。
|
||||
- **两盘结果**:主盘与对照盘**四柱完全相同**——壬午 / 乙巳 / 庚子 / 庚辰,大运、流年、流月亦同(唯起运 8.77 vs 8.78 岁之微差)。故**不存在口径分歧**,全部题目两盘同断,答案行不标分歧注。
|
||||
- 主盘真太阳时 08:09 距辰时边界(09:00)约 51 分钟,未触发「距时界 <15 分钟」条件;对照盘为地名触发。
|
||||
|
||||
## 二、命盘要点
|
||||
|
||||
四柱:**壬午 · 乙巳 · 庚子 · 庚辰**(日主庚金,生于巳月,长生之地)
|
||||
|
||||
- 年柱壬午:食神(壬)坐官印(午藏丁正官、己正印)
|
||||
- 月柱乙巳:正财(乙)坐七杀偏印(巳藏丙七杀、庚比肩、戊偏印)
|
||||
- 日柱庚子:日主庚金坐伤官(子藏癸伤官)
|
||||
- 时柱庚辰:比肩(庚)坐偏印财伤(辰藏戊偏印、乙正财、癸伤官)
|
||||
|
||||
- 空亡:日柱空亡辰巳;时柱空亡申酉
|
||||
- 节令:巳月,立夏后芒种前,月令本气丙火
|
||||
- 大运(逆行):甲辰(8.77,2011)→**癸卯(18.77,2021)**→壬寅(28.77,2031)→辛丑(38.77,2041)
|
||||
- 流年:2002—2035 全量见盘
|
||||
|
||||
## 三、取格(依《子平真诠》取格总纲)
|
||||
|
||||
1. **定月令**:月柱乙巳,月令巳;巳藏丙(本气)、庚、戊。
|
||||
2. **月令十神分类**:日主庚金对月令本气丙火——丙为阳火克庚阳金,同阴阳为**七杀** → 入**偏官格(七杀格)**。
|
||||
3. **藏干变化**:巳为本气不透月,本气丙火不透干;透出者为年干壬(食神)、月干乙(正财)、时干庚(比肩)。辨主从——透干乙木(财)**生**本气丙火(透干生本气),且本气丙火当令有力(巳月火旺),依「变而不失本格」之例,**本气丙火仍主格**,透出乙财为兼。
|
||||
4. **会支变化**:年支午、月支巳半会南方火方,官杀(丙丁火)同气而旺;日支子、时支辰半合水局,食伤(壬癸水)得地。月令之气未化为别神,格不随会支改。
|
||||
5. **定格**:**偏官格(七杀格)**。
|
||||
|
||||
## 四、成败 / 用神相神 / 高低
|
||||
|
||||
- **成格**:年干壬水食神透出,坐子、辰(癸水)通根,**食神制煞**——七煞得制,逆用得宜,成格(煞用食制,诸式之上)。
|
||||
- **带忌**:① 月干乙木正财透出,财能「转食生煞」,为煞格所忌(露财);② 官煞混杂——巳藏丙(杀)、午藏丁(官)同见,虽俱不透干,然巳午半会火方,官煞之气并旺而不清。
|
||||
- **救应评估**:乙木财星本身无强根(仅时支辰中乙木一余气),且与日主庚金作**乙庚之合**(夏月金不化,为合而不化之羁绊),克泄之力有限,带忌而不至破格。
|
||||
- **用神 / 相神**:用神为月令丙火七杀,**相神为壬水食神**(制煞成格赖此一字)。
|
||||
- **调候参看**:庚金生巳月,调候「先壬方得中和」——壬水透干,得调候之助,成色增。
|
||||
- **旺衰参看**:日主庚金得巳中庚金长生之根、时干庚比肩帮身,四柱有根,能受财官而当伤杀,**身中下而非无根**;七杀当令(火旺)而食神有根,煞食两强而身稍逊。
|
||||
- **格局高低**:有情(食制煞、调候得水)而力未尽全(日主偏弱、官煞混杂、露财带忌),属**中上之格**——贵气有而未极。
|
||||
|
||||
## 五、行运喜忌(依《子平真诠》论偏官取运)
|
||||
|
||||
偏官格食制之取运:**煞重食轻则助食,食重煞轻则助煞,煞食均而身轻则助身;忌正官混杂,畏印绶夺食**。
|
||||
|
||||
- 甲辰运(8.77—18.77,2011—2021):甲为偏财(助煞之党、泄食),辰为偏印(湿土生金、亦助食神之根)。少年至学龄段,财印并见,学业与家境平顺偏中。
|
||||
- **癸卯运(18.77—28.77,2021—2031)**:癸水伤官透(伤官亦制煞,然与食神壬并见为杂),卯木正财伏吟月令之财——**伤官见官**(癸克丙丁夫星),兼**卯刑日支子(夫宫)**。此运为婚恋多变之十年。
|
||||
- 壬寅运(28.77—38.77,2031—2041):壬食神透(喜,助制煞之相),寅为偏财兼丙火杀之长生,财煞并旺。
|
||||
- 辛丑运(38.77—48.77,2041—2051):辛劫财帮身(喜),丑偏印(湿土生金,喜),为帮身之地。
|
||||
|
||||
## 六、逐题推理
|
||||
|
||||
### 第 31 题(出身贫富)
|
||||
|
||||
**考点**:原生家庭之财势(年柱祖上宫、月柱父母宫之十神喜忌)。
|
||||
|
||||
推理链:年月两柱壬午、乙巳——年干食神透、月干正财透,年月支巳午中藏七杀(丙)、正官(丁)、偏印(戊)、正印(己)。即**财、官、印三者俱备于年月**,且提纲(月令巳,七杀当令)得令、年干壬水食神制煞为「有用」——依六亲篇「提纲得力、或年干有用,皆主父母双全得力」,父母宫为完整而非破败之象(排除 A 孤儿院)。日为庚金坐伤官、时庚辰比肩坐印,日主得比肩与印之帮,非孤露之命。然日主庚金生于巳月,火(官杀)旺克金,日主偏弱不胜其财官;年月财官旺而身不任,富屋之象,成不了「大富贵」(排除 D)。综合:年月财官印俱全而身不甚任、父母宫完整、食神制煞格局可用,落于**小康之家**。
|
||||
|
||||
**选项**:C
|
||||
|
||||
### 第 32 题(学历程度)
|
||||
|
||||
**考点**:学历高低(以印星、官星之清浊与食伤之秀气并参)。
|
||||
|
||||
推理链:学业之文凭看**印星**与**官星**——本命正印己土藏年支午、偏印戊土藏月支巳与时支辰,印星三位有根;年支午中**丁火正官生己土正印**,为「官印相生」,主文书文凭之路可通。日主庚金弱而喜印,印为喜神。食神壬水透干、子辰半合水局,食伤吐秀,聪明才艺之资。大运甲辰(8.77—18.77)印(辰)生金、财(甲)不碍,求学段平顺;癸卯运癸水伤官虽有「伤官见官」之杂,然文凭根基已成。综合官印相生、食神吐秀,学历当在**大学毕业**一级(排除 C 小学、D 中六;B 硕士于 20 岁之龄不合)。此题为整组中凭盘最难精判者之一,置信中等偏下。
|
||||
|
||||
**选项**:A
|
||||
|
||||
### 第 33 题(哪一年有拍拖/恋爱)
|
||||
|
||||
**考点**:婚恋应期——夫星(官杀火)与夫宫(日支子)之岁运引动。
|
||||
|
||||
推理链(依女命婚姻应期三途,先运后年):
|
||||
- 起运前童限略过(2011 前);2011—2021 行甲辰运,甲木偏财生火(夫星)不绝,辰为印。
|
||||
- **2018 戊戌**(甲辰运):戌为火库(丁官之根),且**戌与年支午半合火局**,官杀(夫星)成局而旺——夫星得地之引动最著。戊为偏印(枭神),主内向学业。
|
||||
- 2019 己亥:亥与日支子半会水方(动夫宫),然亥冲月支巳(冲七杀夫星),正印透,偏学业。
|
||||
- 2020 庚子:子与日支子**伏吟**(动夫宫),子午相冲(冲年支之丁官夫星);庚为比肩(同辈社交)。
|
||||
三年各有夫星或夫宫之引动,其中**2018 戌午半合火**为夫星本身成局,是恋情成立信号最直接之年。取 2018(A)。此题为整组最难者,2019、2020 亦有可取之象,置信偏低。
|
||||
|
||||
**选项**:A `# 低置信`
|
||||
|
||||
### 第 34 题(2022 年姻缘)
|
||||
|
||||
**考点**:2022(壬寅)在大运癸卯中之婚姻吉凶方向。
|
||||
|
||||
推理链:2022 壬寅,行**癸卯运**(2021 起)。
|
||||
- **夫星方向**:大运癸水为伤官,透克官杀(丙丁火为夫星)——**伤官见官**;流年壬水食神亦泄克官星之气。夫星受制受泄,为婚缘向「变」之象。
|
||||
- **夫宫方向**:大运卯木**刑日支子(夫宫)**(子卯相刑),夫宫逢刑而无合解,主婚缘动荡。
|
||||
- **流年结构**:流年寅与月支巳相刑、与年支午半合火(夫星被激),并未与日支子成合会;夫宫无「成」之引动。
|
||||
- 综合:以伤官运克夫星、夫宫逢刑、夫星无净得地之引动,2022 于姻缘为「动而散」之向——恋情破裂、分手之象(排除 A 结婚、B 奉子成婚、C 离婚,20 岁之龄亦不合离婚)。置信中等。
|
||||
|
||||
**选项**:D
|
||||
|
||||
### 第 35 题(2022 年发生什么大事)
|
||||
|
||||
**考点**:2022(壬寅)岁运引动合成之现实事件。
|
||||
|
||||
推理链(R-运-34 五步核对之要点):
|
||||
- **透清 / 会局**:流年支寅与年支午**半合火局**(引动官杀),与月支巳相刑(动父母宫之七杀偏印);寅与日支子无合会、与辰无合会。流年干壬透,与命干壬伏吟(食神重出)。
|
||||
- **驿马**:以日支子查(申子辰马在寅),2022 之支寅恰为**驿马**——主迁动、远行、环境变动。
|
||||
- **十神取象**:流年支寅本气甲木,为庚金之**偏财**(横财、意外之财、偏门财);大运卯为正财,寅卯又半会木(财)方——**2021—2022 全程食神/伤官生财**,财气为 2022 最突出之一线;兼有官杀(寅午半合火)旺、食神壬透之「名与表现」线。
|
||||
- **冲刑方向**:寅巳刑落月柱(父母宫),并夹财克印(寅木克己土母/印);然寅午半合火亦生土,母星受生,故「母亲」条并非净凶,判为**存疑候选、不取主断**。寅木偏财之直接取象强于其余,故以偏财(横财)为主断。
|
||||
- 综合:2022 主题为「财」之突发与会财之喜,选项中最贴合者为**横财运**。
|
||||
|
||||
**选项**:D `# 低置信`
|
||||
|
||||
(若以「官杀旺+食神透」之线取象,则 A 事业机遇/比赛得奖为备选;C 母亲急病之象因印星同获火生而不净,降级为备选。)
|
||||
|
||||
## 七、存疑与边界
|
||||
|
||||
- 本命为**偏官格食制带忌**(露财、官煞混杂),格局属中上,故涉及「出身」「学历」之两题只能判方向、难臻精确。
|
||||
- 第 33 题(恋爱年)三候选年 2018/2019/2020 均有夫星或夫宫之引动,取夫星成局最著之 2018,标低置信。
|
||||
- 第 35 题(2022 大事)以偏财(横财)为主断,官杀/事业线为备选,标低置信。
|
||||
- 神煞(将星、月德、驿马、桃花等)仅作事类细节参看,不入取格、成败、用神、高低四层。
|
||||
|
||||
---
|
||||
|
||||
Q1: C
|
||||
Q2: A
|
||||
Q3: A # 低置信
|
||||
Q4: D
|
||||
Q5: D # 低置信
|
||||
@@ -0,0 +1,145 @@
|
||||
# contest8_2023 · male_19560311_P012 求解留档
|
||||
|
||||
## 命主信息
|
||||
|
||||
- person_id:male_19560311_P012(1956 年出生男性)
|
||||
- 性别:男
|
||||
- 出生钟表时间:1956-03-11 09:00(Asia/Kuala_Lumpur,UTC+8,无夏令时)
|
||||
- 出生地:马来西亚
|
||||
- 真太阳时(主盘):1956-03-11 08:06
|
||||
- 对照盘:**已排**。触发原因:出生地「马来西亚」属境外地名(任务书双盘纪律第二条)。
|
||||
对照盘用 `--place "中国大陆"`(120°E 不经度修正,钟表时=真太阳时 08:50)。
|
||||
- 两盘结果:**完全相同**——四柱均 丙申 / 辛卯 / 丁丑 / 甲辰,真太阳时 08:06 与 08:50 均落辰时
|
||||
(07:00–09:00)内,距 09:00 边界分别 54 分、10 分,均未跨时辰。故不存在口径分歧,末尾答案行不标 `# 口径分歧`。
|
||||
|
||||
---
|
||||
|
||||
## 一、命盘要点
|
||||
|
||||
```
|
||||
年柱 丙申(劫财)·沐浴 月柱 辛卯(偏财)·病
|
||||
日柱 丁丑(日主)·墓 时柱 甲辰(正印)·衰
|
||||
```
|
||||
|
||||
- 日主 丁火,生于卯月(惊蛰后、清明前),月令卯独藏乙木 → 乙为丁之**偏印**。
|
||||
- 地支藏干:
|
||||
- 申:庚(正财)、壬(正官)、戊(伤官)
|
||||
- 卯:乙(偏印)
|
||||
- 丑:己(食神)、癸(七杀)、辛(偏财)
|
||||
- 辰:戊(伤官)、乙(偏印)、癸(七杀)
|
||||
- 天干十神:丙(劫财)、辛(偏财)、丁(日)、甲(正印)。
|
||||
- 空亡:日柱空亡申酉,时柱空亡寅卯。
|
||||
- 神煞:天德、月德(二德齐)、金舆、亡神、太极贵人、灾煞、元辰、华盖(丑、辰两见)、阴差阳错。
|
||||
|
||||
**五行/十神力量(格局内相对度量):**
|
||||
|
||||
| 十神 | 木(印) | 火(比劫) | 土(食伤) | 金(财) | 水(官煞) |
|
||||
|---|---|---|---|---|---|
|
||||
| 来源 | 卯(当令)/甲(透)/辰乙 | 丙(透)/丁(日) | 申戊/丑己/辰戊 | 辛(透)/申庚/丑辛 | 申壬/丑癸/辰癸 |
|
||||
|
||||
丁火于四支**全无强根**(火之库在戌,命无戌、无巳午未),**身弱**,全赖印(木)生身、劫(丙)帮身。
|
||||
印(木)当令且透,力强;财(金)三见且透,力强;官煞、食伤皆藏支不透。
|
||||
|
||||
## 二、取格
|
||||
|
||||
- 月令卯,日干对月令本气取十神:乙木生丁火、同阴 → **偏印**。(00_总纲 §1 第一步、第二步)
|
||||
- 卯为专气(子午卯酉),本气即乙,不涉透干变化;甲木正印又透时干,印星透干。
|
||||
- **定格:印绶格**(正偏同格,R-印-01)。印透时干为用,定格无误。
|
||||
|
||||
## 三、格之成败 · 用神相神
|
||||
|
||||
- 印格忌财。本命**辛财透月干、申丑藏庚辛,财旺**,财有坏印之势(R-印-12 贪财破印之嫌)。
|
||||
- 救应在**丙辛合**:年干丙火劫财合去月干辛金偏财,劫财制财而护印(R-印-13 财重破印得劫财为救、
|
||||
R-纲-05 败中有救)。辛财被合绊,不能直坏甲木,印得保。**败中有救,格复成。**
|
||||
- **用神:印(甲木/卯)。相神:劫财(丙火)**——全局之格赖丙合辛去忌而成者(R-纲-12)。
|
||||
- 另参气候(92_调候 · 丁火二月):二月丁火「湿乙伤丁,先庚后甲」。本命有甲透引丁(合调候),
|
||||
庚金藏申(劈甲引丁之力稍欠),湿乙(卯)偏重——**气候小欠,格局成而减色**(R-纲-15)。
|
||||
亦即财(庚辛)于调候为「药」(制湿乙、引丁),故财非全忌:财印相济处是格之亮点,
|
||||
但财旺身弱处是格之病。综合判:**身弱财旺,用印赖劫,成格而偏富不贵、以富屋贫人之象**(R-纲-13 有情而力不全)。
|
||||
|
||||
## 四、行运(大运 + 关键流年)
|
||||
|
||||
喜忌基线(印格身弱用印、忌财坏印;调候兼喜庚甲):
|
||||
- **喜**:木(印,生身)、火(比劫,帮身且制财)、水(官煞生印,前提是有土制之)。
|
||||
- **忌**:金(财,坏印耗身)、土(食伤,泄身且生财)。
|
||||
|
||||
| 大运 | 年份 | 判定 |
|
||||
|---|---|---|
|
||||
| 壬辰(8–18) | 1964–1973 | 壬官生印为喜,辰土忌;辰卯相害。平中带杂 |
|
||||
| 癸巳(18–28) | 1974–1983 | 癸杀生印、巳火帮身,双喜。**学业/事业成长期,吉** |
|
||||
| 甲午(28–38) | 1984–1993 | 甲印、午火,双喜。**一生最吉之运** |
|
||||
| 乙未(38–48) | 1994–2003 | 乙印为喜,卯未半合木局印更旺;然未土冲日支丑、丑未冲开库。半吉半动 |
|
||||
| 丙申(48–58) | 2004–2013 | 丙劫帮身为喜,申金财为忌,申辰半合水。喜忌参半 |
|
||||
| 丁酉(58–68) | 2014–2023 | 丁比帮身,然**酉金财旺冲卯(坏用神印)、酉丑半合金局**。**忌运(R-运-11 运既忌而又冲则重)** |
|
||||
| 戊戌(68–78) | 2024–2033 | 戊伤忌,戌与卯合火帮身、戌与丑刑。杂 |
|
||||
|
||||
关键流年(按 R-运-29 五组引动复查,R-运-34 程序):
|
||||
|
||||
- **1997 丁丑**(41 岁,乙未运):E **伏吟日柱**(丁丑=日柱丁丑);C 大运未与流年丑**丑未冲**(冲动妻宫/财库)。
|
||||
2 组。引动落于日柱(己身/财),且丑中己土食神、辛金偏财被冲开。
|
||||
- **2011 辛卯**(55 岁,丙申运):A 透清(辛金财,命藏丑辛);E **伏吟月柱**(辛卯=月柱辛卯);D 卯填时柱空亡(寅卯)。
|
||||
3 组。辛金克卯木(财坏印、金克木)。
|
||||
- **2013 癸巳**(57 岁,丙申运):A 透清(癸杀,藏丑辰);巳与申刑合。2 组,且癸生印、巳帮身为喜。
|
||||
- **2016 丙申**(60 岁,丁酉运):E **伏吟年柱**(丙申=年柱丙申);B 申辰半合水局;D 申填日柱空亡(申酉)。3 组。
|
||||
- **2017 丁酉**(61 岁,丁酉运):E **伏吟大运**(丁酉=大运丁酉);C **酉冲卯**(冲用神印);B 酉丑半合金局(财);
|
||||
D 酉填日柱空亡。**4 组,为全程引动最强之年**。用神(印)被双酉冲去,身弱失所倚 → 凶向(R-事-11 喜用受冲刑则凶向)。
|
||||
- **2020 庚子**(64 岁,丁酉运):A 透清(庚金财,藏申);B 子辰半合水;C 子卯相刑。3 组。金水旺(肺/肾)。
|
||||
|
||||
## 五、逐题推理
|
||||
|
||||
**第 1 题(Q16)考点:性情。**
|
||||
印绶格身弱,日主丁火阴火无根;印重(卯当令+甲透+辰乙),木多火塞、湿乙伤丁,光不外显;
|
||||
神煞双华盖(丑、辰)主孤高向学、太极贵人主好寻根究底。综合取「内向、沉静、多思」一路。
|
||||
财旺透干(贪财取向)本可牵出「财多」一面,但身弱无根、火不显扬,外向好胜(D)可排除;
|
||||
官煞不透且不重,「胆小没主见」(B)证据不足。取 **C**。
|
||||
|
||||
**第 2 题(Q17)考点:学历。**
|
||||
印为用神且有力(月令当令、甲透时干),丙辛合救印使印不被财坏,印格成而可用 → 学业可成。
|
||||
官煞藏而不透,无显官印相生之贵,故不到科举高等(D 硕士证据弱);财旺坏印之嫌得丙救,
|
||||
不至弃学(B 中学辍学证据弱)。判**大学毕业**。取 **C**。
|
||||
|
||||
**第 3 题(Q18)考点:婚姻。**
|
||||
①妻星(财)透月干辛,本旺,财旺主有妻室(D 未婚排除)。
|
||||
②然**丙辛合**——男以财为妻,妻星被别干(劫财)合去,主「妻不亲其夫」(R-亲-19),配合有向背。
|
||||
③妻宫日支丑坐财,印格逢之**反为不美**(R-亲-06);且妻星透而近破格,防刑克(R-亲-11)。
|
||||
④妻宫丑逢大运乙未(1994–2003)之冲,宫被冲动,主「得美妻而难偕老」(R-亲-12 妻宫坐下逢刑冲)。
|
||||
三者同向,指向**婚姻中变**。另双华盖主孤、官煞(子星)藏支(时支辰为子星壬之墓),子女缘亦不见厚。
|
||||
综合取 **C(早年结婚,晚年离婚)**。
|
||||
|
||||
**第 4 题(Q19)考点:1997 流年应事。**
|
||||
1997 丁丑,乙未运。引动:**伏吟日柱**(自身/主体之事,自立门户之象)+**丑未冲**(冲动财库与妻宫,
|
||||
丑中己食神、辛偏财被冲开)。
|
||||
十神合成:流年丁火比肩(自身/合伙)+丑中己土食神(饮食技艺)+丑中辛金偏财(大财),
|
||||
大运未土亦属食伤之库——**食伤生财、比肩自立**之组合指向「自己做吃的生意、创大业」。
|
||||
出国寻宝(C)需驿马引动,而本命年支申/时支辰之驿马在寅、日支丑之驿马在亥,1997 丑年不引动驿马,故 C 证据弱;
|
||||
诈骗破财(A)属纯劫夺财,与食伤生财之主线不合;车祸(B)无金舆(车)引动(金舆在申,未逢)。
|
||||
取 **D(自创业,开办大型港式酒家)**。
|
||||
|
||||
**第 5 题(Q20)考点:健康/寿元。**
|
||||
身弱无根、全赖印(木)为生化之源;忌神为金(财)——坏印耗身。
|
||||
2014–2023 走**丁酉忌运**(酉财旺、冲卯坏用神印),为大凶之运(R-运-11 忌运又逢冲则重)。
|
||||
其中 **2016 丙申伏吟年柱**、**2017 丁酉伏吟大运**连续两年伏吟,且 2017 酉金**双冲卯木用神**——
|
||||
用神印根被连根冲去,身弱失所倚(R-事-11 喜用受冲则凶向),为全程引动最强、最凶之节点。
|
||||
R-性-34「忌神(金)入木(肝)则肝病」亦与金克木(坏印)之机理相应。
|
||||
故断重大恶疾起于 2016 丙申(伏吟年柱)之年、于 2017 丁酉(伏吟大运、双酉冲去用神印)之年不治。取 **C(2016 确诊癌症,隔年与世长辞)**。
|
||||
(备选:2011 辛卯金克木(血/风)、伏吟月柱,有「血管阻塞/中风」之象,降级备选——
|
||||
若主答案不中,此为次选。)
|
||||
|
||||
---
|
||||
|
||||
## 六、存疑与边界
|
||||
|
||||
- 本盘身弱财旺、用印赖劫,属「成而偏富不贵」之杂局,性情与六亲取象皆有财、印两争,
|
||||
第 1、3 题方向存在财(贪)与印(静)两可,故第 1、3 题标低置信。
|
||||
- 第 2 题学历、第 5 题健康年份为规则路径与直白取象并存,标低置信。
|
||||
- 对照盘与主盘四柱全同,无口径分歧,末尾答案行不作分歧标注。
|
||||
|
||||
---
|
||||
|
||||
## 答案
|
||||
|
||||
Q1: C # 低置信
|
||||
Q2: C # 低置信
|
||||
Q3: C # 低置信
|
||||
Q4: D # 低置信
|
||||
Q5: C # 低置信
|
||||
@@ -0,0 +1,153 @@
|
||||
# BaziQA 盲测作答:contest8_2023 / male_19620806_P010
|
||||
|
||||
## 一、命主信息
|
||||
|
||||
- person_id:male_19620806_P010(1962 年出生男性)
|
||||
- 性别:男(大运顺行)
|
||||
- 出生钟表时间:1962-08-06 09:00(当地钟表时间)
|
||||
- 出生地:香港
|
||||
- 真太阳时(主盘):1962-08-06 07:30
|
||||
- 换算:香港 1962 年处夏令时(排盘审计「夏令时:是」),钟表 09:00 先回拨 1 小时得 08:00,
|
||||
再经度修正 -23.32 分、均时差 -6.21 分(合计 -29.53 分)→ 真太阳时 07:30,落**辰时**(07:00–09:00)。
|
||||
- **对照盘:已排**。触发原因:place「香港」属任务书列明的境外/模糊地名(美国、中国大陆、日本、
|
||||
台湾、香港等),必须再排一盘。对照盘口径为 120°E 不经度修正——`--place "中国大陆"`
|
||||
(副本解析为杭州代理 120.16E,Asia/Shanghai,中国 1962 年无夏令时)→ 真太阳时 08:54,亦落**辰时**。
|
||||
- **双盘结论:四柱完全一致**——壬寅 / 丁未 / 丙子 / 壬辰;仅起运岁数微差(主盘 0.68 岁、对照盘 0.66 岁),
|
||||
不影响任何一题判定。故**无口径分歧,末尾答案行不标注分歧**。
|
||||
|
||||
(注:主盘距时辰边界 07:00 与 09:00 各 30 分钟,不满足「真太阳时距时辰边界 <15 分钟」这一条;
|
||||
对照盘 08:54 距 09:00 仅 6 分钟,但仍属辰时,两盘同柱,故对照盘不改答案。)
|
||||
|
||||
## 二、命盘要点(两盘同)
|
||||
|
||||
四柱:**壬寅 / 丁未 / 丙子 / 壬辰**(丙火日主,生于未月)
|
||||
|
||||
- 天干:年壬(七杀)、月丁(劫财)、日丙(日主)、时壬(七杀)
|
||||
- 地支藏干:寅(甲偏印、丙比肩、戊食神)/未(己伤官、丁劫财、乙正印)/子(癸正官)/辰(戊食神、乙正印、癸正官)
|
||||
- 日主丙火之十神分布:
|
||||
- **官杀**:壬七杀两透(年、时)+子中癸正官、辰中癸正官——水(官杀)三见且两透,最旺;
|
||||
- **食伤**:未中己(伤官,月令本气)+辰中戊、寅中戊(食神)——土三见,食伤混杂;
|
||||
- **印**:寅中甲、未中乙、辰中乙——木三见,皆藏不透;
|
||||
- **比劫**:月干丁(劫财)透+寅中丙(比肩);
|
||||
- **财(金)**:**全局无金**,且日柱空亡申酉(金之位空)——正偏财俱绝。
|
||||
- 神煞:驿马、红艳、福星贵人(年支寅);金舆(月支未);将星、灾煞、福星贵人、阴差阳错(日);
|
||||
华盖、童子煞(时支辰)。无孤辰寡宿。
|
||||
- 空亡:日柱空申酉;时柱空午未。
|
||||
- 节令:未月(小暑后、立秋前),胎元戊戌、命宫丙午。
|
||||
|
||||
## 三、取格(依《子平真诠》总纲六步)
|
||||
|
||||
1. 月令=未。以日干丙配月令未之本气己土 → **伤官**。
|
||||
2. 月令本气己土不透;透者为月干丁(劫财,出未之中气)。丁火生己土(透干生本气),
|
||||
且未月己土当令有力 → 依总纲「变而不失本格」,**本气仍主格**,丁劫财为相为兼。
|
||||
→ 定格:**伤官格**。
|
||||
3. 官杀(壬)两透,反为入格之关键:伤官为凶神宜逆用——此局印(甲乙)藏而有力,
|
||||
煞(壬)透而生印、印又帮身制伤,正合**「伤官用煞印」**(R-伤-08)一路;
|
||||
与本库《伤官格》命例 8「壬寅丁未丙寅」(夏阁老,原文仅录三柱)同型——同为丙日未月、
|
||||
煞透印藏、无财,判入「伤官用煞印,无财便为贵格」。
|
||||
|
||||
**成败与用神、相神:**
|
||||
- 用神:月令伤官(己,秀气)。相:煞(壬七杀)与印(甲乙)——煞生印、印帮身制伤,两得其宜。
|
||||
- **成格之要害在「无财」**:本命全局无金(财),故印不被财坏、煞不被财党,格局得成;
|
||||
缺点在官煞混杂(壬两透+子、辰两癸)而不清,为「带忌」;又食伤混杂(戊己并见)为不纯。
|
||||
- 高低:印藏寅得禄(甲禄在寅)而有力,煞两透有源(子辰半合水助之)——有情而近有力,
|
||||
格局不低;惟官煞不纯、食伤混杂,格成而带瑕疵,不能作纯清之贵论。
|
||||
|
||||
**调候(参看,未月丙火):**
|
||||
- 丙火未月,取壬为用、庚为佐(六月丙火退气、三伏生寒,壬水辅映)。本命**壬水两透**——调候用神得,
|
||||
格局增色。**忌「己出混杂」(庸夫俗子)**——本命未月己土伤官当令,正是调候所忌之混,
|
||||
故虽成格而减其秀,格调落在「成而带浊、贵而不纯」一档。
|
||||
- 佐神庚金(财)即调候之佐,本命全无:**调候之佐缺**,为减色处。
|
||||
|
||||
## 四、行运(依《行运》通论)
|
||||
|
||||
大运顺行:戊申(0.68) 己酉(10.7) 庚戌(20.7) 辛亥(30.7) 壬子(40.7) 癸丑(50.7) 甲寅(60.7) 乙卯(70.7)
|
||||
|
||||
- **戊申运(约 1–11 岁)**:申为偏财(父星、亦调候之佐庚之禄地),申**冲年支寅**(冲丙之长生、冲印根),
|
||||
申又与命中子辰**会成申子辰水局**——财化为官杀、印根被冲。早岁家庭宫(年支)被动、父星出现即被合化,
|
||||
为「父缘薄、早年家庭变动」之象。
|
||||
- **己酉运(约 11–21 岁)**:己伤官透、酉为正财(妻星、父星),酉却落**日柱空亡(申酉)**,
|
||||
且辰酉合金——财现而空、成而虚。少年至青年,财(父/妻)之线仍虚。
|
||||
- **庚戌运(20.7 起)**:庚偏财透(调候之佐庚金现!),戌为火库、与未相刑(未戌刑)、
|
||||
与寅半合火。财星终透,为成家立业之窗口。
|
||||
- **辛亥运(30.7 起)**:辛正财透,亥与寅合木(印)、子亥会水——财与官杀并动。
|
||||
- **壬子运(40.7 起)**:壬煞透、子为日支本气再现(子=正官,且子子伏吟日支)。
|
||||
- **癸丑运(50.7 起,2013–2023)**:癸正官透(由子中癸透清),丑与月支未**相冲**(丑未冲=父母宫被冲),
|
||||
丑又与日支子**相合**(子丑合)。此十年父母宫与夫妻宫同被牵动。
|
||||
- **甲寅运(60.7 起,2023)**:甲偏印透,寅为丙之长生与印禄——印比得地。
|
||||
|
||||
## 五、六亲(依《六亲》,叠加于格局之后)
|
||||
|
||||
- 宫分:年柱祖上/早年,月柱父母宫,日支妻宫(亦己身),时柱子息宫。
|
||||
- 星配:**偏财为父、正印为母、正财为妻、官煞为子女(男命)、比劫为兄弟**。
|
||||
- **父(偏财=金)**:全局无金、且金位(申酉)落日柱空亡——**父星绝**。
|
||||
- **母(正印=乙木)**:乙藏未、辰,甲藏寅且得禄——**母星有气**(虽月支未为木墓,年支寅得禄可救)。
|
||||
- **妻(正财=金)**:同属金,**妻星无不现**;而**妻宫(日支子)坐正官**——妻宫有星而妻星无。
|
||||
- **兄弟(比劫)**:月干丁劫财透、寅中丙比肩——**有兄弟之象**,非独子。
|
||||
- **子女(官煞)**:壬煞两透+子辰半合官局——子星旺而有根。
|
||||
|
||||
## 六、逐题推理
|
||||
|
||||
### 第 1 题(命主 16 岁前家庭状况)
|
||||
考点:早年(童限)家庭抚养状况。推理链:父星(偏财/金)全绝、金位又落空亡,父之线极虚;
|
||||
母星(正印)有气。童限戊申运申冲年支寅(家庭宫被动)、申子辰会水局,家境早年即被动荡、
|
||||
父不在而母为主。逐项排除:B 孤儿院、D 收养父母——皆须父母双亡或弃养,而本命母星有明显气、
|
||||
月令提纲亦非全无用神,母在,故不取;C 跟随父亲生活——父星绝,不取。→ 取**跟随母亲生活(A)**。
|
||||
|
||||
### 第 2 题(命主父母状况)
|
||||
考点:父母存殁先后。推理链:财为父、印为母;本命**父星(偏财)绝于局、妻父同源之金全无**,
|
||||
父之线薄,主父不永;**母星(正印)藏而有气**(寅得禄),母之线较厚。
|
||||
「提纲得力、年干有用者父母双全」之泛条虽存在,但四选项皆为「有问题」之设定,以财/印之厚薄分先后:
|
||||
父薄母厚 → **父短寿、母长寿**。排除:A 父母相继在儿时离世(母星未绝,不取);
|
||||
C 贫穷分离(年月杀印相生、非全然为忌,且题设重「父短」而非「分离」,C 作次选);
|
||||
D 父长寿母短寿(与财绝印存相反,不取)。→ 取 **(B)父短寿母长寿**。
|
||||
|
||||
### 第 3 题(命主婚姻状况)
|
||||
考点:婚姻。推理链:男命妻星即正财(金),**本命财星全无**,妻缘本薄;然**妻宫(日支子)坐正官**,
|
||||
依《论妻子》——「妻坐官,吉也,而伤官逢之,岂能顺意」:本命正是**伤官格**,妻宫之官被伤官所嫌,
|
||||
婚姻不能顺意。又日柱**阴差阳错**(丙子,正列十二阴差阳错日)——「男子逢之,主退外家,
|
||||
亦与妻家是非寡合」,明指**曾婚而与妻家不合**。合断:有婚(妻宫有星、阴差阳错明指有妻家)
|
||||
而终不能谐(伤官见官、妻星绝)→ **已婚,但已离异(A)**。
|
||||
(备选讨论:妻星绝+华盖+童子煞亦有「独身」取象,见下第 3 题末段说明;主取 A,标低置信。)
|
||||
|
||||
### 第 4 题(2014 年发生何事)
|
||||
考点:流年应事。2014 = 甲午,处**癸丑大运**(2013–2023)。
|
||||
- 引动核查(依五组清单):
|
||||
- A 透清:流年干甲,透出命中寅中所藏之甲(偏印)——印/母透清;命中偏印透。
|
||||
- B 会局:流年支午与命中年支寅**半合火局**(寅午),比肩劫财得势。
|
||||
- C 刑冲:**流年午冲日支子**(冲动日支=己身/妻宫);另大运丑冲月支未(父母宫)。
|
||||
- D 空亡:午属**时柱空亡(午未)**,流年午来填实。
|
||||
- 神煞:甲午之年逢**天德、月德**(未月天德甲、月德甲)二德齐——凶险有解;又逢**羊刃(丙刃在午)、
|
||||
灾煞、将星、童子煞**——羊刃+灾煞主血光急症,二德主遇险得解。
|
||||
- 判向:冲落**日支子**——日支为「己身+配偶」之贴身宫;本命妻星(金)全无、婚姻已见离异不顺,
|
||||
妻宫之象不键,故此冲之力主要落在**日主己身**:日支受冲、又命带灾煞(以日支子查,见午)、
|
||||
流年再逢羊刃灾煞,主**己身血光急症**。→ 候选排序:①**命主自己患癌症(D)**;
|
||||
②伴侣/妻之病(A)——妻星虽绝、子午冲妻宫亦开此向,降级为备选;③父母之病(C)——大运丑未冲
|
||||
父母宫亦支持,列为次备。综合取**命主自己患癌症(D)**(低置信)。
|
||||
|
||||
### 第 5 题(以下何项属正确)
|
||||
考点:综合事实。逐项:
|
||||
- A 独子——月干丁劫财透、寅中丙比肩,**有兄弟姐妹之象**,非独子,A 不取。
|
||||
- D 工作稳定、一份工做到退休——官煞混杂(壬两透+癸两藏)而不清,又财绝(官无源、身无养),
|
||||
事业线动荡,D 不取。
|
||||
- C 长期患病需人照顾——身弱(官杀两透克身、食伤混杂泄身)+童子煞(幼多灾病),有健康薄弱之象,
|
||||
然印(三木)化杀帮身,未至「长期卧床」,C 作次选。
|
||||
- B 曾犯事留有案底——**官杀混杂两透**(七杀重)+**伤官当令**(伤官见官为祸),又日柱**阴差阳错**、
|
||||
将星主权,气性刚猛、易触官非刑宪;调候谓「己出混杂(庸夫俗子)」亦是浊而不清之象。→ 取
|
||||
**曾犯事,留有案底(B)**(低置信)。
|
||||
|
||||
## 七、存疑与边界
|
||||
|
||||
- 本命「伤官用煞印」为成格之贵,然官煞混杂、食伤混杂、调候犯「己出混杂」,格调落「成带浊」;
|
||||
六亲之吉凶以宫星配格局喜忌为断,与贵贱之判分轨。
|
||||
- 第 3、4、5 题存在多解张力(妻星绝/妻宫坐官/阴差阳错三者指向不同),已按规则逐项加权,
|
||||
非高置信。
|
||||
- 未引纳音、空亡、神煞入格局四层(遵禁则);神煞、空亡仅作流年细节参看。
|
||||
|
||||
## 八、答案
|
||||
|
||||
Q1: A
|
||||
Q2: B
|
||||
Q3: A
|
||||
Q4: D
|
||||
Q5: B
|
||||
@@ -0,0 +1,129 @@
|
||||
# contest8_2023 · male_19800711_P016(1980年出生男性)
|
||||
|
||||
## 命主信息
|
||||
|
||||
- person_id:male_19800711_P016
|
||||
- 性别:男
|
||||
- 出生钟表时间:1980-07-11 09:00(Asia/Hong_Kong,夏令时:否)
|
||||
- 出生地:香港
|
||||
- 真太阳时(主盘):1980-07-11 08:31(经度修正 -23.32 分 / 均时差 -5.32 分,合计 -28.64 分)
|
||||
- 四柱:庚申 癸未 乙酉 庚辰
|
||||
- 当前年(题面 current_year):2023
|
||||
|
||||
### 是否排对照盘及触发原因
|
||||
|
||||
**已排对照盘。** 触发条件:place 为「香港」(境外/模糊地名,命中双盘纪律第二款)。对照盘口径 `--place "中国大陆"`(杭州代理 120.16E,Asia/Shanghai,UTC+8 钟表时即真太阳时),真太阳时 08:55。
|
||||
|
||||
**对照盘结论:** 两盘四柱完全相同(庚申 癸未 乙酉 庚辰),仅起运天数差 2 天(9.12 岁 vs 9.11 岁),大运干支与流年全同。**两盘无口径分歧**,下文答案行无需标注分歧。主盘时柱辰(07:00–09:00),真太阳时 08:31 距 09:00 边界 29 分钟,未触发时辰边界条件,时辰稳固。
|
||||
|
||||
---
|
||||
|
||||
## 一、命盘要点
|
||||
|
||||
- 日主乙木,生未月(季夏,木退气)。日主坐酉(乙之绝地),仅得未中乙、辰中乙两处余气微根,赖月干癸水偏印相生。**日主偏弱。**
|
||||
- 天干:庚(年)、癸(月)、乙(日)、庚(时)——**双庚正官透干**,癸水偏印透干。乙庚合(日主与两庚争合)。
|
||||
- 地支:申、未、酉、辰——申(庚壬戊)、未(己丁乙)、酉(辛)、辰(戊乙癸)。
|
||||
- 十神盘点:官杀(庚庚+申酉+辰酉合金)最重;印(癸透+申壬+辰癸)次之;财(未己+辰戊+申戊)中而**不透**;比劫(未乙、辰乙)弱;食伤(未丁)最弱。
|
||||
- 地支组合:辰酉合金(时支合日支,金势更增);未无会;申酉金乡。
|
||||
- 神煞(仅作细节,不入格局四层):天乙贵人(年支申)、桃花+将星(日支酉,妻宫带桃花)、华盖+童子煞(时支辰)、寡宿(月支未)、亡神(年支申)。
|
||||
|
||||
## 二、取格
|
||||
|
||||
依《子平真诠》「用神专求月令」:日干乙木配月令未。
|
||||
|
||||
1. 月令未本气己土,乙木克己土为财 → **财格**(正偏财同格)。
|
||||
2. 未为杂气(辰戌丑未),按杂气取用条:未中本气己(偏财)**不透**,余气丁(食神)、乙(比肩)亦不透;天干所透之庚(官)、癸(印)非未所藏,不构成「月令透干取用」;未亦无三合三会。
|
||||
3. 故格仍以月令本气定——**财格**。透干之官(庚)、印(癸)为财格配合上的成格之用。
|
||||
4. 第六步外格闸门:日主有微根、命中有用神可取(官印财俱在),不转杂格;亦非从杀(乙木根未全无,且有印生)。**正格。**
|
||||
|
||||
## 三、格之成败、用神相神、高低
|
||||
|
||||
- **格局态势**:财格,财(土)生官杀(金)、官杀极旺而日主弱。金势过重(双庚+申酉+辰酉合金),官杀攻身为病;赖月干癸水偏印化官杀而生身,官(庚)生印(癸)、印生身(乙),成「财→官→印→身」一路相生。
|
||||
- **成败**:属「财格佩印 / 财用印化杀」之救应成格(《子平真诠》论财篇「财格佩印」与「财用煞印」两型并存于此)——财藏不透,印透帮身,财印不相碍,格成。**带病之处**:官杀太重、日主太弱,官(庚)虽有印化而势仍压身,格成而减色,非大贵之局;财(月令用神)反为病(党煞、坏印之嫌),故富亦有限、财来财去。
|
||||
- **用神与相神**:月令财为用神所在,但以印(癸水)为全格所倚之**相神**——化官杀、护日主、通关财官。伤官(丙)为制官杀之药,比劫(乙)为帮身之助。
|
||||
- **格局高低**:配合有情(官印相生、生化一路),然**主用者根力不敌**(官杀四倍于身),属「有情而不情之至、有力而不力之全」——中上之局,主一技在身、依人成事,能过活、能小富,难望显达。官杀旺而印化者亦主劳心承重之象。
|
||||
|
||||
## 四、行运
|
||||
|
||||
大运顺行,起运约 9.12 岁(1989 年起):
|
||||
- 甲申(9–19 岁,1989–1999):甲劫帮身、申金加重官杀——童限后进学,平中带压。
|
||||
- **乙酉(19–29 岁,1999–2009)**:乙比肩帮身、酉为妻宫伏吟(酉酉),又是日主绝地。此运婚姻、身事皆动;酉金增官杀压力,赖乙木比肩分任。
|
||||
- **丙戌(29–39 岁,2009–2019)**:丙伤官透(运干,主前五年 2009–2013)、戌正财库(运支,主后五年 2014–2018)。丙伤官生财、亦制庚官;戌为财库,与命局**辰戌冲**(冲时支辰、并冲辰中癸印用神)、**酉戌害**(害妻宫)、**未戌刑**(刑父母宫)。此运财禄起落最大——详见逐题。
|
||||
- 丁亥(39–49 岁,2019–2029):丁食神、亥为印(用神之地),官杀得食神制、印得地——由困转稳。
|
||||
|
||||
喜忌基线(断运用):**喜**印、比劫(水、木);**忌**财过旺(党煞坏印)、忌官杀过重、忌伤官盗气。行运之喜忌皆以此校正。
|
||||
|
||||
---
|
||||
|
||||
## 五、逐题推理
|
||||
|
||||
### 第 1 题(P016-Q36)第一次结婚年份?(A2000 B2001 C2005 D2006)
|
||||
|
||||
考的是婚姻应期。男命以财为妻、以日支(妻宫)为婚姻之宫。本命妻宫坐酉(七杀、带桃花),财(妻星)藏而不透,故妻缘之成须待**岁运引动妻宫或妻星**。
|
||||
|
||||
- 第一婚在大运 **乙酉(1999–2009)**内,此运酉酉伏吟妻宫,为婚姻启动之运。
|
||||
- 2000 庚辰:辰为**正财**(戊土),且**辰酉六合**——正财(妻星)合入妻宫,男命婚期最正之象。
|
||||
- 2001 辛巳:巳酉半合妻宫,但巳本气为伤官,财仅藏于戊,力度次之。
|
||||
- 2005 乙酉:酉为妻宫(+桃花)伏吟,天干乙比肩争妻——主感情大动而不主成婚。
|
||||
- 2006 丙戌:戌为正财(妻星),然**酉戌相害**妻宫,成中有破。
|
||||
|
||||
排除 2001(半合偏弱)、2005(比肩争合、伏吟主情动)、2006(害妻宫)。取**辰酉合、正财合妻宫**之 2000。
|
||||
|
||||
### 第 2 题(P016-Q37)第二次结婚年份?(A2011 B2012 C2013 D2015)
|
||||
|
||||
男命二婚,当先有婚变、再有再娶。
|
||||
|
||||
- 婚变应于 **2011 辛卯**:卯**冲**日支酉(妻宫被冲),又逢辛七杀透、元辰/灾煞并临——直白取象即「姻缘被冲开」,为离婚之年。
|
||||
- 再娶则须妻宫复逢合会。2012 壬辰:**辰酉六合**妻宫、又辰为正财——与前妻星合妻宫同一机制(同型引动应同类事),再婚最宜。
|
||||
- 2013 癸巳:巳酉半合,可行但弱于六合。2015 乙未:未为财库然不合金妻宫,乙比肩又主争。
|
||||
|
||||
取**辰酉合、正财合妻宫**之 2012。
|
||||
|
||||
### 第 3 题(P016-Q38)从事职业?(A秘书 B物流公司老板 C翻译员 D游泳救生员)
|
||||
|
||||
考取格与财官印配置。
|
||||
|
||||
- 月令未为财格,财(土)主货物、贸易、经营性收入;官杀(金)旺主车、机械、规矩、营运之物。金旺财旺而合于日支(辰酉合金)——象在「以金属、货物、运输营财」。
|
||||
- 全格为财格(月令财)为体,故以**经营/商业**取象胜过单纯文职。用神系于印(文书),然印在此为相神而非格体;食伤最弱,不主语言表达(排除翻译员);泳救象属水而日主弱不胜水劳(排除救生员);秘书属官印文书一路,与「月令财、双官透而财为主」的财格主导不合。
|
||||
|
||||
取**物流公司老板**。
|
||||
|
||||
### 第 4 题(P016-Q39)性格特征?(A被动做事消极但爱心同情心重 B鬼主意多爱走捷径耍小聪明 C保守节俭但承担力强 D脾气暴躁好色做事鲁莽)
|
||||
|
||||
考的十神配性情。
|
||||
|
||||
- 官杀(庚庚+申酉)为全局最重之神,正官主守规、约束、任事;官杀极旺而日主弱,必以「承受、担责、持重」为性——**承担力强**之象最著。
|
||||
- 财(未己辰戊申戊)藏而不透,财不露白 → **节俭**,惜财不炫。
|
||||
- 官透印随,财官印相生一路 → **保守**、循规、不事张扬。
|
||||
- 排除 B:食伤(丁)最弱不透,非聪明外露、投机取巧之性。排除 D:官为透干之正官且有印化,非七杀无制之暴躁鲁莽;桃花在妻宫仅主感情多事,不足以主「好色」为性之主。排除 A:虽身弱有被动一面,但官杀极旺、财官印相生之主线显于「承担持重」,非纯「消极依赖」——A 之「爱心同情心」虽合印,然其「做事消极」与全局官旺承担之象相左。
|
||||
|
||||
取**保守,节俭,但承担力强**。
|
||||
|
||||
### 第 5 题(P016-Q40)丙戌大运(2009–2018)财运?(A一直稳定有存款房产 B投资物业股票屡获丰厚 C刚开始丰盛,后因赌钱债台高筑 D刚开始平稳,后因替家人清还债务而负债累累)
|
||||
|
||||
考大运喜忌与财之应。
|
||||
|
||||
- **该运为忌运为主**:丙为伤官(盗日主之气),戌为正财库(助财党煞、坏印)。喜印、比劫,此运皆无显著助力,故财必起落、终归破耗——A、B(一直丰稳、屡获厚利)皆不合忌运基调,先排除。
|
||||
- **运干管前五年、运支管后五年**:丙(2009–2013)为伤官,伤官生财本可来财,然命中癸印克丙(印护日主、制伤),伤官生财之力被抑,故前段「财政平稳渡过」而非骤富。戌(2014–2018)为财库,与命中**辰戌相冲**、**未戌相刑**、**酉戌相害**,冲开财库又冲坏辰中癸印(用神受伤)、刑及月柱父母宫——财既动且坏印,见破败。
|
||||
- **因「家人」而非因「赌」**:伤官(丙)受印制,不为赌荡之象;破财之由落在戌财冲刑坏印——财(六亲中主父/家人)为忌神而动、坏及用神印,正是「因家人致财耗、替家人清债」之象(《命理之财为忌神、财坏印》一路)。排除 C(赌钱主伤官放恣,此盘伤官被印制;且前段为「平稳」非「丰盛」)。
|
||||
|
||||
取**刚开始平稳渡过,但后来因为要为家人清还债务而负债累累**。
|
||||
|
||||
---
|
||||
|
||||
## 六、存疑与边界
|
||||
|
||||
- 本盘为**穷通宝鉴「夏木」以外之乙木未月局**,取格有「财格佩印(主贵)」与「财用煞印(主富)」两说并陈(《子平真诠》论财篇同在),本判以月令财为体、印为相神,未强断贵贱,只定「成而减色、依人成事」。
|
||||
- 婚姻之年(第 1、2 题)依妻宫(日支酉)逢合之应期收敛到年(辰酉六合),置信度**只能定到年、且属二选一之推**,标注低置信。
|
||||
- 第 5 题 C/D 两型皆属「先好后坏」,本判以「伤官被印所制、破财归因于财星冲刑坏印(家人)」取 D,属两可处之取舍,标注低置信。
|
||||
- 未发现题面 JSON 残留 `answer` 字段等泄露迹象;未触碰任何禁区文件、未联网。
|
||||
|
||||
---
|
||||
|
||||
## 末尾答案行
|
||||
|
||||
Q1: A
|
||||
Q2: B
|
||||
Q3: B
|
||||
Q4: C
|
||||
Q5: D # 低置信: C/D 两可
|
||||
@@ -0,0 +1,120 @@
|
||||
# contest8_2023 · male_19860424_P011 求解留档
|
||||
|
||||
## 一、命主信息
|
||||
|
||||
- person_id:male_19860424_P011(题面名「1986年出生男性」)
|
||||
- 性别:男(male)
|
||||
- 出生钟表时间:1986-04-24 21:30(当地钟表时间)
|
||||
- 出生地:马来西亚(题面 place 原文)
|
||||
- 真太阳时(主盘):1986-04-24 20:18(经度修正 -73.24 分,均时差 +1.86 分,合计 -71.38 分;时区 Asia/Kuala_Lumpur,夏令时:否)
|
||||
- 主盘四柱:丙寅 / 壬辰 / 戊戌 / 壬戌(戌时)
|
||||
- 对照盘:**已排**。触发原因——place 为境外地名(马来西亚),命中任务书「双盘纪律」第二条件。
|
||||
- 对照盘口径:`--place "中国大陆"`(副本解析为杭州代理 120.16E,Asia/Shanghai,钟表时≈真太阳时)
|
||||
- 对照盘真太阳时:1986-04-24 21:32(亥时)
|
||||
- 对照盘四柱:丙寅 / 壬辰 / 戊戌 / **癸亥**
|
||||
- **两盘差异**:仅时柱不同。主盘时柱 壬戌(时干壬偏财、时支戌比劫兼印库),对照盘时柱 癸亥(时干癸正财、时支亥为壬水财之禄地、藏甲七杀)。
|
||||
- 答案行以**真太阳时主盘**为准(见末节)。
|
||||
|
||||
## 二、排盘与取格(主盘为主)
|
||||
|
||||
### 1. 命盘要点(主盘)
|
||||
|
||||
- 四柱:丙寅 壬辰 戊戌 壬戌。日主戊土,生于辰月(清明后、立夏前),月令辰。
|
||||
- 天干十神:年干丙=偏印;月干壬=偏财;日主戊;时干壬=偏财。
|
||||
- 地支藏干:寅(甲七杀、丙偏印、戊比肩);辰(戊比肩、乙正官、癸正财);戌(戊比肩、辛伤官、丁正印);戌(同前)。
|
||||
- 空亡:日柱辰巳空、时柱子丑空。
|
||||
- 节令:胎元癸未,命宫辛卯。
|
||||
|
||||
### 2. 定格(依 00_总纲_取格.md §1 六步)
|
||||
|
||||
- 第一步 月令=辰。第二步 以日干戊对月令本气戊 → **比肩**,属「比劫(禄/刃/劫)→ 月令无用神」一路,阳干临刃者转阳刃格,此非阳刃(戊刃在午),故转 **18_建禄月劫格**(于四柱透干、会支别取财官煞食为用)。
|
||||
- 第三步 藏干变化:辰藏戊(本气,即日主)、乙(正官,不透)、癸(正财,不透)。四柱透干中,月、时两干透 **壬(偏财)**,以月令辰为水库之根,可取为用(R-纲-10 杂气取用:库根透出亦作透出取用论)。年干丙偏印从寅透。
|
||||
- 结论:**建禄月劫格,别取偏财为用**(壬水偏财透两位、以辰为库根)。相神取戌中所藏辛金伤官(化劫生财,R-禄-05)。
|
||||
|
||||
### 3. 成败、用神相神、高低
|
||||
|
||||
- **身旺**:戊土通根辰、戌、戌三土,加年支寅中戊之余气,又得丙火偏印(通根寅)生扶,日主明显偏旺。
|
||||
- **成格**:月劫用财,四柱带伤食(辛金伤官藏日、时两戌,有气)——合 R-禄-05「禄劫用财须带伤食化劫生财」之「有气」条件,格成。
|
||||
- **带忌**:财星壬水**两透而露**(露财),而天干**无官星护卫**(乙官藏辰不透),四柱**比劫众**(戊辰戌戌+寅戊),财露无护、比劫争财,是为带忌(R-财-02/13、R-禄-12)。且辰戌两冲,燥湿交战,水财受燥土之制。
|
||||
- **用神=偏财(壬水)**,**相神=伤官(辛金)**(通关化劫)。喜:食伤(金,泄土生财)、财(水)、官杀(木,制劫护财);忌:比劫(土)、印(火,生身且夺食伤)。
|
||||
- **格局高低**:身旺而财透有根,属「用财」一路可取富;然伤食不透(仅藏)、官不透、财露被劫,通关护财之力皆薄——依 R-禄-18「用财不透伤食而仅财纯根多者,富而不贵」之档,且带「财露无官」之忌,断为**中平偏上、财来财去、富而不巨、贵气不足**。气候参看:春土(辰月)土旺,喜甲木疏土、庚金泄土、壬水润土(92_调候),本命壬透有、甲庚藏而不透,药神未全,减色。
|
||||
|
||||
### 4. 行运(依 90_行运.md、R-禄-21)
|
||||
|
||||
大运顺行:癸巳(3.77岁/1990)→ 甲午(2000)→ 乙未(2010)→ 丙申(2020)→ 丁酉(2030)→ 戊戌(2040)。
|
||||
|
||||
- 建禄月劫格用财带伤食(R-禄-21):财食轻者宜助财、不喜印比;财食重者喜印绶不喜比肩。本命财透而伤食藏(财重食轻),故通盘**喜金(泄土生财)水(财)木(制劫)**,**忌火(印)土(劫)**。
|
||||
- 癸巳运(1990–1999,童限后至13岁):癸水正财透(喜)+巳火印、巳为戊禄(忌),吉凶相半。
|
||||
- 甲午运(2000–2009,14–23岁):甲木七杀透(制劫护财,喜)+午火羊刃(忌);学业期,压力与研究、专技并存。
|
||||
- **乙未运(2010–2019,24–33岁)**:乙木正官透(制劫护财、又为男命子星之显,喜)+未燥土劫财(忌)。此十年官星当运、护财成家,为**婚育与立业的窗口期**;然未土劫财、未戌相刑,婚姻宫本已有辰戌冲,此运婚姻多起伏。
|
||||
- 丙申运(2020–2029,34–43岁,**当前**):丙火偏印盖头(忌,印夺食伤,阻财路)+申金食神得地(喜,泄土生水、申为水之长生)。支吉干凶,逢申酉金运生财,中晚年财源转顺;然丙丁火印运(2020–2039)与命局丙印同气,印重则「求名、文书、玄学、顾问」之象显。
|
||||
- 丁酉运(2030–2039):丁印(忌)+酉金伤官(喜),同丙申,食伤生财而印为病。
|
||||
- 应期纪律:下文关键流年已按 R-运-27~R-运-34 五步核对(重查本格取运基线、五组引动清单 A透清/B会局/C刑冲/D空亡/E伏吟、91_事类映射、96_六亲),编号收在内部。
|
||||
|
||||
### 5. 对照盘差异对结论的影响
|
||||
|
||||
- 对照盘时柱 癸亥:时干癸=正财透(正妻星透)、时支亥=壬水财之禄地,**财星更旺更清、得禄有力**;且时支亥为甲木(男命子星)之长生,子息宫得子星长生。
|
||||
- 主盘时柱 壬戌:时支戌为子星甲木之「养」位、又是比劫印库,财坐燥土稍受制。
|
||||
- 两盘于「财之旺度、子息宫之优劣」上有程度差:**对照盘更利财、子息更旺**;主盘则财受制、比劫夺财之象更显。按纪律,答案行一律以主盘为准。
|
||||
|
||||
## 三、逐题推理(主盘;对照盘差异另注)
|
||||
|
||||
### 第 1 题(问结婚年份:A 2012 / B 2013 / C 2015 / D 2016)
|
||||
|
||||
- 考点:男命婚期应期——以妻星(正偏财)与妻宫(日支戌)之引动落点定年。
|
||||
- 推理:乙未运(2010–2019)官星当运、为婚育窗口。五组引动逐组核该运内流年——
|
||||
- 2012 壬辰:透清/伏吟(E,壬伏吟命干、辰伏吟月支)+刑冲(C,辰冲日支戌、时支戌,激活命局本有之辰戌冲)=2组;妻星壬财透、妻宫被冲而大动。方向:妻星为喜用(身旺喜财),逢冲而「动而成」(R-事-13)。
|
||||
- 2013 癸巳:透清(A,流年干癸透出命中辰所藏之正财癸)+空亡填实(D,巳为日柱空亡之支)+刑冲(C,巳刑年支寅)=3组,且**戊癸相合**(日主合正财)——为「日主合财、正财透清」之典型婚娶应期,引动组数最多。
|
||||
- 2015 乙未:仅未刑日支戌(C,1组),无财星引动,偏弱。
|
||||
- 2016 丙申:会局(B,申与命辰半合水局)+刑冲(C,申冲年支寅)=2组。
|
||||
- 排序:2013(组数最多 3 组+日主合正财)→ 2012(2 组、妻宫冲)→ 2016(2 组)→ 2015(1 组)。
|
||||
- 结论:**取 2013**(主答案),备选 2012。**低置信**(2012/2013 两可,仅一线之差)。
|
||||
|
||||
### 第 2 题(问两个男孩出生年份:A 2013与2015 / B 2014与2016 / C 2016与2019 / D 2017与2022)
|
||||
|
||||
- 考点:男命子息应期——子星=官杀(木),子息宫=时柱(时支戌)。
|
||||
- 推理:以子星(甲/乙木)透干之年、兼子息宫(时支戌)刑冲之年为得子高峰——
|
||||
- 2014 甲午:甲七杀透干(子星透清,最强得子象)。
|
||||
- 2015 乙未:乙正官透干(子星透)+未刑时支戌(子息宫动)。
|
||||
- 2019 己亥:亥为甲木长生、寅亥合木(子星合动)——但该年逢劫煞、绞煞、天罗(凶星并见),得子象打折扣。
|
||||
- 2022 壬寅:寅为甲木临官(禄),子星到禄——然已在晚段。
|
||||
- 结合第 1 题婚期 2013,长子最合于婚后次年的**甲杀透干之年(2014)**,次子落 2016(申与命辰半合财局、时柱同气有引动)。
|
||||
- 结论:**取 B(2014与2016)**,备选 A(2013与2015,若婚期提前一年)。**低置信**。
|
||||
|
||||
### 第 3 题(问目前财运:A 逾千万马币 / B 收入平平固定薪金4千 / C 财运顺畅每月增长 / D 欠债逾1千万)
|
||||
|
||||
- 考点:财格身旺之财之聚散与当前大运吉凶。
|
||||
- 推理:身旺财透本有求财之能;然——① 财露(壬两位透)而**天干无官护卫**,比劫(四土)争财,财被分夺;② 辰戌两冲,燥土制水,财根受损;③ 十恶大败(戊戌日柱)主破财、财大进大出、不宜守成;④ 无食伤透干通关(辛金仅藏且受火土制),土直接克水。合之,「能求财而不易聚财」。
|
||||
- 但就**当前(2023,丙申运)**言:申金食神得地,与命辰半合水局,泄土生财,中晚年财源转顺,非绝地。故断为「有进项、渐有增长,而非巨富、亦非倾覆」。
|
||||
- 排除:A(千万身家)——财被劫、十恶大败、伤食不通关,难至巨富;D(欠债千万)——命带天德月德(R-煞-05,险中得解),且财有辰库之根,不至倾覆。
|
||||
- 结论:**取 C(财运顺畅,每月收入都有增长)**,备选 B。中等置信。
|
||||
|
||||
### 第 4 题(问婚姻情状:A 已离婚 / B 已婚但有婚外情 / C 婚姻美满 / D 未婚但有两孩子)
|
||||
|
||||
- 考点:男命妻星妻宫之成败——依 96_六亲.md R-亲-10~R-亲-13、R-亲-24。
|
||||
- 推理:① **R-亲-12**「妻透成格,或妻宫有用而坐下刑冲,未免得美妻而难偕老」——本命妻星(壬财)透而成局(月劫用财),而妻宫日支戌**坐下辰戌两冲**,正合此条→主得妻而**难偕老**;② **R-亲-24①**「财神轻而无官、比劫多,主克妻」——本命比劫众、官不透,正合;③ 命带童子煞(日时),主婚缘迟滞、婚配不顺。
|
||||
- 三条同向,皆指婚姻不长久、多刑克,而非「美满」。
|
||||
- 排除:C(婚姻美满)——与妻宫双冲、妻透被劫相悖;D(未婚但有两孩子)——与第 1 题已有结婚年份相悖。
|
||||
- 结论:**取 A(已离婚)**,备选 B(已婚但有婚外情,若偏财两透取「外室显」之象)。**低置信**(A/B 两可)。
|
||||
|
||||
### 第 5 题(问目前职业:A 小吃店老板 / B 寿板店职员 / C 偏门老板 / D 命理风水顾问)
|
||||
|
||||
- 考点:格局十神+神煞事类合成职业取象。
|
||||
- 推理:① 日柱戊戌为**魁罡**,主性严有操持、聪敏果断;② 日、时两戌为**华盖**(年支寅、日支戌查戌),主孤高、艺文、宗教玄学之缘;③ 日、时之戌又为**太极贵人**(戊日见辰戌丑未),主好寻根究底、与玄学哲思有缘——华盖、太极贵人密集于日时两宫,术数、玄学、宗教、顾问之象显;④ 年干**丙偏印**透(通根寅),偏印(枭)为术数、偏门学问之星,且 2020–2039 行丙申、丁酉**印运**(文书、学术、玄学、顾问之运)当值;⑤ 偏财两透,主自雇、偏业、非固定薪之财(与「顾问」受润笔之象合)。
|
||||
- 排除:A(小吃店老板)——食伤主饮食,本命伤官仅藏不透,饮食店之象薄;B(寿板店职员)——华盖、天罗虽近阴丧之象,然本人为「职员」(受薪)与偏财自雇、魁罡操持之性不合,且无劫煞(主盘);C(偏门老板)——天罗地网主蹇滞、官司,主盘无劫煞,偏门之凶象不全。
|
||||
- 结论:**取 D(命理风水顾问)**,备选 C。中等偏低置信。
|
||||
|
||||
## 四、存疑与边界
|
||||
|
||||
- 主盘与对照盘仅时柱不同(壬戌 vs 癸亥),财之旺度、子息宫优劣有差;本题各答案行以主盘为准,凡两盘可能分歧者已在正文注明,未在答案行标「口径分歧」,因两盘于各题之倾向未翻转(对照盘财更旺只加重「财不弱」之判断,不改变选项方向)。
|
||||
- 第 1、2、4 题属推测性时序推断(本场景无用户可核对,按「不可核对者直推」路径给最佳推断),置信度偏低,已标 `# 低置信`。
|
||||
- 未发现题面 JSON 残留 answer 字段,无泄露。
|
||||
- 未触碰任何禁区文件,未联网。
|
||||
|
||||
## 五、答案
|
||||
|
||||
Q1: B # 低置信
|
||||
Q2: B # 低置信
|
||||
Q3: C
|
||||
Q4: A # 低置信
|
||||
Q5: D
|
||||
@@ -0,0 +1,99 @@
|
||||
# 命主信息
|
||||
|
||||
- person_id:chaozhou_male_19720108_P002
|
||||
- 姓名/描述:1972年潮汕出生男性
|
||||
- 性别:男
|
||||
- 出生钟表时间:1972-01-08 11:00(题面 raw 记作「午时」)
|
||||
- 出生地:广东潮汕,中国
|
||||
- 真太阳时(主盘):1972-01-08 10:40(经度修正 −13.28 分、均时差 −5.77 分,合计 −19.05 分)
|
||||
- 是否排对照盘:**未按双盘条件触发**(主盘真太阳时 10:40 距午时边界 11:00 为 20 分钟,≥15 分钟;且出生地为境内,非境外/模糊地名,故不触发 120°E 对照盘)。
|
||||
- 但题面 raw 明写「午时」与真太阳时落「巳时」冲突,为稳妥另做了一次 120°E 校验盘(`--place 中国大陆`,杭州代理 120.16E):其真太阳时 10:54,四柱仍为 **辛亥 辛丑 戊戌 丁巳**,与主盘完全相同。**两盘无口径分歧**,答案一律按真太阳时主盘(巳时·丁巳)给出。
|
||||
- 当前年(元数据 current_year):2024。
|
||||
|
||||
# 命盘要点(主盘)
|
||||
|
||||
- 四柱:年 辛亥(伤官)/月 辛丑(伤官)/日 戊戌(日主)/时 丁巳(正印)
|
||||
- 藏干:亥=壬(偏财)甲(七杀);丑=己(劫财)癸(正财)辛(伤官);戌=戊(比肩)辛(伤官)丁(正印);巳=丙(偏印)庚(食神)戊(比肩)
|
||||
- 空亡:日柱空亡辰巳(时支巳落空);时柱空亡子丑(月支丑落空)
|
||||
- 神煞:魁罡(日柱戊戌直查)、十恶大败(日柱)、华盖(日支戌)、寡宿(日支戌,年支亥查)、天乙贵人+太极贵人(月支丑)、太极贵人(日支戌)、劫煞(年支亥)、禄神+驿马+亡神(时支巳)
|
||||
- 节令:丑月(小寒后、立春前),月令丑;胎元壬辰,命宫己亥
|
||||
- 大运(逆行,起运 0.62 岁):庚子(0.62) → 己亥(10.62) → 戊戌(20.62) → 丁酉(30.62) → 丙申(40.62) → 乙未(50.62) → 甲午(60.62) → 癸巳(70.62)
|
||||
|
||||
# 取格
|
||||
|
||||
月令丑为杂气(己劫/癸财/辛伤)。丑之本气己土为劫财,不透;丑中辛金伤官却由年干、月干**双透**。依总纲「本气不透而透他干→以透者取用、格随透干变」及杂气「透干取其清者用之」:**定格为伤官格**(月令透出伤官,格随透辛而变)。
|
||||
|
||||
- 本气劫财不立为用,伤官透干自立为用,故不以建禄月劫或杂格论;月令自有用神,外格闸门不开。
|
||||
- 加分项:丑中辛(伤官)与癸(正财)**同根月令**,成「财伤有情」之秀气(与《子平真诠》丙日丑月己庚同根一例同理)。
|
||||
|
||||
# 成败、用神相神、高低
|
||||
|
||||
- **成格**:伤官为凶神宜逆用。此局印星(丁火)透于时干、通根时支巳(禄)与日支戌,根深有力,属**伤官佩印**;同时财(水)藏于亥、丑而流通,兼「财伤有情」。两路皆能成格,格成立。
|
||||
- **带忌**:伤官重出(辛·辛·丑辛·戌辛四重)又混食(巳中庚),秀气不清,属「伤官浊」;财星深伏不透,妻星不显。
|
||||
- **用神相神**:以月令**辛金伤官为用神**;**丁火正印为相神**——制伤之骄、且为冬土调候暖局之要。
|
||||
- **格局高低**:丑月严寒,戊土须丙火解冻(《穷通宝鉴》戊土丑月「丙为尊、甲佐」)。局中有丁透、巳戌藏丙丁,火已得地,**金水多寒而得火融和**,格局成色为高(参《子平真诠》伤官章「金水多寒得火融和」、都统制戊日土金伤官之例)。惜身不弱(丑戌巳丑土根重),佩印本宜伤旺身稍弱,此则**成格而降等**,故为「贵而降等、中上」之造,非大富贵。
|
||||
- **喜忌**(行运基线):以印(火)为相神、调候急需,**喜火**(印、调候),**喜木**(官煞生火、疏土,佩印格官煞为宜);**忌水**(财增寒且坏印相),**忌土**(比劫助湿夺财);金(食伤)为格用,泄秀不碍但冬寒减色。
|
||||
|
||||
# 行运
|
||||
|
||||
- 庚子(虚1–10,1973–82)金水寒、财旺:忌。己亥(虚11–20,1983–92)亥水财、冲时支巳(印根):忌,且为**母星(印)受斩丧之运**。戊戌(虚21–30,1993–2002)土湿比劫,平中偏忌(大运伏吟日柱,妻宫/自身被引动)。
|
||||
- **丁酉(虚31–40,2003–12)、丙申(虚41–50,2013–22):火印当运,为命中最喜之二十年**,事业、名望、住所之机皆在此。乙未(虚51–60,2023–32)、甲午(虚61–70,2033–42)木遇火,官煞运宜,晚运亦佳。
|
||||
- 一生格局是「早年金水寒滞、中年火印发越、晚运木火延美」的走向:**发越之机在虚龄三十以后**。
|
||||
|
||||
---
|
||||
|
||||
# 逐题推理
|
||||
|
||||
> 说明:题面 question_id 为 Q6–Q10,本命主题数为 5,下文以「第1题…第5题」对应 Q6–Q10,末尾答案行按契约用 Q1–Q5。
|
||||
|
||||
## 第1题(=Q6)性情与情绪
|
||||
|
||||
- 考点:伤官格之性情清浊。
|
||||
- 推理:伤官为月令格用,主聪敏、才艺、外露、直率;本局伤官**重出四重又混食神**,依「伤官格清浊」之断,**重出混杂者为浊**——「浊则傲而多骄,刚而无礼,以强欺弱,奉势趋利」。再叠**日柱魁罡(戊戌)**:魁罡主性严、刚直、有操持、临事有威,其人豪爽(慷慨)、爱憎直白(表里如一)、带有刚烈好斗之气(暴力倾向之一面)。戊土厚重亦主慷慨笃实。
|
||||
- 排除:印透虽主涵养,但伤官重浊之刚烈为此盘主导(儒雅/书画一路被浊伤所压);伤官旺而外露、非寡默(排除孤僻寡默);华盖虽主孤,但伤官之表现欲使其非纯然独乐。
|
||||
- 结论:B(慷慨、表里如一、有暴力倾向)。
|
||||
|
||||
## 第2题(=Q7)男女关系与婚姻
|
||||
|
||||
- 考点:妻宫、妻星并参。
|
||||
- 推理:妻星为正财(癸,藏丑)兼偏财(壬,藏亥),**财星深伏不透、无透干成局**,主婚缘不显、成婚需待激动之年;妻宫(日支戌)所坐为比肩戊、伤官辛、正印丁,**不坐财官**,依「妻宫坐财官方贤贵」之常法不成立,妻宫本不美。又局中比劫重(戊·戊·己)而财轻,**劫重财轻主克妻/妻不利**;财星(水)既坏印相(水克丁火)、又生煞(亥壬生亥甲),属**财浊**——财浊主妻「悍妒、情绪化」,河东狮吼,夫妻欠和。行运上,戊戌运(虚21–30)伏吟日柱、妻宫被引动,恰在婚龄段;随后的丁酉运酉与日支戌相害,妻宫再受扰,感情进一步受损。
|
||||
- 排除:财星有根(非无财),不成「一生未娶」;妻宫不美、财浊不良,「关系良好未见有异」不符;「妻即离世」需财被连根去尽之象,此局财藏有根、未见去尽之激,故不取早逝一路。
|
||||
- 结论:C(虚龄24至33期间娶妻,因妻子情绪化影响了感情)。
|
||||
|
||||
## 第3题(=Q8)事业特色
|
||||
|
||||
- 考点:格局取象定事业。
|
||||
- 推理:伤官格为秀气之格,成格所赖在**印(丁火,透干根深)**——伤官佩印,佩印者贵,主文书、证书、单位平台、名声(印之现实对应),故事业走**印路(公职/文教/单位)**而非纯商。日柱**魁罡**主刑、主威、主掌权之辈;**十恶大败**主做事易有大挫、不宜守成;伤官旺而官煞(亥甲七杀)被金克被巳冲,属**伤官见官**之象——合为「有官方平台之职,却因刑案/官非而受损、提早退」的一路。行运虚31–50走火印喜运,正应「曾在体制内得平台」。
|
||||
- 排除:财不透、伤官生财之路不完整,纯「成功商人以零售起家」取象不足(财藏且劫重夺财,不主大商厚利);畜牧场(承兄)、建筑工人二项与魁罡、伤官佩印、官非结构皆不相应。
|
||||
- 结论:B(曾任公务员,因涉嫌刑事案件而要提早退休)。
|
||||
- 置信度:中低(伤官格本有「秀士/商」两歧,此处以印透成相、魁罡带刑、官非结构取 B)。
|
||||
|
||||
## 第4题(=Q9)母亲离世之年
|
||||
|
||||
- 考点:母星(正印)与母宫(月柱)之受损伤。
|
||||
- 推理:戊土以**正印丁(时干)为母**,印之根在时支巳(丙丁禄地)与日支戌(丁)。母星之危,在于**印气被斩丧**:大运**己亥(虚11–20,1983–92)**,亥水(财)既克印(水火),又**冲时支巳**(印之根),母亲之根受冲受克,此运即母之大凶运。应期取流年**1989 己巳**:流年巳**填实日柱空亡之巳**(原时支巳为空亡,虚象落实),又被大运亥相冲,印根「填实而复受冲」,母事应之。1990 庚午为火年、印反旺,不作克母年。
|
||||
- 排除:2011 辛卯、2021 辛丑俱落在丁酉、丙申**火印当运(母星得地、为喜运)**,母星逢生扶,非当龄离世之象(2021 虽逢月柱辛丑伏吟、丑中癸暗克丁,然大运火印当权、母得安,不作首选);1989 较 1990 为印根受冲受克之应年。
|
||||
- 结论:A(1989)。
|
||||
|
||||
## 第5题(=Q10)虚龄34至43之田宅运
|
||||
|
||||
- 考点:田宅(印星=住所、财星=不动产)于该限之行运喜忌。
|
||||
- 推理:虚龄34–43(约2005–2014)行**丁酉(虚31–40)、丙申(虚41–50)**两步,皆**火印当运**。印之现实对应为住所、房产、单位平台;火印为命中最喜之运(调候暖局、印星得地),故田宅之机在此限而**向上**:得房产、得厚利之象成立。此限又交入丙申运,申与时支巳相合,房产文书之引动频繁,交易得利。财(水)虽为忌,然火印生扶日主、身强能任,逢财产之事多能顺遂取利。
|
||||
- 排除:「获分配公屋」偏向被动受配(且公屋为境外语境,命主为境内潮汕人,2005–2014 已过福利分房期),不取;「订金被没收」「卖屋还债」二项为田宅受克破之忌象,与丁酉、丙申两步火印喜运相左,不取。
|
||||
- 结论:A(通过买卖房产而得厚利)。
|
||||
- 置信度:低(田宅取象财印两可,此处以火印喜运、身强任财取「得利」一路)。
|
||||
|
||||
---
|
||||
|
||||
## 存疑与边界声明
|
||||
|
||||
- 时柱口径:题面 raw 记「午时」,真太阳时实落巳时(丁巳);已加排 120°E 校验盘,四柱一致,无口径分歧。
|
||||
- 第2题(婚姻)与第5题(田宅)为本次最不确定者:婚姻宫所坐非财官、财星深伏、比劫重,「妻情绪化」「晚婚」「妻早逝」诸路各有书证支撑(财浊主悍妒 vs 劫重财轻主克妻),本代理按「财浊·妻情绪化 + 反吟妻宫在婚龄段」取 C,置信度低。
|
||||
- 第3题「公务员因刑案退休」与「成功商人」两歧:本局财不透,纯伤官生财不完整,故以印透成相、魁罡带刑、伤官见官取 B,置信度中低;若判者以「伤官重而财神流通主富」为断,则倾向 D,此处按前者。
|
||||
- 第4题母亡年(1989 vs 1990)依「印根巳被亥冲、巳空亡填实」取 1989,置信度低。
|
||||
|
||||
Q1: B
|
||||
Q2: C
|
||||
Q3: B
|
||||
Q4: A
|
||||
Q5: A
|
||||
@@ -0,0 +1,143 @@
|
||||
# BaziQA contest8_2024 · female_19800921_P007
|
||||
|
||||
## 命主信息
|
||||
|
||||
- person_id:female_19800921_P007
|
||||
- 性别:女
|
||||
- 出生钟表时间:1980-09-21 11:25(当地钟表时间)
|
||||
- 出生地:马来西亚(脚本解析 Asia/Kuala_Lumpur,UTC+8,无夏令时)
|
||||
- 真太阳时(主盘):1980-09-21 10:48(巳时)
|
||||
- 排盘命令:`ZIPEC_EVAL=1 python scripts/cast_chart.py --name female_19800921_P007 --gender 女 --birth "1980-09-21 11:25" --place "马来西亚"`(退出码 0,无 stderr)
|
||||
|
||||
## 是否排对照盘及触发原因
|
||||
|
||||
**已排对照盘**,两个触发条件同时成立:
|
||||
|
||||
1. place = 马来西亚,属境外/模糊地名(任务书点名);
|
||||
2. 主盘真太阳时 10:48 距时辰边界 11:00(巳/午交界)仅 **12 分钟 < 15 分钟**。
|
||||
|
||||
对照盘口径:120°E 不经度修正,`--place "中国大陆"`(副本解析为杭州代理 120.16E),真太阳时 11:32(午时)。
|
||||
|
||||
| | 年 | 月 | 日 | 时 |
|
||||
|---|---|---|---|---|
|
||||
| **主盘(真太阳时 10:48)** | 庚申 | 乙酉 | 丁酉 | **乙巳** |
|
||||
| **对照盘(120°E 11:32)** | 庚申 | 乙酉 | 丁酉 | **丙午** |
|
||||
|
||||
两盘只差时柱:主盘乙巳(偏印+劫财),对照盘丙午(劫财+比肩/禄)。下文以主盘为准,对照盘结论另列,分歧处标注。
|
||||
|
||||
## 命盘要点
|
||||
|
||||
- 日主 丁火生酉月(白露后、寒露前),月令酉。
|
||||
- 年 庚申(正财坐申:庚正财、壬正官、戊伤官)
|
||||
- 月 乙酉(偏印坐酉:辛偏财)
|
||||
- 日 丁酉(日主坐酉:辛偏财)
|
||||
- 时 乙巳(偏印坐巳:丙劫财、庚正财、戊伤官)——子息宫
|
||||
- 空亡:日柱空亡 **辰巳**(时支巳逢空);时柱空亡 寅卯
|
||||
- 神煞(命带):月德/月德合、天乙贵人(酉酉)、太极贵人、文昌(酉酉)、将星(酉酉)、桃花(酉)、金舆(申)、十灵日、亡神、劫煞/勾煞(巳);对照盘多禄神(午)与童子煞
|
||||
- 大运逆行:甲申(4.54 岁,1985)→ 癸未(1995)→ 壬午(2005)→ **辛巳(2015)** → 庚辰(2025)
|
||||
|
||||
## 一、取格(按 00_总纲_取格.md §1 六步)
|
||||
|
||||
1. 月令酉。2. 日干丁对月令本气辛 = **偏财** → **财格**(正偏财同格,R-财-01)。3. 酉为子午卯酉专气(仅藏辛),无本气不透之藏干变化。4. 会支:主盘巳酉半合金(财愈旺)、巳申六合,格不变;对照盘时支午与酉无会。5. 定格 = **财格**。6. 财格月令自有用神,不通外格闸门。
|
||||
|
||||
## 二、成败 / 用神相神 / 高低
|
||||
|
||||
- **财旺身弱**:财星根极深(庚透年干,申酉酉三见辛庚,巳中庚),秋金当令;丁火失令,仅赖时支巳(日主帝旺之根)与乙乙两偏印帮身。
|
||||
- **格**:财格佩印(R-财-07)——透印帮身,本可取贵;然年庚与月乙**相邻相并**(乙庚既合又克),正合 R-财-21「财印相并,两不相能」→ **降格,小富而已,不能取贵**。印又虚浮(乙绝于酉,无根),财坏印。
|
||||
- **用神**:印(乙)与比劫(巳中丙/午丁)帮身为用;**忌** 财(庚申酉)、官(壬)、食伤(戊己)助财泄身。
|
||||
- **相神**:帮身之印比为相;相被财并(庚合乙)而减力,故只到小富。
|
||||
- **高低**:有情(佩印)而非情之至,有力而非力之全。气候(R-候-07 丁火八月):调候宜甲引丁,命中**无甲用乙** → 「富贵皆小,富而不贵者多」,与 R-财-21 小富之说互证。
|
||||
|
||||
## 三、行运(90_行运.md §7 先运后年)
|
||||
|
||||
- 甲申(1985–1995,4.5–14.5 岁):甲正印透帮身(喜),申财(忌);少年学业有印护。
|
||||
- 癸未(1995–2005):癸七煞透(忌),未藏丁乙(暗帮)。
|
||||
- 壬午(2005–2015):壬正官透(女命夫星透清,R-女-24 → 婚缘之成),午为丁禄帮身(喜)——**婚姻应在此运**。
|
||||
- **辛巳(2015–2025)**:辛偏财透(忌)、巳劫财帮身(喜);**运支巳 = 本命时支伏吟(子女宫)**,子女之事集中此运。
|
||||
- 庚辰(2025–2035):庚财透、辰伤官(湿土泄火生财),均助财,不美。
|
||||
|
||||
## 四、逐题推理
|
||||
|
||||
### 第 1 题(题面 Q31)学历状况
|
||||
|
||||
考点:印星(学业)之透藏根气与财印关系。丁火以印为学业,命透乙乙两偏印,然**乙绝于酉、无根**,且被年干庚财相邻相并(财坏印,R-财-21)——学业之具受损;但印毕竟两透,命又带**文昌(丁日见酉,酉酉两见)+ 天乙贵人**,且甲申运(5–15 岁)正印透帮身,基础教育可完成。调候见「用乙非甲」主富贵皆小。综合落**中常学历**。
|
||||
|
||||
- 排除 A/B(小学、初中辍学):印两透兼文昌、少年有印运,不至辍学。
|
||||
- 排除 D(博士):财印相并、印无根而财坏印,R-财-21 明言只到小富,不取高学历。
|
||||
|
||||
**最倾向 C(专科毕业)。**
|
||||
|
||||
### 第 2 题(题面 Q32)婚姻状况
|
||||
|
||||
考点:女命夫星(官煞)+ 夫宫(日支)+ 子星(食伤)。
|
||||
女以官为夫(R-女-04):夫星 = 壬,**藏于年支申**(申为壬之长生),不透而**得财生**(财旺生官,财有源)——夫星虽暗藏而有气,非无夫之象。夫宫 = 日支酉(偏财),命带天乙贵人、将星、文昌,夫宫有贵气。
|
||||
子星 = 食伤(R-女-20):命局食伤仅 **戊土(申中、巳中各一)**,两见且**皆阳土(伤官)**;依 R-亲-16「子星之男女,总以阳干为男、阴干为女」,两子星皆阳 → **男孩**;命局**无己(阴食神)**,故无女。
|
||||
|
||||
- 排除 A(未婚育二女):夫星有根有气、财生官,非无夫;且子星全阳与「二女」不合。
|
||||
- 排除 C(离婚一子一女)、D(已婚一子一女):命无阴土子星,与「有女」不合(离婚亦无强信号,财生官护夫)。
|
||||
|
||||
**最倾向 B(已婚,育有二子)。**
|
||||
|
||||
> 口径分歧:对照盘时支午,午中己为食神(阴土)→ 子星一男(申戊)一女(午己),对照盘倾向 D。**按任务书以真太阳时主盘为准,取 B。**
|
||||
|
||||
### 第 3 题(题面 Q33)2017 和 2019 年发生了什么事
|
||||
|
||||
考点:流年引动子女宫之子息应事。
|
||||
辛巳运(2015–2025)运支巳与本命**时支(子女宫)伏吟**,此运子女之事为主轴。子女宫巳藏子星戊(伤官),且**巳为日柱空亡(辰巳)**。
|
||||
|
||||
- 2017 丁酉:流年支**酉合巳(合空)**,引动子女宫;丁比肩帮身(喜);酉又逢文昌、天乙、桃花、将星。
|
||||
- 2019 己亥:流年支**亥冲巳(冲空)**,引动子女宫;流年干**己食神透(子星透清)**;亥为正官(夫星现)。
|
||||
|
||||
R-煞-13:空亡之支逢合、逢冲为「牵绊而显/冲空则起」,**虚象落实**;R-事-13:子女宫受冲引动,子星得地者多应得子。两度引动子女宫(2017 合、2019 冲),且 2019 子星透、夫星现,正应**生育**之事。
|
||||
|
||||
- 排除 B(交通意外):2017 命不带驿马、无车祸凶煞引动。
|
||||
- 排除 C(考取文凭失利):与子女宫双重引动的结构不合,且非两年均现。
|
||||
- 排除 D(流产):子星戊于子女宫得地(巳为戊之临官)、空亡逢冲合为「落实」非「破」,取生不取流。
|
||||
|
||||
**最倾向 A(开刀生小孩)。** 标低置信(生育与流产两向皆有取象路径,主取「空亡落实得子」一路)。
|
||||
|
||||
### 第 4 题(题面 Q34)两名小孩在哪一年出生
|
||||
|
||||
承上:子女宫巳于 **2017(酉合)**、**2019(亥冲)** 两度被引动,正合二孩生于此二年之象;子星两见皆戊土(阳)→ 男孩。
|
||||
|
||||
- 排除 A(2020 女 2021 男):2020 子、2021 丑虽亦有引动,但子女宫已应于 2017/2019,且性别不合。
|
||||
- 排除 B(2013、2015 两女):在壬午运(子女宫伏吟不在本运),且性别不合。
|
||||
- 排除 D(2013 男 2015 女):时点与性别皆不合。
|
||||
|
||||
**最倾向 C(2017 年、2019 年两个男孩)。**(与第 3 题同机制,随第 3 题一并标低置信;对照盘子星含阴土,此题目照盘倾向 A/D,按主盘取 C。)
|
||||
|
||||
### 第 5 题(题面 Q35)毕业后从事什么行业
|
||||
|
||||
考点:财格之职业取象 + 身弱宜稳定专业职。
|
||||
财格(月令偏财酉)而**身弱用印比**——不宜担经营之重,宜以**印(文书、证书、专业)处理财**之职。命带**文昌两见(酉酉)**(文墨、数字、文书),财星为职业对象,印为专业资格。
|
||||
|
||||
- 排除 A(中学教师):教育为印格/文昌独立之象,本命主体是财格;且中学教师需较高学历,与第 1 题「专科」不合。
|
||||
- 排除 B(公司主管):需官星(官藏不透)与强势之身(此身弱)。
|
||||
- 排除 C(房屋经纪):需驿马走动(命不带驿马)兼身强任偏财经营(此身弱)。
|
||||
|
||||
**最倾向 D(会计)。**(财务领域 + 文书/专业证书为用,身弱宜稳定本职。)标低置信。
|
||||
|
||||
## 五、对照盘分列(120°E,午时)
|
||||
|
||||
对照盘 = 庚申 乙酉 丁酉 **丙午**。
|
||||
|
||||
- 取格、成败、用神相神、行运与原盘同(格局由月令与年日支定,不由时柱变);差异只在时柱:
|
||||
- 时干由乙(偏印)变**丙(劫财)**,帮身之力更显(身弱得劫,反胜);
|
||||
- 时支由巳变**午**:午为**禄神(丁禄在午)**,且不落空亡(空亡辰巳,午不空);子女宫不再空亡,子星由**戊(阳土伤官,男)**变为午中**己(阴土食神,女)**。
|
||||
- 故子息相关题口径分歧:第 2 题对照盘倾向 D(一子一女),第 4 题对照盘倾向 A/D(含女)。**按任务书以真太阳时主盘为准**,取 B、C。
|
||||
- 学历(第 1 题)、行业(第 5 题)两盘同向(第 1 题对照盘印只一透、更逊,仍取 C;第 5 题取 D)。
|
||||
|
||||
## 六、存疑与边界
|
||||
|
||||
- 时柱跨时辰边界(真太阳时 10:48,距 11:00 仅 12 分钟),已按任务书排对照盘并声明口径分歧。
|
||||
- 生育/流产两向皆有取象路径(R-事-11/13),第 3、4 题为此存疑处,已标低置信。
|
||||
- 第 1、5 题为中等置信,已标低置信。
|
||||
- 未使用神煞、纳音、空亡入格局四层(遵 95_禁则 R-禁-01);神煞空亡只作流年细节参看。
|
||||
|
||||
---
|
||||
|
||||
Q1: C # 低置信
|
||||
Q2: B # 口径分歧: 对照盘=D
|
||||
Q3: A # 低置信
|
||||
Q4: C
|
||||
Q5: D # 低置信
|
||||
@@ -0,0 +1,102 @@
|
||||
# contest8_2024 · female_19830326_P006
|
||||
|
||||
## 一、命主信息
|
||||
|
||||
- person_id:female_19830326_P006(1983 年出生女性)
|
||||
- 性别:女(大运顺行)
|
||||
- 出生钟表时间:1983-03-26 13:00(题面自记「未时」)
|
||||
- 出生地:北京,中国
|
||||
- 真太阳时(主盘):1983-03-26 12:39
|
||||
- 对照盘:**已排**。触发原因——题面 place 字符串含「中国」(任务书列为模糊地名口径清单之一),为稳妥按 120°E 口径另排一盘。对照盘(--place「中国大陆」,真太阳时 12:54)四柱与主盘**完全一致**,故本次**无口径分歧**,答案行不作分歧标注。
|
||||
- 时辰说明:钟表 13:00 按真太阳时(经度修正 −14.36 分 + 均时差 −6.38 分 = 合计 −20.74 分)折为 12:39,落在**午时**(11:00–13:00),非题面所记的「未时」。两盘皆定午时,时柱为戊午。距 13:00 边界 21 分钟(>15 分),未触发时辰边界对照条件。
|
||||
- 晚子时:否。节气边界:生于惊蛰(03-06)后 20 日、清明(04-05)前 10 日,远离交节,无月令敏感之虞。
|
||||
|
||||
## 二、命盘要点
|
||||
|
||||
四柱:**癸亥 · 乙卯 · 癸丑 · 戊午**(两盘同)
|
||||
|
||||
- 日主癸水,坐丑(冠带);得年支亥(帝旺)为强根,丑中癸为余气根。**有根,非无担**(R-旺-04)。
|
||||
- 月令卯(乙木本气)当令透干,年支亥与月支卯半合木局 → 食神(乙木)最旺。
|
||||
- 十神分布:年柱癸亥(比肩、劫财壬、伤官甲);月柱乙卯(食神);日柱癸丑(日主,丑藏七杀己、比肩癸、偏印辛);时柱戊午(正官,午藏偏财丁、七杀己)。
|
||||
- 官煞并见:**正官戊透时干**(且与日主癸相合,戊癸合);**七杀己藏日支丑、时支午**。夫星混杂。
|
||||
- 神煞(细节参看层):年亥=驿马;月卯=天乙贵人+文昌+福星+将星+灾煞;日丑=华盖+福星;时午=**桃花**+元辰。
|
||||
- 空亡:日柱空寅卯(月令卯落空)、时柱空子丑(日支丑落空)。
|
||||
|
||||
## 三、取格(依 00_总纲六步)
|
||||
|
||||
1. 月令卯。2. 日干癸对卯本气乙 → 食神(水所生、同阴阳)。3. 卯为专气(子午卯酉),本气乙透月干,无余气可透。4. 支会:亥卯半合木,食神之气愈聚。5. 定格完成:**食神格**(R-食-01)。6. 外格闸门:月令自有用神(食神),不转杂格。
|
||||
|
||||
**成败(分格文件):**
|
||||
- 月令食神顺用,本应喜身旺、喜食神生财(R-食-02)。但**时干透正官戊**,命非金水食神(日主为水、食神为木,非金日水月之势)→ 触「**食神忌官**」(R-食-10),用神食神与官相碍,格带忌。
|
||||
- 且官(戊)透、煞(己)藏丑午并见 → **官煞竞出**(R-食-07):「亦可成局,但不甚贵」。
|
||||
- 财星丁藏午、不透天干,不构成「食神生财,财透有根」之大贵成格(R-食-02 未满足)。
|
||||
- 救应:戊癸合(日主自合官星,R-女-10「夫妻相亲,其情愈密」)——官星就我,略缓食神克官之势;然己煞混杂于夫宫、桃花,官煞终不清(R-女-06),格局因之降等。
|
||||
|
||||
**用神相神:** 用神=月令食神(乙木);相神=午中丁财(食神生财,然财藏力薄,相神根浅)。
|
||||
|
||||
**格局高低:** 食神得令而旺、日主有亥丑之根,似乎「身强食旺」;但财不透、官煞混杂不清、印(辛)藏而弱、调候(二月癸水专用庚辛生身,命中庚无、辛藏)欠缺(R-候-13)→ **有情不足、相神力薄**,格局**中下**(R-纲-13)。食神旺而官不清,主人聪敏有才、能言善文(天乙、文昌坐月令),亦主婚姻多波折(食神泄身、制官)。
|
||||
|
||||
## 四、女命叠加(依 97_女命,不回改格局)
|
||||
|
||||
- 夫星=官煞:戊正官透而合我,己七杀藏丑(**夫宫**)、午(**桃花**)。**官煞混杂**→ 夫缘不一、多段姻缘(R-女-05、R-女-06)。
|
||||
- 夫宫=日支丑:坐己七杀(煞)+辛偏印+癸比肩——夫宫坐煞、带印带比。丑午相害(夫宫与桃花相害)。
|
||||
- 子星=食伤(乙卯旺);子息宫=时柱戊午,时干正官于食神格为破局之神。
|
||||
- 桃花=时支午,藏丁财己杀——**桃花带财带煞**:对象多有资源或带强势。
|
||||
- 华盖=日支丑(贴身)——**本人有宗教/玄学/修行之缘(孤高向学、亲近佛道)**。驿马=年支亥(主迁动、远行)。
|
||||
|
||||
## 五、行运基线
|
||||
|
||||
大运顺行(起运 3 岁 4 个月 20 天):
|
||||
- 丙辰(1986–1996):正财。辰藏戊官、乙食、癸比。
|
||||
- 丁巳(1996–2006):偏财+巳(丙财、戊官、庚印)——**财官印并见之运**,主感情萌动、对象多为财官型。
|
||||
- 戊午(2006–2016):正官+午(丁财、己杀)=**官+桃花财杀**——婚姻成立之运,亦官煞混杂、桃花旺。
|
||||
- 己未(2016–2026):七杀+未;命亥+命卯+运未**三合木局全**——食伤大旺,七杀透。
|
||||
- 庚申(2026–2036):庚正印(生身,然偏印夺食之嫌)、申藏壬劫戊官。
|
||||
|
||||
喜忌(扶抑参看):日主泄于食神、克于官煞,宜帮身——比劫(水)为直、印(金)次之而防夺食;财(火)承食神所生可顺;官煞混杂(土)为忌。故丁巳、戊午(财官)为「引动婚姻」之运而非纯粹吉运;己未(七杀混杂+食伤旺)为婚姻动荡之运。
|
||||
|
||||
## 六、逐题推理
|
||||
|
||||
### 第 1 题(1998 开始–1999 结束;运丁巳;虚龄 15–16)
|
||||
|
||||
- **引动**:1998 戊寅——流年干戊=**正官(夫星)透**,与日主癸合;支寅与年亥六合(木)、与时午半合火局(**财局旺**)、与月卯半会木东方;寅又填实日柱空亡(寅卯空);逢劫煞(以日支丑查)、亡神、金舆、孤辰、阴差阳错。1999 己卯——流年干己=**七杀透清**(丑午所藏己土透出,属 R-运-22 透清);支卯伏吟月令(文昌、天乙、将星),亥卯半合木,卯再填空亡。
|
||||
- **推理链**:官星透而逢财局(寅午半合火)→ 对象体面、有财力之象(「高富帅」取材官兼美);官星戊被月干乙食神横克、又日主自合官,情密而气不畅;1999 卯空亡填实+1998 劫煞 → 情缘落空、对方抽身之象。综合取「冷酷、消失不见」。
|
||||
- **选项**:A(高富帅、冷酷;分手:冷暴力、消失不见)。**低置信**。
|
||||
|
||||
### 第 2 题(1999 恋爱–2002 分手;运丁巳;虚龄 16–19)
|
||||
|
||||
- **引动**:1999 己卯——七杀透清坐卯(木克土,**杀被食神制而弱**)。2002 壬午——流年干壬=**劫财透**(争);支午=命之**桃花+元辰**,且**伏吟时柱之地支**(时柱戊午)。
|
||||
- **推理链**:起年夫星为七杀己,坐卯木受克——杀弱不立势,取象为「瘦高(卯木主高瘦)、胆小怕事(杀受制而弱)」;终年 2002 为高考/高中毕业之龄(19 岁),命主升入大学、地分两处;又 2002 桃花伏吟时柱、劫财透——新缘已起,旧缘以两地而终。综合取「毕业后异地发展而分手」。
|
||||
- **选项**:D(瘦高、胆小怕事;分手:毕业后异地发展)。**低置信**。
|
||||
|
||||
### 第 3 题(2002 认识–2006 结婚–2009 离婚;运丁巳→戊午;虚龄 20–27)
|
||||
|
||||
- **引动**:2002 壬午(桃花+元辰、时柱伏吟)认识;2006 丙戌(**正财丙透**,财生官——成婚之象;然逢寡宿、丑戌刑**刑夫宫**);2009 己丑(**七杀己透清于夫宫丑**、丑伏吟夫宫、逢华盖、十恶大败)。
|
||||
- **推理链**:夫星正官戊为阳土,厚重高壮 → 「高大、大男人主义」;官煞混杂(戊官+己杀)本已不清,2009 己丑七杀从**夫宫丑中透清**、夫宫伏吟又逢丑戌之刑 → 婚后冲突升级、夫妻以**钱财起争**(财星午丁被劫、官杀耗之)乃至**家暴**(七杀之暴,杀攻日主之象)。综合取「高大、大男人主义;为钱吵架、家暴」。
|
||||
- **选项**:C。**低置信**。
|
||||
|
||||
### 第 4 题(2012–2013 严重之事+桃花相助;运戊午;虚龄 30–31)
|
||||
|
||||
- **引动**:2012 壬辰——劫财壬透,辰逢魁罡、地网、阴差阳错,卯辰相害、丑辰相破。2013 癸巳——巳**逢驿马**(以年支亥查),且巳**冲命之年支亥=冲马**(R-煞-06:「流年支再冲马者,动象尤急」);逢天乙贵人、天德合、太极贵人、地网;巳与丑半合印、与午会火(财)。
|
||||
- **推理链**:驿马已被冲动、动象尤急 → **远行/赴外地(出国)**之象最显;2012 逢地网(罗网、陷阱)+魁罡 → 误入歧途、被人诱骗;官杀(辰中戊官、己杀)主受制于人;2013 天乙贵人、天德合 → 得贵人解救(暧昧之人施援)。综合取「被骗去国外工作,暧昧同事救出」。
|
||||
- **选项**:A。**低置信**(对照盘同)。
|
||||
|
||||
### 第 5 题(2019 开始–2021 结束;运己未;虚龄 37–39)
|
||||
|
||||
- **引动**:2019 己亥——大运己未+流年己,**七杀双重透**;亥伏吟年支(驿马)。2021 辛丑——**辛偏印透**(夺食),丑伏吟夫宫(华盖),情缘终结。
|
||||
- **推理链**:七杀(偏夫之神)旺而重 → 对象为**非正式/有家室之男**(煞为偏夫,R-女-06);煞主欺瞒 → 「欺骗自己」;2021 辛偏印透而夺食、夫宫丑伏吟(名分不立)→ 终以「对方并未离婚」而散。
|
||||
- **选项**:B(已婚男;欺骗自己、没离婚)。**低置信**。
|
||||
|
||||
## 七、存疑与边界
|
||||
|
||||
- 时辰口径:题面记「未时」,真太阳时归午时(时柱戊午)。本盘以真太阳时口径落时柱;若按钟表「未时」作己未时,全盘时柱改易,诸题取象须重推——此为本次最大之单点风险,记此备考。
|
||||
- 全部五题皆为「对象类型+分手原因」之事类取象题,答案系对真实命主人生的对照,盘面只能给到「最倾向」;本次五题均标**低置信**,属推断而非硬断。
|
||||
- 未以神煞、纳音、空亡进入取格/成败/用神/高低四层(守 R-禁-01);神煞仅作第五层细节参看。
|
||||
|
||||
## 八、答案
|
||||
|
||||
Q1: A
|
||||
Q2: D
|
||||
Q3: C
|
||||
Q4: A
|
||||
Q5: B
|
||||
@@ -0,0 +1,136 @@
|
||||
# contest8_2024 · female_19831028_P004
|
||||
|
||||
## 一、命主信息
|
||||
|
||||
- person_id:female_19831028_P004
|
||||
- 性别:女
|
||||
- 出生钟表时间:1983-10-28 11:00(马来西亚,东八区,无夏令时)
|
||||
- 出生地:马来西亚
|
||||
- 真太阳时(主盘):1983-10-28 10:02(经度修正 −73.24 分、均时差 +16.22 分,合计 −57 分)
|
||||
- 时辰:巳时(09:00–11:00)
|
||||
- 节令:寒露(1983-10-09 04:51)后、立冬(1983-11-08 07:52)前 → 月令戌
|
||||
|
||||
### 是否排对照盘
|
||||
|
||||
**排了对照盘。** 触发原因:place 为境外地名「马来西亚」(任务书列明境外/模糊地名须加排)。对照盘口径 `--place "中国大陆"`(副本解析为杭州代理 120.16E,UTC+8 钟表时≈真太阳时,不经度修正)。
|
||||
|
||||
两盘四柱:
|
||||
|
||||
| | 年 | 月 | 日 | 时 |
|
||||
|---|---|---|---|---|
|
||||
| 主盘(真太阳时 10:02) | 癸亥 | 壬戌 | 己丑 | **己巳** |
|
||||
| 对照盘(120°E 11:16) | 癸亥 | 壬戌 | 己丑 | **庚午** |
|
||||
|
||||
另:主盘真太阳时 10:02 距时辰边界(09:00 / 11:00)分别 62 分、58 分,均 >15 分,**不**触发边界对照;本次对照盘仅由「境外地名」触发。两盘年月日相同,只差时柱一字(己巳 ↔ 庚午),据此判断下文哪些结论随时柱变、哪些不变。
|
||||
|
||||
## 二、排盘要点(主盘)
|
||||
|
||||
- 四柱:癸亥(偏财)/壬戌(正财)/己丑(日主)/己巳(比肩)
|
||||
- 藏干:亥(壬甲)/戌(戊辛丁)/丑(己癸辛)/巳(丙庚戊)
|
||||
- 空亡:日柱午未;时柱戌亥
|
||||
- 纳音:年、月大海水,日霹雳火,时大林木
|
||||
- 神煞:年支亥与日支丑皆驿马之源——**年支亥为驿马**(以日支丑查,巳酉丑马在亥),**时支巳为驿马**(以年支亥查,亥卯未马在巳);月支戌为太极贵人、寡宿;日支丑为太极贵人、华盖、十恶大败;时支巳为地网
|
||||
- 组合:**巳亥冲**(时支冲年支,两驿马相冲)、**丑戌刑**(日支刑月支)、巳丑半合金
|
||||
|
||||
## 三、取格(依 rules/00_总纲_取格.md §1 六步)
|
||||
|
||||
1. 定月令:戌。
|
||||
2. 月令本气分类:日干己土对戌之本气戊(阳土)→ **劫财**(己见戊为劫);戌中余气辛为食神、丁为偏印。
|
||||
3. 藏干变化:本气戊不透(四柱天干为癸、壬、己、己)。月干壬(正财)非戌中所藏,属「透干以月令为库根」(R-纲-10 但书),不主导本格;戌中辛、丁均藏而不透。**本气戊当令有力,格不变。**
|
||||
4. 会支变化:地支未成三合/三会(亥未拱、巳丑半合巳在命、丑戌刑,无全局);月令之气不化他神。
|
||||
5. 定格:月令为劫、日干为阴干(非阳干临刃)→ **建禄月劫格**(R-禄-01)。月令自身无用神,须于四柱别取财官煞食。
|
||||
6. 外格闸门:月令自有用神(财官煞食俱可别取),从化门不通(无日干逢合而化)、无用门不通(干头有财可取)→ **不转杂格**,仍走正格。
|
||||
|
||||
**别取用神**:天干透癸(偏财)、壬(正财)两位——财最显;官星甲藏于年支亥;食神辛藏戌丑、伤官庚藏巳,皆藏而不透;七杀无。→ **建禄月劫格用财**(R-禄-05、R-禄-12)。
|
||||
|
||||
## 四、成败、用神相神、高低
|
||||
|
||||
- **格之成败**:禄劫用财须带伤食化劫生财(R-禄-05)。本命食伤(辛、庚)藏支有气而不透,财又透两位而杂(R-禄-12「用财而不透伤食,难于发端」,且非「透一位不杂」)→ **格成而不全、偏于富不贵**一层;比劫重(戌丑巳戊+己己)夺财,为格之病,全赖食伤化劫通关。
|
||||
- **用神**:财(水)。**相神**:食伤(金),化劫生财、通关。**忌**:比劫(土);印(火)生比劫亦非所喜。
|
||||
- **格局高低**:有情(财食伤一线可通)而未至;有力处身财两旺,无力处官星(甲)一位藏亥、且被时支巳冲,木根动摇。气候参看(R-纲-15、92_调候):己土生戌月,燥土当令、全局土重火藏,本命味「燥」;财(水)通门户稍润,但无强金通关之透 → 成色减。
|
||||
- **旺衰(89_旺衰扶抑)**:日主得令、比劫印成群 → **身旺**;财亦透旺 → 身财两旺、劫财夺财,是此盘一生的主轴争点。
|
||||
|
||||
## 五、行运(依 rules/90_行运.md §7 四步 + 18 取运节)
|
||||
|
||||
大运顺行,3.64 岁起:癸亥(1987) → 甲子(1997) → 乙丑(2007) → 丙寅(2017) → 丁卯(2027) → 戊辰(2037)…
|
||||
|
||||
- **癸亥运(1987–1997,童限后段)**:亥为官星甲之根、又驿马,童年环境多迁动背景。
|
||||
- **甲子运(1997–2007)**:**甲为正官透干**——夫星(甲藏亥)逢运透清(R-运-22);子为财,且**子与日支丑六合**(合夫宫)。官透+夫宫逢合,是全局婚姻引动最强的一步(R-女-24 三途:夫星透清、夫宫逢合)。→ 第一段婚姻落在此运。
|
||||
- **乙丑运(2007–2017)**:乙为七杀(夫星之属)透,与命中原有之甲官成**官煞混杂**(R-女-06)→ 夫缘不一之象显;丑为日支伏吟,**整个大运压在夫宫(丑)上**,婚姻动荡期。此运中夫宫受冲之年,即婚变应期。
|
||||
- **丙寅运(2017–2027)**:丙为印(生比劫,非喜);寅为甲官之禄地、且**寅与年支亥六合化木**(合出官星局)→ 夫星逢合会而复聚,主再嫁、新缘;但寅巳相刑,新缘亦带刑。→ 再婚之运。
|
||||
- 喜忌总纲(建禄月劫用财):喜财、喜食伤(化劫生财);忌比劫、忌印。
|
||||
|
||||
## 六、逐题推理(主盘为准)
|
||||
|
||||
### 第 16 题(目前第几段婚姻)
|
||||
|
||||
考点:多重婚姻中的当前段位。
|
||||
|
||||
推理链:官星甲一位藏亥而弱,大运未见正官叠透(甲子运甲官一次、乙丑运乙煞代替、丙寅运寅中甲官复现)——夫星以「官→煞→官禄」递演,是夫缘屡易之象。夫宫丑被月支戌刑、被时支巳半合、又整个乙丑运伏吟,皆主婚姻宫不安定。第一段婚姻于乙丑运内受冲而动(见第 19 题),其后丙寅运寅亥合出官局,主再嫁。至当前年(2024,丙寅运)她应已在离婚后另行成家,落于**第 2 段**;未能证见两度再醮(无第二次清晰婚变引动),故不取第 3 段,亦非当前失婚。
|
||||
|
||||
**倾向:B(第 2 段)。** 置信度:只能定到「离婚后再婚」这个方向,段数存疑(C 第 3 段为备选)。
|
||||
|
||||
### 第 17 题(第一段婚姻何时嫁)
|
||||
|
||||
考点:婚姻应期收敛到年。
|
||||
|
||||
推理链:婚姻应期以夫星透清、夫宫逢合会为成(R-女-24)。甲子运已具「甲官透+子丑合夫宫」之基,逐年核(R-运-34 五步):
|
||||
- 2003 癸未:未与年支亥半合木(官局)——夫星得局;但未冲日支丑(夫宫受冲),且未为日柱空亡(午未),动而带虚,婚姻「成」与「变」两向皆开,不取。
|
||||
- **2005 乙酉:乙(七杀,夫星之属)透干——夫星透清;酉与日支丑半合、又与命局巳、丑凑成巳酉丑三合金局**,夫宫由合被引动(R-运-23 会局作清);且酉为辛食神(女命子星)之旺地。三线(夫星透、夫宫合、子星旺)交会,为甲子运内引动最全之年。
|
||||
- 2007 丁亥(交乙丑运):亥为夫星甲所藏、又是年柱癸亥伏吟,冲时支巳——主「动」而非「成」,偏婚变/家变方向。
|
||||
- 2009 己丑:丑为夫宫伏吟,属动象,无夫星透清配合。
|
||||
|
||||
**倾向:B(2005)。** 置信度:只能定到甲子运内(1997–2007),落年取 2005(备选 2003)。
|
||||
|
||||
### 第 18 题(第一段婚姻嫁的原因)
|
||||
|
||||
考点:成婚当下的引动性质。
|
||||
|
||||
推理链:嫁年在 2005 乙酉,当年最强单线是**食神(酉为辛禄)旺、巳酉丑合金局=女命子星(食伤)大成**——子星引动先于婚,是「因孕而婚」之象(奉子成婚)。排除项:本命提纲得力(月柱壬财透,为全局喜用)、年干癸财透有用,父母非无力(依 R-亲-04「提纲得力或年干有用主父母双全得力」),与「缺家庭关怀」不契;2005 无长辈宫(年、月柱)受冲、亦无偏印透干之引动,与「冲喜」不契;命局无「财官结党作交易」之显象,与「商业联姻」不契。
|
||||
|
||||
**倾向:A(奉子成婚)。** 置信度:低(「子星大成」与另外三择的排除均为可取象的推断,非硬断)。
|
||||
|
||||
### 第 19 题(第一段婚姻结束之年)
|
||||
|
||||
考点:夫宫受冲的应期与「搬离—结束」的时间差。
|
||||
|
||||
推理链:乙丑运整个压在夫宫(丑)上,婚变就看此运内冲丑之年。逐年核:冲/刑日支丑者为未(丑未冲)与戌(丑戌刑)。
|
||||
- 2011 辛卯、2012 壬辰:卯合亥(夫星局动)、辰冲戌(冲月支)——动在夫星根与月令,未直冲夫宫,力度次之。
|
||||
- 2013 癸巳:巳伏吟时支、冲年支亥(夫星宫受冲),但巳合日支丑(夫宫逢合,反偏「成/聚」向),且命局本有巳亥冲,属旧有引动再遇,新组数不足。
|
||||
- **2015 乙未:未直冲日支丑(夫宫受冲,C 组),且未与年支亥半合木(夫星局动)——冲宫与动星两线并见**,是乙丑运内直击婚姻宫最重之年,主分居搬离;隔年 2016 丙申,申与巳六合(合住时支巳、解巳亥之冲)、申亥相害,关系清理落定,主正式结束。
|
||||
- 2017 丁酉、2018 戊戌:酉合丑本为夫宫逢合(偏成向),戌刑丑虽刑夫宫,但已入丙寅运(寅亥合官局主新缘),时点上不符「结束第一段」。
|
||||
|
||||
**倾向:C(2015 搬离,2016 结束)。** 置信度:低(「丑未冲—2015」与「巳亥冲—2013」两线接近,B 为备选)。
|
||||
|
||||
### 第 20 题(第一段婚姻终结原因)
|
||||
|
||||
考点:女命刑夫/欺夫之组合判定,与冲刑方向。
|
||||
|
||||
推理链:日主得令、比劫印成群(身旺);官星甲仅一位藏亥、被时支巳(庚伤官所居)冲,官弱无根。依 R-女-37「不敬丈夫,皆因官弱身强」,及 R-女-32 ⑧「食神多、官星微、有印绶、遇财星,必克夫」之组合(本命辛食神两见、官星微、丙丁印藏、癸壬财透,条件具足)——夫星弱而日主强、比劫与食伤(庚在巳)直攻官星,**主动方在命主一侧**,属命主克夫/欺夫,非「受夫欺」。故排除 A(受丈夫暴力,须官杀旺而攻身,本命官弱不合);D(丈夫逝世,须夫星被冲拔尽,本命亥为水旺之地、甲得长生,夫星未至连根去,不合)。B(命主暴力对待丈夫)与 C(互殴)之间,以官弱身强一线偏命主主动,取 B;C 之「互殴」须双方皆有力,官弱不足以据。
|
||||
|
||||
**倾向:B(命主暴力对待丈夫)。** 置信度:低—中(「命主克夫」方向较稳,B/C 之间存疑)。
|
||||
|
||||
## 七、对照盘核对(庚午时)
|
||||
|
||||
对照盘四柱癸亥/壬戌/己丑/**庚午**,与主盘只差时柱。逐题比对:
|
||||
|
||||
- 时干由己(比肩)变**庚(伤官透干)**,时支由巳变**午(己土禄,藏丁己)**。
|
||||
- 影响一:对照盘伤官透干,禄劫用财「带伤食透出」→ 依 R-禄-05 反更近成格,且伤官(庚)透而克官星甲之情更直——**第 20 题「命主克夫」方向不变、更强**;两盘同取 B。
|
||||
- 影响二:对照盘无巳,**巳亥冲消失**,夫星根(亥)不再受先天冲;但换入**午丑相害**与午为日主之禄。夫宫丑仍受月支戌刑,婚宫不安之基不变;**第 16、19 题的「夫宫不安、多婚」方向不变**。丑午害亦可作婚变引动,年份落点与主盘丑未冲(2015)不同轨但同向,不改变第 19 题取「乙丑运内夫宫受冲之年」的结论。
|
||||
- 影响三:**第 17 题**——主盘取 2005 之「巳酉丑三合金局+夫宫合」在对照盘(无巳)减为「酉丑半合」,成局一档减弱;但「夫星透清(乙)+夫宫逢合(酉丑)」两线仍在,年份不推翻。**第 18 题**子星(酉为辛禄)引动之象两盘同在,奉子成婚之取不变。
|
||||
|
||||
结论:**两盘在本题五问的答案方向上无实质分歧**,不触发「口径分歧」标注,答案行以真太阳时主盘为准。
|
||||
|
||||
## 八、存疑与边界
|
||||
|
||||
- 本盘为境外地名触发对照盘,两盘时柱一字之差;上列第 16、17、19、20 题(尤其 17、19)之「年份落点」在两盘间本可微移,已按「主盘为准」定,故 17、19 标低置信。
|
||||
- 第 16 题段数、第 18 题原因,均属格局喜忌+取象的推断,非盘上硬信号,标低置信。
|
||||
- 未触任何禁区文件、未联网。
|
||||
|
||||
## 九、答案
|
||||
|
||||
Q1: B
|
||||
Q2: B
|
||||
Q3: A
|
||||
Q4: C
|
||||
Q5: B
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user