프로젝트 소개

자미두수는 중국 전통 명리학의 배반 추산 체계입니다. 이 프로젝트는 니하샤(倪海夏) 《천기(天纪)》 교육 체계를 기반으로 한 오픈소스 배반 엔진으로, 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 프로토콜을 따릅니다. 샘플 데이터셋은 자유롭게 사용할 수 있으며(상업적 사용 포함), 유일한 요구사항은 데이터 출처 표기(attribution)입니다. 고전 원문은 공개 자료입니다.