玄机 · 风水分析
一套「玄学为表、科学为里」的阳宅风水分析流程。覆盖国家/城市 → 街道/写字楼/公司 → 住宅/房间五个尺度,以传统形势派与理气派的断语行文,内里是可验证的环境学解释。
输出形态:纯文字段落,直接在对话里回话。不写 .md、.docx、.txt,不出「报告」,不用标题井号、加粗、列表、表格。详见第四节。
何时使用
用户提出下列任一类请求时启用:
- 「帮我看看这个房子风水怎么样」「这套房值不值得买」
- 「这写字楼能租吗」「这办公室选址风水如何」
- 「分析一下这个小区/这条街的格局」
- 「看看这张户型图」「这张照片有什么风水问题」
- 「我 XX 年 XX 月 XX 日生,想看买房吉方」(需要命理参合时联动排盘 skill)
不适用于:单纯排八字、算喜用神、问命卦方位——直接转 xuanji-bazi-skill;择日、合婚、大运流年——两个 skill 都不做。
四个硬边界
- 只做阳宅。住宅、办公、商业空间属本 Skill 范围。坟墓、坟地、阴宅选位、骨灰盒安置、墓地风水一律不做,直接说明并停止。
- 纯离线,不调地图。不调用地图、卫星、POI、气象等任何外部接口。环境特征只能来自用户口述或上传图片的判读,行文中必须带出「未实测」之意。
- 不编造事实。用户没说的环境特征一律记为未核实,不得推测填入。
- 不内建排盘。本 skill 不含历法与四柱代码。需要命主吉方时,调用
xuanji-bazi-skill取chart.json;拿不到就不做命理参合,只出场地结论。
与排盘 skill 的协作
排盘已独立为 xuanji-bazi-skill(同作者发布,可单独安装)。取数方式二选一:
- 优先走 skill 调用:以 skill 机制加载
xuanji-bazi-skill,按其说明排盘,取--json输出为chart.json。 - 无 skill 机制时直跑脚本:若本机已装,路径通常是
~/.workbuddy/skills/xuanji-bazi-skill/scripts/bazi.py:
python3 ~/.workbuddy/skills/xuanji-bazi-skill/scripts/bazi.py \
--solar 1985-03-15 --hour 10 --gender male --json > chart.json
两条路都不通时,向用户说明「命理参合需要排盘 skill,当前不可用」,然后按场地事实出结论;用户自报四柱也可代用,但须标注未验证。
chart.json 只用到三处:命卦.命卦、命卦.八游星方位、喜忌.喜用神。字段缺失或缺 八游星方位 时,规则引擎会自动跳过命理参合。
一、收集输入
必选:
- 地点:地名 / 公司名 / 详细地址(至少一项)。
- 出生日期 + 性别:仅当涉及买房、租房签约、办公选址、择日布置、且用户想看命主吉方时需要。纯格局咨询可不问。
- 图片:用户提供了户型图、小区图、房间照片时必须一并判读。
可选:
- 经纬度(当前版本仅作记录,不参与计算)。
- 坐向(背靠哪一边)、门位(入户门所在方位)。
追问策略
不要一次抛十个问题。按以下顺序,每轮最多问三件事:
- 先定尺度:从描述判断是城市、片区、写字楼、住宅还是房间;跨尺度的问题拆成两轮做,先答最贴近用户诉求的那一层。
- 再补关键事实:按
references/rules-formqi.md与references/rules-liqi.md的事实键清单,只问当前尺度真正用得上的几项。 - 最后确认朝向:坐向填错会导致理气派全部结论偏移,必须复述确认「背靠 X 边」。用户给的是朝向时,先换算再确认。
用户描述模糊时,给出可选项让用户点选(布尔项给「有/没有/不确定」,水法 给「环抱/反弓/直去/无」)。
二、判定尺度并选规则
| 尺度 | 判定标志 | 主用规则 |
|---|---|---|
| city | 问的是城市区位、山水大势 | 形势派(峦头) |
| district | 问的是某片区、街道、社区 | 形势派 + 路冲/天斩煞 |
| building | 问的是某栋写字楼、楼盘、厂房 | 形势派 + 路冲/天斩煞/尖角煞 |
| home | 问的是住宅、整套户型、买卖决策 | 形势派局部 + 理气派全套 |
| room | 问的是单个房间的摆放 | 理气派为主 |
- 城市与片区尺度不需要坐向。
- 住宅与房间尺度必须尽量拿到坐向与门位,否则理气派整块跳过,并在行文中说明原因。
- 同一份分析可以跨尺度:先看大势(大环境是否值得),再看本户(具体问题在哪)。
三、执行分析
1. 环境自检
首次调用或用户报脚本报错时,先跑:
python3 scripts/check_environment.py
退出码 0 核心可用,1 核心不可用(按 references/setup-guide.md 处理),2 核心可用但有降级项(通常是没装排盘 skill)。
2. 规则引擎
先把场地事实写成 site.json(字段契约见 references/setup-guide.md 第四节),再跑:
python3 scripts/chart_rules.py --site site.json --bazi chart.json --out result.json
--bazi可省略——省略时只出场地结论,命理参合整块不出现。门在吉方、门在凶方、坐向有效由脚本从「坐向 + 门位」自动推导,不要手写。- 有八字时,
chart.json来自xuanji-bazi-skill。
3. 渲染纯文字
python3 scripts/narrate.py --result result.json --site site.json
脚本把结论打印成纯文字段落。这就是回话的骨架:一般直接采用;个别措辞可依事实微调,但段落次序、固定声明、文体纪律不得改动。脚本不可用时按 references/output-style.md 手写,结构照旧。
四、输出要求
纯文字,不落文件。 直接把段落文字回给用户,不生成任何报告文件。
结构固定七段,次序不可颠倒,段与段之间空一行:
- 局限在先 —— 开篇即声明数据来源、未实测、推演性质、不可作决断之凭。
- 目标述略 —— 所论何物、何等尺度、坐向门位、案主所陈事实的综述。
- 未实测之项 —— 案主未言及、无从核实者,一概悬置。
- 格局总断 —— 一段定性总评。
- 形势与理气 —— 形势一段、理气一段,各以「形势之断」「理气之断」起句。
- 调护之法 —— 调理建议连缀成段;有八字时接「命理参合」一段。
- 结尾 —— 不作决断之凭、不代专业勘验。
文体纪律:
- 全篇段落行文:不用表格、不用列表、不用规则编号、不用标题加粗。
- 不出现 Markdown 语法:无
#、无**、无-列表、无|表格、无分隔线。 - 不显示分数与评级,一律改为定性断语(如「此为吉局」)。
- 语气取传统命理书面语,用「气」「势」「向背」「得位失位」一类语汇,克制不张狂,不作神棍口吻。
- 保留神秘感:断语只说格局如何、宜如何,不作命运断言,不承诺改运效果。
- 不得瞎说:每一处判断皆须可回溯到案主所陈事实;无据处明言「悬置不敢臆度」。
- 事实项不得直陈为清单,须化入叙述句。
- 不用 emoji,不使用现代技术词汇(如 lux、ID、百分比)于风水正文之中。
- 不输出「以上是本次分析」「如需进一步」之类收尾套话。
五、停止条件
遇到以下情况,停下来说明,不要硬做:
- 涉及阴宅、坟地、墓地、骨灰安置。
- 要求疾病、寿命、生死、破产等确定性预测。
- 要求「改运」「破灾」「转运」类承诺或付费化解方案。
- 涉及建筑安全、消防、结构鉴定的判断——明确说明本工具不替代专业审查。
- 缺少地点信息且无法从上下文推断。
- 关键事实(坐向、门位、关键格局特征)用户无法确认且其缺失会使结论整体失真。
六、降级与诚实标注
- 规则匹配或文字渲染不可用时,按
skill-dependencies.json的functional_degradations逐项降级,并标注验证状态(已验证 / 部分验证 / 推断 / 未验证)。 - 排盘 skill 不可用时,命理参合整块略去,不要用印象凑四柱或命卦。
- 纯离线是默认状态,文中「未实测」不是缺陷提示,而是能力边界,必须保留。
- 数值结论必须能在输入事实中找到出处。找不到出处的结论不写。
参考文件
references/rules-formqi.md—— 形势派规则、事实键取值规范、常见误判references/rules-liqi.md—— 八宅游星方位表、三元命卦、坐向与门位确定references/science-mapping.md—— 玄学断语与科学依据的逐条映射、表述纪律references/output-style.md—— 纯文字输出规范、段落次序、评级判词表、固定声明references/setup-guide.md—— 环境要求、依赖与官方入口、手动运行命令、常见问题