6.9 KiB
6.9 KiB
name, description, version, author, tags, related_skills
| name | description | version | author | tags | related_skills | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| jyotish-engine-modules | 印度占星排盘引擎历史模块集成说明(供审计与迁移参考,当前真源以主 SKILL.md 与 registry 为准) | 1.0.0 | 助手 |
|
|
印度占星排盘引擎历史模块说明
本 skill 记录了 5 个核心计算模块的历史集成背景,主要用于审计、迁移和对照旧工作流。
本 Skill 的 scripts/ 副本仅作为独立分发包与历史迁移参考;主仓当前计算真源、成熟度判断、外部 oracle 边界和发布口径一律以主 SKILL.md、references/technique_registry.json 与主仓测试为准。
当前项目的唯一对外真源以以下文件为准:
<repo>/SKILL.md<repo>/references/technique_registry.json<repo>/references/strict-workflow-router.md
本文件不得单独作为“当前能力完整性”依据;若与主 skill 描述冲突,以主 skill 与 registry 为准。
当前使用边界
本文件的定位是:
- 说明历史模块曾如何并入主仓
- 便于审计、迁移、回收旧碎片
- 为“是否已有实现可复用”提供线索
本文件不是当前 skill 完成度、成熟度或精度闭环的直接依据。
判断原则(与主 skill 保持一致)
- 若主仓
scripts/、references/、skills/已有主体实现,优先判断为“补成熟度/补入口”,不要在旧模块层面重写。 - 若外部来源是 MIT / Apache / BSD,可优先考虑复用结构、常数、映射与文档资产;GPL / AGPL / 闭源仅允许黑盒对照。
- 涉及
Dasha精确边界、Shadbala绝对值、传统软件口径冻结时,必须以外部 oracle 闭环为准,不能仅凭历史模块说明认定“已完成”。 - 若本文件的历史调用链与主仓当前真相源不一致,以主仓真相源为准,不沿用旧版本表述。
历史模块清单
- karaka_calculator.py - Karaka分配计算器(支持BPHS/JH兼容模式)
- special_lagnas.py - 特殊上升点计算(Bhava/Hora/Ghati Lagna等)
- vimsopaka_calculator.py - Vimsopaka Bala分盘力量计算
- avastha_calculator.py - Avasthas行星状态计算(年龄/警觉/情绪)
- divisional_charts_extended.py - D2-D60完整分盘宫位图
使用方法
1. 创建本地工作目录
mkdir -p ~/Projects/yinduzhanxing-local/scripts
cd ~/Projects/yinduzhanxing-local
2. 复制模块代码
从本skill的 scripts/ 目录复制5个Python文件到本地工作目录。
3. 同步到GitHub
# 克隆GitHub仓库
cd ~/Projects
git clone https://github.com/732642856/yinduzhanxing.git
cd yinduzhanxing
# 复制新模块
cp ~/Projects/yinduzhanxing-local/scripts/*.py ./scripts/
# 提交并推送
git add scripts/
git commit -m "feat: 新增5个核心排盘引擎模块
- karaka_calculator.py: Karaka分配计算器(BPHS/JH兼容模式)
- special_lagnas.py: 特殊上升点计算
- vimsopaka_calculator.py: Vimsopaka Bala分盘力量
- avastha_calculator.py: Avasthas行星状态
- divisional_charts_extended.py: D2-D60完整分盘"
git push origin main
模块详细说明
1. karaka_calculator.py
核心功能:
- 计算Jaimini Chara Karaka(7大可变象征星)
- 支持3种模式:
- BPHS 8-Karaka(标准)
- BPHS 7-Karaka(不含Rahu)
- JH兼容模式(Rahu限制在MK)
关键特性:
- 自动识别Karaka模式
- 星座内度数排序(0-30度)
- 详细的Karaka象征意义
- 完整的验证机制
命令行使用:
python3 scripts/karaka_calculator.py --mode bphs --planets "Sun:45.5,Moon:120.3,Mars:200.1,Mercury:50.8,Jupiter:180.5,Venus:90.2,Saturn:250.7,Rahu:150.4"
2. special_lagnas.py
核心功能:
- Bhava Lagna(宫位上升)
- Hora Lagna(时辰上升)
- Ghati Lagna(Ghati上升)
- Arudha Lagna(映像上升)
- Upapada Lagna(配偶映像上升)
计算公式:
- Bhava Lagna = Asc + (Sun - Moon)
- Hora Lagna = Asc + (Sun位置 × 时间因子)
- Ghati Lagna = 基于Ghati单位的上升点推进
3. vimsopaka_calculator.py
核心功能:
- 16分盘权重系统(Shodasavarga)
- Varga Dignity尊严等级判定
- 分盘综合力量评分
- Vimsopaka Bala总分计算
权重体系:
- D1 (Rasi): 3.5
- D2 (Hora): 1.0
- D3 (Drekkana): 1.0
- D9 (Navamsa): 3.5
- D12 (Dwadasamsa): 0.5
- ... (共16个分盘)
4. avastha_calculator.py
核心功能:
- Bala Avastha(年龄状态):婴儿/少年/青年/老年/死亡
- Jagrat Avastha(警觉状态):清醒/梦境/深睡
- Deeptadi Avastha(情绪状态):15种状态
判定规则:
- 基于行星度数位置
- 基于行星与其他行星的关系
- 基于行星在星座中的位置
5. divisional_charts_extended.py
核心功能:
- D1-D60完整计算
- 每个分盘的12宫位行星分布
- 分盘上升点精确计算
- 分盘宫位图可视化输出
支持的分盘:
- D1-D12(基础分盘)
- D16, D20, D24, D27, D30(特殊分盘)
- D40, D45, D60(高级分盘)
集成到主引擎
在 jyotish_engine.py 中导入这些模块:
from karaka_calculator import KarakaCalculator, KarakaMode
from special_lagnas import SpecialLagnasCalculator
from vimsopaka_calculator import VimsopakaBalaCalculator
from avastha_calculator import AvasthaCalculator
from divisional_charts_extended import DivisionalChartsCalculator
注意:这 5 个模块现已并入主仓库维护。本 Skill 的
scripts/副本只作为历史分发包/迁移参考,不代表当前能力边界。 AI Native 注意:主仓库full-reading与/api/chart已输出ai_prompt_pack和 Ayanamsa 元数据;独立分发时若调用主引擎,应优先消费这些字段作为解读上下文,不要在 Raman/KP 等非 Lahiri 设置下硬编码默认口径。
验证测试
# 测试Karaka计算器
python3 scripts/karaka_calculator.py --mode bphs
# 测试特殊上升点
python3 scripts/special_lagnas.py --asc 45.5 --sun 120.3 --moon 200.1
# 测试Vimsopaka
python3 scripts/vimsopaka_calculator.py --planet Sun --d1 Aries --d9 Leo
# 测试Avastha
python3 scripts/avastha_calculator.py --planet Sun --degree 15.5
# 测试分盘
python3 scripts/divisional_charts_extended.py --asc 45.5 --divisions all
注意事项
-
Karaka模式选择:
- 与Jagannatha Hora保持一致时使用
--mode jh - 标准BPHS使用
--mode bphs
- 与Jagannatha Hora保持一致时使用
-
精度要求:
- 所有度数计算精确到小数点后4位
- 分盘计算使用Swiss Ephemeris标准
-
依赖项:
pip install swisseph numpy -
性能优化:
- 分盘计算支持批量模式
- 缓存机制减少重复计算
更新日志
v1.0.0 (2026-05-03)
- 初始版本
- 5个核心模块完整实现
- 支持命令行和Python API两种调用方式