這是一個將傳統大六壬 Python 引擎現代化、Web 化的開源專案。 本專案基於 FastAPI 建構後端 API,並搭配高度視覺化的無框架前端介面,專為現代大六壬實戰預測與 AI 輔助分析所設計。
- 氣數透視
- 前端內建動態 DOM 解析器。開啟透視模式後,系統會自動剔除四課中的「生/比」無效資訊,專注標示引發事件矛盾的「下賊上/上剋下」箭頭,並將落入「空亡」的地支陷阱視覺化,大幅提升實戰抓取發用的直覺。
- 晝夜雙軌演算法
- 跳脫傳統寫死的系統時間,引入雙軌晝夜判定機制。使用者可依據實戰心法,於前端介面自由切換「傳統卯酉分界」或基於正弦波逼近演算法的「真實天文地平線 (日出日落)」來決定晝夜貴人。
- 結構化數據萃取
- 內建純淨數據萃取引擎,可一鍵將繁雜的 HTML 盤面 (包含隱藏的空亡與賊剋參數) 轉換為乾淨的 Markdown 結構化文本,無縫對接 ChatGPT、Claude 等大語言模型進行輔助解盤。
- 回歸正統貴人訣 (底層修正)
- 修正了原開源引擎中關於「甲日晝占」貴人落在未(羊)的流派爭議。本專案已將底層陣列修正為《御定六壬直指》等主流經典所採用的「甲戊庚牛羊」標準法則 (甲日晝占為丑)。
為了讓大六壬研究者與開發者能安心將本專案用於實戰與學術回測,本引擎之底層起課邏輯皆經過嚴格校對。以下為本專案核心演算法的流派依據與參數設定:
| 核心排盤要素 | 本專案採用之邏輯 | 流派依據與考證說明 |
|---|---|---|
| 晝夜貴人判定 | 雙軌制 (前端可動態切換): 1. 傳統卯酉分界 2. 真實天文地平線 (正弦波逼近演算法) |
兼顧宋代後約定俗成的「卯酉捷法」,以及《吳越春秋》古課中嚴格遵循的「星出星沒 (真實天象)」實證派古法。 |
| 十干貴人訣 | 甲戊庚牛羊 (甲日:晝占丑、夜占未) |
原開源庫daliurenpython採用了小眾的「陰陽旦暮派」(甲日晝占為未),本專案已將底層 shipan.py 陣列修正,全面回歸《御定六壬直指》等主流經典派法則。 |
| 節氣與月將 | 精確天文計算,過「中氣」換將 | 內建 ELP2000-82 / IAU1980 曆法模型計算太陽黃經。嚴格以太陽實際過宮 (中氣交接) 到分秒為基準來切換月將,非粗略按日子切換。 |
| 四課排法 | 常規標準四課 (一課干、二課干陰、三課支、四課支陰) |
遵循《大六壬大全》標準天地盤寄宮與上神提取邏輯。 |
| 九宗門 (三傳) | 完整實作九宗法 (賊剋、比用、涉害、遙剋、昴星、別責、八專、伏吟、返吟) |
嚴格依循傳統九宗法遞進邏輯。涉害法遵循「歷歸本家」之深度計算,並完善孟、仲發用之「見機」、「察微」等判定。 |
除了修正貴人訣的流派爭議外,本專案針對原開源庫daliurenpython的曆法引擎進行了關鍵修復:
- 跨年節氣錯置修正:修正了
GetLi函數在「小寒」到「大寒」節氣區間內,會錯誤將年度 +1 的邏輯問題。此修復徹底解決了在年初時段起課,會導致「月將錯置」與「節氣判定越界」的嚴重計算偏差,確保了排盤的絕對精準度。
daliuren-web-engine/
│
├── app/ # FastAPI 後端引擎
│ ├── main.py # API 路由入口
│ ├── services/ # 業務邏輯與 API 封裝
│ └── repo_core/ # 大六壬排盤核心演算法 (已修正貴人訣)
│
├── index.html # 觀測站前端介面 (SPA)
├── requirements.txt # 專案依賴套件清單
└── README.md # 專案說明文檔
請確保你的系統已安裝 Python 3.8 或以上版本。建議使用虛擬環境進行安裝:
python -m venv env
source env/bin/activatepip install -r requirements.txt在專案根目錄下執行以下指令啟動 FastAPI 伺服器:
uvicorn app.main:app --reload看到 Application startup complete. 提示後,代表後端引擎已在 http://127.0.0.1:8000 成功運行。
本專案前端採用純粹的 HTML/JS/CSS 撰寫,無需額外編譯。請直接使用瀏覽器 (推薦 Chrome 或 Edge) 開啟專案根目錄下的 index.html 檔案,即可開始起課。
本專案的大六壬排盤核心演算法基於daliurenpython-zh-tw,修改自開源專案 daliurenpython。特此致謝原作者在底層曆法與九宗法上的基礎貢獻。
本專案不僅提供視覺化的 Web 介面,其底層建構的大六壬宇宙模型亦具備高度的物件化與擴充性。您可以輕鬆地越過前端渲染,將複雜的氣數、神煞與四課三傳邏輯,完整導出為標準的結構化 JSON 格式。
這使得本引擎非常適合用於大數據歷史回測、機器學習特徵萃取或串接大型語言模型 (LLM) 進行自動化解盤。系統已預先處理好繁簡轉換、六壬專屬術語防呆,並將實戰關鍵參數(如「是否空亡」)直接量化為 Boolean 值,大幅降低後續的資料清洗成本。
JSON 數據輸出範例:
{
"basic_info": {
"time": "2026-05-20 14:33:00",
"four_pillars": {
"year": "丙午",
"month": "癸巳",
"day": "甲午",
"hour": "辛未"
},
"solar_terms": {
"current": "立夏 2026-05-05 19:48:42",
"next": "小滿 2026-05-21 08:36:44"
},
"yue_jiang": "酉",
"zhan_shi": "未",
"day_night": "晝占",
"kong_wang": [
"辰",
"巳"
]
},
"san_chuan": {
"chu": {
"liu_qin": "財",
"dun_gan": "",
"di_zhi": "辰",
"tian_jiang": "合",
"is_kong_wang": true
},
"zhong": {
"liu_qin": "子",
"dun_gan": "甲",
"di_zhi": "午",
"tian_jiang": "龍",
"is_kong_wang": false
},
"mo": {
"liu_qin": "官",
"dun_gan": "丙",
"di_zhi": "申",
"tian_jiang": "虎",
"is_kong_wang": false
}
},
"si_ke": {
"ke1": {
"ke_shang": "辰",
"ke_xia": "甲",
"tian_jiang": "合"
},
"ke2": {
"ke_shang": "午",
"ke_xia": "辰",
"tian_jiang": "龍"
},
"ke3": {
"ke_shang": "申",
"ke_xia": "午",
"tian_jiang": "虎"
},
"ke4": {
"ke_shang": "戌",
"ke_xia": "申",
"tian_jiang": "玄"
}
},
"tian_di_pan": {
"子": {
"tian_pan": "寅",
"tian_jiang": "蛇"
},
"丑": {
"tian_pan": "卯",
"tian_jiang": "雀"
},
"寅": {
"tian_pan": "辰",
"tian_jiang": "合"
},
"卯": {
"tian_pan": "巳",
"tian_jiang": "勾"
},
"辰": {
"tian_pan": "午",
"tian_jiang": "龍"
},
"巳": {
"tian_pan": "未",
"tian_jiang": "空"
},
"午": {
"tian_pan": "申",
"tian_jiang": "虎"
},
"未": {
"tian_pan": "酉",
"tian_jiang": "常"
},
"申": {
"tian_pan": "戌",
"tian_jiang": "玄"
},
"酉": {
"tian_pan": "亥",
"tian_jiang": "陰"
},
"戌": {
"tian_pan": "子",
"tian_jiang": "后"
},
"亥": {
"tian_pan": "丑",
"tian_jiang": "貴"
}
},
"格局": [
"涉害卦",
"三陽卦",
"六儀卦"
]
}如果您對如何直接在 Python 環境中呼叫核心引擎,並提取上述純淨的 JSON 結構感興趣,請直接參考本專案根目錄下的 developer_guide.ipynb。該 Jupyter Notebook 詳細示範了底層 ShiPan 物件的解構方法與序列化腳本,助您快速上手。
