紫微斗数命理解读(ziwei-reading)
数据源与安装(新环境开箱即用)
- 数据集开源仓库:https://github.com/Renhuai123/ziwei-doushu(紫微斗数开源排盘引擎,CC BY 4.0)
- 数据发布位置:该仓库 Releases → v4.0-13d,按年份分 77 个
year-YYYY.jsonl.zst(压缩后共约 161MB,解压后 56.6GB),另有全年份总包ziwei-interp-v4-all.tar - 自动获取:
lookup.py检测到所需年份的数据文件缺失时,会自动只下载该年份的.zst(约 2MB/年)并解压到数据目录,然后继续查询——新装用户无需任何手动准备。首次下载耗时取决于网速,属正常现象。 - 手动获取(预下载或全量安装):
python <skill目录>/scripts/setup_data.py --year 1990(单年)或--all(全量) - 手动命令行方式(与官方 README 一致):
bash gh release download v4.0-13d --repo Renhuai123/ziwei-doushu -p "year-1990.jsonl.zst" zstd -d --long=27 year-1990.jsonl.zst # --long=27 必须带上(长窗口压缩),否则报错 - 解压工具:优先用 Python
zstandard包(pip install zstandard,自动支持长窗口);否则用系统zstdCLI(Windows 可从 https://github.com/facebook/zstd/releases 下载 zstd-v*-win64.zip) - 默认数据目录
D:\claude\ziwei-interp-v4-all,可用--data-dir指向其他目录;下载后自动做 SHA256 校验(校验失败仅告警) - 数据集
ms字段为命宫第一颗主星,命宫无主星时为null,输出显示"无主星(命宫空宫)",属正常数据而非缺漏
数据集概况
- 位置:
D:\claude\ziwei-interp-v4-all(可用--data-dir覆盖) - 覆盖:1950-2026 年公历真实日期 × 12 时辰(子=0 … 亥=11)× 男女 = 674,976 个命盘
- 存储:每年一个
year-YYYY.jsonl(解压后约 700MB),每行一个命盘 JSON - 字段:
k(键,格式YYYY-MM-DD-时辰索引-性别)、y/m/d/h/g(生日信息)、ms(命主星)、c(13 个主题的解读正文,Markdown 格式) - 许可:CC BY 4.0
查询流程
- 收集生辰三要素:公历生日(YYYY-MM-DD)、出生时辰、性别。三要素缺任何一项都必须先向用户询问,不得猜测。
- 用户只知农历时,可尝试用pip install lunardate后的lunardate.LunarDate换算成公历;换算失败则请用户自行确认公历日期。
- 用户不知道确切时辰时,告知:时辰是数据检索的必要条件,可询问大概时间段(如"早上 7-9 点"即辰时)。 - 确定要取的主题:根据用户问题映射主题(见下表)。用户泛泛而问(如"帮我看看命")时默认取
overview;问什么取什么,可一次取多个(逗号分隔)。不要一次取全部 13 个主题(单盘全主题约 2.8 万 token,会撑爆上下文),按需分次取。 - 运行查询:
python C:/Users/24761/.workbuddy/skills/ziwei-reading/scripts/lookup.py \
--date 1988-05-20 --hour 14 --gender female --topics overview,career
参数说明:
- --hour:接受中文时辰(子、丑时…)或 0-23 钟点(14 表示 14 点 → 未时)。内部按 ((h+1)//2)%12 归入时辰索引。
- --topics:逗号分隔,默认 overview。
- --max-chars:单主题截断上限,默认 12000 字符;需要完整原文时设 0。
- --no-download:缺数据时不自动下载,直接报错。
- 查询耗时数秒(需流式扫描对应年份文件);若触发了自动下载,首次要多等下载+解压时间。
- 作答:把返回的解读原文作为唯一事实来源组织回答。原文本身已按口语化中文写好,可直接引用、摘编;用户追问某个细节时再补取对应主题。
时辰对照表(必查)
| 时辰 | 钟点 | 索引 | 时辰 | 钟点 | 索引 |
|---|---|---|---|---|---|
| 子 | 23:00-00:59 | 0 | 午 | 11:00-12:59 | 6 |
| 丑 | 01:00-02:59 | 1 | 未 | 13:00-14:59 | 7 |
| 寅 | 03:00-04:59 | 2 | 申 | 15:00-16:59 | 8 |
| 卯 | 05:00-06:59 | 3 | 酉 | 17:00-18:59 | 9 |
| 辰 | 07:00-08:59 | 4 | 戌 | 19:00-20:59 | 10 |
| 巳 | 09:00-10:59 | 5 | 亥 | 21:00-22:59 | 11 |
主题对照表
| 代码 | 含义 | 代码 | 含义 |
|---|---|---|---|
| overview | 命格总览 | children | 子女 |
| personality | 性格 | move | 迁移外出 |
| love | 爱情婚姻 | friends | 朋友人际 |
| career | 事业 | home | 家宅置业 |
| wealth | 财富 | spirit | 心灵精神 |
| health | 健康 | parents | 父母 |
| family | 家庭 |
作答规范
- 忠于原文:所有论断必须来自数据集返回内容,禁止自行编造星曜、宫位论断补充"命理细节"。可以做口语化转述、总结、举一反三地解释原文含义,但不能新增原文没有的断语。
- 结构清晰:先给一句话定调(原文通常自带"一句话定调"),再按用户关心的话题分段展开;用户问多领域时分别小标题作答。
- 跨盘对比:用户要求比较两个人(如合婚、合伙)时,分别查询两人记录,取相关主题后对比作答,注明各自命主星。
- 年份超界:生日在 1950 年前或 2026 年后时,明确告知数据集覆盖范围,不强行作答。
- 免责声明:回答结尾以一句自然的话说明命理解读仅供参考娱乐,人生走向取决于自身选择,不要说教。
- 隐私:不主动留存用户的生日信息到记忆文件。