文档

紫微斗数排盘引擎:与 JS iztro 逐字段零差异,附格局判定、知识包与生辰反推,一次调用转成大模型可读文本。Rust 核心,Rust / Python / Go 直接调用。

把出生时间算成一张完整的紫微斗数命盘,并能一键转成大模型读得懂的文字 —— 排盘归它算,解读归 AI。

一次调用得到的就是这样一段 Markdown——下面是完整的基本信息、十二宫总览、格局与第一宫, 其余十一宫同款列全,直接贴进任何大模型就能开始问:

# 命盘 2000-8-16 寅时 女

## 基本信息
- 阳历: 2000-8-16 · 农历: 二〇〇〇年七月十七 · 时辰: 寅时 (03:00~05:00)
- 四柱: 庚辰 甲申 丙午 庚寅 · 生肖: 龙 · 星座: 狮子座
- 五行局: 木三局 · 命主: 破军 · 身主: 文昌
- 命宫: 午 · 身宫: 戌 (官禄) · 来因宫: 辰 (夫妻)
- 生年四化: 太阳化禄→子女, 武曲化权→财帛, 太阴化科→仆役, 天同化忌→疾厄

## 十二宫总览
| 宫位 | 主星 | 辅星 | 大限 |
|---|---|---|---|
| **命宫** 午 | 紫微(庙) | 文曲(陷) | 3-12 |
| 兄弟 巳 | 天机(平) | — | 13-22 |
| 夫妻 辰 [来因宫] | 七杀(庙) | 右弼, 火星(陷) | 23-32 |
| 子女 卯 | 太阳(庙)化禄, 天梁(庙) | — | 33-42 |
| 财帛 寅 | 武曲(得)化权, 天相(庙) | 天马 | 43-52 |
| 疾厄 丑 | 天同(不)化忌, 巨门(不) | 天魁, 地劫 | 53-62 |
| 迁移 子 | 贪狼(旺) | 铃星(陷) | 63-72 |
| 仆役 亥 | 太阴(庙)化科 | — | 73-82 |
| 官禄 戌 [身宫] | 廉贞(利), 天府(庙) | 左辅 | 83-92 |
| 田宅 酉 | — | 地空, 擎羊(陷) | 93-102 |
| 福德 申 | 破军(得) | 文昌(得), 禄存 | 103-112 |
| 父母 未 | — | 天钺, 陀罗(庙) | 113-122 |

## 格局
- **府相朝垣** (命宫): 天府(庙), 天相(庙)

## 十二宫

### 命宫 (壬午) · 大限 3-12
- 主星: 紫微(庙)
- 辅星: 文曲(陷)
- 杂耀: 凤阁, 天福, 截路, 蜚廉, 年解
- 三方四正: 对宫 迁移 · 三合 财帛, 官禄
- 宫干壬飞化: 天梁化禄→子女, 紫微化权→命宫, 左辅化科→官禄, 武曲化忌→财帛
- 十二神: 长生·衰, 博士·青龙, 岁前·丧门, 将前·灾煞
- 小限虚岁: 5, 17, 29, 41, 53, 65, 77, 89, 101, 113

…(其余十一宫依次列全)

排盘结果对不对,有一条可验证的硬标准:与 JS iztro v2.6.1 逐字段零差异——这是复现口径,不是流派裁决——由 716,314 例金标测试守着, 见准确性保证。默认口径与 iztro 一致, 中州派与各分界点可切换。

从哪开始

iztro 没有的三件事

排盘之上的语义层,也是 AI 管线真正要用的部分——上游 iztro 没有对应 API:

按身份找路

三种编程语言,同一套结果

三套绑定调用同一份 Rust 核心,因此排盘结果逐字段相同。 判断方法基于语言无关标识,同一条分析规则用三种编程语言写出来,结果也一致。

use x_iztro::*;

let chart = by_solar("2000-8-16", 2, Gender::Female, true, Language::ZhCN, Config::default())?;
let soul = chart.palace(Palace::Soul).unwrap();

println!("{}", soul.has(&[StarKey::ZiweiMaj]));

三段代码给出同一个判断:这张盘的命宫里有紫微星(Python 打印 True, Rust 与 Go 打印 true)。三段用的都是语言无关标识 ziweiMaj—— 就算把盘换成英文或日文输出,判断结果也不变。

本页目录