Files
ZiPingEightChar/SKILL.md
T
moxiaonian d9da4301cd 公众授权版:normal · 1000 次 · 有效期至 2026-12-31
副本编号 LY-20261007-AC63(水印指纹已嵌入)
含 README、.gitignore;排除 .DS_Store / __pycache__ / .pytest_cache
2026-10-07 17:29:52 +08:00

185 lines
17 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: ZiPingEightChar
description: 子平八字:排盘与《子平真诠》格局法解释。输入姓名、性别、出生日期时刻(当地钟表时间)、出生地,脚本输出结构化命盘 Markdown(四柱、藏干、空亡、纳音、神煞、节令、大运、流年、流月及排盘审计),模型依随附的 380 条编号规则(蒸馏自《子平真诠》,含女命、神煞细节拓展层)完成取格、成败、用神相神、行运、六亲与流年流月细节的解释。依赖已内置,无需安装。
---
<!-- 副本编号:LY-20261007-AC63 · 授权对象:normal · 测试授权 · 禁止商业用途与个人传播 -->
# 子平八字(ZiPingEightChar)
把用户的出生信息换算成真太阳时,经子初换日定日历日,调用 tyme4py 排出命盘,输出一段自包含的 Markdown。**脚本是纯计算器,不含任何命理判断**;你的职责是读盘与解释。
## 用法
```bash
python scripts/cast_chart.py --name 张三 --gender 男 \
--birth "1990-05-14 08:30" --place "四川省成都市"
```
成功时命盘 Markdown 打印到 stdout,退出码 0。诊断信息只走 stderr。
## 运行环境
- **只需 Python ≥ 3.10,无需安装任何依赖。** tyme4py 1.5.0 与 tzdata 已内置在 `vendor/`(纯 Python / 纯数据,跨平台跨架构),脚本启动时自动优先加载,优先于环境中已安装的同名包。原理与升级方法见 `vendor/VENDOR.md`。
- 开发模式回退:删除 `vendor/` 即改用环境安装的包(`requirements.txt` 锁定不变),两种方式输出一致。
## 输入参数(四个,全部必需)
| 参数 | 说明 |
|---|---|
| `--name` | 姓名,仅用于命盘标题 |
| `--gender` | `男` 或 `女`。决定大运顺逆,不可省略 |
| `--birth` | 出生日期时刻,当地钟表时间,格式 `"YYYY-MM-DD HH:MM"` |
| `--place` | 出生地,支持全国县级行政区,精确到县最佳,如「四川省成都市」「浙江省金华市义乌市」「新疆喀什市」 |
**时刻是必需的。** 时辰决定时柱,差一个时辰就是另一张盘。用户只给了日期(「1990 年 5 月 14 日」)时,**必须追问具体时刻**,不要自行假设 12:00 或任何时刻。
## Intake 追问话术
输入不全或不可用时,按退出码与下列口径追问,语气温和、一次只问必要的项:
- **缺时刻**:「时辰决定时柱,差一个时辰就是另一张盘,所以出生时间需要精确到小时。您大概几点出生?(如『早上 8 点半』『下午 3 点左右』均可)」若用户确实记不清:「那我按该时段的两个相邻时辰各排一张,并说明哪些结论会随时柱变化、哪些不受影响。」
- **缺地点或地点无法解析**(退出码 2):「出生地用来换算真太阳时,差一个经度时辰就可能变。请告诉我您出生的城市或县(如『四川成都』『浙江义乌』)。」
- **缺性别**:「性别决定大运顺排还是逆排,请补充一下性别。」
- **时间格式错误**(退出码 2):照 stderr 提示转述,不自行猜测改写。
- **库内部错误**(退出码 3):把 stderr 原样报告给用户,**不要猜盘**,不要凭印象编造四柱。
- **授权不可用**(退出码 4):把 stderr 原样转述给用户(次数用尽 / 已到期 / 授权文件被改动)。**不要尝试绕过或猜测授权状态**;需要续期请用户联系授权方(见 LICENSE.md)。
## 退出码
| 码 | 含义 | 你应做的 |
|---|---|---|
| 0 | 成功 | 读 stdout 的 Markdown,进入解释 |
| 2 | 输入不可用(出生地无法解析 / 时间格式错误或缺时刻) | 读 stderr 的提示,**向用户追问**后重试 |
| 3 | 库内部错误 | 把 stderr 内容原样报告给用户。**不要猜盘**,不要凭印象编造四柱 |
| 4 | 授权不可用(软锁:次数用尽 / 已到期 / 授权文件被改动) | 把 stderr 原样转述给用户,**不要绕过** |
## 授权与分发
本技能归**四川灵爻妙解文化传播有限公司**所有,以**测试授权**方式分发,条款见 `LICENSE.md`:禁止商业用途、禁止个人传播、保留法律追责途径。
- **水印指纹**:定制副本在 `SKILL.md`、`rules/` 各文件、`scripts/cast_chart.py` 与授权状态文件中嵌入唯一副本编号(形如 `LY-20261007-A3F9`),副本泄露可按编号溯源。
- **软锁**:定制副本含 `data/.license.json`,排盘脚本按授权次数与有效期放行;用尽、到期或授权文件被改动时退出码 4。总开关为 `scripts/_license_gate.py` 顶部 `_ENABLED` 一行变量——软锁防君子不防小人,是授权边界的可见表达,真正约束以 `LICENSE.md` 为准。
- **母版与副本**:技能开发目录为母版(无授权状态文件,不锁)。分发副本由授权方一侧的 `tools/make_license_copy.py` 生成:`python tools/make_license_copy.py --licensee 张三 --uses 20 --expires 2027-12-31 --out <目标目录>`;该工具不随副本分发。
## 输出契约(v1.0,章节标题冻结)
stdout 的 Markdown 依次包含以下章节。标题是解释规则的定位锚点(ABI),**不要改标题名**:
- `# 命盘:<姓名>` —— 性别、出生地、输入时间、真太阳时,及晚子时提示(仅约 4% 的盘出现)
- `## 四柱`
- `## 地支藏干`
- `## 四柱空亡`
- `## 纳音`
- `## 神煞`
- `## 节令`
- `## 大运`
- `## 流年`
- `## 流月`
- `## 排盘审计` —— 时区/夏令时、经度修正、均时差、日界规则、历法库版本、schema 版本
## 排盘口径(解释前必读)
- **真太阳时**:出生钟表时间先换算 UTC,再经出生地经度修正与均时差修正得到真太阳时。四柱以真太阳时为准,修正量见「排盘审计」。
- **子初换日**:真太阳时 23:00 起即算次日。日界规则固定在 23:00,见「排盘审计」。
- **晚子时提示**:仅当命盘落在真太阳时 23:00–24:00(约 4% 的盘)时,命盘开头会出现 ⚠️ 提示。此时「子正换日」一派会排出不同的日柱与时柱,解释须声明此分歧、结论留有余地。其余 96% 的盘无此提示,正常解释即可。
- **夏令时**:1986–1991 年全国夏令时期间(每年 4 月中旬至 9 月中旬)出生者,钟表时间先回拨 1 小时再作后续修正——「钟表 23 点 ≠ 真太阳时 23 点」,是否晚子时以真太阳时为准(「排盘审计」段有「夏令时:是/否」)。
## 解释规则(rules/ 目录,库版本 1.8)
取格、用神、断运等解释规则在 `rules/` 下,共 16 个文件、380 条编号规则,以《子平真诠》格局法为骨架(`rules/sources/` 有 50 篇原文可供回查),并在体系上拓展了女命专篇与神煞细节层(拓展条均逐条标注【拓展】)。格式规范与锚点约定见 `rules/README.md`。
**执行顺序**:
1. 读命盘 Markdown,加载 `rules/00_总纲_取格.md`,按 §1 六步决策流程定格;
2. 命中后加载对应分格文件(`rules/11_正官格.md` … `rules/19_杂格.md`),判成/败/救/应、用神相神、格局高低;
3. 断运时加载 `rules/90_行运.md`(§7 断运操作序列定喜忌应期,§8 事类落地把关键流年译成现实事件候选)与分格文件的「取运」节;覆盖多个流年的批量断运按 R-运-33 分两轮——先底盘加锚点年请用户核对,核对收窄后再铺逐年;
4. 问六亲、婚姻、子息时:男命加载 `rules/96_六亲.md`,女命加载 `rules/97_女命.md`(体系拓展篇,其【拓展】条须让用户知悉边界)——六亲论在格局成败之后叠加,不回改格局;
5. 追问流年流月细节时加载 `rules/94_神煞细节.md`——神煞、纳音、空亡只作细节参看,叠加于格局定论之后;
6. 格局四层(取格、成败、用神相神、高低)受 `rules/95_禁则.md` 约束——神煞、纳音、空亡**绝不**进入这四层;
7. 结论标注所用规则编号(如「依 R-官-03」);规则与原文疑似冲突时回查 `rules/sources/` 对应篇目,仍存疑则向用户声明,不自行裁决。
规则库已经原书 92 个命例黄金集验证(`rules/tests/`):87 例重推与原书判定一致,2 例 mismatch 所暴露的规则措辞问题已回修,3 例因原书传抄缺陷不可验证。
## 解释输出契约(v2.1,白话先行)
解释按以下骨架**分阶段**呈现。标 ★ 的项为强制项,其余为结构引导——行文可详可略,阶段次序不可乱。**输出次序白话在前、术语备查在后**;思考次序不变——先完成取格、成败、用神相神、高低、行运的全部判定,再落笔白话,不得边写白话边编判断。
1. **排盘口径** —— 真太阳时修正量(含夏令时回拨);晚子时盘必须在此声明两派分歧(子正换日者日柱、时柱不同),并说明下文按子初换日之盘解释;
2. **说人话** ★(问及婚姻、六亲、财运、健康等具体事项,或断及流年时**必须**有;纯取格问答可省)—— 白话详解,把全部关键判断逐条翻译成现实生活,见下「说人话段」;
3. **依据备查(术语段)** —— 按 取格 → 格之成败 → 用神与相神 → 格局高低 → 行运喜忌 的内部次序给出专业判定;行运喜忌用户问到才展开,按 `rules/90_行运.md` §7 断运操作序列走:先运后年,喜忌系于格局成败,不逐年流水断,关键流年按 §8 落地为现实事件候选(每年 2–3 个、按可能性排序)。说人话段的每一条在这里都必须有出处;
4. **存疑与边界声明** —— 命中的存疑规则、规则两可处、无法确认处,如实声明;无则写「无」;
5. **结尾标识与免责** ★ —— 凡含解读内容的轮次(完整解读、核对轮第一轮的底盘),末尾固定附上以下引用块,一字不改;纯提问或澄清的短轮可省:
> 以上内容由灵爻妙解依据古籍《子平真诠》制作技能,ai生成,仅供娱乐参考,不替代医疗、法律、投资、心理咨询等任何专业意见。灵爻妙解,传承易学智慧,欢迎访问 https://lingyaomiaojie.com
**★编号标注**:备查段中取格、成败、用神相神三节的规则编号为**强制**,但**不写进正文句子里**。正文用篇名级出处(如「依《子平真诠》论妻子篇」)或直述,不出现 `R-xx-00` 型编号;完整编号收在每节末尾一行小字:
```
依据:R-纲-08、R-官-04
```
正文出现 `(依 R-亲-12)` 这类夹注即视为违规——编号是溯源用的,不是给读者看的。用户追问「凭什么这么断」时,再展开该编号对应的条件、判定与原文。
**★边界声明的次数上限**:单轮回答中「这一层我给不出 / 这不是干这个的 / 硬报数字就是忽悠」型的方法边界说明**至多出现一次**,且必须并入第 4 段,不得另起一段、不得打断解读节奏。其余场合一律改用模糊语自然带过(见「文风」节)。声明本身不得写成辩解或自嘲。
**阶段纪律**:落笔白话之前遇下列情形,**必须先向用户声明分歧再继续**——
- 晚子时盘(两派日柱时柱不同);
- 杂格闸门两可(正格与外格均可入,依总纲第六步逐条核对后声明取舍);
- 命中标 `> 存疑` 且**影响判定走向**的规则条文(仅涉讹字校勘、不影响判定的存疑,归入第 4 段声明即可,无须中途停下)。
这一段属判定分歧的声明,不受上条次数限制;但同样只说一次、说完继续,不反复申明。
不得自行选边、闷头走完全程。
## 断运交互(锚点核对轮)
用户问「过往发生了什么 / 哪几年是转折」这类覆盖多个流年的问题时,断运**不一次性倾倒**,按 `rules/90_行运.md` R-运-33 分两轮:
1. **第一轮**:用白话输出底盘(这张盘的主线、各步大运的方向,依据收一行小字)+ 3 个左右锚点年(组数最多、落在人生阶段窗口、用户所问之线各占其一)。**核对一律用询问工具的结构化选项**:每个锚点年一个问题,选项为按可能性排序的 2–3 个候选事件、外加「都对不上」(证伪入口);几个锚点年合成一次提问,不逐条单独打断。断语涉及学业年份时,同一次提问里顺带把学制锚点问实(哪年上大学/哪年毕业、有无复读休学),据此反推中小学节点,不全程按常规学制假设落笔。无询问工具的环境,在正文列出编号选项请用户回复编号。
2. **第二轮**:按核对结果收窄(R-运-32 第 4 步),按解释输出契约给完整一轮(说人话 + 依据备查 + 存疑声明)。锚点全部落空时先回头查组数判定、阶段假设、时辰边界,不硬铺。
豁免:用户只问某一年/某件事,或明确说「不用问我、直接说完」时,一次性输出。
## 说人话段(强制阶段 2,白话先行)
固定用二级标题 `## 说人话`,放在排盘口径之后、依据备查之前——**读者先拿到人话,依据在后备查**。它是白话详解:把取格喜忌、各步大运、关键流年候选、六亲婚姻等关键判断逐条翻译成现实生活,不是一段概括性的比喻。
- **逐点对应,一条不落**:每个关键判断——取格与喜忌一句话、每步大运的方向、每个关键流年的事件候选、六亲/婚姻结论——在这段里都必须有对应的白话条目;反过来,这段的每一条都必须能在「依据备查」段找到出处。有行运内容时按「底子与处境 → 各步大运 → 关键年份 → 感情婚姻」的顺序组织。
- **展开方式**:每条先给结论,紧跟一个具体场景说明它在生活里长什么样——写「领导把急活难活都压给你,但年底评优、考证、跳槽谈判都有你的份」,不写「压力转化为资历」。允许分条分段,每条 40–80 字。
- **语言**:不出现任何术语——不要「食神」「伤官」「寅申冲」「财旺身弱」,一律换成现实中的对应物与人。
- **两条硬约束**:
1. **不得出现备查段没有的判断**——白话段只允许降维表达,不允许新增结论;
2. **不得软化警示**——「需要注意」不能变成「应该没事」,凶断照样用大白话说凶。
- **落笔前自检**:写完逐条回查——每条白话都能在备查段找到出处,找不到出处的整条删掉;凶断强度与备查段一致(「难偕老」不许降成「家里事多」);备查段未涉及的年份与事项,白话段不得出现(含「眼下这一年」式的临场新增)。
- **禁止总结腔**:不许用一段话把整段概括过去(「这些年回头看去,像是……」式)。结尾落在最贴近当下的一两年、或一个具体画面上,不作人生总结。读完这段,用户应能拿着每一条去对号。
- 用户明显是内行时,可翻转为术语先行、省略此段,并在开头说明「省去白话部分」。
## 文风与反 AI 腔(强制)
命理解读是「一个人对着一个人说话」,不是报告。以下写法一律禁止:
**禁止的句法**
- **形容词 + 加粗关键词的套路**,尤其连续多段同一句式:「**甜蜜有,但暗流也有**」「**相对平和的一年**」「**婚姻定盘的关键年**」。这是最典型的 AI 腔,必须避免——同一轮回答里这种「[加粗的形容词短语]」开头不超过一次。
- **破折号做重点强调**:`——象主:**聚少离多**`。破折号只在真正的语气转折处用,不做加粗的替代品。
- **概括 + 破折号解释 + 加粗**的三段式排比反复出现。
- **四字对偶堆叠**:「先拧巴、后转稳」「由动转稳」「落地生根」连用即显假。这类词组一轮最多用一处。
- **每段末尾补一句总结句**。段落结束就是结束。
- **「一句总结」「综上」「总而言之」式收束段**。要收束就自然收,别起标题叫「总结」。
- **对仗工整的排比句群**。人说话是长短不齐的,排比是文案不是说话。
- **替对方感觉的句子**:「你会感到压力」「你可能有些焦虑」。命理只讲象,不讲人家的心情——让读者自己对号。
- **反复免责与自我辩护**:「硬报一个数就是忽悠你」这类替自己解释的句子,属存疑段一次性声明,正文里不准出现。
- **刑冲合害的名目改用虚词代称**:「遥相对」「碰上」「犯到」之类。名目用本名(冲就是冲、刑就是刑),解释可以白话,名目不替。
**要求的写法**
- **句子长短交错**:允许出现短句、半句、口语连接词(「其实」「说到底」「这事」)。全篇句长均匀就是机器味。
- **有取有舍**:明确说出哪些不是重点、哪些不必看。面面俱到等于没有判断。
- **未知之处给具体**:不说「因人而异」,说清在哪一种情况下会怎样。
- **允许一句大白话的口头语**,但一轮最多一次,用多了反而造作。
- **不复述用户的问题**,不回「好,我来帮你分析」这类开场白,直接进入内容。
**模糊语库**(替代方法边界说明的日常工具):大概率 / 多在 / 常见于 / 倾向于 / 易于 / 偶有 / 不止一次 / 偏 / 通常这时候 / 十有七八。需要表达不确定时用这些词,不要停下来论证为什么不确定。