From 7d06dddd3e73137bb1d528db9b74e87e5ae6013f Mon Sep 17 00:00:00 2001 From: 732642856 <732642856@qq.com> Date: Sat, 25 Apr 2026 00:51:12 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=96=B0=E5=A2=9E=20README.md=20+=20re?= =?UTF-8?q?quirements.txt=20+=20=E5=8D=87=E7=BA=A7=20.gitignore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - README.md: 完整项目文档(快速安装/22子命令使用示例/目录结构/Skill安装方法) - requirements.txt: Python 依赖清单(核心依赖 pyswisseph) - .gitignore: 升级为完整版(Python/IDE/macOS/数据库/日志) --- .gitignore | 40 +++++- README.md | 328 +++++++++++++++++++++++++++++++++++++++++++++++ requirements.txt | 9 ++ 3 files changed, 372 insertions(+), 5 deletions(-) create mode 100644 README.md create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore index 0944a6d1..ae875b76 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,40 @@ +# Python __pycache__/ -*.pyc -*.pyo -*.db -*.sqlite -hermes_memory.db/ +*.py[cod] +*$py.class +*.so *.egg-info/ dist/ build/ +*.egg + +# 数据库文件 +*.db +*.db-journal +*.db-wal +*.sqlite3 + +# IDE +.vscode/ +.idea/ +*.swp +*.swo +*~ + +# macOS .DS_Store +.AppleDouble +.LSOverride + +# 环境变量 +.env +.venv +env/ +venv/ + +# 日志 +*.log + +# 临时文件 +*.tmp +*.bak diff --git a/README.md b/README.md new file mode 100644 index 00000000..5cc2b056 --- /dev/null +++ b/README.md @@ -0,0 +1,328 @@ +# 🪐 Jyotish Vedic Astrology Engine + +**印度占星(Jyotish)专业解盘与推运系统 v3.7.1** + +基于 Swiss Ephemeris 天文计算库的完整吠陀占星引擎,覆盖从排盘计算到精确推运应期预测的全链路能力。 + +## ✨ 核心特性 + +- **🧮 统一计算引擎**:22 个 CLI 子命令,一条命令完成全链路分析 +- **🔮 全自动综合解盘**:`full-reading` 一键串联 13 个计算模块 +- **📐 BPHS 十六分盘**:D2-D60 全部 16 种分盘精确计算 +- **👁️ 精确相位系统**:度数级 Drishti 相位分析(tight/moderate/loose) +- **📿 Jaimini 完整系统**:Chara Karaka + Chara Dasha + Karakamsha +- **🌟 高级 Nakshatra**:Tara Bala + Sub-Lord KP 系统 +- **🚪 Argala 门闩系统**:行星干预 + Virodha 反干预 +- **🎂 Tajika 年运盘**:Muntha + YearLord + Mudda Dasha + Tri-Pataka +- **💑 合盘分析**:Ashta Koota 36 分制 + Mangal Dosha +- **💪 Shadbala 六重力量**:完整的 Parashara 系统评估 +- **🎯 Ashtakavarga 八分法**:BPHS 完整表(SAV=337) +- **✅ R1-R10 数学验证** + **P1-P12 行星审计管线** + +## 📋 系统要求 + +- **Python**: 3.11+ +- **核心依赖**: `pyswisseph`(Swiss Ephemeris 天文计算库) +- **可选依赖**: `requests`(名人数据查询)、`pandas`(批量数据处理) + +## 🚀 快速安装 + +### 1. 克隆仓库 + +```bash +git clone git@github.com:732642856/yinduzhanxing.git +cd yinduzhanxing +``` + +### 2. 安装 Python 依赖 + +```bash +pip install -r requirements.txt +``` + +### 3. 验证安装 + +```bash +python3 scripts/jyotish_engine.py chart --year REDACTED_YEAR --month 4 --day 17 --hour 14 --minute 45 --lat 36.6 --lon 114.5 --tz 8 +``` + +如果输出包含行星位置 JSON,说明安装成功。 + +## 🎯 使用方法 + +### 三种输入路径 + +| 路径 | 适用场景 | 操作 | +|------|---------|------| +| **路径 A** | 有精确出生信息(日期+时间+地点) | 直接调用 `full-reading` | +| **路径 B** | 有 PDF/文字星盘报告 | 提取数据后分析(无需重新排盘) | +| **路径 C** | 出生时间不明确 | 互动式矫正 → 确认后走路径 A | + +### 路径 A:精准出生信息(推荐) + +```bash +# 一键全链路计算(13 模块自动串行) +python3 scripts/jyotish_engine.py full-reading \ + --year REDACTED_YEAR --month 4 --day 17 --hour 14 --minute 45 \ + --lat 36.6 --lon 114.5 --tz 8 + +# 输出包含: +# chart + dasha + yoga + varga_full + aspects + jaimini + +# nakshatra_adv + argala + tajika + shadbala + ashtakavarga + +# validation + audit +``` + +### 单模块调用 + +```bash +# 基础星盘计算 +python3 scripts/jyotish_engine.py chart \ + --year REDACTED_YEAR --month 4 --day 17 --hour 14 --minute 45 \ + --lat 36.6 --lon 114.5 --tz 8 --validate + +# Vimshottari 大运时间线 +python3 scripts/jyotish_engine.py dasha \ + --moon-lon 326.5 --birthdate REDACTED_DATE --today 2026-04-25 + +# Yoga 格局识别 +python3 scripts/jyotish_engine.py yoga \ + --ascendant Leo --planets 'Sun:Aries:9,Moon:Aquarius:7,...' + +# 十六分盘计算 +python3 scripts/jyotish_engine.py varga-full \ + --year REDACTED_YEAR --month 4 --day 17 --hour 14 --minute 45 \ + --lat 36.6 --lon 114.5 --tz 8 --divisions D9,D60 + +# 精确相位分析 +python3 scripts/jyotish_engine.py aspects \ + --year REDACTED_YEAR --month 4 --day 17 --hour 14 --minute 45 \ + --lat 36.6 --lon 114.5 --tz 8 + +# Jaimini 系统(Chara Karaka + Chara Dasha + Karakamsha) +python3 scripts/jyotish_engine.py jaimini \ + --year REDACTED_YEAR --month 4 --day 17 --hour 14 --minute 45 \ + --lat 36.6 --lon 114.5 --tz 8 --mode all + +# 高级 Nakshatra(Tara Bala + Sub-Lord) +python3 scripts/jyotish_engine.py nakshatra-adv \ + --year REDACTED_YEAR --month 4 --day 17 --hour 14 --minute 45 \ + --lat 36.6 --lon 114.5 --tz 8 --mode all + +# Argala 门闩分析 +python3 scripts/jyotish_engine.py argala \ + --year REDACTED_YEAR --month 4 --day 17 --hour 14 --minute 45 \ + --lat 36.6 --lon 114.5 --tz 8 + +# Tajika 年运盘 +python3 scripts/jyotish_engine.py tajika \ + --year REDACTED_YEAR --month 4 --day 17 --hour 14 --minute 45 \ + --lat 36.6 --lon 114.5 --tz 8 --age 33 + +# Shadbala 六重力量 +python3 scripts/jyotish_engine.py shadbala \ + --year REDACTED_YEAR --month 4 --day 17 --hour 14 --minute 45 \ + --lat 36.6 --lon 114.5 --tz 8 + +# Ashtakavarga 八分法 +python3 scripts/jyotish_engine.py ashtakavarga \ + --year REDACTED_YEAR --month 4 --day 17 --hour 14 --minute 45 \ + --lat 36.6 --lon 114.5 --tz 8 + +# 合盘分析(Ashta Koota 36 分制) +python3 scripts/jyotish_engine.py synastry \ + --moon1 310.89 --moon2 45.5 --mars1 90.43 --mars2 120.3 + +# 事件预测 +python3 scripts/jyotish_engine.py predict \ + --chart '' --event-type marriage + +# 名人案例查询 +python3 scripts/jyotish_engine.py celebrity --name Einstein + +# R1-R10 数学验证 +python3 scripts/jyotish_engine.py validate \ + --year REDACTED_YEAR --month 4 --day 17 --hour 14 --minute 45 \ + --lat 36.6 --lon 114.5 --tz 8 + +# P1-P12 行星审计 +python3 scripts/jyotish_engine.py audit \ + --year REDACTED_YEAR --month 4 --day 17 --hour 14 --minute 45 \ + --lat 36.6 --lon 114.5 --tz 8 + +# 行星过境查询 +python3 scripts/jyotish_engine.py transit --year 2026 --month 7 + +# MD → HTML 报告生成(羊皮纸主题) +python3 scripts/jyotish_engine.py report ./report_folder \ + --name "名字" --lagna "Leo" --lang cn +``` + +### 全部 22 个子命令速查 + +| 子命令 | 功能 | 核心参数 | +|--------|------|----------| +| **`full-reading`** | ⭐ 全自动综合解盘(13 模块) | `--year/month/day/hour/minute/lat/lon/tz` | +| `chart` | 完整星盘计算 | `--year/month/day/hour/minute/lat/lon/tz` | +| `dasha` | Vimshottari 大运时间线 | `--moon-lon --birthdate --today` | +| `yoga` | Yoga 格局识别 | `--ascendant --planets` | +| `predict` | 三层验证法事件预测 | `--chart --event-type` | +| `varga` | 分盘计算(D9/D10) | `--year/month/day/hour/minute/lat/lon/tz` | +| `varga-full` | BPHS 十六分盘(D2-D60) | `--divisions D9,D60` | +| `aspects` | 度数精确相位(Drishti) | 出生信息 | +| `jaimini` | Jaimini 完整系统 | `--mode all` | +| `nakshatra-adv` | 高级 Nakshatra 分析 | `--mode all` | +| `argala` | Argala 门闩系统 | 出生信息 | +| `tajika` | Tajika 年运盘 | `--age 33` | +| `synastry` | 合盘分析 | `--moon1/2 --mars1/2` | +| `shadbala` | 六重力量计算 | 出生信息 | +| `ashtakavarga` | 八分法(SAV=337) | 出生信息 | +| `validate` | R1-R10 数学验证 | 出生信息 | +| `audit` | P1-P12 行星审计 | 出生信息 | +| `celebrity` | 名人案例查询 | `--name` | +| `db-stats` | 数据库统计 | 无 | +| `transit` | 行星过境查询 | `--year --month` | +| `memory` | Hermes 记忆系统 | `--action store/search` | +| `report` | MD→HTML 报告 | 文件夹路径 | + +## 📁 目录结构 + +``` +yinduzhanxing/ +├── README.md # 本文件 +├── CHANGELOG.md # 版本更新日志 +├── SKILL.md # WorkBuddy Skill 配置文件 +├── requirements.txt # Python 依赖 +├── .gitignore # Git 忽略规则 +│ +├── scripts/ # 计算引擎(19 个 Python 文件) +│ ├── jyotish_engine.py # ⭐ 统一 CLI 入口(22 子命令) +│ ├── varga.py # BPHS 十六分盘 +│ ├── aspects.py # 精确相位系统 +│ ├── jaimini.py # Jaimini 系统 +│ ├── nakshatra_advanced.py # 高级 Nakshatra +│ ├── argala.py # Argala 门闩 +│ ├── tajika.py # Tajika 年运盘 +│ ├── synastry.py # 合盘分析 +│ ├── shadbala.py # Shadbala 六重力量 +│ ├── ashtakavarga.py # Ashtakavarga 八分法 +│ ├── event_prediction_model.py # 事件预测规则引擎 +│ ├── validate.py # R1-R10 数学验证 +│ ├── dasha_calculator.py # Dasha 计算 +│ ├── dasha_calculator_enhanced.py # 增强版 Dasha +│ ├── dasha_analyzer.py # Dasha 分析器 +│ ├── hermes_bridge.py # Hermes 桥接层 +│ ├── hermes_memory_core.py # Hermes 记忆核心 +│ ├── report_builder.py # MD→HTML 报告生成 +│ └── example.py # 示例脚本 +│ +├── references/ # 知识库(74 个 Markdown 文件) +│ ├── ai-reading-workflow-prompt.md # ⭐ AI 解盘工作流 v3.0 +│ ├── pdf-chart-reading-guide.md # PDF 星盘读取指南 +│ ├── birth-time-rectification-advanced.md # 出生时间矫正 +│ ├── jaimini-complete-system.md # Jaimini 完整体系 +│ ├── kp-astrology-complete-system.md # KP 占星体系 +│ ├── ... (详见 SKILL.md 参考资料) +│ +└── assets/ # 模板文件 + ├── birth_time_rectification_template.md # 矫正信息收集模板 + ├── chart_analysis_template.md # 星盘分析模板 + ├── event_timing_template.md # 事件时机模板 + └── timing-prediction-template.md # 推运应期模板 +``` + +## 🔧 作为 WorkBuddy Skill 使用 + +本项目是一个标准的 WorkBuddy Skill,可以直接安装到 WorkBuddy 中: + +### 方法 1:手动安装 + +```bash +# 将仓库克隆到 WorkBuddy skills 目录 +git clone git@github.com:732642856/yinduzhanxing.git \ + ~/.workbuddy/skills/jyotish-vedic-astrology +``` + +安装后,在 WorkBuddy 对话中提到任何印度占星相关关键词(如"印度占星"、"Jyotish"、"解盘"、"推运"等),Skill 即自动激活。 + +### 方法 2:Skill 市场安装(即将支持) + +通过 WorkBuddy 的 Skill 市场搜索 `jyotish-vedic-astrology` 一键安装。 + +### Skill 触发词 + +以下关键词可触发 Skill: +- 印度占星、吠陀占星、Jyotish、印占 +- 解盘、推运、星盘分析、排盘、计算星盘 +- Dasha、Transit、Nakshatra、Yoga +- 出生时间矫正、生时矫正 +- Shadbala、Ashtakavarga、Drishti、Jaimini +- 合盘、婚姻匹配、年运盘 +- 以及更多(详见 SKILL.md) + +## 🧪 验证与测试 + +```bash +# 运行 full-reading 验证(一楠星盘) +python3 scripts/jyotish_engine.py full-reading \ + --year REDACTED_YEAR --month 4 --day 17 --hour 14 --minute 45 \ + --lat 36.6 --lon 114.5 --tz 8 + +# 预期输出:12 modules computed, 0 errors +``` + +## 📊 数据源 + +引擎自动读取以下外部数据(如存在): + +| 数据源 | 路径 | 说明 | +|--------|------|------| +| 验证数据库 | `~/WorkBuddy/Claw/vedic_astrology_validation.db` | 15,840 条案例 | +| 名人 CSV | `~/WorkBuddy/Claw/vedastro_data/PersonList-15k.csv` | 15,807 条 AA 级数据 | +| 过境配置 | `~/WorkBuddy/Claw/月运过境配置-2026-2028.json` | 36 个月行星位置 | + +> 💡 数据源为可选依赖,不影响基础星盘计算功能。 + +## 🛠️ 技术架构 + +``` +输入层:出生信息 / PDF星盘 / 互动矫正 + ↓ +路由层:自动识别三条路径(A/B/C) + ↓ +计算层:Swiss Ephemeris + Lahiri Ayanamsa 恒星黄道 + ├── chart(星盘计算) + ├── dasha(大运时间线) + ├── yoga(格局识别) + ├── varga-full(十六分盘) + ├── aspects(精确相位) + ├── jaimini(Jaimini 系统) + ├── nakshatra-adv(高级 Nakshatra) + ├── argala(门闩分析) + ├── tajika(年运盘) + ├── shadbala(六重力量) + ├── ashtakavarga(八分法) + ├── validate(数学验证) + └── audit(行星审计) + ↓ +输出层:JSON 数据 → AI 解读 → HTML 报告 +``` + +## 📜 版本历史 + +详见 [CHANGELOG.md](./CHANGELOG.md)。 + +- **v3.7.1** (2026-04-25):`full-reading` 全自动综合解盘 + 三条入口路径路由 +- **v3.7.0** (2026-04-25):7 大新模块(分盘/相位/Jaimini/Nakshatra/Argala/Tajika/合盘) +- **v3.6.0** (2026-04-24):报告生成器 + R2b 校验 + P3/P8/冲突仲裁 +- **v3.5.0** (2026-04-24):BPHS 完整表校准 + R1-R10 验证 + P1-P12 审计 + +## 📄 许可证 + +本项目仅供学习与研究使用。 + +## 🙏 致谢 + +- [Swiss Ephemeris](https://www.astro.com/swisseph/) — 天文计算核心 +- KN Rao 学派框架 — 方法论参考 +- CNWU16/vedic-astro-skills — 报告生成器灵感 +- BPHS(Brihat Parashara Hora Shastra)— 经典理论来源 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..c129a6b8 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,9 @@ +# 印度占星引擎 Python 依赖 +# 安装:pip install -r requirements.txt + +# 核心:Swiss Ephemeris 天文计算库(必需) +pyswisseph + +# 以下为标准库,无需安装(仅供参考): +# argparse, json, sys, os, csv, math, sqlite3 +# datetime, typing, hashlib, re, subprocess