dsh-xuanji · 玄机阁
DeepSeek Harness(DSH)玄学算命插件
八字 · 紫微斗数 · 梅花易数 · 六爻纳甲 · 大六壬 · 奇门遁甲 · 黄历 · 称骨 · 星座 · 择日 · 风水(八宅+玄空) · 起名 · 合婚 · 生命数字 · 人生K线 · 塔罗78牌 · 小六壬 · MBTI
全部由本地确定性引擎计算——干支、星曜、卦象、骨重零模型推演,模型只负责解读。
English · 简体中文
预览 · Preview
更多页面截图见 screenshots.json 声明的清单(人生K线 / 黄历 / 称骨 / 快占)。
安装
# 从 npm 安装(推荐——已发版,拉取无需任何凭据)
dsh plugin --profile web add npm:dsh-xuanji
# 从 GitHub 公开仓库(⚠️ github: 简写经 pnpm 走 SSH——机器要配好 GitHub SSH key
# 且 ~/.ssh/known_hosts 里有 github.com 主机指纹,否则更新报 Host key verification failed;
# 没配 SSH 就用上面的 npm 源,公共仓库拉取无需任何凭据)
dsh plugin --profile web add github:huangziyuan-general/dsh-xuanji
# 本地开发(符号链接,改码即生效)
dsh plugin --profile web add link:/path/to/dsh-xuanji
要求 Node.js ≥ 20。
设计原则
- 模型不推演数值:一切确定性事实(干支 / 星曜 / 卦象 / 骨重 / 牌面)来自本地引擎的确定性计算,模型不心算、不改盘;
- 四层输出:排盘事实 → 传统解读 → 现实行动建议 → 免责声明,四层缺一不可(由 systemPrompt 纪律段强制);
- 缺输入先问不猜:生辰 / 性别 / 时辰缺失时必须询问用户,绝不允许模型代填猜测值;
- 断语出处标注:每条断语区分「传统原文 / 传统通行口径 / 简化判定 / 白话自撰 / 自建字库」五级出处,工具未覆盖的如实说明,不臆断补全。
工具面(18 个 xuanji_* 工具)
| 工具 | 用途 | 关键输入 |
|---|
xuanji_bazi | 八字排盘:四柱(纳音/藏干/十神/每柱旬空/星运十二长生与自坐)、地支刑冲合会、五行旺衰、《穷通宝鉴》调候用神(与旺衰喜用互补)、胎元命宫身宫、常用神煞 21 种、起运与交运岁数、大运(含起止年份与干支十神)、流年 | 生辰(公历/农历)+ 时辰(可选)+ 性别(+ city/longitude 真太阳时) |
xuanji_ziwei | 紫微斗数:十二宫安星、十四主星亮度与生年四化(禄权科忌)、命主身主五行局;运限层(action=fortune)含大限/流年/小限三环与四化 | 生辰 + 时辰 + 性别 |
xuanji_meihua | 梅花易数:时间起卦 / 报数起卦,本互变卦、动爻、体用生克断吉凶 | mode + 时刻或两个报数 |
xuanji_almanac | 每日黄历:农历干支、宜忌、冲煞、喜神/财神/福神/阳贵/阴贵方位、节气(上一/下一)、节日、值神、星宿、彭祖百忌 + 每日一卦(同日同卦) | 日期(缺省今天) |
xuanji_chenggu | 袁天罡称骨:年月日时骨重求和,分档白话批语 | 生辰 + 时辰 |
xuanji_zeri | 择日:事项 × 黄历宜忌 × 建除十二神 × 冲煞排除,逐日打分排序出推荐日/回避日 | 事项 + 日期区间 + 属相(可选) |
xuanji_fengshui | 风水:八宅命卦(东四/西四命 + 大游年四吉四凶方位,立春界)+ 流年九宫飞星(年家紫白);action=advise 推宅卦八星盘与门主灶厕布局倾向 + 命宅配;action=xuankong 玄空飞星(三元九运运盘/山盘/向盘/宅命盘 + 旺山旺向等格局判定) | 出生年月日 + 性别;advise/xuankong 需坐山或向山 |
xuanji_name | 起名:评估(八字喜用神对照内置常用字五行字库 241 字逐字打分,未收录如实标注)+ 候选生成(action=generate,按喜用与性别倾向从自建字库组合候选名,确定性排序附字义) | 评估:姓 + 名;生成:姓 + 生辰 + 性别 |
xuanji_star | 星座档案 + 当日四维基调(日期哈希确定性生成,同日同星座同结果) | 日期(缺省今天) |
xuanji_trend | 人生K线:大运×流年十神确定性计分,1–100 岁逐年 OHLC + 大运分段 ASCII 迷你图 + 顺位/谨慎年份 | 生辰 + 性别(时辰可省) |
xuanji_tarot | 塔罗:每日一牌(同日同牌同正逆位)/ 三牌阵(过去现在未来)/ 五牌阵,78 张全牌库(22 大阿卡纳 + 56 小阿卡纳四花色,可切 22 牌简库)通行释义 | mode + deck;三/五牌阵需所问何事 |
xuanji_xiaoliuren | 小六壬马前课:农历月日时或报三数掐指落宫,六宫吉凶断语 | mode(time/number) |
xuanji_match | 八字合婚/合盘:属相关系(六合三合六冲六害相刑)+ 日主生克/天干五合 + 年命纳音 + 简化分档,冲刑害只讲「摩擦点」 | 双方出生年月日(时辰可选) |
xuanji_numerology | 生命数字(西方数字学):生命路径数/生日数/态度数(11/22/33 主数保留)+ 白话数义,与八字紫微不同口径 | 公历出生年月日 |
xuanji_qimen | 奇门遁甲(时家转盘·拆补法):阳遁/阴遁、节气三元局数、符头、值符值使、旬空、九宫地盘仪奇/天盘星(携仪)/八门落宫;进阶指标逐宫标注——六仪击刑、三奇六仪入墓、门迫、干宫生克、十干克应(通行口诀子集),并汇总盘面隐患宫位;时辰必填 | 日期 + 时辰(公历/农历) |
xuanji_liuyao | 六爻纳甲(京房):摇卦成卦 → 八宫归属、世应、纳甲干支、六亲、六神、旺相休囚死、旬空、月破/日破/暗动、动爻与变卦(回头生克);给 question 时按问事性质定用神并给应期启发式,无问句则提示先问;摇卦必须由用户完成,引擎不代摇 |
历法与紫微安星由开源确定性计算库承担(见 package.json 依赖清单),六十四卦表内置并经完整性与《观梅占》复原双重校验。
工程可信度(可核验性基建)
- 公开对拍验证:
docs/verification.html —— 全部锚点采用「独立重算」口径(预期值由最原始的干支原语在本地重推,不引用被测常量,避免「测试抄实现」导致的全绿但错),与 CI 闸门同源(npm run verify / node scripts/verification.mjs);
- 引文索引:断语出处五级制(传统原文/通行口径/简化判定/白话自撰/自建字库)落地为
lib/engine/citations.js——收录《滴天髓》《子平真诠》《三命通会》《穷通宝鉴》可考条目与调候用神提要,绝不冒充典籍原文;
- 口径可追溯:引擎层内置 trace(逐计算步记录规则与输入)、shadow-id(同参同哈希
LY-xxxxxxxx)、caliber diff(口径变体对照)三件套(lib/engine/trace.js / shadow-id.js / caliber.js);
- 离线单页:
docs/offline.html —— 单文件零外链快照(工具目录 + 排盘纪律全文 + 对拍结果),node scripts/generate-offline-page.mjs 再生;
- CI 闸门(
test/gates.test.mjs):性能(单次排盘 <200ms)、HTML 注入(页面零内联脚本/事件属性、用户字段全转义)、产物体积上限、问/改/纠交互三态(缺输入 fail-fast 引导先问 · 同参重跑逐字节一致 · 口径纠偏留痕)。
问 / 改 / 纠(交互三态)
- 问(ask):缺时辰、缺性别、缺问句一律 fail-fast,报错措辞引导模型向用户提问,绝不代填(闸门测试盯死);
- 改(revise):同参数重跑结果逐位一致——用户改口重问不算「新盘」,可复算可对比;
- 纠(rectify):口径修正(夏令时、真太阳时、晚子时流派)全部写进
meta.notes,纠偏前后盘面差异可追溯,不静默改盘。
右侧栏面板(十二页)
插件自带右侧栏 client 面板(「玄机阁」tab),十二个视图全部只读、零 token。数据来自 /api/xuanji/*(与 xuanji_* 工具同引擎,只读确定性计算);缺输入一律 fail-fast 可见,绝不代填。
- 八字:四柱竖卡(干支/十神/纳音/星运/旬空/藏干)+ 命盘概要 + 五行计数条 + 刑冲合会徽章 + 神煞 chips,出生城市选填(真太阳时);
- 黄历:进入自动查今天——农历干支、宜忌两列、冲煞、喜神/财神/福神/阳贵/阴贵方位五格、节气、每日一卦卡;
- 人生K线:SVG 蜡烛图逐年绘制(收阳红/收阴绿、5/10 年均线、峰谷标注、大运交替色带、悬停看干支分值);
- 称骨:生辰 + 十二时辰下拉 → 总骨重盘 + 四柱骨重明细 + 档位批语;
- 快占:小六壬报三数 / 梅花易数报两数(随口报数 + 所问何事,秒级出落宫/卦象与体用断语);
- 塔罗:每日一牌 / 三牌阵(所问何事输入框常驻),CSS 3D 翻牌动画;
- 奇门:日期 + 时辰下拉 → 阳遁/阴遁局数、值符、旬空 + 九宫格(地_天_门,吉门着色),时家转盘确定性计算;
- 风水:八宅命卦(东四/西四 + 四吉四凶方位)+ 流年九宫飞星(年家紫白,fyYear 单独可查)+ 玄空飞星子表单(坐山/向山 24 山 + 年份 → 格局徽章 + 三盘叠加九宫格,当运旺星着色);
- 合婚:双方生辰(年月日 + 时辰下拉 + 历法 + 称谓)→ 属相关系 + 双向十神 + 跨盘合会 + 分档(冲刑害只讲「摩擦点」);
- 六爻:逐爻点击摇卦(三枚铜钱正反由用户点击产生,与传统掷币同义;引擎不代摇、不预填)→ 本卦/变卦、八宫世应、逐爻纳甲六亲六神、旺衰旬空月破、动爻回头生克、六亲主事速查;
- 心性(MBTI):24 题逐题作答(上一题/下一题)→ 十六型结果 + 四维倾向档案,本地计分零 token;
- 六壬(大六壬):生日 + 占时 → 天地盘、四课、贼克法三传(结果带实验性标注)。
面板深浅主题零探测自适应(color-mix(currentColor) 体系),宿主切色无需配置。源码在 src/client/,改动后需 npm run build 重新产出 lib/client.js(dsh 只加载构建产物)。
REST 面带三道防线(本机 Host/Origin 白名单 + fence header),只读、无文件写入。这套防线只对浏览器威胁模型成立:它挡跨站页面调用(fence 用的自定义头会触发 CORS 预检,服务端不回 Access-Control-Allow-* 就发不出请求),但 fence 值是常量而非会换的会话令牌,所以同机其它进程加一个固定头即可通读全部端点。要把威胁模型扩到「防同机进程」,需要每次启动生成随机会话令牌——目前未做,故此处如实限定,不称"绝对隔离"。
日期输入:公历 / 农历(含闰月)
18 个工具里凡吃日期的入口一律支持 calendar=solar|lunar(缺省 solar),农历侧再带 isLeapMonth:
- 面板(八字 / K线 / 称骨 / 黄历)与工具面同口径:面板上有「公历 / 农历」切换,选农历才出现「闰月」勾选;
- 农历年份以正月初一为界,不是公历年——农历 1990 年腊月落在公历 1991 年属正常,结果里会写明;
- 闰月不是每年都有(2023 闰二月、2025 闰六月、2026 无闰月),勾错会被拒并提示该年实际闰月;
- 农历月天数按农历查表(29 或 30):农历 2023 年二月三十合法,腊月只有 29 天——不会按公历月份天数误拒,也不会静默折算成下月初一;
- 西方体系(星座 / 生命数字 / 塔罗)按公历日期计算,给农历会先换算再算,并在结果里写明换算关系。
时间口径(全排盘工具统一)
- 中国夏令时(1986–1991):默认自动校正——这六年出生证上的钟面时间普遍快 1 小时,不校正是时柱/时辰错一档的常见事故。
- 真太阳时:xuanji_bazi / xuanji_ziwei / xuanji_trend / xuanji_name 传
city(内置 57 城经度表)或 longitude 即按「经度差 + 均时差」校正——例如乌鲁木齐(87.62°E)钟面 14:10 的真太阳时约 11:57(当地太阳正午在北京时间 14:10 左右),成都钟面 15:30 的真太阳时约 14:26、仍在未时。
- 晚子时(23:00–24:00):八字日柱归属流派分歧,宿主配置
ziShi 可切(1=次日,默认;2=当日);紫微按次日早子时。
- 所有口径调整都写进返回值的
meta.notes,解读时照实转述,不静默改盘。
输出示例
【八字排盘】1990-08-16 14:30(公历)|农历 一九九〇年六月廿六|马年|男命
四柱:
· 年柱 庚午|阳金+火|纳音_路旁土|十神_正印|星运_绝(自坐沐浴)|旬空_戌亥|藏干 丁(偏财)、己(七杀)
· 月柱 甲申|阳木+金|纳音_泉中水|十神_伤官|星运_死(自坐绝)|旬空_午未|藏干 庚(正印)、壬(劫财)、戊(正官)
· 日柱 癸丑|阴水+土|纳音_桑柘木|十神_日主|星运_冠带(自坐冠带)|旬空_寅卯|藏干 己(七杀)、癸(比肩)、辛(偏印)
· 时柱 己未|阴土+土|纳音_天上火|十神_七杀|星运_墓(自坐墓)|旬空_子丑|藏干 己(七杀)、丁(偏财)、乙(食神)
刑冲合会(原局地支关系,传统通行口径):
· 年支午与日支丑六害(凶)
· 年支午与时支未六合(吉)
· 日支丑与时支未六冲(凶)
· 日支丑与时支未相刑
...
本地开发
git clone https://github.com/huangziyuan-general/dsh-xuanji.git
cd dsh-xuanji
npm install
npm test # 先自动 build client,再 node --test,全本地零网络
npm run probe # 引擎冒烟输出
边界
排盘是工程,解读是文化。本插件不做医疗、投资、法律断言,恐吓性断语被 systemPrompt 纪律明确禁止;重大现实决策请咨询专业人士。
License
MIT