dsh-metaphysics 0.14.3 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +213 -166
- package/README.md +229 -221
- package/client.js +1551 -111
- package/engine/bazi.js +505 -515
- package/engine/calendar.js +325 -256
- package/engine/crosscheck.js +133 -0
- package/engine/daliuren.js +339 -342
- package/engine/diff.js +197 -0
- package/engine/fail.js +13 -0
- package/engine/followup.js +173 -0
- package/engine/geo.js +1 -1
- package/engine/hepan.js +147 -144
- package/engine/index.js +566 -513
- package/engine/interpret-knowledge.js +277 -0
- package/engine/interpret-plain.js +197 -0
- package/engine/interpret.js +1356 -1176
- package/engine/liuyao.js +237 -238
- package/engine/lru.js +69 -0
- package/engine/meihua.js +137 -136
- package/engine/nayin.js +24 -0
- package/engine/qimen.js +442 -438
- package/engine/sanhe.js +26 -0
- package/engine/validate.js +56 -0
- package/engine/ziwei-hepan.js +123 -120
- package/engine/ziwei.js +821 -828
- package/index.js +229 -212
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,221 +1,229 @@
|
|
|
1
|
-
# dsh-metaphysics · 命理排盘
|
|
2
|
-
|
|
3
|
-
Chinese metaphysics for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness): BaZi (Four Pillars), Zi Wei Dou Shu, LiuYao, MeiHua YiShu, Da Liu Ren and Tarot.
|
|
4
|
-
|
|
5
|
-
给 DeepSeek Harness 用的命理插件:**四柱八字、紫微斗数、六爻纳甲、梅花易数、大六壬、塔罗牌**,同时提供 Agent 工具与 Web 面板。
|
|
6
|
-
|
|
7
|
-
> 传统命理与占卜属文化娱乐用途,不构成医疗、投资、法律或生死判断的依据。
|
|
8
|
-
|
|
9
|
-
## 插件市场备注
|
|
10
|
-
|
|
11
|
-
**命理排盘 · 八字 / 紫微 / 六爻 / 梅花 / 六壬 / 塔罗** —— 一个插件把六套体系装进 Harness:对话里说一句就排盘,侧栏还有可视化面板。
|
|
12
|
-
|
|
13
|
-
- **八字**:42 颗神煞(分吉凶七类,天干星双查年干与日干、三合星双查年支与日支,悬停看查法)、日主旺衰量化并给出依据、格局与用神(月令取格 + 化气/专旺/从格 + 十神组合,每条附判定依据)、大运流年按喜忌五行与十神打分(大吉/吉/平/忌/大忌,可看逐项理由)
|
|
14
|
-
- **紫微**:十四主星与 49 星曜(主星带**庙旺得利平不陷**亮度标注)、四层十二神、生年四化与宫干自化、34 条格局(标吉/忌倾向与依据)、大限一览、流年四化落宫;本命/大限/流年三视图一键切换,命宫红框、三方四正浅底标出;竖屏与窄侧栏保持 4×4 宫盘(宫位相对位置不丢)
|
|
15
|
-
- **六爻**:摇卦或手动爻值、纳甲、六亲、六神、世应;本卦/变卦并列、真爻线渲染(阳爻整条、阴爻断开、动爻描红)
|
|
16
|
-
- **梅花**:时间/数字起卦、体用生克分档、互变错综四卦齐出,本卦上下卦分块标体用
|
|
17
|
-
- **大六壬**:天地盘 4×4 方盘(天盘大字、地盘小字、天将右下)、四课、九宗门三传、格局(贼克/元首/重审/伏吟/返吟/八专等)
|
|
18
|
-
- **塔罗**:78 张全牌、1/3/5 张牌阵,逐牌牌位义 + 整体解读,体系与逆位口径写明
|
|
19
|
-
- 全部本地计算,不收集数据;结果供文化娱乐参考,不作医疗、投资、法律或生死判断
|
|
20
|
-
|
|
21
|
-
## 功能
|
|
22
|
-
|
|
23
|
-
### 四柱八字(bazi)
|
|
24
|
-
- 四柱、藏干、十神、纳音、空亡(**逐柱**)
|
|
25
|
-
- **十二长生**:地势(日干对各支)、自坐(各柱干对本支)
|
|
26
|
-
- **神煞(42 星,7 类)**:贵人(天乙、太极、天德、月德、月德合、福星、天官、国印、天厨、天医)、文星(文昌、德秀)、婚姻(桃花、红鸾、天喜、孤辰、寡宿、金舆)、性情(华盖、羊刃、飞刃、魁罡、童子煞、六秀日、日德、日贵)、事业(禄神、将星、驿马)、凶煞(劫煞、灾煞、亡神、空亡、十恶大败、阴差阳错、四废日、流霞、天罗、地网)、格局(天赦日、金神、三奇贵人)。天干类双查年干与日干,三合类双查年支与日支;每颗星附查法依据,界面悬停可见
|
|
27
|
-
- **日主旺衰**:月令权重 + 通根 + 天干帮扶,量化分档,并给出依据(季节权重、通根地支、帮扶/耗泄明细)
|
|
28
|
-
- **格局与用神**:月令取格(建禄/阳刃/月劫/十神格)+特格(化气、专旺、从格)+十神组合(官印、杀印、食伤生财、财官、伤官配印、伤官见官、羊刃驾杀),每条附判定依据;用神取扶抑为主 + 简化调候提示,并列出喜忌十神
|
|
29
|
-
- **行运吉凶**:大运、流年按喜忌五行与十神加权评分,分大吉/吉/平/忌/大忌五档,悬停可看逐项理由
|
|
30
|
-
- **干支关系**:五合、相冲、相克;六合、三合半合、三会半会拱会、冲、害、破、刑
|
|
31
|
-
- 大运、流年(含与原局地支的关系)、真太阳时(按出生地经度修正)
|
|
32
|
-
- **四柱表版式**:按专业排盘习惯——年/月/日/时四柱并排固定成四列,左侧一列窄行名,列间不画竖线、只用极淡横线分行;天干地支作大字并随五行着色,日柱表头单独标红;藏干按「干·五行」逐行列出,十神按比劫/食伤/财/官杀/印五类分组着色;末行给**五行旺相休囚死**(以月令当令五行为基准,依次推出 旺/相/休/囚/死 五态)
|
|
33
|
-
|
|
34
|
-
### 紫微斗数(ziwei)
|
|
35
|
-
- 农历(定朔 + 冬至置闰)、命宫、身宫、五行局
|
|
36
|
-
- 紫微/天府、十四主星、六吉六煞、禄存天马、**49 颗星曜**
|
|
37
|
-
- **十四主星庙旺得利平不陷**:按《紫微斗数全书》系通行表标注(各家在太阳/太阴少数宫位有出入,只标主星、不硬标辅星),庙旺标绿、得利平标灰、不陷标红
|
|
38
|
-
- 四层十二神:长生、博士、将前、岁前
|
|
39
|
-
- 生年四化、宫干自化、大限、小限、流年(命宫、三方四正、流禄流羊流陀)、斗君
|
|
40
|
-
- **格局识别(34 条,附判定依据与吉/忌倾向)**:紫府同宫、紫府朝垣、君臣庆会、极向离明、七杀朝斗、英星入庙、石中隐玉、巨日同宫、日月夹命、日月对照、左右/昌曲/魁钺夹命、三奇嘉会、双禄朝垣、机月同梁、府相朝垣、禄马交驰、月朗天门、日出扶桑、武贪同行、火贪铃贪;忌格:火铃夹命、羊陀夹命、羊陀夹忌、铃昌陀武、命里逢空、马头带箭、天罗地网、刑囚夹印、泛水桃花
|
|
41
|
-
- **大限一览**:十二限排序列出宫位、年龄区间、宫干四化落宫、三方主星;**流年四化**:逐年给出四化星落宫与命宫三方主星
|
|
42
|
-
- **流月 / 流日 / 流时**:由流年斗君逐级下推——斗君起正月顺行至该农历月,流月命宫起初一顺行至该农历日,流日命宫起子时顺行至该时辰;每层给落宫、宫干四化落宫与三方四正。基准时刻默认取本机当前时刻(可用 `asOf` 指定以便复现)
|
|
43
|
-
- **宫位点击展开详情**:点任一宫摊开该宫完整星曜(含亮度、四化)、宫干四化、四层十二神、大限/小限,并把三方四正(三合两宫 + 对宫)一起列出、在盘上同步描边;空宫标注「借对宫 XX」;再点一次收起
|
|
44
|
-
- 昌曲专论:与丑未的关系、是否入命三方、吸收面清杂
|
|
45
|
-
|
|
46
|
-
### 六爻(liuyao)
|
|
47
|
-
- 摇卦或手动爻值、本卦/变卦、纳甲、六亲、六神、世应
|
|
48
|
-
- 面板:本卦与变卦并列对照,真爻线渲染(阳整、阴断、动描红),世应与动爻一目了然
|
|
49
|
-
- 只需起卦时刻(取日辰定六神、月建定旺衰),与出生时间无关
|
|
50
|
-
|
|
51
|
-
### 梅花易数(meihua)
|
|
52
|
-
- 时间起卦(年月日时数)或数字起卦(两数取余、可手动指定动爻)
|
|
53
|
-
- 本卦 / 互卦 / 变卦 / 错卦 / 综卦五盘齐出;本卦上下卦分块并标「体」「用」
|
|
54
|
-
- 体用生克按五行判吉凶:用生体大吉、比和吉、体克用吉、体生用耗、用克体凶
|
|
55
|
-
|
|
56
|
-
### 大六壬(daliuren)
|
|
57
|
-
- 月将加时起天地盘(4×4 方盘:天盘大字、地盘小字、天将右下)
|
|
58
|
-
- 四课(干上/支上递推,标注生克与天将)、九宗门发三传(贼克·元首·重审·比用·涉害·遥克·昴星·别责·八专·伏吟·返吟)
|
|
59
|
-
- 昼夜贵人(以天盘临方定顺逆)、旬空标注、格局名与断语
|
|
60
|
-
|
|
61
|
-
### 塔罗(tarot)
|
|
62
|
-
- 78 张全牌、正逆位、1/3/5 张牌阵(面板可直接选牌阵,换张数自动重抽)
|
|
63
|
-
- 每张牌给编号、牌阶级、核心义与牌阵位义;解读 6–8 段(逐牌、大阿卡纳占比、五行分布、宫廷牌、正逆位比例、关键牌、建议)
|
|
64
|
-
- 明确标注体系:RWS 编号、黄金黎明元素归属、逆位取「弱化/未顺/内化」而非凶断
|
|
65
|
-
|
|
66
|
-
### 解析与详解(interpret)
|
|
67
|
-
每个体系的排盘结果下方都会跟一个「解析与详解」模块,帮你把盘面翻译成能看懂、能照着做的事。对话工具里加 `withInterpret: true` 即可一并返回。
|
|
68
|
-
|
|
69
|
-
- **结构化输出**:`{ moduleType, system, title, lead, dimensions[], sections[], disclaimer }`;`moduleType` 为 `natal`(命盘)/ `divination`(卦象)/ `card`(牌阵),`dimensions` 固定五个维度
|
|
70
|
-
- **五个维度**:整体运势、工作与职业选择、事业发展、爱情与感情、健康状况——每项给「解读 + 行动建议」
|
|
71
|
-
- **依据可核对**:每个维度都附一行「依据」,列出这条结论引用的事实——命盘类(八字/紫微)给日主旺衰、月令、喜忌、大运流年、宫位主星与煞星;卦象类(六爻/梅花/六壬)给本卦互卦变卦、世应、动爻、三传四课与神将;塔罗给牌阵、主轴、正逆位与元素分布。面板与文本两条输出路径都会显示
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
-
|
|
76
|
-
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
###
|
|
99
|
-
|
|
100
|
-
```bash
|
|
101
|
-
dsh plugin install
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
###
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
-
|
|
143
|
-
-
|
|
144
|
-
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
-
|
|
153
|
-
-
|
|
154
|
-
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
npm run
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
|
207
|
-
|
|
208
|
-
| `
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
1
|
+
# dsh-metaphysics · 命理排盘
|
|
2
|
+
|
|
3
|
+
Chinese metaphysics for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness): BaZi (Four Pillars), Zi Wei Dou Shu, LiuYao, MeiHua YiShu, Da Liu Ren and Tarot.
|
|
4
|
+
|
|
5
|
+
给 DeepSeek Harness 用的命理插件:**四柱八字、紫微斗数、六爻纳甲、梅花易数、大六壬、塔罗牌**,同时提供 Agent 工具与 Web 面板。
|
|
6
|
+
|
|
7
|
+
> 传统命理与占卜属文化娱乐用途,不构成医疗、投资、法律或生死判断的依据。
|
|
8
|
+
|
|
9
|
+
## 插件市场备注
|
|
10
|
+
|
|
11
|
+
**命理排盘 · 八字 / 紫微 / 六爻 / 梅花 / 六壬 / 塔罗** —— 一个插件把六套体系装进 Harness:对话里说一句就排盘,侧栏还有可视化面板。
|
|
12
|
+
|
|
13
|
+
- **八字**:42 颗神煞(分吉凶七类,天干星双查年干与日干、三合星双查年支与日支,悬停看查法)、日主旺衰量化并给出依据、格局与用神(月令取格 + 化气/专旺/从格 + 十神组合,每条附判定依据)、大运流年按喜忌五行与十神打分(大吉/吉/平/忌/大忌,可看逐项理由)
|
|
14
|
+
- **紫微**:十四主星与 49 星曜(主星带**庙旺得利平不陷**亮度标注)、四层十二神、生年四化与宫干自化、34 条格局(标吉/忌倾向与依据)、大限一览、流年四化落宫;本命/大限/流年三视图一键切换,命宫红框、三方四正浅底标出;竖屏与窄侧栏保持 4×4 宫盘(宫位相对位置不丢)
|
|
15
|
+
- **六爻**:摇卦或手动爻值、纳甲、六亲、六神、世应;本卦/变卦并列、真爻线渲染(阳爻整条、阴爻断开、动爻描红)
|
|
16
|
+
- **梅花**:时间/数字起卦、体用生克分档、互变错综四卦齐出,本卦上下卦分块标体用
|
|
17
|
+
- **大六壬**:天地盘 4×4 方盘(天盘大字、地盘小字、天将右下)、四课、九宗门三传、格局(贼克/元首/重审/伏吟/返吟/八专等)
|
|
18
|
+
- **塔罗**:78 张全牌、1/3/5 张牌阵,逐牌牌位义 + 整体解读,体系与逆位口径写明
|
|
19
|
+
- 全部本地计算,不收集数据;结果供文化娱乐参考,不作医疗、投资、法律或生死判断
|
|
20
|
+
|
|
21
|
+
## 功能
|
|
22
|
+
|
|
23
|
+
### 四柱八字(bazi)
|
|
24
|
+
- 四柱、藏干、十神、纳音、空亡(**逐柱**)
|
|
25
|
+
- **十二长生**:地势(日干对各支)、自坐(各柱干对本支)
|
|
26
|
+
- **神煞(42 星,7 类)**:贵人(天乙、太极、天德、月德、月德合、福星、天官、国印、天厨、天医)、文星(文昌、德秀)、婚姻(桃花、红鸾、天喜、孤辰、寡宿、金舆)、性情(华盖、羊刃、飞刃、魁罡、童子煞、六秀日、日德、日贵)、事业(禄神、将星、驿马)、凶煞(劫煞、灾煞、亡神、空亡、十恶大败、阴差阳错、四废日、流霞、天罗、地网)、格局(天赦日、金神、三奇贵人)。天干类双查年干与日干,三合类双查年支与日支;每颗星附查法依据,界面悬停可见
|
|
27
|
+
- **日主旺衰**:月令权重 + 通根 + 天干帮扶,量化分档,并给出依据(季节权重、通根地支、帮扶/耗泄明细)
|
|
28
|
+
- **格局与用神**:月令取格(建禄/阳刃/月劫/十神格)+特格(化气、专旺、从格)+十神组合(官印、杀印、食伤生财、财官、伤官配印、伤官见官、羊刃驾杀),每条附判定依据;用神取扶抑为主 + 简化调候提示,并列出喜忌十神
|
|
29
|
+
- **行运吉凶**:大运、流年按喜忌五行与十神加权评分,分大吉/吉/平/忌/大忌五档,悬停可看逐项理由
|
|
30
|
+
- **干支关系**:五合、相冲、相克;六合、三合半合、三会半会拱会、冲、害、破、刑
|
|
31
|
+
- 大运、流年(含与原局地支的关系)、真太阳时(按出生地经度修正)
|
|
32
|
+
- **四柱表版式**:按专业排盘习惯——年/月/日/时四柱并排固定成四列,左侧一列窄行名,列间不画竖线、只用极淡横线分行;天干地支作大字并随五行着色,日柱表头单独标红;藏干按「干·五行」逐行列出,十神按比劫/食伤/财/官杀/印五类分组着色;末行给**五行旺相休囚死**(以月令当令五行为基准,依次推出 旺/相/休/囚/死 五态)
|
|
33
|
+
|
|
34
|
+
### 紫微斗数(ziwei)
|
|
35
|
+
- 农历(定朔 + 冬至置闰)、命宫、身宫、五行局
|
|
36
|
+
- 紫微/天府、十四主星、六吉六煞、禄存天马、**49 颗星曜**
|
|
37
|
+
- **十四主星庙旺得利平不陷**:按《紫微斗数全书》系通行表标注(各家在太阳/太阴少数宫位有出入,只标主星、不硬标辅星),庙旺标绿、得利平标灰、不陷标红
|
|
38
|
+
- 四层十二神:长生、博士、将前、岁前
|
|
39
|
+
- 生年四化、宫干自化、大限、小限、流年(命宫、三方四正、流禄流羊流陀)、斗君
|
|
40
|
+
- **格局识别(34 条,附判定依据与吉/忌倾向)**:紫府同宫、紫府朝垣、君臣庆会、极向离明、七杀朝斗、英星入庙、石中隐玉、巨日同宫、日月夹命、日月对照、左右/昌曲/魁钺夹命、三奇嘉会、双禄朝垣、机月同梁、府相朝垣、禄马交驰、月朗天门、日出扶桑、武贪同行、火贪铃贪;忌格:火铃夹命、羊陀夹命、羊陀夹忌、铃昌陀武、命里逢空、马头带箭、天罗地网、刑囚夹印、泛水桃花
|
|
41
|
+
- **大限一览**:十二限排序列出宫位、年龄区间、宫干四化落宫、三方主星;**流年四化**:逐年给出四化星落宫与命宫三方主星
|
|
42
|
+
- **流月 / 流日 / 流时**:由流年斗君逐级下推——斗君起正月顺行至该农历月,流月命宫起初一顺行至该农历日,流日命宫起子时顺行至该时辰;每层给落宫、宫干四化落宫与三方四正。基准时刻默认取本机当前时刻(可用 `asOf` 指定以便复现)
|
|
43
|
+
- **宫位点击展开详情**:点任一宫摊开该宫完整星曜(含亮度、四化)、宫干四化、四层十二神、大限/小限,并把三方四正(三合两宫 + 对宫)一起列出、在盘上同步描边;空宫标注「借对宫 XX」;再点一次收起
|
|
44
|
+
- 昌曲专论:与丑未的关系、是否入命三方、吸收面清杂
|
|
45
|
+
|
|
46
|
+
### 六爻(liuyao)
|
|
47
|
+
- 摇卦或手动爻值、本卦/变卦、纳甲、六亲、六神、世应
|
|
48
|
+
- 面板:本卦与变卦并列对照,真爻线渲染(阳整、阴断、动描红),世应与动爻一目了然
|
|
49
|
+
- 只需起卦时刻(取日辰定六神、月建定旺衰),与出生时间无关
|
|
50
|
+
|
|
51
|
+
### 梅花易数(meihua)
|
|
52
|
+
- 时间起卦(年月日时数)或数字起卦(两数取余、可手动指定动爻)
|
|
53
|
+
- 本卦 / 互卦 / 变卦 / 错卦 / 综卦五盘齐出;本卦上下卦分块并标「体」「用」
|
|
54
|
+
- 体用生克按五行判吉凶:用生体大吉、比和吉、体克用吉、体生用耗、用克体凶
|
|
55
|
+
|
|
56
|
+
### 大六壬(daliuren)
|
|
57
|
+
- 月将加时起天地盘(4×4 方盘:天盘大字、地盘小字、天将右下)
|
|
58
|
+
- 四课(干上/支上递推,标注生克与天将)、九宗门发三传(贼克·元首·重审·比用·涉害·遥克·昴星·别责·八专·伏吟·返吟)
|
|
59
|
+
- 昼夜贵人(以天盘临方定顺逆)、旬空标注、格局名与断语
|
|
60
|
+
|
|
61
|
+
### 塔罗(tarot)
|
|
62
|
+
- 78 张全牌、正逆位、1/3/5 张牌阵(面板可直接选牌阵,换张数自动重抽)
|
|
63
|
+
- 每张牌给编号、牌阶级、核心义与牌阵位义;解读 6–8 段(逐牌、大阿卡纳占比、五行分布、宫廷牌、正逆位比例、关键牌、建议)
|
|
64
|
+
- 明确标注体系:RWS 编号、黄金黎明元素归属、逆位取「弱化/未顺/内化」而非凶断
|
|
65
|
+
|
|
66
|
+
### 解析与详解(interpret)
|
|
67
|
+
每个体系的排盘结果下方都会跟一个「解析与详解」模块,帮你把盘面翻译成能看懂、能照着做的事。对话工具里加 `withInterpret: true` 即可一并返回。
|
|
68
|
+
|
|
69
|
+
- **结构化输出**:`{ moduleType, system, title, lead, dimensions[], sections[], disclaimer }`;`moduleType` 为 `natal`(命盘)/ `divination`(卦象)/ `card`(牌阵),`dimensions` 固定五个维度
|
|
70
|
+
- **五个维度**:整体运势、工作与职业选择、事业发展、爱情与感情、健康状况——每项给「解读 + 行动建议」
|
|
71
|
+
- **依据可核对**:每个维度都附一行「依据」,列出这条结论引用的事实——命盘类(八字/紫微)给日主旺衰、月令、喜忌、大运流年、宫位主星与煞星;卦象类(六爻/梅花/六壬)给本卦互卦变卦、世应、动爻、三传四课与神将;塔罗给牌阵、主轴、正逆位与元素分布。面板与文本两条输出路径都会显示
|
|
72
|
+
- **报告化阅读**:解析区顶部有「一页读懂」(整体/事业/财富/感情/节奏五条摘要)、目录锚点,以及三张表——八字是「大运表 / 流年表 / 触发事件表」,紫微是「大限表 / 流年表 / 触发事件表」。表格只把已有字段摊平,不新增判断;打印时表格不撕页、目录自动隐藏
|
|
73
|
+
- **证据卡与置信度**:每个维度的依据收进可展开的 `<details>`,点开可见逐条盘面事实与所用技法;维度旁标注「置信度 强/中/弱」(按证据条数分档,不引新算法)。文本输出同样带「置信度:…」
|
|
74
|
+
- **看示例**:面板与独立页都有「看示例」按钮,用固定的示例盘(1990-05-12 14:30 男 石家庄)走与真实排盘相同的渲染路径
|
|
75
|
+
- **追问**:工具参数 `ask`、面板与独立页的追问输入框——围绕**已算好的盘**回答「2027 年事业怎么样」「财运如何」这类问题;只取盘面已有字段(流年/大运/宫位/分节),不重排、不猜测;年份超出已排范围或没识别到方面时,明确说找不到并给出可问范围
|
|
76
|
+
- **八字 × 紫微 交叉验证**:工具参数 `cross`(或面板勾选)会用同一份出生信息再排另一套盘,对事业/财富/感情/身体/节奏五项并列对照,标注「同向 / 有张力 / 互补」;只作对照,不把两套体系折算成同一个分数
|
|
77
|
+
- **量化口径**:只量化引擎已有数据(十神权重、大运/流年档位、宫位与四化计数),**不换算金额、不给健康诊断**;报告里有「量化口径」分节写明这条边界
|
|
78
|
+
- **方法与验证**:独立页内置同页「方法与验证」(体系、128 条卦例对拍、52 个测试文件/1335 条断言、五道闸、口径与已知边界),离线可开
|
|
79
|
+
- **导出**:面板与独立页都能「导出 .md」(盘面 + 一页读懂 + 三张表 + 交叉验证 + 追问);独立页另有打印/存 PDF
|
|
80
|
+
- **推导可复核**:八字/紫微另有「看盘顺序」「时间窗」「交叉校验」「未纳入」四段——先看什么后看什么、未来几步大运与近五年流年、喜忌分量与运年是否同向、以及这套算法**没有**计算什么;六爻/六壬对应给「看卦/看课顺序」与「未纳入」。这些都从盘面数据推出,不新增断语
|
|
81
|
+
- **卦象**(六爻/梅花/大六壬)额外给:卦名与卦辞大意、爻辞与动爻、体用关系、互卦与变卦、落到生活里
|
|
82
|
+
- **塔罗**额外给:整盘连贯解读(把几张牌串成一条线,避免各张互相矛盾)与牌面结构(大阿卡纳占比、元素分布、正逆位)
|
|
83
|
+
- **文案口径**:第二人称、温和、只给倾向与建议,不作绝对判断;底部保留理性参考的免责提示
|
|
84
|
+
- **解读区可折叠**:内容较长(五维度 + 体系模块),点标题栏或箭头即可展开/收起;宽屏默认展开、窄屏默认收起,手动切过之后按你的选择来
|
|
85
|
+
|
|
86
|
+
### 所问之事与询问方向(六爻 / 梅花 / 大六壬 / 塔罗)
|
|
87
|
+
|
|
88
|
+
问事的体系要先说清问什么,解读才有落点:
|
|
89
|
+
|
|
90
|
+
- **所问之事**:必填,支持多行,占位示例「用一句话描述所问之事,例如:今年是否适合换工作?」;不填就起卦会给提示,不会给一份没有落点的解读
|
|
91
|
+
- **询问方向**:下拉选择——综合(默认)、财运、事业、感情、健康、学业、出行。选项表 `DIRECTIONS` 由 `engine/interpret.js` 导出,界面与解析层共用一份,不两处维护
|
|
92
|
+
- **联动方式**:`interpret(result, { question, direction })`。所选方向对应的维度会被提到最前并标注「最贴近你的问题」,正文点明你所问的事,引语也会回显;解读开头固定一行「问题:xxx | 询问方向:xxx」供你确认
|
|
93
|
+
- **不重摇卦**:改问题或方向只重出解读,卦象本身不动
|
|
94
|
+
- 命盘类(八字 / 紫微)不问事,不显示这两项,也不会出现回显行
|
|
95
|
+
|
|
96
|
+
## 安装
|
|
97
|
+
|
|
98
|
+
### 从 npm
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
dsh plugin install dsh-metaphysics
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
或在 Harness 的「插件」面板里搜索 `dsh-metaphysics`。
|
|
105
|
+
|
|
106
|
+
### 从本地目录
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
dsh plugin install /path/to/dsh-metaphysics
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### 从 tgz
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
dsh plugin install ./dsh-metaphysics-0.6.0.tgz
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## 使用
|
|
119
|
+
|
|
120
|
+
### 对话里
|
|
121
|
+
|
|
122
|
+
直接说:
|
|
123
|
+
|
|
124
|
+
- 「排个八字:1990-05-12 14:30,女,河北石家庄」
|
|
125
|
+
- 「排紫微盘:1996-01-19 07:40,男,新疆喀什」
|
|
126
|
+
- 「帮我起一卦,问这个项目能不能成」
|
|
127
|
+
- 「梅花易数,报两个数 17 和 29」
|
|
128
|
+
- 「起个六壬课,问这周谈判顺利吗」
|
|
129
|
+
- 「抽三张塔罗,问这份工作要不要接」
|
|
130
|
+
|
|
131
|
+
模型会调用 `metaphysics_chart` 工具,参数 `system` 取 `bazi` / `ziwei` / `liuyao` / `meihua` / `daliuren` / `tarot`。
|
|
132
|
+
注意:八字与紫微要**出生时间**;六爻、梅花、六壬只要**起卦时刻**(通常就是当下),与出生时间无关。
|
|
133
|
+
|
|
134
|
+
### 面板
|
|
135
|
+
|
|
136
|
+
重启后侧栏出现**太极图标**,点开是排盘面板:紫微 / 八字 / 六爻 / 梅花 / 六壬 / 奇门 / 合盘 / 塔罗八个 tab。奇门 tab 里「换局规则」可选拆补、超神接气、置闰;盘面下方用键值表列出局数、值符值使、空亡驿马等事实,与解读区的结论分开。
|
|
137
|
+
|
|
138
|
+
> 独立页(`命理排盘.html`)同样是这八个 tab:合盘要填双方出生信息、可选八字/紫微两种合盘;奇门用「换局规则」单选组(拆补/超神接气/置闰)与「询问方向」定用神。两份文件是**各自生成**的:重新构建后要单独同步你在用的那份拷贝(见「开发」里的 `--out`)。
|
|
139
|
+
|
|
140
|
+
### 深色与导出
|
|
141
|
+
|
|
142
|
+
- **深色主题**:跟随系统(`prefers-color-scheme`),盘面与页面同时切换,只换一套 CSS 变量,元素规则一行不改
|
|
143
|
+
- **打印永远是浅色**:深色主题下直接打印会得到一整页耗墨的深底 PDF,所以深色规则用 `@media screen` 限定
|
|
144
|
+
- **存为 PDF / 打印**:结果下方有按钮,走浏览器原生打印(不引第三方库);A4 纵向、隐藏输入区与按钮、盘面与解读不被撕页、四化色块保留颜色。折叠着的「解析与详解」在打印时会自动展开,不会只印出一个标题栏
|
|
145
|
+
|
|
146
|
+
## 精度与口径
|
|
147
|
+
|
|
148
|
+
- **节气**:VSOP87B 截断级数(105 项)+ 岁差 + 章动 + 光行差;与日本国立天文台《暦要項》对拍,2024/2025 共 48 个节气最大偏差 **0.6 分钟**;出生时刻距「节」不足 20 分钟时会提示复核。**1929-01-01 之前按北京地方平时(UTC+7.7611)**推算,之后按东八区——与农历共用同一套换算,避免 14 分钟错位
|
|
149
|
+
- **农历**:定朔(Meeus 第 49 章,误差约 1 分钟)+ 冬至所在月为十一月 + 无中气置闰
|
|
150
|
+
- **真太阳时**:经度差 + 均时差;内置 34 个省会 + 200 个地级市坐标(±0.2°),地址更细时可开「联网精确到区县」(Nominatim)。**单盘与合盘用的是同一套修正**(合盘双方各按自己出生地算)。只按经度修正,**未含历史时区与夏令时**:海外出生请先把当地钟表时间换算成东八区标准时再输入;没给经度时摘要首行会出 ⚠
|
|
151
|
+
- **晚子时**:八字/大六壬默认 23:00 后换日,奇门默认归当日;`lateZi` 与 `lateZiHourMode` 是同一个开关的两个名字。各体系摘要都会写明本次采用的口径,不改默认值、不偷偷改盘
|
|
152
|
+
- **可复现**:塔罗/六爻给 `seed` 即得同一次抽牌/摇卦;紫微流月流日流时、塔罗的抽牌时刻、八字的流年基准年都可传 `asOf` 钉死
|
|
153
|
+
- **紫微四化**:中州派常用表(庚干作太阳禄、武曲权、太阴科、天同忌)
|
|
154
|
+
- **日主旺衰**:量化算法,非唯一流派
|
|
155
|
+
- **入参**:日期按月份天数与闰年校验(`1990-02-30` 直接报错,不滚到下个月);八字/紫微/合盘的性别必填(性别决定大运大限顺逆,不做默认);六爻爻值必须正好 6 个,留空才随机摇卦。非法入参带错误码返回(`E_INPUT` / `E_LINES` / `E_COUNT` / `E_ASOF` / `E_PARTNER`),不静默改成另一个盘
|
|
156
|
+
- **对拍**:历法对 NAOJ 历要项与 ICU 抽样的农历;流派规则对典籍通例——六爻八宫卦序与世应(京房)、六壬日干寄宫与中气换将(《大六壬指南》)、紫微纳音定五行局与紫微天府相照(《紫微斗数全书》);另有《增删卜易》9 条与《卜筮正宗》**128 条**原文卦例(93 条本卦→变卦 + 35 条静卦)。期望值在 `test/fixtures/classics.json`,出处见其 `meta.sources`,卦例原始数据与排除理由在 `tools/data-boshizhengzong.mjs`。卦例只取原文能稳定读出的字段:卦名、卦宫、缺爻(伏神)、动爻**个数**(与原文 x/○ 标记数核对过)、有日期的旬空;**动爻在哪一爻**不录——卦象表在 PDF/DOCX 里串行,硬解析等于造数据
|
|
157
|
+
|
|
158
|
+
## 数据与隐私
|
|
159
|
+
|
|
160
|
+
- 全部计算在本地完成
|
|
161
|
+
- **默认不联网**:地址只查内置坐标表(最细到地级市,足够真太阳时)。只有把 `geocode` 设为 `online`(面板上勾「联网精确到区县」)才会把出生地原文发给 OpenStreetMap Nominatim,用于精确到区县/路名;失败即回退内置表,同一地址 6 小时内不重复请求
|
|
162
|
+
- 不收集、不上传任何其他数据
|
|
163
|
+
|
|
164
|
+
## 开发
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
npm run build # 生成 client.js(浏览器端产物)
|
|
168
|
+
npm run build:html # 生成独立的 命理排盘.html(可离线双击使用),默认写到工作区根目录
|
|
169
|
+
# 想同时更新别处的拷贝(例如桌面那份):node tools/build-html.mjs --out "C:\Users\<你>\Desktop\命理排盘.html"
|
|
170
|
+
npm test # 顺序跑完 test/ 下全部 *.test.mjs 并汇总
|
|
171
|
+
npm run test:ci # 回归 + 断言基线 + 测试自检 + HTML 注入面 + 工程约定(CI 跑的就是这条)
|
|
172
|
+
npm run test:baseline # 断言数确实要减少时,显式重建基线
|
|
173
|
+
npm run check:html # 单独跑 HTML 注入面扫描
|
|
174
|
+
npm run check:patterns # 单独跑工程约定检查
|
|
175
|
+
npm run release # 测试 → 构建 → 校验产物 → 发 npm(token 从 NPM_TOKEN 读)
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
也可以直接调脚本:`node tools/build-client.mjs`、`node tools/build-html.mjs`、`node tools/test-all.mjs`、`node tools/check-assertions.mjs`、`node tools/verify-tests-can-fail.mjs`、`node tools/check-html-sinks.mjs`、`node tools/check-patterns.mjs`、`node tools/release.mjs`。
|
|
179
|
+
|
|
180
|
+
**测试的四道闸 + 一道稳定性扫射**:
|
|
181
|
+
|
|
182
|
+
1. `test/_harness.mjs`——任何一条 `ok()` 失败都让进程非零退出(此前 9 个文件只打印不失败,全量"全绿"没有意义)
|
|
183
|
+
2. `test/assertion-baseline.json`——每个文件的 PASS 条数低于基线即失败,防止"删断言让测试变绿"
|
|
184
|
+
3. `tools/verify-tests-can-fail.mjs`——故意写错一条断言,必须真的变红,防止第 1 条被改回去
|
|
185
|
+
4. `tools/check-html-sinks.mjs`——`innerHTML` 里拼接的量必须经过白名单转义函数,否则 CI 直接红
|
|
186
|
+
5. `tools/check-patterns.mjs`——engine 不得引用浏览器/Node API 与 `console`,不得用 `var`/`debugger`,`new Date()` 与 `Math.random` 只允许出现在白名单文件
|
|
187
|
+
6. `test/fuzz.test.mjs`——固定种子的随机生日扫射八个体系,覆盖边界日期、参数矩阵与"同参数必得同结果"
|
|
188
|
+
|
|
189
|
+
`client.js` 是构建产物,不要手改;改动记录见 [CHANGELOG.md](CHANGELOG.md)。
|
|
190
|
+
|
|
191
|
+
### 发版
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
# 先在 npm 生成 Granular Token:Read and write + 勾 Bypass 2FA
|
|
195
|
+
NPM_TOKEN=npm_xxx npm run release # 正式发布(会先跑测试与构建校验)
|
|
196
|
+
NPM_TOKEN=npm_xxx npm run release -- --dry-run # 只校验不发布
|
|
197
|
+
NPM_CLI=/path/to/npm-cli.js NPM_TOKEN=... npm run release # 本机没有 npm CLI 时
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
脚本会拦下:工作区不干净、`client.js` 未随源码重建、registry 上已有同版本;发布后自动核对新版本与 `dist-tags`,并提示补 `git tag`。
|
|
201
|
+
|
|
202
|
+
### 样式命名约定
|
|
203
|
+
|
|
204
|
+
面板的 CSS 是以 `<style>` 注入到宿主页面的,**没有 shadow DOM 隔离**,所以每个类名都带命名空间前缀,避免和宿主页面的同名元素互相染色:
|
|
205
|
+
|
|
206
|
+
| 前缀 | 归属 |
|
|
207
|
+
|---|---|
|
|
208
|
+
| `pp-` | 紫微盘骨架(宫格、宫位选中、三方四正、身宫) |
|
|
209
|
+
| `bz-` | 四柱八字表(干支大字、藏干、十神、五行旺衰) |
|
|
210
|
+
| `dt-` | 宫位详情面板 |
|
|
211
|
+
| `flow-` | 流月 / 流日 / 流时 |
|
|
212
|
+
| `ct-` / `ft-` | 盘心 / 盘脚 |
|
|
213
|
+
| `mp-` | 各模块根容器:`mp-it`(解析)、`mp-dl`(六壬)、`mp-hy`(六爻)、`mp-mh`(梅花)、`mp-tt`(塔罗)、`mp-hex`(爻线)、`mp-trib`(体用) |
|
|
214
|
+
| `hb-` / `tritag-` | 卦盒 / 体用标签 |
|
|
215
|
+
| `dl-` / `ss-` / `ssx-` / `ssg-` | 六壬盘块 / 神煞族 |
|
|
216
|
+
| `ask-` | 所问之事回显 |
|
|
217
|
+
|
|
218
|
+
两条硬规矩:
|
|
219
|
+
|
|
220
|
+
- **不用泛词做类名**(`.body`、`.big`、`.s`、`.p`、`.on`、`.it` 这类)。名字越泛,越容易在同一个文件里被两处语义共用——本项目已经栽过两次:`.pp-body` 同时是「整块视图容器」和「身宫格」,一次导致身宫整格消失,另一次的 `::after` 残骸在页面左上角飘出一个孤立的「身」方块。
|
|
221
|
+
- **模块根类名必须带前缀**。裸用的 `.it` / `.dl` / `.hy` 一旦注入全局,宿主页面的同名元素会被一起改写。
|
|
222
|
+
|
|
223
|
+
*2026-10 做过一轮全量整改:199 个类名按语义分组补齐前缀(约 540 处替换),计算逻辑一行未动,20 组断言与全量视口扫描全绿。*
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
## License
|
|
227
|
+
|
|
228
|
+
MIT
|
|
229
|
+
|