资讯详情

资讯详情

建站行业动态 · 设计趋势 · 数字化升级干货

开源八字排盘计算引擎:1000条断语可追溯,纯前端零依赖

开源八字排盘计算引擎:1000条断语可追溯,纯前端零依赖 开源八字排盘计算引擎1000条断语可追溯纯前端零依赖作者阮小贰GitHubruanxiaoer888/bazi-engine协议MIT版本v1.3.6一、项目概述bazi-engine 是一个纯前端、零依赖的八字排盘计算引擎核心定位是传统文化的计算层而非解读层。它解决三个核心问题排盘不准—— 市面工具在节气切分、真太阳时校正、夏令时处理等细节上经常翻车黑箱不可信—— 开源透明每一步计算逻辑可查1000条断语均标注古籍出处隐私泄露—— 纯本地计算零外部依赖无需联网即可运行核心数据1000 条带古籍出处的断语库24 项神煞规则206 年节气数据1895-2100MIT 开源协议可商用二、快速开始2.1 安装方式一npm推荐npminstallbazi-engine# 或yarnaddbazi-engine方式二浏览器直接引入下载engine.dist.js在 HTML 中引入scriptsrc./engine.dist.js/scriptscript// window.BaziEngine 全局可用constchartwindow.BaziEngine.paipan(张三,男,1990,6,15,14,0,广州,yes);/script方式三Skill 市场安装OpenClaw 生态openclaw skillsinstallruanxiaoer888/bazi-engine2.2 Node.js 用法ES Module推荐importBaziEnginefrombazi-engine;// 排盘输入出生信息返回结构化命盘constchartBaziEngine.paipan(张三,男,1990,6,15,14,0,广州,yes);console.log(chart.pillars);// 四柱干支: { year: 庚午, month: 壬午, day: ..., hour: ... }console.log(chart.five);// 五行分布: { gold: 2, wood: 1, water: 2, fire: 2, earth: 1 }console.log(chart.xiYong);// 喜用神: { xi: 水, yong: 金 }console.log(chart.shenSha);// 神煞数组// 匹配断语返回带古籍出处的解析结果construlesBaziEngine.matchRules(chart);console.log(rules[0].conclusion);// 日主强旺财官为用console.log(rules[0].source);// 古籍出处: 《滴天髓》console.log(rules[0].confidence);// 置信度: 0.92CommonJSconstBaziEnginerequire(bazi-engine);constchartBaziEngine.paipan(张三,男,1990,6,15,14,0,广州,yes);2.3 浏览器用法!DOCTYPEhtmlhtmlheadscriptsrc./engine.dist.js/script/headbodyscriptconstchartwindow.BaziEngine.paipan(李四,女,1995,3,8,10,30,北京,yes);console.log(chart);/script/body/html三、技术架构3.1 五层架构设计输入层 → 历法计算层 → 命盘生成层 → 规则匹配层 → 输出层层级职责核心技术输入层接收出生时间、地点、性别参数校验、时区转换历法计算层节气切分、真太阳时校正、夏令时处理天文算法、历法数据库命盘生成层四柱排盘、十神配置、纳音计算干支推演、五行生克规则匹配层1000条断语匹配、神煞判定规则引擎、模式匹配输出层结构化数据、JSON/对象输出数据序列化3.2 核心算法精度// 真太阳时校正考虑经度差 均时差consttrueSolarTimecalculateTrueSolarTime(birthTime,longitude);// 节气精确切分支持 1895-2100 年constsolarTermgetSolarTerm(year,month,day,hour);// 早晚子时处理23:00-00:00 跨日判定constdayPillarhandleZiShi(hour,minute,solarTerm);精度对比场景常见工具bazi-engine立春前后出生部分工具切分错误精确到分钟级新疆/西藏出生普遍使用北京时间真太阳时自动校正1986-1991 夏令时多数忽略完整夏令时数据库23:00-00:00 出生子时归属混乱早晚子时严格区分四、数据结构设计4.1 排盘返回数据结构{// 基本信息name:张三,gender:male,// male / femalebirthDate:1990-06-15,birthTime:14:00,location:广州,// 四柱年柱、月柱、日柱、时柱pillars:{year:{gan:庚,zhi:午,full:庚午},month:{gan:壬,zhi:午,full:壬午},day:{gan:辛,zhi:丑,full:辛丑},hour:{gan:乙,zhi:未,full:乙未}},// 五行分布five:{gold:2,// 金wood:1,// 木water:2,// 水fire:2,// 火earth:1// 土},// 十神配置shiShen:{year:正印,month:正官,day:日主,hour:食神},// 纳音naYin:路旁土,// 节气信息solarTerm:{current:夏至,next:小暑,daysToNext:12},// 真太阳时信息trueSolar:{adjustedTime:13:52,longitude:113.3,timeDiff:-8// 分钟}}4.2 断语数据结构{conclusion:日主强旺财官为用宜从事管理类工作,source:《滴天髓·何知章》,confidence:0.92,// 置信度 0-1category:格局,// 格局/大运/流年/神煞conditions:[// 匹配条件{field:dayGan,operator:strong},{field:five,operator:balance,target:[gold,water]}]}上图是基于引擎输出的结构化数据生成的六维人格图谱可直接嵌入前端界面数据驱动不依赖主观解读。五、1000条断语库说明所有断语均来自权威古籍每条标注出处《滴天髓》—— 格局判断、用神分析《子平真诠》—— 十神配置、六亲关系《三命通会》—— 神煞判定、特殊格局《穷通宝鉴》—— 调候用神、五行喜忌断语验证示例// 查询某条断语的原始出处construleBaziEngine.getRuleById(42);console.log(rule.source);// 《滴天髓·何知章》console.log(rule.original);// 原始古籍文本六、工程化集成6.1 Vue/React 项目集成// Vue 3 Composition APIimport{ref,onMounted}fromvue;importBaziEnginefrombazi-engine;exportfunctionuseBaziPaipan(){constchartref(null);constpaipan(name,gender,year,month,day,hour,minute,place){chart.valueBaziEngine.paipan(name,gender,year,month,day,hour,minute,place,yes);returnchart.value;};constgetRules(){if(!chart.value)return[];returnBaziEngine.matchRules(chart.value);};return{chart,paipan,getRules};}6.2 服务端渲染SSR支持// Nuxt.js / Next.js 服务端使用constBaziEnginerequire(bazi-engine);// 服务端排盘exportdefaultfunctionhandler(req,res){const{name,gender,year,month,day,hour}req.query;constchartBaziEngine.paipan(name,gender,year,month,day,hour,0,北京,yes);res.json(chart);}6.3 大模型对接// 将排盘结果结构化后喂给 LLM 做解读constchartBaziEngine.paipan(张三,男,1990,6,15,14,0,广州,yes);construlesBaziEngine.matchRules(chart);constprompt基于以下八字排盘结果请做详细解读 四柱${chart.pillars.year.full}${chart.pillars.month.full}${chart.pillars.day.full}${chart.pillars.hour.full}五行金${chart.five.gold}木${chart.five.wood}水${chart.five.water}火${chart.five.fire}土${chart.five.earth}喜用神${chart.xiYong.xi}喜${chart.xiYong.yong}用 匹配断语${rules.map(r-${r.conclusion}${r.source}).join(\n)}请从格局、大运、流年三个维度做分析。;// 发送给 LLM...七、性能与体积指标数值引擎体积engine.dist.js287 KBgzip 后 ~95 KB排盘计算耗时 10ms单次1000条断语匹配 50ms内存占用 5 MB运行时离线可用✅ 零外部依赖八、相关项目项目说明链接bazi-engine本引擎计算层GitHub本初bazi-app基于引擎的 C 端应用整车已上线九、写在最后做这个项目的过程中最大的体会是传统文化里有很多可以被翻译成算法的东西。八字的排盘计算、五行的生克关系、大运流年的推演逻辑在代码里实现起来非常优雅。如果你也是程序员对传统历法、天文计算、符号推理感兴趣欢迎来 GitHub 看看源码提 Issue 或 PR。⚠️声明本文及相关项目仅供学习研究和传统文化探索参考不涉及任何命运预测、人生指导或决策建议。排盘结果不代表任何确定性结论请理性看待。Star 支持如果这个项目对你有帮助欢迎点个 ⭐ 支持一下。十、应用案例本初bazi-app基于 bazi-engine 引擎我做了一个完整的 C 端应用——本初。如果说 bazi-engine 是发动机那本初就是整车——在引擎基础上加了交互界面、大模型解读、历史记录管理等功能面向普通用户直接使用。上图是年度能量趋势可视化基于引擎排盘结果的数据驱动呈现帮助用户理解自己的节律周期。产品加载界面采用解析出厂设定的说法比传统命理术语更贴近技术语境底部仅供娱乐与文化参考声明也是合规要求。十一、项目活跃度目前累计 104 次下载单文件 287KB支持 UMD 双端浏览器/Node安装命令openclaw skills install ruanxiaoer888/bazi-engine。

相关资讯