bazi-chart

四柱八字排盘引擎 · 纯 Python 标准库 · 零依赖离线运行 · 支持 MCP(AI Agent)

Python ≥3.9MIT VSOP87D 历法真太阳时MCP stdio

▶ 在线排盘 Demo(浏览器本地运行,不上传数据)

GitHub 仓库 ↗ · pip install bazi-chart

它是什么

一个只做历法与排盘算法的 Python 库/CLI。节气由太阳视黄经实时推算(1900–2050 对照 JPL DE441 偏差 ≤1 分钟), 农历据权威朔望月年表逐日往返零误差;支持出生地真太阳时换算与跨日子时自动换日柱,并输出格局用神、神煞、大运流年。 随包附带 MCP server,可直接挂到 Claude Desktop 等 AI 客户端。
本项目是历法/算法工程,命理内容为民俗文化研究,不做命运预测。

与常见开源方案对比

能力bazi-chart (本项目)lunar-python / 多数 bazi 库TS 系 bazi-mcp
语言 / 运行Python,纯标准库Python(lunar)/ TSNode.js / TypeScript
历法实现自研 VSOP87D,无查表依赖独立算法 / 自带表多数依赖 tyme/lunar
真太阳时 + 跨日换柱有(经度+均时差,自动换日柱)部分支持部分支持
完全离线是,树莓派可跑是是
格局/用神/调候/神煞/大运含穷通宝鉴、子平格局成败等多为基础干支部分
MCP(AI Agent)内置 stdio server无有
结构化 JSONto_dict() / MCP 输出部分有

快速开始

pip install bazi-chart

# 文本命书(真太阳时按出生地经度)
bazi chart 1990-06-15 08:00 -g 男 --lon 117.0

# JSON 结构化排盘
bazi chart 1990-06-15 08:00 -g 男 --lon 117.0 --json --brief

# 农历 → 公历;二十四节气
bazi solar 1981 11 3
bazi terms 2026

# 自检(节气/农历/遁法/边界共 41 项)
bazi verify

MCP:挂到 AI 助手

启动命令 bazi-mcp(或 python -m bazi.mcp_server),stdio JSON-RPC,零依赖。 Claude Desktop 配置:
{
  "mcpServers": {
    "bazi": { "command": "bazi-mcp" }
  }
}
暴露 4 个工具,只返回确定性排盘事实,吉凶解读交给模型:
bazi_chart 四柱+大运+格局 bazi_liunian 流年 bazi_liuyue 十二流月 bazi_lunar 农历互转

作为库使用

from bazi import BaziChart

c = BaziChart(1990, 6, 15, 8, 0, gender="男", longitude=117.0)
print(c.four_pillars.ganzhi)          # 四柱干支
print(c.pattern.name, c.pattern.yongshen)   # 格局、用神
print([d.name for d in c.dayun])      # 大运
print(c.liunian(2026).relations)      # 某流年与原柱关系
import json; print(json.dumps(c.to_dict(), ensure_ascii=False))

适用 / 不适用

适合
· Python 后端 / 内网 / 树莓派离线排盘
· 给 AI Agent 提供准确八字数据
· 需要真太阳时与海外跨日场景
· 二次开发(JSON + 分层 API)
不包含
· 紫微斗数 / 奇门 / 六爻(专注四柱)
· 在线算命网站 / SaaS
· 命运预测结论(只给事实与传统规则标签)

bazi-chart · MIT License · 历法部分可独立验证(bazi verify 41 项)。
命理为传统民俗文化,相关结论无科学预测效力,仅供文化研究参考。