这个项目能做什么

紫微斗数是中国传统命理学的排盘推算体系。该项目是基于倪海夏《天纪》教学体系的开源排盘引擎,采用 Next.js 14(App Router)+ TypeScript 构建,涵盖排盘算法、知识库、古籍数据与前端界面,并附带大规模命盘样本数据集。作者提供线上站点 metisziwei.com 供直接体验。 核心排盘算法位于 lib/ziwei/ 目录:algorithm.ts 实现完整排盘流程,包括安命宫、定五行局、安十四主星、安辅星、排大限流年;sihua.ts 为四化飞星系统(禄权科忌),含各天干四化对照表;patterns.ts 是 1100 余行的格局知识库,覆盖紫府同宫、日月并明、七杀朝斗等经典格局的判定规则;heming-knowledge.ts 提供双盘合盘比对方法论;cities.ts 收录中国城市经纬度用于真太阳时校正;另有 constants.ts(天干地支与星曜常量)、types.ts(类型定义)与 famous.ts(历史名人命盘示例)。底层排盘依赖开源库 iztro 与 lunar-javascript。 古籍数据方面,lib/classics/ 收录《骨髓赋》《紫微斗数全集》(清代古本)与《紫微斗数全书》(陈希夷传本)的原文数据;lib/seo/ 提供 14 主星 × 12 宫位的结构化知识数据,可用于内容生成或知识库构建。 前端界面包含排盘工作台(命盘方格、宫位详情、星曜面板)、合盘分析页、支持全文搜索的古籍阅读器、命理百科(14 主星与 12 宫位知识页),支持亮色/暗色主题切换与移动端适配。样式采用 Tailwind CSS 与 CSS Variables 设计系统,动画使用 Framer Motion。 数据集:仓库 Releases 提供 v3.0 命盘样本数据集,共 518,400 条(覆盖年 60 × 月 12 × 日 30 × 时 12 × 性别 2 的组合),总大小约 5.5 GB,分 3 卷压缩并附 SHA256 校验文件。每条样本包含完整命盘 JSON 与 13 个主题的解读文本(命格总览、财运、事业、感情、健康等)。README 说明其可用于小模型微调语料、RAG 检索源、修改 patterns.ts 后的 A/B 基线对比以及命理研究与数据分析。 需要注意的边界:开源部分不包含 AI 解读 prompt、后端 API 路由(如 /api/interpret、/api/heming、/api/generate)、用户系统、服务端安全与部署配置。排盘算法与前端界面可独立运行;若需 AI 解读能力,需自行实现相应接口,README 建议参考 patterns.ts 与 heming-knowledge.ts 中的知识库,结合任意 LLM 构建 prompt。 快速开始:克隆仓库后执行 npm install,复制 .env.example 为 .env.local 并填入 AI API Key,再以 npm run dev 启动开发服务器。 许可:代码(lib/、app/、components/)采用 MIT 协议;样本数据集可自由使用(含商用),唯一要求是标注数据来源(attribution);古籍原文为公有领域。