このプロジェクトについて

紫微斗数は中国の伝統的な命理学における排盤・推算システムです。このプロジェクトは、倪海夏(ニー・ハイシャ)氏の『天紀』という教学体系に基づくオープンソースの排盤エンジンで、Next.js 14(App Router)とTypeScriptで構築されています。排盤アルゴリズム、知識ベース、古籍データ、フロントエンドインターフェースを網羅し、大規模な命盤サンプルデータセットも同梱されています。作者はオンラインサイト metisziwei.com を提供しており、直接体験することが可能です。 中核となる排盤アルゴリズムは lib/ziwei/ ディレクトリにあります。algorithm.ts は完全な排盤フローを実装しており、安命宮、五行局の決定、十四主星の配置、輔星の配置、大限・流年の算出を含みます。sihua.ts は四化飛星システム(禄権科忌)で、各天干の四化対応表を含みます。patterns.ts は1100行余りの格局知識ベースで、紫府同宮、日月並明、七殺朝斗などの古典的格局の判定ルールをカバーしています。heming-knowledge.ts は二重盤(双盤)の合盤比較方法論を提供します。cities.ts は中国の都市の緯度経度を収録し、真太陽時補正に使用します。他に constants.ts(天干地支と星曜の定数)、types.ts(型定義)、famous.ts(歴史上の有名人の命盤例)があります。基盤となる排盤はオープンソースライブラリの iztro と lunar-javascript に依存しています。 古籍データに関しては、lib/classics/ に『骨髓賦』『紫微斗数全集』(清代の古版本)と『紫微斗数全书』(陳希夷伝本)の原文データが収録されています。lib/seo/ は14主星×12宮位の構造化知識データを提供し、コンテンツ生成や知識ベース構築に利用できます。 フロントエンドインターフェースには、排盤ワークベンチ(命盤の格子、宮位詳細、星曜パネル)、合盤分析ページ、全文検索対応の古籍リーダー、命理百科(14主星と12宮位の知識ページ)が含まれ、ライト/ダークテーマ切り替えとモバイル対応をサポートしています。スタイルはTailwind CSSとCSS Variablesデザインシステムを採用し、アニメーションにはFramer Motionを使用しています。 データセット:リポジトリのReleasesでv3.0命盤サンプルデータセットが提供されており、合計518,400件(年60×月12×日30×時12×性別2の組み合わせ)で、総サイズ約5.5GB、3巻に圧縮され、SHA256チェックサムファイルが付属しています。各サンプルには完全な命盤JSONと13テーマの解釈テキスト(命格概要、財運、事業、感情、健康など)が含まれています。READMEには、小規模モデルのファインチューニング用コーパス、RAG検索ソース、patterns.ts修正後のA/Bベースライン比較、命理研究とデータ分析に使用可能と記載されています。 注意すべき境界:オープンソース部分には、AI解釈用プロンプト、バックエンドAPIルート(/api/interpret、/api/heming、/api/generateなど)、ユーザーシステム、サーバーサイドのセキュリティとデプロイ設定は含まれていません。排盤アルゴリズムとフロントエンドインターフェースは独立して実行可能ですが、AI解釈機能が必要な場合は、READMEがpatterns.tsとheming-knowledge.tsの知識ベースを参照し、任意のLLMと組み合わせてプロンプトを構築することを推奨しています。 クイックスタート:リポジトリをクローン後、npm installを実行し、.env.exampleを.env.localにコピーしてAI APIキーを入力し、npm run devで開発サーバーを起動します。 ライセンス:コード(lib/、app/、components/)はMITライセンスです。サンプルデータセットは自由に使用(商用含む)できますが、唯一の条件としてデータソースの明記(帰属表示)が必要です。古籍原文はパブリックドメインです。