docs: 新增 README.md + requirements.txt + 升级 .gitignore

- README.md: 完整项目文档(快速安装/22子命令使用示例/目录结构/Skill安装方法)
- requirements.txt: Python 依赖清单(核心依赖 pyswisseph)
- .gitignore: 升级为完整版(Python/IDE/macOS/数据库/日志)
This commit is contained in:
732642856
2026-04-25 00:51:12 +08:00
parent 50d8ba2be7
commit 7d06dddd3e
3 changed files with 372 additions and 5 deletions
+35 -5
View File
@@ -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
+328
View File
@@ -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
# 高级 NakshatraTara 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 '<JSON>' --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(精确相位)
├── jaiminiJaimini 系统)
├── 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 — 报告生成器灵感
- BPHSBrihat Parashara Hora Shastra)— 经典理论来源
+9
View File
@@ -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