排盘归它算 · 解读归 AI

紫微斗数排盘引擎

输入公历生日和出生时辰,输出一张完整的紫微斗数命盘——十二宫、上百颗星、各层运限;再调用一次,就变成大模型读得懂的文字。Rust 核心,Rust / Python / Go 直接调用,排盘结果与 JS iztro 逐字段一致,716,314 例金标守着这条线。

不写代码?从这页开始 →
天机
兄弟辛巳
紫微
命宫壬午
—
父母癸未
破军
福德甲申
七杀
夫妻庚辰
—
田宅乙酉
太阳禄天梁
子女己卯
廉贞天府
官禄身丙戌
武曲权天相
财帛戊寅
天同忌巨门
疾厄己丑
贪狼
迁移戊子
太阴科
仆役丁亥
紫微斗数
阳历
2000-8-16
命主
破军
五行局
木三局
真实排盘结果:2000-8-16 寅时女命,与金标数据逐字段一致
金标对照用例
716,314
允许的差异
0
条格局判定
64
种输出语言
6

大模型拿到的是这样一段文字

一次调用生成整盘的结构化文本,直接贴进任何大模型就能开始问;括号是亮度与四化标记,运限另有同款输出。

它是怎么生成的 →
=== 基本信息 ===
性别: 女
阳历: 2000-8-16
农历: 二〇〇〇年七月十七
干支: 庚辰 甲申 丙午 庚寅
…
命宫地支: 午
身宫地支: 戌
命主: 破军
身主: 文昌
五行局: 木三局
生年四化: 太阳禄, 武曲权, 太阴科, 天同忌

=== 十二宫 ===

--- 财帛 ---
…
主星: 武曲(得)[权], 天相(庙)
辅星: 天马
杂耀: 解神, 三台, 天寿, 天巫, 天厨, 阴煞, 天哭
…(其余十一宫依次列全)

与 iztro 的关系

与 JS iztro 完全一致

  • 排盘、十二宫(含身宫、来因宫)、六层运限
  • 宫位查询、三方四正、飞星
  • 序列化 JSON 逐键一致
  • 716,314 例金标,零容忍差异

在 iztro 之上

  • 64 条格局判定——命中带成格宫位、口径与参与成格的星曜
  • 知识包——解读文本外置成可替换 JSON,内嵌默认包
  • 生辰反推——八字四柱 / 盘面特征反查候选生辰
完整对应关系 →
from x_iztro import Astro

astro = Astro()
# 时辰索引 2 = 寅时
chart = astro.by_solar("2000-8-16", 2, "female")

chart.soul                # 命主
chart.palace("soulPalace")  # 命宫
chart.patterns()          # 格局命中
astro.astrolabe_to_prompt(chart)  # 整盘 → 文本
  • 排盘与运限完整

    本命盘加大限(起运前为童限)、小限、流年、流月、流日、流时六个层级,四化、流曜、三方四正全部可取。

  • 流派与分界点可配置

    年分界、运限分界、虚岁、晚子时归属、安星流派、盘型六个开关,默认值与 iztro 一致;另支持自定义四化表与亮度表。

  • 语言无关的判断标识

    每个可翻译字段配一个稳定 key。判断逻辑写一次,在六种输出语言的盘上结果相同。

  • 面向 AI 的接口

    Prompt 输出格式确定、字段顺序稳定,可直接当 tool call 的返回值;文档站自带 llms.txt,任意文档页追加 .md 即纯文本。

  • 无全局状态
  • 非法输入不 panic
  • Python abi3 零依赖
  • Go 无 cgo
  • MIT 开源