Anonymous Santa Clauses
Draw names for Secret Santa with friends, family or the office. Free, no ads, no passwords: sign in with a magic link, share a code, roll the dice.
翻译准备中
🔮 Eleven traditional divination systems (Western astrology · BaZi · 紫微斗數 · I Ching · Jyotiṣa …) as deterministic Python engines with bilingual AI readings — real-astronomy charts, transits, progressi
翻译准备中
生活方式Python · TypeScriptGitHub @ChiShengChen自行安装运营者未确认
试用过了吗? 点一下就好,无需登录。
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
安装型项目无需部署域名也可验证。个人仓库可通过 GitHub 登录验证,组织仓库可使用上方的仓库验证文件。
🔮 Eleven traditional divination systems (Western astrology · BaZi · 紫微斗數 · I Ching · Jyotiṣa …) as deterministic Python engines with bilingual AI readings — real-astronomy charts, transits, progressions, synastry, group & multi-year forecasts.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗西洋占星 · 八字 · 紫微斗數 · 梅花易數 · 六爻 · 小六壬 · 四柱推命 · 七政四餘 · 鐵板神數 · 奇門遁甲 · 大六壬 · 太乙神數 · Jyotiṣa · 姓名學
pip install bazaar-of-fates && bazaar bazi 1990-06-15 14:30 --place 台北 --gender female
| 🌏 13 systems + 姓名學, 1 input | One birth moment → every chart (add a Chinese name for 姓名學). Type a city and lat/lon/time zone fill in (Taiwan historical DST applied); optional true solar time for the 干支 systems. |
| 🎯 Real astronomy, exact to the minute | Planets at the exact birth instant, true equinox of date (ephem); all 24 節氣 to the minute; six house systems validated against Swiss Ephemeris to <0.006°. |
| 🔍 Every chart is auditable | Each cast lists its reasoning: every term of the 八字 旺衰 score, the 六壬 course-type rule used, the 奇門 遁/元/局 derivation, every +/− of a 擇日 score. Cross-validated in tests against Swiss Ephemeris, x-iztro (iztro), kinliuren, kinqimen, lunar-python — the whole 518,400-chart 紫微 input space matches iztro. |
| 🧾 八字 full sheet | 十神 · 藏干 · 納音 · 空亡 · 神煞 · 十二長生 · 胎元命宮 · 起運交運 · 刑沖合會 · 稱骨 · 黃曆, an auditable 旺衰 / 用神 / 調候 / 格局 analysis, 大運 → 流年 → 流月 drill-down. |
| 🌟 紫微 | 36 stars + x-iztro brightness, 雜曜, 格局; 來因宮 (欽天四化 / 北派) marked on the board; 閏月 / 晚子時 conventions; 大限 → 流年 panel (四化落宮, 流曜, 歲前/將前). |
| 🧑⚖️ Synthesis 綜合會診 | One question → all 13 systems, each with its own rule-based verdict and reason, agreement/conflict tallied, then one reading that explains why traditions differ. |
| 📅 Date picking 擇日 · 今日運勢 | Purpose (結婚/開業/搬家/簽約/手術/出行/求財) + range → every day scored from 黃曆, 八字 流日 (沖日柱/歲破/月破/空亡/神煞), 紫微 流日四化, 奇門 值使 + 吉方, 小六壬; calendar view, best 時辰 per day. |
| 🗣️ Readings in your language | 中文 / English / both, streamed token-by-token. Ask a question and the prompt leads with the facts that bear on it. Runs fully offline (facts digest) with no API key. |
| 🪐 Western stack | 6 house systems · transits · secondary & solar-arc progressions · Solar & Lunar Returns · planet-return timelines. |
| 💞 Relationships & forecasts | Synastry bi-wheel · composite · Davison · 2–8-person matrix · cross-tradition annual report · multi-year heatmap with turning points · two-person arc. |
| 💘 Love-specialist reader 感情專科 | One question type, read deeply: natal love disposition (八字 配偶星・夫妻宮, 紫微 夫妻宮, 西洋 金星・七宮, Jyotiṣa 七宮), a 桃花年/婚緣年 scan with every +/− listed, 合婚 (八字 日柱干支 + synastry) when a partner is given, and a reading that answers the sub-question (何時有緣/合不合/復合/該不該分開/婚姻/第三者) first. Rules: docs/love.md. |
| 🩺 Specialist readers 專科 | Five more one-topic readers on the same skeleton — career 事業 (官殺・提綱, 官祿宮, 十宮・土星, 第十 bhāva + a 事業方向 sheet), wealth 財運 (財星・財庫 opened by 流年沖, 財帛宮, 二宮・木星 + 財性 sheet), health 健康 (五行分布→臟腑, 疾厄宮, 六宮 + 體質 sheet; never medical advice), study 學業 (印星・文昌學堂, 父母宮・昌曲, 九宮・水星 + 學習型態/科系 sheet), family 家庭 (年柱父母宮・時柱子女宮・子女星, 田宅宮, 四宮・月亮 + 六親 sheet). Each: natal, this year, a yearly scan with every +/− listed, sub-question first. Rules: docs/specialists.md. |
| 🎲 Ask 問事 | No birth needed: 奇門 / 六壬 / 梅花 / 六爻 / 小六壬 cast for the moment of the question — 奇門 時盤 with 日干宮 (asker), 時干宮 (the matter), 用神 by topic, 門迫/空亡/三奇, 吉方; 六壬 時課 with 類神 in the 三傳, 末傳 vs 日干, 課體; 梅花 數字起卦 (1–3 numbers) and 字占; 六爻 金錢卦 from six coin throws; every term scored and listed, 應期 hint. Rules: docs/ask.md. |
| 🈷️ Name numerology 姓名學 | 熊崎式五格 from the Chinese name: 康熙筆畫 (every character traced to its Unihan radical), 天人地外總 five grids, 81 數理, 三才 relations, and each grid's element against the person's 八字 喜用. Works without a birth too. POST /name, bazaar xingming, MCP name. Guide: docs/xingming.md. |
| 🤖 CLI · API · MCP | bazaar in the terminal, FastAPI with SSE streaming, bazaar-mcp for Claude / Cursor, a Claude Code skill, a one-page printable report. |
| 🗃️ Datasets | One command enumerates the entire 紫微 input space (518,400 charts, with 7-topic rule verdicts) or 八字 by date range. |
📖 A visual guide per system (how to read each chart): docs/ — astrology · bazi · ziwei · iching · liuyao · xiaoliuren · suimei · qizheng · tieban · qimen · liuren · taiyi · jyotish · xingming 姓名學 · 擇日 rules · · · · 🧾 one-page (, print → PDF)
Terminal (no server, no key)
pip install bazaar-of-fates # or run once: uvx bazaar-of-fates …
bazaar bazi 1990-06-15 14:30 --place 台北 --gender female # 八字 sheet in the terminal
bazaar ziwei 1990-06-15 14:30 --place 台北 --gender female # 紫微 4×4 board
bazaar synthesis 1990-06-15 14:30 --gender female --ask "明年事業" # 13 systems, one question
bazaar zeri 1990-06-15 14:30 --purpose wedding --from 2026-11-01 --to 2026-12-31 # 擇日
bazaar today 1990-06-15 14:30 # 今日運勢
bazaar love 1990-06-15 14:30 --gender female --ask "何時有正緣" --years 8 # 感情專科:命・桃花年・(合婚 with --partner-date)
bazaar career 1990-06-15 14:30 --gender female --ask "該不該轉職" # 專科:career | wealth | health | study | family
bazaar ask qimen "明天面試會順利嗎" # 問事 ask: qimen | liuren | iching (--numbers / --text) | liuyao (--coins) | xiaoliuren
bazaar xingming 1990-06-15 14:30 --full-name 陳美玲 --gender female # 姓名學 name numerology (五格 · 三才 · 配八字)
bazaar all 1990-06-15 14:30 --json # everything as JSON; add --read for a reading
Full web app (Next.js) from source
git clone https://github.com/ChiShengChen/bazaar-of-fates && cd bazaar-of-fates
python3.11 -m venv .venv && source .venv/bin/activate # 3.10–3.13
pip install -e ".[dev,llm,oracles]" # llm = Anthropic reader (optional); oracles = x-iztro, opencc… (optional)
cp .env.example .env
uvicorn fortune.api.main:app --reload # API → :8000 (also serves the no-build static page at /)
cd web && npm install && npm run dev # full UI → :3000 (node ≥ 20)
No LLM key needed — every chart casts deterministically and the reading falls back to a faithful facts digest. Set LLM_BACKEND=anthropic + ANTHROPIC_API_KEY for AI prose; pick the reading language in the UI or with lang.
curl -s localhost:8000/cast/bazi -H 'content-type: application/json' \
-d '{"name":"Mei","birth_date":"1990-06-15","birth_time":"14:30","gender":"female","place":"Taipei"}' | jq .summary
# "日主 辛金・身弱(喜生扶)・喜用 土、金"
| key | System | 系統 | engine | 時辰 | 出生地 |
|---|---|---|---|---|---|
astrology | Western Astrology | 西洋占星 | ephem, equinox of date; 6 house systems; transits, progressions, returns | ✅ | ✅ |
bazi | BaZi · Four Pillars | 八字(四柱) | exact-節氣 干支; full almanac sheet; 旺衰/用神; 大運流年流月流日 | ✅ | — |
ziwei | Zi Wei Dou Shu | 紫微斗數 | native 安星 (36 stars) + x-iztro; 大限/流年; brightness schools 全書/中州/三級 | ✅ | — |
iching | Plum-Blossom I Ching | 梅花易數 | 年月日時起卦 (農曆), 體用生剋 | ✅ | — |
liuyao | Liu Yao | 六爻(納甲) | 京房納甲 · 八宮世應 · 六親六神 · 伏神 · 旺衰 | ✅ | — |
xiaoliuren | Xiao Liu Ren | 小六壬 | 月日時 六宮 | ✅ | — |
suimei | Shichū-Suimei (JP) | 四柱推命(日) | 十二運星 + 天中殺 | ✅ | — |
qizheng | Seven Luminaries | 七政四餘 | real longitudes + 四餘 mean elements; 命度起宮 | ✅ | ✅ |
tieban | Iron Plate | 鐵板神數 | 太玄數 起命數 (honest stand-in) | ✅ | — |
qimen | Qi Men Dun Jia | 奇門遁甲 | 時家轉盤, 拆補法 / 置閏法 | ✅ | — |
liuren | Da Liu Ren | 大六壬 | 月將加時 · 四課三傳 · 九宗門 (8,640-course check vs kinliuren) · 十二天將 | ✅ | — |
taiyi | Tai Yi Shen Shu |
Missing birth time or place → ascendant-based systems fall back to date-only and say so. / 缺時辰或出生地時自動退回並標註。
reasoning_chain is the audit trail). With a question (focus), the prompt leads with the facts that bear on it — 八字 本題十神, 紫微 本題宮位三方四正 + 四化, 六爻 用神, Western/Jyotiṣa 本題宮位, 奇門 用神落宮, 六壬 三傳天將 — plus that tradition's own rule-based verdict./synthesis: every system's verdict on one question side by side, tally, consensus and conflicts, panel reading. The table needs no LLM./zeri: each day in a range scored from 黃曆 宜忌/建除/宿/神煞, 八字 流日 (喜用, 沖日柱 −4, 歲破 −3, 月破 −2, 旬空, 合日支, purpose 神煞), 紫微 流日四化 into the purpose palace, 奇門 值使 + 吉方, 小六壬 — every term listed; best days get 12 scored 時辰. /day is today's outlook. Rules: docs/zeri.md.pip install "bazaar-of-fates[mcp]"
# Claude Desktop / Claude Code / Cursor:
# {"mcpServers": {"bazaar-of-fates": {"command": "bazaar-mcp"}}}
Tools: list_systems · geo_lookup · cast · reading · synthesis · zeri · day · synastry · love · consult · ask · name — every result carries the chart's reasoning_chain, so the model reads from facts. Skill: skills/bazaar-of-fates/SKILL.md. Directory listings and launch copy: docs/LAUNCH.md.
/docs and the static page at /web/.docker build -t bazaar . && docker run -p 7860:7860 bazaar → API + static page on :7860, mock reader, no key. See deploy/hf-space-README.md.CACHE_TTL_SECONDS, header X-Cache), every client IP is rate-limited in two tiers (RATE_LIMIT_PER_MINUTE general, LLM_RATE_LIMIT_PER_MINUTE for endpoints that may call the LLM → 429 + Retry-After), and concurrent LLM calls are capped server-wide (LLM_MAX_CONCURRENCY; the report page queues its readings two at a time). GET /health shows the counters. See .env.example.LLM_BACKEND=anthropic + ANTHROPIC_API_KEY for AI readings.| method | path | |
|---|---|---|
GET | /systems · /geo?q=&on= · /cities | the 13 systems + 姓名學 (needs_name); birthplace → lat/lon/tz (offline table, Taiwan DST by date) |
POST | /cast/{system} | deterministic chart, no LLM → Chart |
POST | /reading/{system} [/stream] | chart + reading (focus, lang; /stream = SSE) → Reading |
POST | /synthesis | one question across all (or chosen) systems: verdicts + facts, tally, consensus/conflicts, panel reading |
POST | /zeri · /day | date picking for a purpose (scored days, best/avoid, 吉時, 吉方) · one day's outlook with 12 時辰 |
POST | /love | love-specialist sitting: natal disposition, this year's 13-system lean, 桃花年/婚緣年 scan, 合婚 with a partner, reading |
POST | /consult/{topic} · GET /consult | specialist sitting for career / wealth / health / study / family (auto routes by the question): natal, this year, yearly scan, the topic sheet, reading |
POST | /ask/{system} | 問事: qimen / liuren / iching / liuyao / xiaoliuren cast for the moment of the question (or numbers / text / coins), verdict with listed reasons, 應期 |
POST | /name | 姓名學: five grids, 81 數理, 三才, 八字 link (birth optional) |
POST | /timeline/{system} | 大運 / Mahādaśā / 流年 / planet returns → Timeline |
POST | /synastry · /group | relationship / group charts + readings |
POST | /annual-report · /annual-overview | one-year report / multi-year arc |
Options: astrology house_system · transits · transit_date · progress · progress_method · solar_return · lunar_return; 奇門 qimen_method (chaibu | zhirun); 紫微 brightness_school (quanshu | zhongzhou | simple); 太乙 taiyi_method (tongzong | jinjing | taojinge); 姓名學 stroke_basis · numeral_strokes · jiashu; BirthInput.true_solar_time · full_name; lang (zh | en | both, default both); focus for question-oriented extraction. Supported birth years: 1900–2099.
fortune/
birth.py BirthInput — the single input / 生辰輸入
engines/<system>/ per-system primitives + tables (干支 anchors, 五虎遁/五鼠遁, 紫微 安星, 六十四卦, Vimśottarī…)
astro_ext.py time-exact, equinox-of-date planets; ascendant + 6 house systems (swisseph-validated)
bazi_ext.py full 八字 sheet — exact 24 節氣, 十神/藏干/納音/空亡/神煞, 旺衰/用神, 起運, 大運/流年/流月/流日, 稱骨, 真太陽時
ziwei_ext.py 紫微 with the real 時辰, 閏月/晚子時, 36 stars, 大限/流年, x-iztro enrichment
jyotish_ext.py grahas / nakṣatra / Vimśottarī daśā at the exact birth instant
qimen_ext.py 時家奇門 轉盤 起局, 拆補法 / 置閏法 (遁/元/局, 地盤, 值符值使, 天盤 九星八門八神)
liuren_ext.py 大六壬 九宗門 + 十二天將 (8,640-course check in scripts/liuren_fullspace_check.py)
taiyi_ext.py 太乙 年計 board — 統宗 積年, 七十二局, 十六神, 主客算, 八門, 斷例
xingming/ 姓名學 engine (康熙筆畫 table from Unihan, 五格, 三才, 81 數理) + tools/build_strokes.py
liuyao_ext.py 六爻 納甲 / 八宮世應 / 六親六神 / 伏神 / 旺衰
lunar.py 農曆 conversion (lunar-python → sxtwl → lunardate; lunardate has 3 wrong months)
geo.py offline city → lat/lon/tz, Taiwan historical DST
almanac.py 黃曆 block via lunar-python (正體 via OpenCC)
casting/<system>.py per-system adapter: birth → Chart (the 13 systems + xingming)
focus.py question → topic; per-system relevant facts + rule-based verdict; cross-system tally
zeri.py 擇日 scorer + daily outlook
love.py 感情專科 — natal love disposition, 桃花年/婚緣年 scan, 合婚
specialist.py 事業/財運/健康/學業/家庭 specialist readers (one SPEC per topic)
ask.py 問事 — 奇門/六壬/梅花/六爻/小六壬 for the moment of a question; 數字起卦, 字占, 金錢卦
prompts/<system>/ author voices + 專科 personas (ship inside the package)
shared/throttle.py response cache + per-IP rate limit; shared/llm.py LLM gateway with a concurrency gate
timeline.py · synastry.py · group.py · annual.py life timelines, relationships, forecasts
interpret.py facts + tradition prompt → reading (zh / en / both), synthesis & 擇日 prompts
api/main.py FastAPI (+ serves web/index.html)
cli.py `bazaar` terminal CLI · mcp_server.py `bazaar-mcp` MCP server
web/ Next.js app + static index.html (no-build fallback)
docs/ per-system guides, 擇日 rules, credits, launch kit, screenshots
scripts/ screenshots, hero GIF / social card, 紫微 + 六壬 full-space checks, dataset builder
.github/workflows/ CI — pytest on 3.10–3.12 with the oracle packages, web typecheck + build, package check
deploy/ Hugging Face Space app, Dockerfile companion README
skills/ Claude Code skill
pytest -q # 379 tests
Every system casts · reference 節氣 instants (USNO, 台北市曆象表) · planets and six house systems vs Swiss Ephemeris · the 八字 sheet vs a published 排盤 · 旺衰/起運/真太陽時/geo-DST · 神煞 table · 紫微 placement, 長生/博士, 大限 vs x-iztro, brightness schools · 六壬 四課/天將/課體 vs kinliuren (plus the 8,640-course script) · 奇門 局/值符值使/盤 vs kinqimen · 太乙 年計 vs kintaiyi · 姓名學 166 康熙筆畫 + standard cases · 四柱/節氣/大運 vs lunar-python · transits, progressions, returns, synastry, group, annual · focus extraction, synthesis, 擇日, 專科, 問事, cache & rate limit, CLI, MCP. Cross-validation tests skip when the optional packages are absent.
python scripts/ziwei_fullspace_check.py # native 紫微 vs x-iztro, all 518,400 charts — 0 mismatches
python scripts/build_dataset.py ziwei --out data/ziwei.jsonl.gz # the whole 紫微 input space (60 年干支 × 12 月 × 30 日 × 12 時辰 × 2)
python scripts/build_dataset.py bazi --out data/bazi.jsonl.gz --years 1960-2030 # 八字 by solar date × 12 時辰 × 2 (~622k rows)
Each row is a complete deterministic chart (紫微: palaces with brightness/雜曜, 命主身主局, 生年四化, 12 大限; 八字: exact-節氣 四柱 with 十神/藏干/納音/空亡/神煞, 胎元命宮, 旺衰/用神/格局, 起運, 9 大運, 稱骨) plus a rule-based verdict + facts for seven topics — a reading skeleton for fine-tuning, RAG, or diffing against another engine. --liunian adds the per-year lists; --asof fixes the "today". Output is gzipped JSONL under data/ (git-ignored; ≈ 350 MB / 190 MB).
birth.full_name, POST /name, /cast/xingming, bazaar xingming, MCP name, Space sheet; 14th system listed with needs_name.scripts/liuren_fullspace_check.py); 八字 神煞 full table (福星/天官/天福/金輿/流霞/血刃/詞館/災煞/太歲十二神/元辰勾絞/天羅地網/日柱格 十惡大敗 陰差陽錯 孤鸞 日德 日貴 十靈 六秀 八專 九醜/三奇 拱祿); 紫微 brightness schools (brightness_school: 全書七級 · 中州派四級 · 三級, 祿存 廟); 太乙 rewritten as the classical 年計 board (太乙統宗 積年, 七十二局, 太乙/文昌/始擊/計神/合神/定目, 主客定算與大將參將, 十六神, 八門, 三門五將與主客斷例; cross-checked with kintaiyi; taiyi_method).bazaar ask / POST /ask/{system} / MCP ask / Space tab: 奇門 時盤 and 六壬 時課 for the moment of a question (用神・類神 by topic, 門迫/空亡/三奇, 課體, 應期), 梅花 數字起卦 and 字占, 六爻 金錢卦, 小六壬.bazaar love|career|wealth|health|study|family, POST /love, POST /consult/{topic}, MCP love / consult; Space tabs; prompts now ship inside the wheel; phone layouts, share links and PNG download in the Space.bazaar CLI, bazaar-mcp MCP server + Claude Code skill, live Hugging Face Space, Dockerfile, MIT licence, 繁中/简中 READMEs, hero GIF; full-space check against iztro (which exposed three wrong month lengths in lunardate — the 農曆 layer now prefers lunar-python / 壽星萬年曆); dataset builder.Built on PyEphem and lunar-python; optionally enriched by x-iztro (iztro port — 紫微 brightness, 雜曜, 格局) and OpenCC; cross-validated in the test suite against x-iztro, kinliuren, kinqimen, kintaiyi, lunar-python and Swiss Ephemeris; the 姓名學 stroke table is built from the Unicode Unihan database; rules consulted from mingpan, jishiyu and ziwei-doushu. Full list with licences and how each is used: docs/CREDITS.md.
MIT. For cultural, educational, and entertainment purposes. Divination is not a basis for financial, medical, or legal decisions. 僅供文化、教育與娛樂用途;命理不應作為財務、醫療或法律決策的依據。
/report| 太乙神數 |
| 年計 board: 統宗 積年 · 七十二局 · 太乙/文昌/始擊/計神 · 主客算與大將參將 · 十六神 · 八門 · 斷例 (cross-checked with kintaiyi) |
| — |
| — |
xingming | Xing Ming · Name Numerology | 姓名學 | 熊崎式五格 · 康熙筆畫 (Unihan) · 81 數理 · 三才 · 八字 link (needs a Chinese name) | — | — |
jyotish | Jyotiṣa (Vedic) | 吠陀占星 | sidereal (Lahiri) at the birth instant; Vimśottarī daśā | ✅ | ✅ |