Sobre o projeto
Ziwei Doushu é um sistema de cálculo e interpretação da astrologia tradicional chinesa. Este projeto é um motor de cálculo open-source baseado no sistema de ensino "Tian Ji" de Ni Haixia, construído com Next.js 14 (App Router) + TypeScript, abrangendo algoritmos de cálculo, base de conhecimento, dados de clássicos antigos e interface front-end, além de um grande conjunto de dados de amostras de mapas astrológicos. O autor fornece o site online metisziwei.com para experiência direta.
O algoritmo central de cálculo está localizado no diretório lib/ziwei/: algorithm.ts implementa o fluxo completo de cálculo, incluindo a definição do Palácio da Vida, determinação dos Cinco Elementos, posicionamento das 14 estrelas principais, estrelas auxiliares, e cálculo dos limites de idade e anos correntes; sihua.ts é o sistema de quatro transformações (Lu, Quan, Ke, Ji), com tabelas de correspondência para cada tronco celestial; patterns.ts é uma base de conhecimento com mais de 1100 linhas, cobrindo regras de julgamento para padrões clássicos como Zifu Tonggong, Riyue Bingming, Qisha Chaodou; heming-knowledge.ts fornece metodologia de comparação de mapas duplos; cities.ts contém coordenadas de cidades chinesas para correção do tempo solar verdadeiro; além de constants.ts (constantes de troncos celestiais, ramos terrestres e estrelas), types.ts (definições de tipos) e famous.ts (exemplos de mapas de figuras históricas). O cálculo subjacente depende das bibliotecas open-source iztro e lunar-javascript.
Quanto aos dados de clássicos antigos, lib/classics/ inclui os textos originais de "Gusui Fu", "Ziwei Doushu Quanji" (edição antiga da dinastia Qing) e "Ziwei Doushu Quanshu" (transmitido por Chen Xiyi); lib/seo/ fornece dados estruturados de conhecimento para 14 estrelas principais × 12 palácios, que podem ser usados para geração de conteúdo ou construção de base de conhecimento.
A interface front-end inclui uma bancada de cálculo (grade do mapa astrológico, detalhes dos palácios, painel de estrelas), página de análise de mapas duplos, leitor de clássicos com pesquisa de texto completo, enciclopédia de astrologia (páginas de conhecimento das 14 estrelas principais e 12 palácios), suporte a temas claro/escuro e adaptação para dispositivos móveis. O estilo usa Tailwind CSS e sistema de design com variáveis CSS, e animações com Framer Motion.
Conjunto de dados: O repositório Releases fornece o conjunto de dados de amostras de mapas v3.0, totalizando 518.400 amostras (cobrindo combinações de 60 anos × 12 meses × 30 dias × 12 horas × 2 sexos), com tamanho total de aproximadamente 5,5 GB, dividido em 3 volumes compactados com arquivo de verificação SHA256. Cada amostra inclui um JSON completo do mapa astrológico e textos de interpretação para 13 temas (visão geral do destino, finanças, carreira, relacionamentos, saúde, etc.). O README explica que pode ser usado para ajuste fino de modelos pequenos, fonte de recuperação RAG, comparação de linha de base A/B após modificar patterns.ts, e pesquisa e análise astrológica.
Limitações importantes: A parte open-source não inclui prompts de interpretação de IA, rotas de API de back-end (como /api/interpret, /api/heming, /api/generate), sistema de usuários, segurança do servidor ou configuração de implantação. O algoritmo de cálculo e a interface front-end podem ser executados de forma independente; se for necessária capacidade de interpretação por IA, é preciso implementar as interfaces correspondentes. O README sugere consultar as bases de conhecimento em patterns.ts e heming-knowledge.ts, combinadas com qualquer LLM para construir prompts.
Início rápido: Após clonar o repositório, execute npm install, copie .env.example para .env.local e preencha a chave da API de IA, depois inicie o servidor de desenvolvimento com npm run dev.
Licença: O código (lib/, app/, components/) está sob licença MIT; o conjunto de dados de amostras pode ser usado livremente (inclusive para fins comerciais), com a única exigência de atribuição da fonte; os textos dos clássicos antigos são de domínio público.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.