最近把自己使用的一套八字与紫微斗数排盘工具整理成了首个公开版本:
赛博大师·八字与紫微排盘计算器
GitHub:
https://github.com/liver-detox/bazi-ziwei-calculator
Release v0.1.0:
https://github.com/liver-detox/bazi-ziwei-calculator/releases/tag/v0.1.0
先说明项目边界:
它不是“AI 算命”工具,也不会直接输出吉凶断语。
它主要负责生成、保存和核验八字与紫微斗数的基础排盘信息,然后把这份相对稳定、详细、可复查的命理底稿,交给 ChatGPT 、Claude 、Gemini 、Kimi 等大模型进一步分析。
现在很多同学使用大模型分析八字或紫微时,通常只会提供一句:
我的出生时间是某年某月某日某时,请帮我排盘并分析。
看起来很方便,但实际使用中容易遇到几个问题。
八字和紫微排盘并不只是把出生时间直接填进去。
其中还可能涉及:
当这些前提没有明确时,不同模型可能会自行补全不同的假设。
结果就是:
明明输入的是同一个出生时间,不同模型却可能得到不同的八字、不同的紫微命盘,甚至同一个模型在不同对话中也可能给出不同结果。
如果最基础的盘都没有固定,后面的分析无论写得多详细,都很难判断是否建立在正确的数据之上。
在一次较长的命理分析中,大模型通常需要同时完成:
这些任务全部混在同一个上下文里,会增加模型出错的概率。
随着对话越来越长,还可能出现:
因此,一份明确、清晰、详细的排盘信息,往往比只提供一个出生时间更加可靠。
它不能消除大模型的所有幻觉,但至少可以把模型最容易出错的一部分——基础排盘计算——提前固定下来。
如果每次都让模型从出生时间开始重新排盘,那么当两个模型得出不同结论时,很难判断分歧到底来自哪里:
这个项目希望把命理分析拆成两个层次:
负责生成并保存:
再把同一份排盘底稿分别交给不同模型、提示词或命理流派进行分析。
这样做以后,可以实现:
换句话说,这个项目希望先建立一份相对稳定的 “命理数据底稿”,再让大模型在这份底稿上进行分析。
八字和紫微斗数本身存在不同时间口径和流派差异,因此项目不会简单地宣称:
输入一个时间,就一定只有唯一正确答案。
遇到晚子时、时间边界或口径差异时,项目会尽量保留:
我希望它更像一个可以复查的计算工作台,而不是一个只展示最终结果的黑盒。
127.0.0.1;双盘总览:
大运流年与紫微流年联动:
默认脱敏导出:
以上演示截图全部使用从零构造的合成案例,不包含真实人物资料。
主要技术栈:
历法与紫微基础能力使用了 lunar-typescript、iztro 等现有开源依赖。
这个项目并不把第三方基础算法包装成“全部自研”。我主要补充的是:
仓库中已经包含:
首个公开版本目前只正式验证了 macOS ,需要安装 Node.js 24 或更高版本。
git clone https://github.com/liver-detox/bazi-ziwei-calculator.git
cd bazi-ziwei-calculator
npm ci
npm run build
npm start
启动成功后,会自动在默认浏览器打开本机页面。
想先查看一个不包含真实资料的命令行案例,也可以运行:
npm run demo
准备贡献或验证发布版本时,可以运行:
npm run test:release
这是 v0.1.0 ,目前还有不少明确的边界:
.app、.dmg 或 Windows 安装包;这些内容没有隐藏,README 和版本说明中都做了标注。
目前最需要以下几类反馈:
如果觉得这种“先固定排盘底稿,再交给不同模型解读”的方向有价值,也欢迎给项目一个 Star 。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.