文档

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

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

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

=== 基本信息 ===
性别: 女
阳历: 2000-8-16
农历: 二〇〇〇年七月十七
干支: 庚辰 甲申 丙午 庚寅
时辰: 寅时 (03:00~05:00)
星座: 狮子座
生肖: 龙
命宫地支: 午
身宫地支: 戌
命主: 破军
身主: 文昌
五行局: 木三局
生年四化: 太阳禄, 武曲权, 太阴科, 天同忌

=== 十二宫 ===

--- 财帛 ---
天干地支: 戊寅
大限: 43-52
小限虚岁: 9, 21, 33, 45, 57, 69, 81, 93, 105, 117
十二神: 绝, 飞廉, 吊客, 岁驿
主星: 武曲(得)[权], 天相(庙)
辅星: 天马
杂耀: 解神, 三台, 天寿, 天巫, 天厨, 阴煞, 天哭

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

排盘结果对不对,有一条可验证的硬标准:与 JS iztro v2.5.8 逐字段零差异——这是复现口径,不是流派裁决——由 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—— 就算把盘换成英文或日文输出,判断结果也不变。

本页目录