使用指南

AI Prompt 生成

把一张盘或一段运限转成结构化文本,直接交给大模型分析。

适合:所有人。这是这个库最直接的用法

要让大模型解读命盘,得先把盘描述给它。手工拼接这段描述既繁琐又容易漏字段, 所以 x-iztro 内置了两个生成函数。

函数内容
astrolabe_to_prompt本命盘:基本信息 + 十二宫的干支、大限、小限虚岁、四组十二神、三组星耀
horoscope_to_prompt运限:大限、小限、流年、流月、流日、流时及各自四化与流耀

两者都按盘面语言生成:中文盘出中文 prompt,英文盘出英文 prompt。

用法

natal = astro.astrolabe_to_prompt(chart)
fortune = astro.horoscope_to_prompt(chart, "2025-1-1", 0)

prompt = f"{natal}\n{fortune}"
let natal = astrolabe_to_prompt(&astrolabe, lang);
let fortune = horoscope_to_prompt(&astrolabe, &horoscope, lang);
natal, _ := chart.AstrolabeToPrompt()
fortune, _ := chart.HoroscopeToPrompt("2025-1-1", 0)

Rust 侧的 horoscope_to_prompt 接受已算好的运限对象; Python 与 Go 侧接受目标日期,内部完成运限计算。三者输出逐字一致。

本命盘 prompt 长什么样

下面是 2000-8-16 寅时 女这张盘的完整开头与前三宫:

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

=== 十二宫 ===

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

--- 夫妻 [来因] ---
天干地支: 庚辰
大限: 23-32
小限虚岁: 7, 19, 31, 43, 55, 67, 79, 91, 103, 115
十二神: 死, 将军, 岁建, 华盖
主星: 七杀(庙)
辅星: 右弼, 火星(陷)
杂耀: 封诰, 华盖

--- 官禄 [身宫] ---
天干地支: 丙戌
大限: 83-92
小限虚岁: 1, 13, 25, 37, 49, 61, 73, 85, 97, 109
十二神: 沐浴, 伏兵, 大耗, 月煞
主星: 廉贞(利), 天府(庙)
辅星: 左辅
杂耀: 天才, 天虚

十二宫按盘上位置顺序输出,不是按宫名顺序。

运限 prompt 长什么样

目标日期 2025-1-1 早子时:

=== 运限 ===
目标日期: 2025-1-1 / 二〇二四年腊月初二

--- 大限 ---
大限命宫: 本命夫妻 (庚辰)
  大限四化: 太阳, 武曲, 太阴, 天同
  夫妻 (财帛):
    主星: 武曲(得)[权], 天相(庙)
    辅星: 天马
    流耀: 运马
  兄弟 (子女):
    主星: 太阳(庙)[禄], 天梁(庙)
    流耀: 运曲
  ...

小限命宫: 本命官禄 (虚岁 25)
  主星: 廉贞(利), 天府(庙)
  辅星: 左辅
  杂耀: 天才, 天虚

--- 流年 ---
流年命宫: 本命夫妻 (甲辰)
  流年四化: 廉贞, 破军, 武曲, 太阳
  夫妻 (财帛):
    主星: 武曲(得)[权], 天相(庙)
    辅星: 天马
    流耀: 流禄, 流马
    十二神: 吊客, 岁驿
  ...

流月命宫: 本命仆役 (丁丑)
  流月宫名: 田宅, 官禄, 仆役, 迁移, 疾厄, 财帛, 子女, 夫妻, 兄弟, 命宫, 父母, 福德
  流月四化: 太阴, 天同, 天机, 巨门

流日命宫: 本命迁移 (庚午)
  流日宫名: 福德, 田宅, 官禄, 仆役, 迁移, 疾厄, 财帛, 子女, 夫妻, 兄弟, 命宫, 父母
  流日四化: 太阳, 武曲, 太阴, 天同

流时命宫: 本命迁移 (丙子)
  流时宫名: 福德, 田宅, 官禄, 仆役, 迁移, 疾厄, 财帛, 子女, 夫妻, 兄弟, 命宫, 父母
  流时四化: 天同, 天机, 文昌, 廉贞

格式约定

记号含义
天同(利)括号内是亮度
太阳(旺)[权]方括号内是四化
--- 官禄 [身宫] ---方括号标记该宫同时是身宫
--- 夫妻 [来因] ---方括号标记该宫是来因宫
大限命宫: 本命夫妻 (庚辰)这一层的命宫落在本命的哪个宫,括号内是该层干支
小限命宫: 本命官禄 (虚岁 25)小限落宫,括号内是虚岁
夫妻 (财帛):运限段中,前面是这一层重排后的宫名,括号内是本命宫名
流月宫名: …该层重排后的十二宫名,按盘上位置排列

括号里是本命宫名,别读反

夫妻 (财帛): 说的是「这一格在本大限里叫夫妻宫,它在本命盘上是财帛宫」。 运限解读要以前面那个名字为准,括号里的名字是为了让你能对回本命盘。 见运限

日期字段原样回显入参,不补零:传 "2000-8-16" 输出就是 阳历: 2000-8-16

篇幅

中文盘的本命 prompt 约 1,780 字符,运限段约 1,770 字符,两段合起来不到 4,000 字符。 英文盘更长(星名是单词而非两字),本命约 3,470、运限约 3,860 字符。 任何主流模型的上下文窗口都装得下,通常不必裁剪。

接入大模型

生成的文本是纯描述,不含指令。实际使用时在前面加上你的分析要求:

system = "你是紫微斗数分析师。基于给定命盘作答,不要编造盘上没有的信息。"
user = f"""{astro.astrolabe_to_prompt(chart)}

{astro.horoscope_to_prompt(chart, "2025-1-1", 0)}

请分析这个人 2025 年的事业运势。"""

更完整的接法(工具调用、别让模型自己排盘)见让 AI 解读命盘

用中文盘还是英文盘

优先用中文盘。英文盘的星名走 iztro 的意译词表(紫微是 emperor、七杀是 marshal), 亮度退化成 [+3] 这类记号,四化写成 A/B/C/D —— 这套写法与英文命理界的通行译法不同,模型未必认得。

主流模型的中文命理术语能力都不差,直接喂中文 prompt 效果更好。 确实需要英文时,建议附上一份星名对照表

需要更细的控制

生成函数覆盖的是通用场景。如果要自定义 prompt 结构(比如只描述特定几个宫、 或者输出 JSON 而非文本),直接遍历星盘数据自己拼即可 —— 所有字段都是公开的,见数据结构字典

本页目录