功能 · FEATURES
每一個數字,
都說得出它從哪裡來。
界表有書名與頁碼,時區資料庫有版本號,出生時刻不確定就標成不確定。不解讀,不預測,只計算。
底下每一組數字都是真的輸出——同一張示範盤,1990-05-15 14:30 臺北,直接由本站引擎算出。你可以自己重算一次來對。
01 古典方法
「界」不只有一張表。
我們四張都給,一張都不預設。
這張盤的月亮在摩羯 24°20′。
它的界主是誰,取決於你用誰的表。
Robbins, Loeb 1940, pp. 91–97
依日夜盤切換土/水次序
pp. 103–107,作者歸屬有學界爭議
初版掃描轉錄
這不是誤差,是四套具名表本來就不一致。多數軟體給你一個「界」欄位卻不說那是誰的界——於是你永遠不知道自己在用誰的說法。
四套表的規則識別碼、出處與「為什麼不設預設」,見〈方法〉。
七顆星的完整對照
| 天體 | 位置 | 埃及界 | 迦勒底界 | Ptolemy 界 | Lilly 1647 | 幾種答案 |
|---|---|---|---|---|---|---|
| 太陽 | 金牛 24°10′30″ | 土星 | 火星 | 火星 | 土星 | 2 |
| 月亮 | 摩羯 24°20′12″ | 土星 | 火星 | 土星 | 火星 | 2 |
| 水星 | 金牛 8°02′31″ | 水星 | 土星 | 水星 | 水星 | 2 |
| 金星 | 牡羊 12°33′25″ | 水星 | 金星 | 金星 | 金星 | 2 |
| 火星 | 雙魚 18°09′49″ | 水星 | 金星 | 水星 | 水星 | 2 |
| 木星 | 巨蟹 9°29′54″ | 金星 | 木星 | 木星 | 木星 | 2 |
| 土星 | 摩羯 25°15′12″ | 土星 | 火星 | 火星 | 土星 | 2 |
七顆星,七顆的界主都會換。面/旬(兩套)與三分性(三套)比照辦理。
邊界:不打分、不加總、不解讀。把廟、旺、三分性、界、面這些不同類別的尊貴折成同一個數字,等於宣稱它們可以通約——我們不做這個宣稱。陷、弱、外來、接納(含互容)、almuten 尚未裁決,不提供。
02 精準度
精準不是形容詞。
是一組可以查的版本號。
每一次計算都回報三個獨立的版本號——而且主動告訴你其中一個不歸我們管。
內建星曆檔另見檔頭:based on JPL DE441(2026-05-26 建立)
不由本產品固定
前兩個數字格式相近,但不是同一個值——我們把這句話寫進每一份卷宗,因為搞混了會誤導。第三個更重要:時區資料庫更新後,同一組輸入可能換算出不同的 UTC。所以它的版本也印在你的卷宗裡。1970 年前、特別是標為地方平時(LMT)的時段,資料庫自承多為推定,我們不把它當成已驗證的歷史鐘面。
已經對過外部基準的部分
- 月相四相(朔、上弦、望、下弦)的事件時刻,已與 USNO Astronomical Applications API v4.0.1 的一分鐘精度資料交叉核對。
- 臺北固定案例的太陽與月亮升起、過中天、落下,已與 USNO 單日表交叉核對;USNO 只顯示到分鐘,自動測試因此容許 2 分鐘誤差。
- 黃赤交角逐次計算,取平交角加章動,不是寫死的常數——這張盤是 23°26′31.79″,平值 23°26′25.92″ 加章動 +5.870″。
- 真高度與視高度分成兩欄;視高度另附折射模型與當時採用的氣壓、溫度假設,不會被合稱為「高度」。
邊界:下中天與極區狀態目前只有內部回歸測試,尚無第二套外部參照。真位置、J2000 與關閉章動三種模式在外部參考管線(JPL DE442+Astropy/ERFA;與產品共享 JPL/IAU 譜系,不稱完全獨立)的涵蓋範圍之外。「可執行」不等於「已獨立驗證」,兩者在〈驗證證據〉頁逐項分開列出。
03 出生時刻
只記得大約幾點?
那就別假裝知道。
這張盤如果只知道「下午兩點多」——
七顆星的落宮會在同一個時刻附近一起換宮。我們把那個時刻夾在 15 秒以內的區間裡。
做法是對整個小時取樣五個時刻,再用有界二分法把分類改變的位置夾出來:
月亮在每個取樣點都在摩羯,標為「各取樣點分類相同」——這不排除兩個取樣點之間變了又變回。求根方法字串 bounded_bisection_of_a_sampled_classification_change 也印在卷宗裡。
只知道日期呢?那就不給你上升點、中天、宮位與日夜盤——沒有時刻,那些東西不存在。我們改給你全日的位置範圍,並標出月亮可能跨星座。
邊界:取樣加有界二分,不是對整個連續小時的數學證明。各取樣點都相同只能說「各取樣點分類相同」,不能說結果穩定。恆星與反照點在此模式下不做區間重算,未重算的路徑會逐項列出;月相、日月食與升降則另以三個代表性取樣並列(見方法頁 §07.7)。
04 口徑
兩個網站算出不同的上升星座。
通常兩邊都沒錯。
同一個時間、同一個地點。換一把尺,上升星座整個退一格。
兩者相差 24°36′32″,就是這套歲差修正值。你可以自己把兩個黃經相減來核對。
可以換的口徑:黃道系統(回歸/四種恆星)、宮位制(整宮/Alcabitius/Regiomontanus/Placidus/不算宮位)、月亮位置(跟隨全域或單獨改用出生地站心)。換一項,哪些數字會動、動多少,當場看得見。
邊界:計算中心、位置模式與黃道框架目前固定為地心、視位置、當日框架,介面不提供切換;三者仍逐次印在卷宗裡。對帳需要知道「這次用了什麼」,那和「你可以改成什麼」是兩件事。
05 座標
一次計算,
三套座標一起輸出。
多數占星軟體只給黃經。赤道與地平座標可以直接拿去對天文軟體。
同一顆太陽,同一個時刻。這條驗證管道是刻意留的。
涵蓋七政、三王星、凱龍星、平均與密切交點(含南交點)、Lilith 與 Priapus,以及 34 顆恆星。相位分兩層輸出:整宮配置層(純算術)與逐度層(角距離、距精確相位差、入相位方向)。四套相位集合(預設合相+四種傳統相位)、兩套具名容許度表(預設 Lilly 1647),都可切換,每一次的預設值都印在卷宗裡。
邊界:恆星只輸出座標與星等,不判定合相——那要先選定幾何(黃道合相、與角點同升或中天、地平事件),再定容許度與歲差政策,這些都還沒裁決。行運、推運、太陽回歸盤(solar return)、合盤目前一項都沒有。
06 出處
算完之後,
這份結果還要能被查。
每次計算都能取得一份卷宗:逐步軌跡、完整口徑、所有版本號,以及一組 SHA-256 收據。完整卷宗在「技術細節與驗算資料」與「運算結果+驗算資料」匯出裡;預設的結果頁只取它需要的部分。
| 步 | 算什麼 | 得到 | 怎麼來的 |
|---|---|---|---|
| 002 | 儒略日 JD(UT) | 2448026.7708342 | UTC → JD |
| 004 | 真黃赤交角 ε | 23°26′31.79″ | 平交角 + 章動 Δε +5.870″ |
| 005 | 地方真恆星時 LAST | 6.1171350 h | GAST + 東經 ÷ 15 |
步數隨啟用的模組而變,實際步數印在該次卷宗裡。整份可複製、可下載、可離線核對。
三年後你翻出一份舊卷宗,可以照著軌跡用同一個星曆函式庫重算核對;另一個人拿著它可以重建等價請求。這是可重現性,不是截圖。
四種匯出:JSON(完整結構)、Markdown(可讀卷宗,也適合餵給 AI)、CSV(表格核對)、純文字。預設的「運算結果」模式含天體、座標、宮位、相位與所選計算,不另列出生地座標,但星盤數值本身可推回大致地點;要把軌跡、版本與收據一起帶走,選「運算結果+驗算資料」。結果頁另有列印版面,直接列印或存成 PDF 時隱藏表單與控制項、展開所有摺疊區塊並印出結果;已打開「技術細節與驗算資料」取得驗算資料時,收據與驗算資料也一併印出。畫面與匯出讀同一份資料,不從畫面反推。
邊界:收據裡的 SHA-256 只對計算軌跡(calculation_trace)這一段計算,沒有金鑰,任何人改了內容都能重算一個新的:它只能偵測意外損壞,不證明來源,也不證明沒被刻意修改。它不涵蓋位置、方法結果、版本欄位與匯出檔的其他部分,也不是「這個占星方法是對的」。各項方法採取什麼做法、依據什麼,在〈方法〉逐項說明。
07 隱私
不留你的資料。
因為沒有地方可以留。
這不是一個可以關掉的設定,是應用程式的形狀。
下面每一個 0,你打開瀏覽器的開發者工具就能自己數。
- Cookie
- 0
- 網站放在你瀏覽器、每次連線自動送回去的小紙條。跨站追蹤最常用的就是它。
- localStorage
- 0
- 存在瀏覽器裡、不會自己過期的資料。關掉分頁、重開電腦都還在,可以拿來長期認出同一個人。
- sessionStorage
- 0
- 同樣存在瀏覽器裡,但只活到你關掉這個分頁。常被用來在頁面之間傳遞你剛填過的東西。
- IndexedDB
- 0
- 瀏覽器內建的資料庫,能存大量結構化資料——整張命盤放進去綽綽有餘,而且你不會察覺。
- Service Worker
- 0
- 常駐在背景的腳本。就算你已經離開這個網站,它仍可能繼續執行、快取內容或送出請求。
- 第三方主機
- 0
- 整個計算頁載入的每一個檔案都來自本站——沒有外部字型、沒有 CDN、沒有分析腳本。任何一個外部請求都會把你的 IP 交給別人。
另外沒有的:帳號、email、帳號密碼——公開測試(Public Alpha)階段連存取憑證也沒有,任何人都可以直接使用。沒有帳號資料庫、沒有命盤資料庫、沒有請求快取、沒有背景佇列。
- 預設計算請求期間,若有 Python 程式碼以寫入模式開檔,測試會直接失敗——這是機制,不是承諾;原生函式庫不在涵蓋範圍內。
- 地名搜尋讀內建的離線資料庫,不呼叫第三方地理服務、不使用瀏覽器定位、不看你的 IP。
- 匯出檔名固定為 classical-astrology-export.{json,md,csv,txt},不嵌入出生日期、時間、姓名或座標。
- 「清除本頁敏感資料」會清空表單、結果、錯誤與網址列的 query 與 fragment,並使已發出的複製/下載 handler 立即失效。
邊界:此為目前公開測試階段的架構陳述,不是對未來所有階段的無限期承諾。你按下下載之後,檔案就在你的裝置上,我們無法撤回;貼進剪貼簿的內容同理。這說的是沒有主動寫入,不是安全抹除——我們不宣稱能從記憶體、swap 或當機傾印中抹除任何東西。完整資料流見〈信任中心〉。
08 資安
資安跟隱私是兩件事。
隱私是我們不拿;資安是別人也拿不到。
瀏覽器收到的每一個安全標頭都是可以當場查的。
把開發者工具切到 Network,點任一個回應,就在 Headers 裡。
| 標頭 | 設定值 | 擋掉什麼 |
|---|---|---|
| Content-Security-Policy | script-src 'self' | 腳本只能由本站載入,並拒絕 inline 與 eval 型執行,降低常見注入的可利用面——這不是「不存在 XSS」的證明 |
| frame-ancestors 'none' | 不准任何網站把本站嵌進 iframe(點擊劫持) | |
| object-src 'none' | 不載入外掛物件 | |
| base-uri 'none' | 不准竄改相對路徑的基準位址 | |
| form-action 'self' | 表單只能送回本站,不能被改成送去別處 | |
| Permissions-Policy | geolocation=() | 叫瀏覽器直接拒絕定位——就算我們自己的程式想問也問不到 |
| camera=(), microphone=() | 同上,相機與麥克風一律關閉 | |
| Referrer-Policy | no-referrer | 你從本站點出去時,對方拿不到你來自哪一頁 |
| Cross-Origin-Opener-Policy | same-origin | 切斷與其他分頁的視窗參照 |
| X-Content-Type-Options | nosniff | 不讓瀏覽器自行猜測檔案型別 |
| Strict-Transport-Security | max-age=31536000 | 一年內只准用 HTTPS 連本站 |
寫進程式裡的其他限制
- 試算表公式注入防護:CSV 匯出時,凡是以 = + - @ 開頭(前面的空白、控制字元與零寬字元不算數),而又不是十進位/科學記號數字、也不是完整的量測字面(單一數值加 °′″、%、℃ 或 h 單位)的欄位,會被前置單引號。否則有人把公式塞進地名,你一開檔它就在你的電腦上執行。合法的 -2.5、1e-6、-23°03′30″ 不受影響;-1+1% 這種帶運算子的仍會被前置。
- 請求上限:單次計算請求最大 16 KB,每個工作行程最多 32 個併發連線、其中計算類最多 4 個。超過就拒絕,不是排隊到資源耗盡。
- 失敗優先:算不出來就明白說算不出來。Placidus 在極區帶整帶拒絕;其他宮位制算不出合法宮頭時回錯誤並說明原因,不會偷偷換一個宮位制給你一個看起來正常的答案。
- 供應鏈:沒有前端建置鏈、沒有 npm 執行期相依、沒有外部字型。你看到的每一個檔案都在公開原始碼裡,可以逐字比對。
邊界(這一段很重要):我們沒有第三方安全認證,沒有專業滲透測試,也沒有漏洞獎金計畫。有的是寫進程式並由失敗優先測試守著的限制、多輪具名外部技術審查與多工具對抗測試,以及一份誠實的「我們控制不了什麼」清單。這些都不等於專業滲透測試。完整的邊界、資料流與已知限制列在〈安全〉,那一頁是專門寫這件事的。
09 讀者
這個工具給誰用。
會問「你這個上升點是用什麼算的」的人
進階學習者與實務占星師。已經會排盤,在意臨界度數、宮頭、恆星與方法輸入值,現在得在兩三個工具之間手動核對。
要向學生或讀者交代設定的人
教師、作者、研究者。需要固定設定重現案例,需要可附錄的資料,需要一份說得出出處的講義素材。
不想讓 AI 自己猜天文數值的人
技術型使用者與 AI 工作流使用者。要 schema 穩定的 JSON、可讀的 Markdown,以及一份能重跑的請求。
目前不適合
剛開始學占星、想知道「我是什麼樣的人」的讀者。這裡不會告訴你任何一個數字代表什麼意思——那不在能力範圍內,也不會為了好賣而假裝在。
10 規格
可查證的數字。
| 計算引擎 | Swiss Ephemeris 2.10.03(套件與 C 函式庫版本分開輸出) |
| 內建星曆 | 基於 JPL DE441 |
| 可計算年份 | 1900–2399 |
| 天體與點 | 古典七政 · 三王星 · 凱龍星 · 平均/密切交點與南交點 · Lilith 與 Priapus · 恆星 34 顆 |
| 宮位制 | 4 種,另可完全不計算宮位 |
| 界、面/旬、三分性 | 4 套/2 套/3 套,全部具名到作品與章節、行號或頁碼,全部無預設 |
| 相位 | 整宮層 + 逐度層;4 套相位集合、2 套具名容許度表、3 種同度判準 |
| 進階選項 | 33 項,分八組,全部可個別開關並回顯於卷宗 |
| 出生時刻精度 | 3 種:精確到分鐘 · 只知道小時 · 只知道日期 |
| 座標系 | 黃道、赤道、地平並列;真高度與視高度分欄 |
| 匯出 | JSON · Markdown · CSV · 純文字,另有列印版面 |
| 授權 | GNU AGPL v3,原始碼公開 |
| 費用 | 目前全部免費,包含上面每一項 |
速度:開發機上量到預設請求 20–40 毫秒、全部模組開啟約 130 毫秒。這是本機量測值,隨主機、網路與所選模組而變,不是線上服務的效能承諾。
不用註冊。不用 email。
填四個欄位就能算。
上面每一個數字,你都可以自己重算一次來對。