mingpan 0.1.1 → 0.1.3
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/README.md +116 -42
- package/dist/core/bazi/types.d.ts +0 -1
- package/dist/core/bazi/types.d.ts.map +1 -1
- package/dist/core/qimen/FlyingRule.d.ts +60 -0
- package/dist/core/qimen/FlyingRule.d.ts.map +1 -0
- package/dist/core/qimen/FlyingRule.js +94 -0
- package/dist/core/qimen/FlyingRule.js.map +1 -0
- package/dist/core/qimen/GongMapping.d.ts +29 -0
- package/dist/core/qimen/GongMapping.d.ts.map +1 -0
- package/dist/core/qimen/GongMapping.js +83 -0
- package/dist/core/qimen/GongMapping.js.map +1 -0
- package/dist/core/qimen/RotatingRule.d.ts +76 -0
- package/dist/core/qimen/RotatingRule.d.ts.map +1 -0
- package/dist/core/qimen/RotatingRule.js +126 -0
- package/dist/core/qimen/RotatingRule.js.map +1 -0
- package/dist/core/qimen/YinYangDunCalculator.d.ts +28 -0
- package/dist/core/qimen/YinYangDunCalculator.d.ts.map +1 -0
- package/dist/core/qimen/YinYangDunCalculator.js +79 -0
- package/dist/core/qimen/YinYangDunCalculator.js.map +1 -0
- package/dist/core/qimen/index.d.ts +10 -0
- package/dist/core/qimen/index.d.ts.map +1 -0
- package/dist/core/qimen/index.js +58 -0
- package/dist/core/qimen/index.js.map +1 -0
- package/dist/core/qimen/types.d.ts +19 -0
- package/dist/core/qimen/types.d.ts.map +1 -0
- package/dist/core/qimen/types.js +7 -0
- package/dist/core/qimen/types.js.map +1 -0
- package/dist/index.js +665 -164
- package/dist/index.js.map +1 -1
- package/dist/output/daliurenTextRenderer.d.ts +23 -0
- package/dist/output/daliurenTextRenderer.d.ts.map +1 -0
- package/dist/output/daliurenTextRenderer.js +109 -0
- package/dist/output/daliurenTextRenderer.js.map +1 -0
- package/dist/output/liuyaoTextRenderer.d.ts +12 -0
- package/dist/output/liuyaoTextRenderer.d.ts.map +1 -0
- package/dist/output/liuyaoTextRenderer.js +148 -0
- package/dist/output/liuyaoTextRenderer.js.map +1 -0
- package/dist/output/meihuaTextRenderer.d.ts +12 -0
- package/dist/output/meihuaTextRenderer.d.ts.map +1 -0
- package/dist/output/meihuaTextRenderer.js +53 -0
- package/dist/output/meihuaTextRenderer.js.map +1 -0
- package/dist/output/qimenTextRenderer.d.ts +40 -0
- package/dist/output/qimenTextRenderer.d.ts.map +1 -0
- package/dist/output/qimenTextRenderer.js +363 -0
- package/dist/output/qimenTextRenderer.js.map +1 -0
- package/dist/services/bazi/types.d.ts +0 -2
- package/dist/services/bazi/types.d.ts.map +1 -1
- package/dist/services/bazi/types.js.map +1 -1
- package/dist/services/daliuren/DaliurenService.d.ts +24 -0
- package/dist/services/daliuren/DaliurenService.d.ts.map +1 -0
- package/dist/services/daliuren/DaliurenService.js +67 -0
- package/dist/services/daliuren/DaliurenService.js.map +1 -0
- package/dist/services/daliuren/calculators/SanChuanCalculator.d.ts +87 -0
- package/dist/services/daliuren/calculators/SanChuanCalculator.d.ts.map +1 -0
- package/dist/services/daliuren/calculators/SanChuanCalculator.js +443 -0
- package/dist/services/daliuren/calculators/SanChuanCalculator.js.map +1 -0
- package/dist/services/daliuren/calculators/ShenShaCalculator.d.ts +33 -0
- package/dist/services/daliuren/calculators/ShenShaCalculator.d.ts.map +1 -0
- package/dist/services/daliuren/calculators/ShenShaCalculator.js +92 -0
- package/dist/services/daliuren/calculators/ShenShaCalculator.js.map +1 -0
- package/dist/services/daliuren/calculators/SiKeCalculator.d.ts +35 -0
- package/dist/services/daliuren/calculators/SiKeCalculator.d.ts.map +1 -0
- package/dist/services/daliuren/calculators/SiKeCalculator.js +121 -0
- package/dist/services/daliuren/calculators/SiKeCalculator.js.map +1 -0
- package/dist/services/daliuren/calculators/TianDiPanCalculator.d.ts +41 -0
- package/dist/services/daliuren/calculators/TianDiPanCalculator.d.ts.map +1 -0
- package/dist/services/daliuren/calculators/TianDiPanCalculator.js +138 -0
- package/dist/services/daliuren/calculators/TianDiPanCalculator.js.map +1 -0
- package/dist/services/daliuren/data/constants.d.ts +62 -0
- package/dist/services/daliuren/data/constants.d.ts.map +1 -0
- package/dist/services/daliuren/data/constants.js +240 -0
- package/dist/services/daliuren/data/constants.js.map +1 -0
- package/dist/services/daliuren/index.d.ts +11 -0
- package/dist/services/daliuren/index.d.ts.map +1 -0
- package/dist/services/daliuren/index.js +33 -0
- package/dist/services/daliuren/index.js.map +1 -0
- package/dist/services/daliuren/types.d.ts +152 -0
- package/dist/services/daliuren/types.d.ts.map +1 -0
- package/dist/services/daliuren/types.js +17 -0
- package/dist/services/daliuren/types.js.map +1 -0
- package/dist/services/liuyao/LiuyaoService.d.ts +37 -0
- package/dist/services/liuyao/LiuyaoService.d.ts.map +1 -0
- package/dist/services/liuyao/LiuyaoService.js +214 -0
- package/dist/services/liuyao/LiuyaoService.js.map +1 -0
- package/dist/services/liuyao/calculators/FushenCalculator.d.ts +40 -0
- package/dist/services/liuyao/calculators/FushenCalculator.d.ts.map +1 -0
- package/dist/services/liuyao/calculators/FushenCalculator.js +124 -0
- package/dist/services/liuyao/calculators/FushenCalculator.js.map +1 -0
- package/dist/services/liuyao/calculators/JintuishenCalculator.d.ts +37 -0
- package/dist/services/liuyao/calculators/JintuishenCalculator.d.ts.map +1 -0
- package/dist/services/liuyao/calculators/JintuishenCalculator.js +86 -0
- package/dist/services/liuyao/calculators/JintuishenCalculator.js.map +1 -0
- package/dist/services/liuyao/calculators/LiuqinCalculator.d.ts +24 -0
- package/dist/services/liuyao/calculators/LiuqinCalculator.d.ts.map +1 -0
- package/dist/services/liuyao/calculators/LiuqinCalculator.js +75 -0
- package/dist/services/liuyao/calculators/LiuqinCalculator.js.map +1 -0
- package/dist/services/liuyao/calculators/LiushenCalculator.d.ts +29 -0
- package/dist/services/liuyao/calculators/LiushenCalculator.d.ts.map +1 -0
- package/dist/services/liuyao/calculators/LiushenCalculator.js +58 -0
- package/dist/services/liuyao/calculators/LiushenCalculator.js.map +1 -0
- package/dist/services/liuyao/calculators/NajiaCalculator.d.ts +55 -0
- package/dist/services/liuyao/calculators/NajiaCalculator.d.ts.map +1 -0
- package/dist/services/liuyao/calculators/NajiaCalculator.js +87 -0
- package/dist/services/liuyao/calculators/NajiaCalculator.js.map +1 -0
- package/dist/services/liuyao/calculators/WangshuaiCalculator.d.ts +43 -0
- package/dist/services/liuyao/calculators/WangshuaiCalculator.d.ts.map +1 -0
- package/dist/services/liuyao/calculators/WangshuaiCalculator.js +100 -0
- package/dist/services/liuyao/calculators/WangshuaiCalculator.js.map +1 -0
- package/dist/services/liuyao/calculators/XunkongCalculator.d.ts +30 -0
- package/dist/services/liuyao/calculators/XunkongCalculator.d.ts.map +1 -0
- package/dist/services/liuyao/calculators/XunkongCalculator.js +58 -0
- package/dist/services/liuyao/calculators/XunkongCalculator.js.map +1 -0
- package/dist/services/liuyao/data/guagong.d.ts +94 -0
- package/dist/services/liuyao/data/guagong.d.ts.map +1 -0
- package/dist/services/liuyao/data/guagong.js +317 -0
- package/dist/services/liuyao/data/guagong.js.map +1 -0
- package/dist/services/liuyao/index.d.ts +13 -0
- package/dist/services/liuyao/index.d.ts.map +1 -0
- package/dist/services/liuyao/index.js +29 -0
- package/dist/services/liuyao/index.js.map +1 -0
- package/dist/services/liuyao/types.d.ts +154 -0
- package/dist/services/liuyao/types.d.ts.map +1 -0
- package/dist/services/liuyao/types.js +11 -0
- package/dist/services/liuyao/types.js.map +1 -0
- package/dist/services/meihua/MeihuaService.d.ts +32 -0
- package/dist/services/meihua/MeihuaService.d.ts.map +1 -0
- package/dist/services/meihua/MeihuaService.js +176 -0
- package/dist/services/meihua/MeihuaService.js.map +1 -0
- package/dist/services/meihua/calculators/BianguaCalculator.d.ts +21 -0
- package/dist/services/meihua/calculators/BianguaCalculator.d.ts.map +1 -0
- package/dist/services/meihua/calculators/BianguaCalculator.js +46 -0
- package/dist/services/meihua/calculators/BianguaCalculator.js.map +1 -0
- package/dist/services/meihua/calculators/HuguaCalculator.d.ts +22 -0
- package/dist/services/meihua/calculators/HuguaCalculator.d.ts.map +1 -0
- package/dist/services/meihua/calculators/HuguaCalculator.js +46 -0
- package/dist/services/meihua/calculators/HuguaCalculator.js.map +1 -0
- package/dist/services/meihua/calculators/QiguaCalculator.d.ts +40 -0
- package/dist/services/meihua/calculators/QiguaCalculator.d.ts.map +1 -0
- package/dist/services/meihua/calculators/QiguaCalculator.js +105 -0
- package/dist/services/meihua/calculators/QiguaCalculator.js.map +1 -0
- package/dist/services/meihua/calculators/TiyongCalculator.d.ts +34 -0
- package/dist/services/meihua/calculators/TiyongCalculator.d.ts.map +1 -0
- package/dist/services/meihua/calculators/TiyongCalculator.js +105 -0
- package/dist/services/meihua/calculators/TiyongCalculator.js.map +1 -0
- package/dist/services/meihua/data/bagua.d.ts +19 -0
- package/dist/services/meihua/data/bagua.d.ts.map +1 -0
- package/dist/services/meihua/data/bagua.js +81 -0
- package/dist/services/meihua/data/bagua.js.map +1 -0
- package/dist/services/meihua/index.d.ts +11 -0
- package/dist/services/meihua/index.d.ts.map +1 -0
- package/dist/services/meihua/index.js +27 -0
- package/dist/services/meihua/index.js.map +1 -0
- package/dist/services/meihua/types.d.ts +95 -0
- package/dist/services/meihua/types.d.ts.map +1 -0
- package/dist/services/meihua/types.js +6 -0
- package/dist/services/meihua/types.js.map +1 -0
- package/dist/services/qimen/QimenService.d.ts +93 -0
- package/dist/services/qimen/QimenService.d.ts.map +1 -0
- package/dist/services/qimen/QimenService.js +427 -0
- package/dist/services/qimen/QimenService.js.map +1 -0
- package/dist/services/qimen/calculators/BaMenCalculator.d.ts +53 -0
- package/dist/services/qimen/calculators/BaMenCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/BaMenCalculator.js +105 -0
- package/dist/services/qimen/calculators/BaMenCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/BaShenCalculator.d.ts +34 -0
- package/dist/services/qimen/calculators/BaShenCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/BaShenCalculator.js +57 -0
- package/dist/services/qimen/calculators/BaShenCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/GeJuCalculator.d.ts +141 -0
- package/dist/services/qimen/calculators/GeJuCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/GeJuCalculator.js +711 -0
- package/dist/services/qimen/calculators/GeJuCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/JiuGongCalculator.d.ts +56 -0
- package/dist/services/qimen/calculators/JiuGongCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/JiuGongCalculator.js +98 -0
- package/dist/services/qimen/calculators/JiuGongCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/JiuXingCalculator.d.ts +54 -0
- package/dist/services/qimen/calculators/JiuXingCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/JiuXingCalculator.js +117 -0
- package/dist/services/qimen/calculators/JiuXingCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/JuShuCalculator.d.ts +57 -0
- package/dist/services/qimen/calculators/JuShuCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/JuShuCalculator.js +115 -0
- package/dist/services/qimen/calculators/JuShuCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/PanTypeCalculator.d.ts +117 -0
- package/dist/services/qimen/calculators/PanTypeCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/PanTypeCalculator.js +237 -0
- package/dist/services/qimen/calculators/PanTypeCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/SanQiLiuYiCalculator.d.ts +50 -0
- package/dist/services/qimen/calculators/SanQiLiuYiCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/SanQiLiuYiCalculator.js +86 -0
- package/dist/services/qimen/calculators/SanQiLiuYiCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/ShenShaCalculator.d.ts +80 -0
- package/dist/services/qimen/calculators/ShenShaCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/ShenShaCalculator.js +300 -0
- package/dist/services/qimen/calculators/ShenShaCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/YongShenCalculator.d.ts +78 -0
- package/dist/services/qimen/calculators/YongShenCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/YongShenCalculator.js +497 -0
- package/dist/services/qimen/calculators/YongShenCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/ZeRiCalculator.d.ts +78 -0
- package/dist/services/qimen/calculators/ZeRiCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/ZeRiCalculator.js +431 -0
- package/dist/services/qimen/calculators/ZeRiCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/ZhuanPanCalculator.d.ts +118 -0
- package/dist/services/qimen/calculators/ZhuanPanCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/ZhuanPanCalculator.js +260 -0
- package/dist/services/qimen/calculators/ZhuanPanCalculator.js.map +1 -0
- package/dist/services/qimen/data/constants.d.ts +105 -0
- package/dist/services/qimen/data/constants.d.ts.map +1 -0
- package/dist/services/qimen/data/constants.js +295 -0
- package/dist/services/qimen/data/constants.js.map +1 -0
- package/dist/services/qimen/data/shensha-rules.d.ts +177 -0
- package/dist/services/qimen/data/shensha-rules.d.ts.map +1 -0
- package/dist/services/qimen/data/shensha-rules.js +397 -0
- package/dist/services/qimen/data/shensha-rules.js.map +1 -0
- package/dist/services/qimen/data/yongshen-rules.d.ts +115 -0
- package/dist/services/qimen/data/yongshen-rules.d.ts.map +1 -0
- package/dist/services/qimen/data/yongshen-rules.js +365 -0
- package/dist/services/qimen/data/yongshen-rules.js.map +1 -0
- package/dist/services/qimen/index.d.ts +20 -0
- package/dist/services/qimen/index.d.ts.map +1 -0
- package/dist/services/qimen/index.js +43 -0
- package/dist/services/qimen/index.js.map +1 -0
- package/dist/services/qimen/types.d.ts +390 -0
- package/dist/services/qimen/types.d.ts.map +1 -0
- package/dist/services/qimen/types.js +20 -0
- package/dist/services/qimen/types.js.map +1 -0
- package/dist/services/qimen/utils/gongUtils.d.ts +80 -0
- package/dist/services/qimen/utils/gongUtils.d.ts.map +1 -0
- package/dist/services/qimen/utils/gongUtils.js +164 -0
- package/dist/services/qimen/utils/gongUtils.js.map +1 -0
- package/dist/shared/types.d.ts +0 -1
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/utils/timeNormalization.d.ts +48 -0
- package/dist/utils/timeNormalization.d.ts.map +1 -0
- package/dist/utils/timeNormalization.js +69 -0
- package/dist/utils/timeNormalization.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# 命盘 MCP Server
|
|
2
2
|
|
|
3
|
-
[](https://github.com/ChesterRa/mingpan)
|
|
4
4
|
[](LICENSE)
|
|
5
5
|
|
|
6
|
-
**命盘(Mingpan)**
|
|
6
|
+
**命盘(Mingpan)** 是一个中华传统术数 MCP 服务,为 Claude 等 AI 应用提供命理排盘与占卜起卦的计算能力。
|
|
7
7
|
|
|
8
8
|
## 特性
|
|
9
9
|
|
|
10
10
|
- **MCP 原生**:无缝集成 Claude Desktop 及 Claude Code
|
|
11
|
-
- 🌏
|
|
11
|
+
- 🌏 **中文输出**:以简体为主,术语保持传统
|
|
12
12
|
- 📊 **结构化文本**:便于 AI 理解与分析的格式
|
|
13
13
|
|
|
14
14
|
## 配置方法
|
|
@@ -44,49 +44,120 @@ claude mcp add mingpan -- npx -y mingpan
|
|
|
44
44
|
|
|
45
45
|
> 请帮我排一个八字命盘,1992年4月12日7点30分,男性
|
|
46
46
|
|
|
47
|
+
> 请帮我起一个奇门遁甲时盘,2024年6月21日10点
|
|
48
|
+
|
|
47
49
|
## 工具列表
|
|
48
50
|
|
|
49
|
-
###
|
|
51
|
+
### 命理排盘
|
|
50
52
|
|
|
51
|
-
|
|
52
|
-
|------|------|
|
|
53
|
-
| `bazi_basic` | 八字命盘排盘(四柱、藏干、十神、五行力量) |
|
|
54
|
-
| `bazi_dayun` | 大运列表(十年一运) |
|
|
55
|
-
| `bazi_liunian` | 流年列表(指定年份范围) |
|
|
56
|
-
| `bazi_liuyue` | 流月列表(节气月,立春起算) |
|
|
57
|
-
| `bazi_liuri` | 流日列表(指定月份内每日) |
|
|
53
|
+
命理学基于出生时间推算人生运势,属于「命」的范畴。
|
|
58
54
|
|
|
59
|
-
|
|
55
|
+
#### 八字命理
|
|
60
56
|
|
|
61
|
-
| 工具
|
|
62
|
-
|
|
63
|
-
| `
|
|
64
|
-
| `
|
|
65
|
-
| `
|
|
66
|
-
| `
|
|
67
|
-
| `
|
|
68
|
-
| `ziwei_liuri` | 流日列表(农历日) |
|
|
57
|
+
| 工具 | 说明 |
|
|
58
|
+
| -------------- | ------------------------------------------ |
|
|
59
|
+
| `bazi_basic` | 八字命盘排盘(四柱、藏干、十神、五行力量) |
|
|
60
|
+
| `bazi_dayun` | 大运列表(十年一运) |
|
|
61
|
+
| `bazi_liunian` | 流年列表(指定年份范围) |
|
|
62
|
+
| `bazi_liuyue` | 流月列表(节气月,立春起算) |
|
|
63
|
+
| `bazi_liuri` | 流日列表(指定月份内每日) |
|
|
69
64
|
|
|
70
|
-
|
|
65
|
+
#### 紫微斗数
|
|
66
|
+
|
|
67
|
+
| 工具 | 说明 |
|
|
68
|
+
| ---------------- | ---------------------------------------- |
|
|
69
|
+
| `ziwei_basic` | 紫微命盘排盘(十二宫、主星、辅星、四化) |
|
|
70
|
+
| `ziwei_daxian` | 大限列表(十年一限) |
|
|
71
|
+
| `ziwei_xiaoxian` | 小限列表(每年一宫) |
|
|
72
|
+
| `ziwei_liunian` | 流年列表(指定年份范围) |
|
|
73
|
+
| `ziwei_liuyue` | 流月列表(农历月) |
|
|
74
|
+
| `ziwei_liuri` | 流日列表(农历日) |
|
|
75
|
+
|
|
76
|
+
### 占卜起卦
|
|
77
|
+
|
|
78
|
+
占卜术基于起卦时间或随机数推演卦象,属于「卜」的范畴。
|
|
79
|
+
|
|
80
|
+
#### 六爻
|
|
81
|
+
|
|
82
|
+
| 工具 | 说明 |
|
|
83
|
+
| -------------- | --------------------------------------------------- |
|
|
84
|
+
| `liuyao_basic` | 六爻排盘(本卦/变卦、纳甲、六亲、六神、世应、旬空) |
|
|
85
|
+
|
|
86
|
+
六爻输入为六个爻值(自下而上):
|
|
87
|
+
- 6 = 老阴(动爻,阴变阳)
|
|
88
|
+
- 7 = 少阳(静爻)
|
|
89
|
+
- 8 = 少阴(静爻)
|
|
90
|
+
- 9 = 老阳(动爻,阳变阴)
|
|
91
|
+
|
|
92
|
+
#### 梅花易数
|
|
93
|
+
|
|
94
|
+
| 工具 | 说明 |
|
|
95
|
+
| -------------- | ---------------------------------------- |
|
|
96
|
+
| `meihua_basic` | 梅花易数排盘(本卦/变卦/互卦、体用分析) |
|
|
71
97
|
|
|
72
|
-
|
|
98
|
+
支持两种起卦方式:
|
|
99
|
+
- 时间起卦:根据农历年月日时计算
|
|
100
|
+
- 数字起卦:根据两个数字计算
|
|
101
|
+
|
|
102
|
+
#### 大六壬
|
|
103
|
+
|
|
104
|
+
| 工具 | 说明 |
|
|
105
|
+
| ---------------- | ------------------------------------------------ |
|
|
106
|
+
| `daliuren_basic` | 大六壬排盘(天地盘、四课、三传、十二天将、神煞) |
|
|
107
|
+
|
|
108
|
+
大六壬为三式之首,需输入节气、农历月、日干支、时干支。
|
|
109
|
+
|
|
110
|
+
#### 奇门遁甲
|
|
111
|
+
|
|
112
|
+
| 工具 | 说明 |
|
|
113
|
+
| --------------- | ---- |
|
|
114
|
+
| `qimen_basic` | 奇门遁甲排盘(九宫布局、三奇六仪、八门九星八神、格局判断) |
|
|
115
|
+
| `qimen_yongshen`| 奇门用神分析(按事类选取用神,含主客、旺衰、空亡、入墓等) |
|
|
116
|
+
| `qimen_zeri` | 奇门择日(指定日期区间内筛选相对更佳的时机) |
|
|
117
|
+
|
|
118
|
+
奇门遁甲为三式之一,盘式与规则主要参考张志春《神奇之门》,支持:时盘/日盘/月盘/年盘、转盘/飞盘、拆补法/茅山法。
|
|
119
|
+
|
|
120
|
+
更多说明见:`docs/qimen-yongshen-guide.md`。
|
|
121
|
+
|
|
122
|
+
## 输入参数
|
|
73
123
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
|
77
|
-
|
|
|
78
|
-
|
|
|
79
|
-
|
|
|
80
|
-
|
|
|
81
|
-
|
|
|
82
|
-
|
|
|
124
|
+
### 命理工具(八字/紫微)
|
|
125
|
+
|
|
126
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
127
|
+
| --------- | ------- | ---- | ---------------------------- |
|
|
128
|
+
| year | number | ✓ | 出生年份(1900-2100) |
|
|
129
|
+
| month | number | ✓ | 出生月份(1-12) |
|
|
130
|
+
| day | number | ✓ | 出生日期(1-31) |
|
|
131
|
+
| hour | number | ✓ | 出生时辰(0-23) |
|
|
132
|
+
| minute | number | | 出生分钟(0-59),默认 0 |
|
|
133
|
+
| gender | string | ✓ | `male` / `female` |
|
|
134
|
+
| longitude | number | | 出生地经度,用于真太阳时校正 |
|
|
135
|
+
| isLunar | boolean | | 是否为农历输入,默认 false |
|
|
136
|
+
|
|
137
|
+
### 占卜工具(六爻/梅花/大六壬)
|
|
138
|
+
|
|
139
|
+
占卜工具使用起卦时间而非出生时间,具体参数请参考各工具说明。
|
|
140
|
+
|
|
141
|
+
### 奇门遁甲工具
|
|
142
|
+
|
|
143
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
144
|
+
| ------------ | ------- | ---- | ---- |
|
|
145
|
+
| year | number | ✓ | 起盘年份(1900-2100) |
|
|
146
|
+
| month | number | ✓ | 起盘月份(1-12) |
|
|
147
|
+
| day | number | ✓ | 起盘日期(1-31) |
|
|
148
|
+
| hour | number | ✓ | 起盘时辰(0-23) |
|
|
149
|
+
| minute | number | | 分钟(0-59),默认 0 |
|
|
150
|
+
| isLunar | boolean | | 是否为农历输入,默认 false |
|
|
151
|
+
| panType | string | | `时盘` / `日盘` / `月盘` / `年盘`,默认 `时盘` |
|
|
152
|
+
| panStyle | string | | `转盘` / `飞盘`,默认 `转盘` |
|
|
153
|
+
| zhiRunMethod | string | | `chaibu`(拆补法)/ `maoshan`(茅山法),默认 `chaibu` |
|
|
83
154
|
|
|
84
155
|
## 月份基准说明
|
|
85
156
|
|
|
86
|
-
| 系统 | 月份基准
|
|
87
|
-
|
|
88
|
-
| 八字 | 节气月(立春起算) | 公历日
|
|
89
|
-
| 紫微 | 农历月(初一起算) | 农历日
|
|
157
|
+
| 系统 | 月份基准 | 日期基准 |
|
|
158
|
+
| ---- | ------------------ | -------- |
|
|
159
|
+
| 八字 | 节气月(立春起算) | 公历日 |
|
|
160
|
+
| 紫微 | 农历月(初一起算) | 农历日 |
|
|
90
161
|
|
|
91
162
|
## 开发
|
|
92
163
|
|
|
@@ -100,18 +171,21 @@ npm run dev # 监听变化
|
|
|
100
171
|
|
|
101
172
|
## 依赖
|
|
102
173
|
|
|
103
|
-
| 库
|
|
104
|
-
|
|
105
|
-
| `@modelcontextprotocol/sdk` | MCP 协议实现
|
|
106
|
-
| `lunar-javascript`
|
|
107
|
-
| `iztro`
|
|
108
|
-
| `zod`
|
|
174
|
+
| 库 | 用途 |
|
|
175
|
+
| --------------------------- | ---------------- |
|
|
176
|
+
| `@modelcontextprotocol/sdk` | MCP 协议实现 |
|
|
177
|
+
| `lunar-javascript` | 农历/公历转换 |
|
|
178
|
+
| `iztro` | 紫微斗数计算引擎 |
|
|
179
|
+
| `zod` | 输入参数校验 |
|
|
109
180
|
|
|
110
181
|
## 路线图
|
|
111
182
|
|
|
112
183
|
- [x] 八字基础排盘与时运列表
|
|
113
184
|
- [x] 紫微基础排盘与时运列表
|
|
114
|
-
- [
|
|
185
|
+
- [x] 六爻排盘
|
|
186
|
+
- [x] 梅花易数排盘
|
|
187
|
+
- [x] 大六壬排盘
|
|
188
|
+
- [x] 奇门遁甲排盘
|
|
115
189
|
|
|
116
190
|
## 许可证
|
|
117
191
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/bazi/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;CACjB;AAGD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,WAAW,oBAAoB;IACnC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;CACrC;AAGD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/bazi/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 洛书飞宫规则
|
|
3
|
+
* Luoshu flying rules for nine-palace calculations
|
|
4
|
+
*/
|
|
5
|
+
import type { GongWei } from './types';
|
|
6
|
+
/**
|
|
7
|
+
* 洛书飞布顺序 (顺飞) - 8宫版本(不含中宫)
|
|
8
|
+
* 从任意宫开始,按此顺序飞布
|
|
9
|
+
* 1(坎) -> 8(艮) -> 3(震) -> 4(巽) -> 9(离) -> 2(坤) -> 7(兑) -> 6(乾)
|
|
10
|
+
*/
|
|
11
|
+
export declare const LUOSHU_ORDER: GongWei[];
|
|
12
|
+
/**
|
|
13
|
+
* 洛书飞布顺序 (顺飞) - 9宫版本(含中宫)
|
|
14
|
+
* 用于三奇六仪天盘飞布
|
|
15
|
+
* 1(坎) -> 8(艮) -> 3(震) -> 4(巽) -> 5(中) -> 9(离) -> 2(坤) -> 7(兑) -> 6(乾)
|
|
16
|
+
*/
|
|
17
|
+
export declare const LUOSHU_ORDER_9: GongWei[];
|
|
18
|
+
/**
|
|
19
|
+
* 中宫寄宫 (天禽寄坤二)
|
|
20
|
+
*/
|
|
21
|
+
export declare const ZHONG_GONG_JI: GongWei;
|
|
22
|
+
/**
|
|
23
|
+
* 根据宫位获取飞布顺序中的索引
|
|
24
|
+
* @param gong 宫位 (1-9)
|
|
25
|
+
* @returns 索引 (0-7),中宫返回 -1
|
|
26
|
+
*/
|
|
27
|
+
export declare function getLuoShuIndex(gong: GongWei): number;
|
|
28
|
+
/**
|
|
29
|
+
* 根据索引获取飞布宫位
|
|
30
|
+
* @param index 索引(可以超过7,会自动取模)
|
|
31
|
+
* @returns 宫位
|
|
32
|
+
*/
|
|
33
|
+
export declare function getLuoShuGong(index: number): GongWei;
|
|
34
|
+
/**
|
|
35
|
+
* 根据宫位获取9宫飞布顺序中的索引
|
|
36
|
+
* @param gong 宫位 (1-9)
|
|
37
|
+
* @returns 索引 (0-8)
|
|
38
|
+
*/
|
|
39
|
+
export declare function getLuoShuIndex9(gong: GongWei): number;
|
|
40
|
+
/**
|
|
41
|
+
* 根据索引获取9宫飞布宫位
|
|
42
|
+
* @param index 索引(可以超过8,会自动取模)
|
|
43
|
+
* @returns 宫位
|
|
44
|
+
*/
|
|
45
|
+
export declare function getLuoShuGong9(index: number): GongWei;
|
|
46
|
+
/**
|
|
47
|
+
* 顺飞:从某宫开始顺时针飞布
|
|
48
|
+
* @param startGong 起始宫位
|
|
49
|
+
* @param steps 步数
|
|
50
|
+
* @returns 目标宫位
|
|
51
|
+
*/
|
|
52
|
+
export declare function flyForward(startGong: GongWei, steps: number): GongWei;
|
|
53
|
+
/**
|
|
54
|
+
* 逆飞:从某宫开始逆时针飞布
|
|
55
|
+
* @param startGong 起始宫位
|
|
56
|
+
* @param steps 步数
|
|
57
|
+
* @returns 目标宫位
|
|
58
|
+
*/
|
|
59
|
+
export declare function flyBackward(startGong: GongWei, steps: number): GongWei;
|
|
60
|
+
//# sourceMappingURL=FlyingRule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FlyingRule.d.ts","sourceRoot":"","sources":["../../../src/core/qimen/FlyingRule.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,OAAO,EAA6B,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,OAAO,EAAgC,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,OAAW,CAAC;AAExC;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAGpD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGpD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAErD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGrD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAOrE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAOtE"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 洛书飞宫规则
|
|
4
|
+
* Luoshu flying rules for nine-palace calculations
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ZHONG_GONG_JI = exports.LUOSHU_ORDER_9 = exports.LUOSHU_ORDER = void 0;
|
|
8
|
+
exports.getLuoShuIndex = getLuoShuIndex;
|
|
9
|
+
exports.getLuoShuGong = getLuoShuGong;
|
|
10
|
+
exports.getLuoShuIndex9 = getLuoShuIndex9;
|
|
11
|
+
exports.getLuoShuGong9 = getLuoShuGong9;
|
|
12
|
+
exports.flyForward = flyForward;
|
|
13
|
+
exports.flyBackward = flyBackward;
|
|
14
|
+
/**
|
|
15
|
+
* 洛书飞布顺序 (顺飞) - 8宫版本(不含中宫)
|
|
16
|
+
* 从任意宫开始,按此顺序飞布
|
|
17
|
+
* 1(坎) -> 8(艮) -> 3(震) -> 4(巽) -> 9(离) -> 2(坤) -> 7(兑) -> 6(乾)
|
|
18
|
+
*/
|
|
19
|
+
exports.LUOSHU_ORDER = [1, 8, 3, 4, 9, 2, 7, 6];
|
|
20
|
+
/**
|
|
21
|
+
* 洛书飞布顺序 (顺飞) - 9宫版本(含中宫)
|
|
22
|
+
* 用于三奇六仪天盘飞布
|
|
23
|
+
* 1(坎) -> 8(艮) -> 3(震) -> 4(巽) -> 5(中) -> 9(离) -> 2(坤) -> 7(兑) -> 6(乾)
|
|
24
|
+
*/
|
|
25
|
+
exports.LUOSHU_ORDER_9 = [1, 8, 3, 4, 5, 9, 2, 7, 6];
|
|
26
|
+
/**
|
|
27
|
+
* 中宫寄宫 (天禽寄坤二)
|
|
28
|
+
*/
|
|
29
|
+
exports.ZHONG_GONG_JI = 2;
|
|
30
|
+
/**
|
|
31
|
+
* 根据宫位获取飞布顺序中的索引
|
|
32
|
+
* @param gong 宫位 (1-9)
|
|
33
|
+
* @returns 索引 (0-7),中宫返回 -1
|
|
34
|
+
*/
|
|
35
|
+
function getLuoShuIndex(gong) {
|
|
36
|
+
if (gong === 5)
|
|
37
|
+
return -1; // 中宫不在飞布顺序中
|
|
38
|
+
return exports.LUOSHU_ORDER.indexOf(gong);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* 根据索引获取飞布宫位
|
|
42
|
+
* @param index 索引(可以超过7,会自动取模)
|
|
43
|
+
* @returns 宫位
|
|
44
|
+
*/
|
|
45
|
+
function getLuoShuGong(index) {
|
|
46
|
+
const normalizedIndex = ((index % 8) + 8) % 8;
|
|
47
|
+
return exports.LUOSHU_ORDER[normalizedIndex];
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* 根据宫位获取9宫飞布顺序中的索引
|
|
51
|
+
* @param gong 宫位 (1-9)
|
|
52
|
+
* @returns 索引 (0-8)
|
|
53
|
+
*/
|
|
54
|
+
function getLuoShuIndex9(gong) {
|
|
55
|
+
return exports.LUOSHU_ORDER_9.indexOf(gong);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* 根据索引获取9宫飞布宫位
|
|
59
|
+
* @param index 索引(可以超过8,会自动取模)
|
|
60
|
+
* @returns 宫位
|
|
61
|
+
*/
|
|
62
|
+
function getLuoShuGong9(index) {
|
|
63
|
+
const normalizedIndex = ((index % 9) + 9) % 9;
|
|
64
|
+
return exports.LUOSHU_ORDER_9[normalizedIndex];
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* 顺飞:从某宫开始顺时针飞布
|
|
68
|
+
* @param startGong 起始宫位
|
|
69
|
+
* @param steps 步数
|
|
70
|
+
* @returns 目标宫位
|
|
71
|
+
*/
|
|
72
|
+
function flyForward(startGong, steps) {
|
|
73
|
+
let actualStart = startGong;
|
|
74
|
+
if (actualStart === 5) {
|
|
75
|
+
actualStart = exports.ZHONG_GONG_JI; // 中宫寄坤二
|
|
76
|
+
}
|
|
77
|
+
const startIdx = getLuoShuIndex(actualStart);
|
|
78
|
+
return getLuoShuGong(startIdx + steps);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* 逆飞:从某宫开始逆时针飞布
|
|
82
|
+
* @param startGong 起始宫位
|
|
83
|
+
* @param steps 步数
|
|
84
|
+
* @returns 目标宫位
|
|
85
|
+
*/
|
|
86
|
+
function flyBackward(startGong, steps) {
|
|
87
|
+
let actualStart = startGong;
|
|
88
|
+
if (actualStart === 5) {
|
|
89
|
+
actualStart = exports.ZHONG_GONG_JI; // 中宫寄坤二
|
|
90
|
+
}
|
|
91
|
+
const startIdx = getLuoShuIndex(actualStart);
|
|
92
|
+
return getLuoShuGong(startIdx - steps);
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=FlyingRule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FlyingRule.js","sourceRoot":"","sources":["../../../src/core/qimen/FlyingRule.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA4BH,wCAGC;AAOD,sCAGC;AAOD,0CAEC;AAOD,wCAGC;AAQD,gCAOC;AAQD,kCAOC;AAtFD;;;;GAIG;AACU,QAAA,YAAY,GAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAEhE;;;;GAIG;AACU,QAAA,cAAc,GAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAErE;;GAEG;AACU,QAAA,aAAa,GAAY,CAAC,CAAC;AAExC;;;;GAIG;AACH,SAAgB,cAAc,CAAC,IAAa;IAC1C,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY;IACvC,OAAO,oBAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,KAAa;IACzC,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC9C,OAAO,oBAAY,CAAC,eAAe,CAAC,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,IAAa;IAC3C,OAAO,sBAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAC,KAAa;IAC1C,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC9C,OAAO,sBAAc,CAAC,eAAe,CAAC,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,SAAkB,EAAE,KAAa;IAC1D,IAAI,WAAW,GAAG,SAAS,CAAC;IAC5B,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,WAAW,GAAG,qBAAa,CAAC,CAAC,QAAQ;IACvC,CAAC;IACD,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAC7C,OAAO,aAAa,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,SAAkB,EAAE,KAAa;IAC3D,IAAI,WAAW,GAAG,SAAS,CAAC;IAC5B,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,WAAW,GAAG,qBAAa,CAAC,CAAC,QAAQ;IACvC,CAAC;IACD,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAC7C,OAAO,aAAa,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 九宫映射常量
|
|
3
|
+
* Gong (palace) mapping constants for Qimen calculations
|
|
4
|
+
*/
|
|
5
|
+
import type { GongWei, DiZhi, WuXing, TianGan } from './types';
|
|
6
|
+
/**
|
|
7
|
+
* 九宫名称 (洛书顺序)
|
|
8
|
+
* 1-坎、2-坤、3-震、4-巽、5-中、6-乾、7-兑、8-艮、9-离
|
|
9
|
+
*/
|
|
10
|
+
export declare const GONG_NAMES: Record<GongWei, string>;
|
|
11
|
+
/**
|
|
12
|
+
* 九宫五行
|
|
13
|
+
*/
|
|
14
|
+
export declare const GONG_WUXING: Record<GongWei, WuXing>;
|
|
15
|
+
/**
|
|
16
|
+
* 地支 -> 宫位映射
|
|
17
|
+
*/
|
|
18
|
+
export declare const DI_ZHI_GONG: Record<DiZhi, GongWei>;
|
|
19
|
+
/**
|
|
20
|
+
* 宫位冲对映射表
|
|
21
|
+
* 坎(1)↔离(9), 震(3)↔兑(7), 巽(4)↔乾(6), 坤(2)↔艮(8)
|
|
22
|
+
*/
|
|
23
|
+
export declare const CHONG_GONG_MAP: Record<GongWei, GongWei>;
|
|
24
|
+
/**
|
|
25
|
+
* 天干五合映射表(奇仪相合)
|
|
26
|
+
* 甲己合不在此表中,因为甲遁于六仪,不会出现在盘面上
|
|
27
|
+
*/
|
|
28
|
+
export declare const GAN_HE_MAP: Partial<Record<TianGan, TianGan>>;
|
|
29
|
+
//# sourceMappingURL=GongMapping.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GongMapping.d.ts","sourceRoot":"","sources":["../../../src/core/qimen/GongMapping.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAU9C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAU/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,CAa9C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAUnD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CASxD,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 九宫映射常量
|
|
4
|
+
* Gong (palace) mapping constants for Qimen calculations
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.GAN_HE_MAP = exports.CHONG_GONG_MAP = exports.DI_ZHI_GONG = exports.GONG_WUXING = exports.GONG_NAMES = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* 九宫名称 (洛书顺序)
|
|
10
|
+
* 1-坎、2-坤、3-震、4-巽、5-中、6-乾、7-兑、8-艮、9-离
|
|
11
|
+
*/
|
|
12
|
+
exports.GONG_NAMES = {
|
|
13
|
+
1: '坎',
|
|
14
|
+
2: '坤',
|
|
15
|
+
3: '震',
|
|
16
|
+
4: '巽',
|
|
17
|
+
5: '中',
|
|
18
|
+
6: '乾',
|
|
19
|
+
7: '兑',
|
|
20
|
+
8: '艮',
|
|
21
|
+
9: '离',
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* 九宫五行
|
|
25
|
+
*/
|
|
26
|
+
exports.GONG_WUXING = {
|
|
27
|
+
1: '水', // 坎
|
|
28
|
+
2: '土', // 坤
|
|
29
|
+
3: '木', // 震
|
|
30
|
+
4: '木', // 巽
|
|
31
|
+
5: '土', // 中
|
|
32
|
+
6: '金', // 乾
|
|
33
|
+
7: '金', // 兑
|
|
34
|
+
8: '土', // 艮
|
|
35
|
+
9: '火', // 离
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* 地支 -> 宫位映射
|
|
39
|
+
*/
|
|
40
|
+
exports.DI_ZHI_GONG = {
|
|
41
|
+
'子': 1,
|
|
42
|
+
'丑': 8,
|
|
43
|
+
'寅': 8,
|
|
44
|
+
'卯': 3,
|
|
45
|
+
'辰': 4,
|
|
46
|
+
'巳': 4,
|
|
47
|
+
'午': 9,
|
|
48
|
+
'未': 2,
|
|
49
|
+
'申': 2,
|
|
50
|
+
'酉': 7,
|
|
51
|
+
'戌': 6,
|
|
52
|
+
'亥': 6,
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* 宫位冲对映射表
|
|
56
|
+
* 坎(1)↔离(9), 震(3)↔兑(7), 巽(4)↔乾(6), 坤(2)↔艮(8)
|
|
57
|
+
*/
|
|
58
|
+
exports.CHONG_GONG_MAP = {
|
|
59
|
+
1: 9, // 坎 ↔ 离
|
|
60
|
+
9: 1,
|
|
61
|
+
3: 7, // 震 ↔ 兑
|
|
62
|
+
7: 3,
|
|
63
|
+
4: 6, // 巽 ↔ 乾
|
|
64
|
+
6: 4,
|
|
65
|
+
2: 8, // 坤 ↔ 艮
|
|
66
|
+
8: 2,
|
|
67
|
+
5: 5, // 中宫无对冲
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* 天干五合映射表(奇仪相合)
|
|
71
|
+
* 甲己合不在此表中,因为甲遁于六仪,不会出现在盘面上
|
|
72
|
+
*/
|
|
73
|
+
exports.GAN_HE_MAP = {
|
|
74
|
+
'乙': '庚',
|
|
75
|
+
'庚': '乙',
|
|
76
|
+
'丙': '辛',
|
|
77
|
+
'辛': '丙',
|
|
78
|
+
'丁': '壬',
|
|
79
|
+
'壬': '丁',
|
|
80
|
+
'戊': '癸',
|
|
81
|
+
'癸': '戊',
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=GongMapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GongMapping.js","sourceRoot":"","sources":["../../../src/core/qimen/GongMapping.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIH;;;GAGG;AACU,QAAA,UAAU,GAA4B;IACjD,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;CACP,CAAC;AAEF;;GAEG;AACU,QAAA,WAAW,GAA4B;IAClD,CAAC,EAAE,GAAG,EAAE,IAAI;IACZ,CAAC,EAAE,GAAG,EAAE,IAAI;IACZ,CAAC,EAAE,GAAG,EAAE,IAAI;IACZ,CAAC,EAAE,GAAG,EAAE,IAAI;IACZ,CAAC,EAAE,GAAG,EAAE,IAAI;IACZ,CAAC,EAAE,GAAG,EAAE,IAAI;IACZ,CAAC,EAAE,GAAG,EAAE,IAAI;IACZ,CAAC,EAAE,GAAG,EAAE,IAAI;IACZ,CAAC,EAAE,GAAG,EAAE,IAAI;CACb,CAAC;AAEF;;GAEG;AACU,QAAA,WAAW,GAA2B;IACjD,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;CACP,CAAC;AAEF;;;GAGG;AACU,QAAA,cAAc,GAA6B;IACtD,CAAC,EAAE,CAAC,EAAE,QAAQ;IACd,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC,EAAE,QAAQ;IACd,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC,EAAE,QAAQ;IACd,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC,EAAE,QAAQ;IACd,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC,EAAE,QAAQ;CACf,CAAC;AAEF;;;GAGG;AACU,QAAA,UAAU,GAAsC;IAC3D,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;CACT,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 转盘式旋转规则
|
|
3
|
+
* Rotating rules for Zhuan Pan style Qimen calculations
|
|
4
|
+
*
|
|
5
|
+
* 转盘式与飞盘式的区别:
|
|
6
|
+
* - 飞盘式:按洛书数字顺序飞布 (1→8→3→4→9→2→7→6)
|
|
7
|
+
* - 转盘式:按物理方向旋转(九宫格上顺/逆时针)
|
|
8
|
+
*
|
|
9
|
+
* 九宫格物理布局:
|
|
10
|
+
* ```
|
|
11
|
+
* 巽4 离9 坤2
|
|
12
|
+
* 震3 中5 兑7
|
|
13
|
+
* 艮8 坎1 乾6
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* 物理顺时针顺序(从坎1开始):
|
|
17
|
+
* 1(坎) → 8(艮) → 3(震) → 4(巽) → 9(离) → 2(坤) → 7(兑) → 6(乾) → 回到1
|
|
18
|
+
*
|
|
19
|
+
* 参考:《神奇之门》(张志春著)
|
|
20
|
+
*/
|
|
21
|
+
import type { GongWei } from './types';
|
|
22
|
+
/**
|
|
23
|
+
* 物理顺时针旋转顺序 - 8宫版本(不含中宫)
|
|
24
|
+
* 从坎1开始,顺时针:坎→艮→震→巽→离→坤→兑→乾
|
|
25
|
+
*/
|
|
26
|
+
export declare const PHYSICAL_CLOCKWISE_ORDER: GongWei[];
|
|
27
|
+
/**
|
|
28
|
+
* 物理逆时针旋转顺序 - 8宫版本(不含中宫)
|
|
29
|
+
* 从坎1开始,逆时针:坎→乾→兑→坤→离→巽→震→艮
|
|
30
|
+
*/
|
|
31
|
+
export declare const PHYSICAL_COUNTER_CLOCKWISE_ORDER: GongWei[];
|
|
32
|
+
/**
|
|
33
|
+
* 中宫寄宫 (天禽寄坤二)
|
|
34
|
+
*/
|
|
35
|
+
export declare const ZHONG_GONG_JI_ZHUAN: GongWei;
|
|
36
|
+
/**
|
|
37
|
+
* 根据宫位获取物理顺时针顺序中的索引
|
|
38
|
+
* @param gong 宫位 (1-9)
|
|
39
|
+
* @returns 索引 (0-7),中宫返回 -1
|
|
40
|
+
*/
|
|
41
|
+
export declare function getPhysicalClockwiseIndex(gong: GongWei): number;
|
|
42
|
+
/**
|
|
43
|
+
* 根据索引获取物理顺时针方向的宫位
|
|
44
|
+
* @param index 索引(可以超过7,会自动取模)
|
|
45
|
+
* @returns 宫位
|
|
46
|
+
*/
|
|
47
|
+
export declare function getPhysicalClockwiseGong(index: number): GongWei;
|
|
48
|
+
/**
|
|
49
|
+
* 根据宫位获取物理逆时针顺序中的索引
|
|
50
|
+
* @param gong 宫位 (1-9)
|
|
51
|
+
* @returns 索引 (0-7),中宫返回 -1
|
|
52
|
+
*/
|
|
53
|
+
export declare function getPhysicalCounterClockwiseIndex(gong: GongWei): number;
|
|
54
|
+
/**
|
|
55
|
+
* 根据索引获取物理逆时针方向的宫位
|
|
56
|
+
* @param index 索引(可以超过7,会自动取模)
|
|
57
|
+
* @returns 宫位
|
|
58
|
+
*/
|
|
59
|
+
export declare function getPhysicalCounterClockwiseGong(index: number): GongWei;
|
|
60
|
+
/**
|
|
61
|
+
* 转盘式旋转:从某宫开始旋转指定步数
|
|
62
|
+
* @param startGong 起始宫位
|
|
63
|
+
* @param steps 步数
|
|
64
|
+
* @param isYang 是否阳遁(阳遁顺时针,阴遁逆时针)
|
|
65
|
+
* @returns 目标宫位
|
|
66
|
+
*/
|
|
67
|
+
export declare function rotate(startGong: GongWei, steps: number, isYang: boolean): GongWei;
|
|
68
|
+
/**
|
|
69
|
+
* 计算两宫之间的旋转步数
|
|
70
|
+
* @param fromGong 起始宫位
|
|
71
|
+
* @param toGong 目标宫位
|
|
72
|
+
* @param isYang 是否阳遁
|
|
73
|
+
* @returns 步数
|
|
74
|
+
*/
|
|
75
|
+
export declare function getRotationSteps(fromGong: GongWei, toGong: GongWei, isYang: boolean): number;
|
|
76
|
+
//# sourceMappingURL=RotatingRule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RotatingRule.d.ts","sourceRoot":"","sources":["../../../src/core/qimen/RotatingRule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,OAAO,EAA6B,CAAC;AAE5E;;;GAGG;AACH,eAAO,MAAM,gCAAgC,EAAE,OAAO,EAA6B,CAAC;AAEpF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAW,CAAC;AAE9C;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAG/D;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAG/D;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAGtE;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGtE;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAelF;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAa5F"}
|