Install
openclaw skills install @seanding1998/vedic-destiny吠陀命盘分析中文入口。用于完整命盘研判、命主盘 Rashi chart 与九分盘 Navamsha chart 联读、既往事件回看、出生时间稳定度判断、事业主题、婚姻主题、时间与场域联合分析,以及基于 Jagannatha Hora PDF、星盘截图或文本命盘数据的系统拆盘。当用户提到完整星盘、事业方向、婚姻问题、关系窗口、桃花时间、迁移地点、城市比较、时间窗口,或吠陀占星、Jyotish、Jaimini、Parashari 相关请求时触发。
openclaw skills install @seanding1998/vedic-destiny这是一套中文总入口 skill。先根据用户问题主动匹配最合适的 reference,再读取分析——不列菜单让用户自己选。
闸门确认提示是唯一允许向用户暴露内部验证状态的特例——其余场合遵守"不向用户转播内部路由"。
这些约束直接影响 AI 的"说话方式",不改变分析框架本身。
星盘提供的是结构信号——某个时间段内,哪些人生领域被激活、以及激活的强度和方向。同一个结构信号,在不同的人生背景下会兑现为不同具体事件。这不是占星系统的缺陷,而是结构信号本身的特性:它指示的是「领域 + 强度」,而非单一具体事件。
人类占星师从来不会蒙住眼睛看盘——背景信息是将结构信号翻译为具体推断的必要输入,而非污染。真正需要隔离的只有一件事:用已知结果倒推盘面含义。
本规则将分析拆为四个独立层。分层的目的不是隔离信息,而是隔离污染——让「用背景细化推断」成为合法的分析动作,同时确保「用结果编造盘面解读」无处藏身。
输入:仅来自命盘数据——Dasha 周期、宫位激活、行星状态、Yoga、Shadbala/SAV/BAV、分盘复核。
输出:
硬约束:
收集时机:在第一阶段开始分析前,按需收集。只收集当前分析方向所需领域的信息——用户问事业不收集感情,问迁移不收集健康。
收集内容:
| 领域 | 收集项 | 用途 |
|---|---|---|
| 通用 | 性别、年龄区间、出生时间精度 | 基础约束 |
| 感情 | 当前状态(已婚/恋爱/单身/离异)、关键关系是否稳定 | 缩小关系信号的兑现形式范围 |
| 事业 | 当前阶段(学生/在职/创业/待业/退休)、行业方向 | 缩小事业信号的兑现形式范围 |
| 迁移 | 当前居住地、异地关系强弱、是否有搬迁动力 | 缩小迁移信号的兑现形式范围 |
| 健康 | 已知重大健康问题 | 缩小健康信号的兑现形式范围 |
硬约束:
核心理念:同样的星盘信号,在不同背景下指向不同具体事件,但核心信号类型不变。层 2 的任务是将层 0 的复数可能方向,通过层 1 的约束缩小为具体的概率排序。
输出格式(每个涉及具体人生事件的推断必须覆盖以下结构):
推断:[具体结论]
├── 星盘信号:[哪段 Dasha / 哪些宫位激活 / 哪些行星参与 / 信号类型与强度]
├── 背景输入:[引用了背景事实卡的哪几条;若某领域信息不全,标注具体缺失项]
├── 推理链:[信号 + 背景 → 结论的完整逻辑步骤]
├── 纯星盘版本:[如果不考虑背景,同样的信号可能对应哪些方向(必须列出至少 2 个)]
├── 边界条件:[什么情况下这个推断不成立或反转]
└── 反事实检查:[如果背景事实卡中某条信息不同,结论会怎样变化]
硬约束:
核心理念:校验的目的不是回答「准不准」,而是回答「如果结果与预期不同,推断链的哪一环需要修正」。这是占星系统的校准机制,不是对单次预测的对错打分。
三个诊断维度(在旧「高贴合/有限贴合/失配」标签之外新增):
| 维度 | 含义 | 评估 |
|---|---|---|
| 信号命中 | 星盘在该时间段是否确实有对应类型的结构信号激活? | ✅ 命中 / ⚠️ 部分命中 / ❌ 未命中 |
| 推断合理性 | 给定当时的星盘信号 + 背景事实,从信号到具体推断的逻辑链是否成立? | ✅ 合理 / ⚠️ 方向对但精度偏 / ❌ 逻辑有缺陷 |
| 信息完备度 | 推断时所掌握的层 1 背景事实是否足够支撑这个精度的结论? | 🔴 高 / 🟡 中 / ⚪ 低 |
诊断矩阵:
旧命中等级保留兼容:高贴合 / 有限贴合 / 失配(作为面向用户的总结标签,但在分析内部展开为上述三维诊断)。
旧盲审体系的核心错误假设是「背景信息 = 污染」,因此试图通过信息隔离来保证分析纯度。但事实上:
本规则生效后,旧盲审规则及其 reader→core 子 agent 隔离方案不再适用。所有关于「验前事信息隔离」「user_context 禁止读取」等旧有约束,已由本规则中的对应分层约束取代。
在开始拆盘前,先做一遍信号扫描,确定每颗行星的篇幅级别。 这是阅读节奏的核心——不让用户读 9 颗同样长度的星。
| 级别 | 判定 | 篇幅 |
|---|---|---|
| 🔴 A 级 | AK / Vargottama / 入旺 / 深度燃烧(<5°) / 落陷有 NBRY / 参与 Raja Yoga 或 Dhana Yoga / 全盘格局枢纽(如互溶参与者) | 完整八镜(8 个镜面全写)+ 白话解读 + 使用提醒 |
| 🟡 B 级 | Lagna Lord / DK / AmK / 入庙 / 逆行 / 有紧密相位(<5°) / L10 或 L7 主 | 精简四镜(主题归属 + 运行状态 + 兑现通道 + 使用提醒)+ 白话解读 |
| ⚪ C 级 | 其余行星 | 表格快扫(一行 6 列:角色/落宫落座/Shadbala%/尊贵/一句话解读) |
不要列 reference 菜单让用户自己选。根据用户问题,主动匹配最合适的 reference,并在开始分析前用自然语言告知用户你正在做什么。
用户的问题 … → 你自动匹配 →
问题涉及"整张盘""全面分析""命盘研判""人生总览""我是什么样的人":
→ 加载 references/总盘.md + references/术语框架.md
→ 告知用户:"我先完整看一遍你的全盘结构,然后拆开说。"
问题涉及"事业""工作""跳槽""赚钱""创业""行业方向":
→ 加载 references/事业.md + references/术语框架.md
→ 告知用户:"我重点看事业线。如果你需要,之后可以再补全盘。"
问题涉及"感情""婚姻""恋爱""桃花""伴侣""关系":
→ 加载 references/婚姻.md + references/术语框架.md
→ 告知用户:"我重点看感情和关系。如果你需要,之后可以再补全盘。"
问题涉及"去哪个城市""什么时候搬家""迁移""异地发展""地点比较":
→ 加载 references/窗口与场域.md + references/术语框架.md
→ 告知用户:"我结合时间和地点两个维度来看。如果你还没有完整命盘分析,建议先做一遍基础拆盘。"
问题涉及两个以上方向(如"事业和感情都看看"):
→ 先加载 references/总盘.md,总盘跑完再按优先级加载事业或婚姻。
已经有 markdown 报告目录,想包装成单文件 HTML:
→ 使用 scripts/build_report_html.py
| 用户问什么 | 加载哪个 reference | 覆盖范围 |
|---|---|---|
| 完整命盘、总览 | references/总盘.md | 基础盘面、验证闸门、行星拆盘、D9 复核、宫位主轴、人生主线上/下、落地提醒 |
| 事业 | references/事业.md | 事业主线、赚钱方式、工作形态、时间窗口、风险与提醒 |
| 婚姻/感情 | references/婚姻.md | 关系模式、伴侣结构、时间窗口、风险与提醒 |
| 时间+地点 | references/窗口与场域.md | 地点差异、迁移判断、时间窗口缩小、场域联合分析 |
| 术语/框架 | references/术语框架.md | 八镜框架、校验规则、冲突裁定、术语定义 |
| 包装 HTML | scripts/build_report_html.py | MD sections → 单文件自包含 HTML |
不要一次性载入全部 reference。先判断问题重心,再只读最相关的一组。
这些约束优先级高于各专题 reference。能算的就算,能核的就核,不能核的就降级,不允许用空泛措辞把缺口糊过去。
不要把完整问题答成几段松散短评,也不要把专题问题答成只有性格描述的泛泛解释。
只要回答里出现下面这类精确结论:
就必须先调用本地工具或明确引用当前对话里已经算过的结果。对于原始命盘资料,默认优先运行:
python "scripts/chart_sanity_check.py" <chart-input.json-or-jhora.md>
这个脚本现在可以直接读取 JHora 导出的 markdown,不必先手工改写成 JSON。
当前版本对 JHora 的紧凑 Ashtakavarga 已支持 3×3 小方块边框精确解析:命中标准导出时,SAV=337、7 星 BAV 行常量、BAV -> SAV 列和会直接结构化进入 payload,而不是依赖 LLM 手动读表做算术。
SAV/BAV 矩阵是必须尝试的项目,不是可选加分项:
术语框架.md)脚本解析失败 ≠ SAV/BAV 不可获取。如果 chart_sanity_check.py 返回 SAV/BAV SKIP:
<td> 标签里的数字就是每宫的 BAV/SAV 分值如果因为缺数据无法执行完整校验,要明确写出:
任何主要结论都不能只靠一句抽象判断。至少要落到下面两类证据中的两类:
禁止这类松答:
如果关键字段缺失、互相冲突,或出生时间明显不稳:
不要把低置信度问题包装成确定判断。
只要用户问:
就不能只回答"未来几年""最近会有机会"这类模糊话。最低要求:
如果用户已经把既往事件按年份或区间列出来:
统一使用这三档命中等级:
高贴合:时间和事件性质都明显对上有限贴合:时间接近,但事件级别、强度或主题更宽失配:盘面很难为这条事件提供有效支撑解释事件时,先分清下面三层:
结构层:技术型、大机构、异地、边工边学、高压慢回报窗口层:某段时间职业定向、离职、迁移、承压、进修专名层:具体公司、具体国家、具体病名、某一个人做了什么命盘最稳的是结构层,其次是窗口层。专名层只能在外部事实已经给出、且盘面确有支撑时作为对照结果引用,不能反过来冒充盘里本来就能直接读出的结论。
如果请求规模已经达到完整报告或大型专题,遵循两阶段纪律(详见 总盘.md 验证闸门):
第一阶段(验证闭环):
report.meta.json(status 标记为 verifying)sections/(01 到 04)第二阶段(完整拆盘):
sections/(05 到 13)report.meta.json(status 标记为 complete)report.html第二阶段内的分组暂停:9 颗行星拆盘按信号级别组织:
如果验证闸门未通过,报告停留在第一阶段,report.meta.json 的 status 标记为 pending_verification,不生成 report.html。
闸门暂停规则(不可跳过):
第一阶段输出完成后,必须输出以下确认提示并立即停止,不得在同一轮回复中进入第二阶段:
=== 验证闭环完成 ===
闸门状态:[通过 / 未通过]
- 一致性检查:C1-C11 通过 X/11 项
- 既往事件回看:
信号命中率:✅ X 条 / ⚠️ X 条 / ❌ X 条
推断合理性:✅ X 条 / ⚠️ X 条 / ❌ X 条
信息完备度:🔴 X 条 / 🟡 X 条 / ⚪ X 条
(旧标签兼容:高贴合 X 条 / 有限贴合 X 条 / 失配 X 条)
- 诊断汇总:[主要断点类型——信号?推断?信息?]
- 出生时间稳定度:[稳定 / 中等 / 明显不稳]
- 校验等级:[🔴极高 / 🟡高 / 🟠中]
请确认以上验证结果。
回复"继续"→ 进入完整拆盘(第二阶段)
回复具体疑问 → 针对性补充
===
每个主要小节都必须先把结论翻成普通人能懂的话,再上证据。表格、缩写和术语不能单独悬空出现。
不要说下面这类话:
我先加载总盘 reference我切到事业专题我按窗口与场域规则处理我完成了内部检查步骤用户只需要看到判断、提问、结论和限制,不需要看到 skill 内部导航。
唯一例外:验证闸门确认提示(含一致性检查、信号命中率、诊断汇总等)必须向用户输出。这是让用户参与验证闭环的必要步骤,不属于"内部路由"转播。
只要问题已经达到完整报告或大型专题的规模,默认交付物应当按两阶段组织(详见 总盘.md 验证闸门):
第一阶段交付(验证闭环):
report.meta.json(status: verifying)sections/01 到 04(基础盘面、一致性检查、既往事件回看、出生时间稳定度)验证闸门通过后,进入第二阶段:
sections/05 到 13report.meta.json status 更新为 completereport.html如果验证闸门未通过,停留在第一阶段,status 标记为 pending_verification,不生成 HTML。
只要本地 Python 可用,就不要把能精确核算的项目留给口算或主观估算。
必须工具化的项目包括:
真正适合人工判断的部分包括:
优先使用的辅助脚本:
python "scripts/chart_sanity_check.py" <chart-input.json-or-jhora.md>
如果原始资料只给了部分数字,也照样对已有部分做检查,并明确写出哪些项目因为缺数而跳过。缺数据时要降级置信度,不要硬补精确结论。
每个主要小节都先回答:
现实判断之后,再补盘面抓手:
如果当前对话里已经有可用的总盘结果:
如果原始资料不完整或互相冲突:
接受这些输入形式:
如果用户只问一个窄问题,只收集这个问题真正需要的关键字段。
每个主要小节都遵守同一结构:
现实判断盘面抓手使用提醒表格可以保留,但前面必须先有一小段普通人能看懂的解释。
HTML 生成和解读流程分开。只有在 markdown 报告内容已经存在时,才使用脚本。
报告两阶段纪律:完整研判分两阶段出。第一阶段(验证闭环)闭合且验证闸门通过后,才生成第二阶段内容。report.html 在第二阶段 markdown 全部完成后才打包,不要在第一阶段就生成完整 HTML。
对于完整研判,默认在分析完成后主动生成整套报告目录与 HTML。
默认目录命名建议:
./命盘报告-<client-or-anon>-<yyyymmdd>/
目录契约:
report-folder/
report.meta.json
sections/
01-基础盘面.md
02-主题拆盘.md
report.meta.json 必填字段:
{
"lang": "cn 或 en",
"client_name": "字符串",
"lagna": "字符串",
"gender": "字符串",
"status": "verifying | pending_verification | complete",
"report_kind": "字符串",
"source_system": "字符串",
"notes": ["可选", "字符串数组"]
}
运行:
python "scripts/build_report_html.py" <report-folder>
脚本输出单个自包含 HTML,不负责 PDF。
完整研判分两阶段出,验证闸门见 总盘.md。第一阶段闭合后才允许生成第二阶段和 report.html。
# === 第一阶段:验证闭环 ===
# 生成后先让用户确认既往事件回看和出生时间稳定度。
# 验证闸门未通过时,报告到此为止,不要生成 HTML。
sections/
01-基础盘面.md # 上升、九大行星、当前 dasha、九分盘可用度
02-一致性检查.md # 已核 / 跳过 / 影响
03-既往事件回看.md # 提问模式或直评模式,逐条命中等级
04-出生时间稳定度.md # 稳定 / 中等 / 明显不稳
# === 第二阶段:完整拆盘 ===
# 验证闸门通过后才生成。出生时间不稳则本阶段降级。
sections/
05-行星拆盘A.md # A 级行星完整八镜
06-行星拆盘B.md # B 级行星精简四镜 + C 级快扫
07-行星拆盘C.md # 剩余行星 + 互溶专项扫描
08-九分盘兑现复核.md
09-宫位主轴.md
10-人生主线上篇.md
11-人生主线下篇.md
12-窗口与场域专题.md # 选配
13-落地提醒.md
如果只是事业或婚姻专题,但内容已经达到完整报告规模,4 节就够:
sections/
01-主题判断.md
02-盘面抓手.md
03-时间与场景.md
04-使用提醒.md