GuYu BaZi

approved

by artemislin

Chart BaZi four pillars with luck cycles, drill-down flows, and dynamic shensha, and keep case notes linked two-way to your charts. Fully offline, zero network requests. - This plugin has not been manually reviewed by Obsidian staff.

1 stars34 downloadsUpdated 27d agoAGPL-3.0

谷雨八字(GuYu BaZi)

为职业命理师打造的四柱八字解读工作台 —— Obsidian 插件。

排盘、解读、记录,在同一个三栏工作区完成:左栏交互式盘面,中栏断案笔记(就是你库里的普通 Markdown 文件),批注与盘面双向联动——盘上的时点写进笔记,笔记里的时点一键回到盘面。

功能

  • 确定性排盘引擎 —— 四柱+藏干/十神/星运/自坐/空亡/纳音九行明细;真太阳时按出生地经度修正(内置全国 3000+ 区县坐标,省市区三级联动选择);1986–1991 年中国夏令时确认项(勾选自动减 1 小时按标准时排);晚子时两派可选(不换日/换日)。
  • 大运流年与逐级钻取 —— 大运 20 步、小运(含 0 岁小运期)、流年 → 节气流月 → 流日 → 流时逐级点选,选中的每一级都并入明细表、各带神煞。
  • 神煞,做到全 —— 原局 55+ 神煞,另有 131 条动态神煞面板(岁煞/季煞/月煞/旬煞/日干煞/日支煞六个视角切换),每条起法皆有古籍出处并由测试锁定;页底神煞总览按起法分组,「神煞=位 → 盘中落点」一目了然;自坐行下附十二长生总表速查(火土同宫)。
  • 笔记即数据库 —— 每个案例一篇 Markdown:生辰存在 frontmatter 里,重开笔记原样重现盘面。没有私有存储格式,你的数据永远是你的。
  • 批注双向联动 —— 盘面钻到哪级,点「✍ 批注」就把该时点的锚行插进笔记「人生节点」,光标落好直接写,盘面全程可见;点笔记里的批注卡片,盘面立刻还原到那个时点。
  • 三种录入 —— 公历、农历(支持闰月)、四柱反推生辰(逐柱渐进筛选,选齐自动查候选)。
  • 完全离线 —— 零联网、零遥测,客户生辰不出你的库。(插件会在本地扫描库内笔记的 frontmatter——这是同生辰重复检测与标签推荐的实现方式,全部在本机完成。)

安装

  • 社区插件市场(审核上架后):Obsidian → 设置 → 第三方插件 → 搜索「GuYu BaZi」。
  • 手动安装:从 最新 Release 下载 main.jsmanifest.jsonstyles.css 三个文件,放入 <你的库>/<配置目录>/plugins/guyu-bazi/,重载 Obsidian。

快速上手

  1. 点侧边栏的罗盘图标(或命令面板「打开工作台」)打开三栏工作台。
  2. +新盘 录入生辰(公历/农历/四柱反推),选出生地做真太阳时校准,排盘——断案笔记自动落在 八字剧本集/
  3. 点选流年/流月/流日/流时钻取,点 ✍ 批注 就地写下该时点的批语;中栏批注时间线上点任意卡片,盘面回到那个时点。

写进笔记的持久化格式(frontmatter 字段、批注行文法)见 docs/13,保证向后兼容——新版本插件永远读得懂旧笔记。

说明:三栏工作台仅桌面端可用;手机上断案笔记作为普通 Markdown 照常阅读。

开发

npm workspaces monorepo:packages/bazi-core(纯 TS 排盘引擎,零 Obsidian 依赖)、packages/bazi-view(共享渲染层)、apps/plugin(Obsidian 壳)。npm ci && npm run check 一条命令跑完类型检查、引擎测试与插件冒烟。引擎规则值由充分验证的测试套件锁定;本仓库内的合成测试样本锁定已验证引擎的输出(校准出处档案由维护者另行保存)。

许可

AGPL-3.0-only。打包了 tyme4ts(MIT),神煞规则表衍生自 chxb/shensha(MIT)——见 THIRD-PARTY-NOTICES.md

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.