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

发布时间:2026/10/17 14:51:07

开源八字排盘计算引擎: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。
延伸阅读

更多相关文章

2026/10/17 15:57:06

工业具身智能落地的核心:从算法到工程化系统底座

工业具身智能,简单说就是能让机器人、机械臂这些“身体”在工厂里自己看、自己想、自己干。听起来很未来,但真往产线上一放,你会发现一堆头疼事:新任务来了,得重新编程调试;换个产线环境,感知和…

2026/10/16 20:09:28

Codex 写代码一天搞定,团队接手却翻了三次车

聊《Codex到底能不能干活?别只看 Demo 和跑分》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。 摘要 摘要:Codex、Claude Code 这些 AI 编程工具个人用得很爽,但团队一接入真实…

2026/10/17 4:36:35

Android性能调优实战:Scene自定义调度实现省电与游戏高帧

Scene 是一款功能强大的 Android 系统级性能与功耗管理工具,它允许用户深度介入 CPU、GPU、内存等核心硬件的调度策略。对于想要在手机日常使用中延长续航,或在游戏中榨取更高帧率的用户来说,掌握 Scene 的自定义调度功能,意味着能…

2026/10/17 15:55:41

AI辅助MBA论文写作:9个靠谱工具与避坑指南

先给一句实话:AI论文网站不是“一键生成MBA论文”的神器,谁要是这么跟你保证,趁早拉黑。真正靠谱的用法,是把这些工具当成贴身研究助理——帮你找文献、理逻辑、调格式、改病句,但论文里的核心判断、行业分析和决策建议…

2026/10/17 15:55:41

软件系统实施方案怎么写?从环境基线到验收交付的落地指南

简介:这份资源是一份面向软件项目实施人员、项目经理及IT管理者的《软件系统实施方案》文档,聚焦于软件项目从启动到交接的全流程落地方法,适合需要编写实施方案或规范实施流程的从业者参考。压缩包内共1个doc文件,约72KB&#xf…

2026/10/17 15:55:41

MATLAB实现Koch曲线:分形迭代与复数坐标可视化

1. 项目概述:一条“自相似”的线,如何用几十行代码画出无限细节?你有没有见过雪花的边缘?放大再放大,它总在重复着相似的锯齿结构;或者海岸线的轮廓,无论卫星图还是显微镜下的岩石断面&#xff…

2026/10/17 15:55:41

HTTP协议分析实验:Wireshark抓包拆解请求/响应报文与GET/POST对比

HTTP协议分析实验,是计算机网络课程里最能让人“开窍”的一个实验。我当初做这个实验的时候,第一次在抓包工具里亲眼看到自己访问网页时发出的那些字节,才真正理解课本上说的“请求报文”“响应报文”不是抽象框架,而是实实在在写…

2026/10/17 15:55:41

Git 心智模型与事故恢复:新人版本控制实战指南

新同事第一天入职,组长让我抽个空把开发环境给他过一遍。我原本的计划特别朴素:花二十分钟把 Git 的日常链路演示一遍,能 clone、add、commit、push、pull,先跑起来别出岔子就行。结果这位新同学第一句“Git 和 SVN 到底差在哪”就…

2026/10/17 15:50:40

CC-Switch 完整安装与使用指南:从下载到 API 配置全流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 5:33:43

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/16 4:03:48

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/17 14:20:58

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/17 0:04:32

PlanarSLAM:面向曼哈顿世界的点线面联合SLAM系统

简介:本资源是面向机器人视觉与SLAM研究者的C开源RGB-D SLAM系统实现,专为结构化室内场景(如办公室、走廊)设计,通过融合点、线、平面三类几何特征并引入“曼哈顿世界”假设,显著提升位姿跟踪鲁棒性与稠密地…

2026/10/17 0:04:32

TDH Workflow调度实战:从DAG依赖驱动到任务编排与故障排查

1. 从一个调度脚本说起:TDH Workflow到底在解决什么问题第一次接触TDH的Workflow,是在一个数据清洗项目里。当时团队每天要跑几十个ETL任务,任务之间有严格的先后依赖——A表清洗完才能跑B表的关联,B表跑完才能触发C表的聚合。最开…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑