zan-ia/zan-visual-novel

0

stars

71

commits

TypeScript

primary language

Jul 30, 2026

updated

README

Zan Visual Novel

License: MIT React Vite LangChain Transformers.js

Zan Visual Novel é uma plataforma de criação e consumo de visual novels interativas com IA generativa local. Criadores constroem histórias com escolhas, cenas, assets multimídia e árvores de decisão; jogadores experimentam narrativas dinâmicas onde LLMs locais (LFM ONNX) geram continuidade além das ramificações pré-definidas.


✨ Funcionalidades

🎮 Client (Jogador)

FuncionalidadeDescrição
📚 Biblioteca de VNsNavegar, buscar e filtrar visual novels disponíveis
🎭 Player de VNEngine de renderização de cenas: texto, imagens, áudio, vídeo, escolhas
🔀 Sistema de EscolhasÁrvore de decisão ramificada com consequências narrativas
🧠 IA Narrativa LocalLLM LFM local (ONNX) gerando continuidade além das escolhas pré-definidas
💾 Progresso e SavesMúltiplos slots, auto-save, sincronização cloud
💰 Sistema de CréditosCompra e gasto de créditos para acessar histórias

🛠️ Dashboard (Criador)

FuncionalidadeDescrição
📝 Editor de VNsCRUD completo de histórias, capítulos e cenas
🖼️ Asset ManagerUpload e gerenciamento de imagens, áudios e vídeos por cena
🌳 Editor de Árvore de DecisãoInterface visual para criar ramificações com condições e efeitos
🤖 Configuração de IADefinir persona, tom e restrições do LLM por história
📊 AnalyticsMétricas de consumo, créditos recebidos, feedback dos jogadores

🏗️ Tech Stack

┌──────────────────────────────────────────────────┐
│  Monorepo (Turborepo)                             │
│                                                   │
│  ┌─────────────────┐  ┌───────────────────────┐  │
│  │ apps/client      │  │ apps/dashboard         │  │
│  │ React 19 + Vite  │  │ React 19 + Vite 6      │  │
│  │ Transformers.js  │  │ MUI v6                 │  │
│  │ LangChain.js     │  │ React Flow (árvore)    │  │
│  │ MUI v6           │  │ TipTap (editor)        │  │
│  └────────┬────────┘  └───────────┬───────────┘  │
│           │                       │               │
│  ┌────────┴───────────────────────┴───────────┐  │
│  │ packages/                                    │  │
│  │ shared (tipos, schemas)                     │  │
│  │ ui (componentes MUI)                        │  │
│  │ lib (hooks, utilitários)                    │  │
│  │ vn-engine (engine core TS puro)             │  │
│  └─────────────────────────────────────────────┘  │
│                                                   │
│  ┌──────────────────────────────────────────────┐ │
│  │ backend/api                                    │ │
│  │ Node.js + Express  |  PostgreSQL  |  Redis     │ │
│  │ JWT Auth  |  Stripe  |  S3 (Cloudflare R2)     │ │
│  └──────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────┘

🧠 Modelos LFM 2.5 (Inferência)

ModeloUsoExecuçãoTamanho Q4
LFM2.5-350M-ONNXNarrativa balanceada, diálogosNavegador (WebGPU / WASM)~276 MB
LFM2.5-1.2B-Thinking-ONNXRaciocínio complexo, plot twistsCloud API / Dispositivo potente~1.2 GB
LFM2.5-VL-450M-ONNXAnálise de cenasCloud API / Dispositivo potente~900 MB
LFM2.5-Audio-1.5BNarração por vozCloud API~3 GB
LFM2.5-VL-1.6BGeração de assets visuaisCloud API~3.2 GB

Inferência local: O modelo LFM2.5-350M-ONNX (Q4) roda diretamente no navegador via ONNX Runtime Web + WebGPU, com fallback para WASM/CPU. Os modelos maiores (>1GB) usam a API cloud do Liquid AI ou backend próprio com Transformers.js.


🚀 Começo Rápido

# Clone o repositório
git clone https://github.com/zan-ia/zan-visual-novel.git
cd zan-visual-novel

# Instale dependências
npm install

# Inicie todos os apps em dev
npm run dev

# Build para produção
npm run build

# Execute testes
npm run test

Pré-requisitos: Node.js 20+, npm 10+, PostgreSQL 16+, Redis 7+


📂 Estrutura do Projeto

zan-visual-novel/
├── apps/
│   ├── client/              # Vite + React 19 — Player de VN
│   │   ├── src/
│   │   │   ├── components/  # UI components (library, player, profile)
│   │   │   ├── hooks/       # Custom hooks (useVNEngine, useLLM)
│   │   │   ├── pages/       # Routes (Library, Player, Profile)
│   │   │   ├── stores/      # Zustand stores (auth, credits)
│   │   │   └── workers/     # Web Workers (ONNX inference)
│   │   └── public/
│   │       └── models/      # ONNX models (gitignored, baixados em runtime)
│   │
│   └── dashboard/           # Vite + React 19 — Creator Studio
│       ├── src/
│       │   ├── components/  # Editor components (scene, tree, assets)
│       │   ├── hooks/       # Custom hooks
│       │   ├── pages/       # Routes (Studio, Analytics, Settings)
│       │   └── stores/      # Zustand stores
│       └── public/
│
├── packages/
│   ├── shared/              # Tipos TypeScript, Schemas Zod, Constantes
│   ├── ui/                  # Componentes MUI reutilizáveis
│   ├── lib/                 # Hooks, utilitários, clientes API
│   └── vn-engine/           # Engine core (máquina de estados, parser)
│
├── backend/
│   └── api/                 # Node.js + Express + PostgreSQL
│       ├── src/
│       │   ├── routes/      # REST endpoints
│       │   ├── services/    # Lógica de negócio
│       │   ├── db/          # Drizzle ORM schemas + migrations
│       │   ├── middleware/   # Auth, rate limit, validation
│       │   └── workers/     # Background jobs
│       └── tests/
│
├── .github/                 # CI/CD, harness, agents, skills, instructions
├── docs/                    # Documentação detalhada
└── turbo.json               # Turborepo config

📚 Documentação

DocumentoDescrição
Visão do ProdutoEstratégia, personas, escopo, métricas
Especificação de Requisitos (SRS)RFs, RNFs, RNs, matriz de rastreabilidade
ADRs de ArquiteturaDecisões: monorepo, inferência híbrida, engine, backend
Diagrama de Arquitetura (C4)Contexto, Container, Componentes
Modelo de Dados (ERD)Entidades, relacionamentos, índices
Diagramas de SequênciaFluxos: jogo, criação, créditos, auth
RoadmapMilestones e cronograma

🔒 Privacidade

  • Inferência local: Modelos LFM ONNX rodam no navegador do jogador — textos não saem do dispositivo
  • Cloud fallback: Apenas quando necessário; dados enviados são efêmeros (não armazenados)
  • Dados pessoais: Apenas email e perfil; senhas hasheadas com bcrypt
  • Assets: Armazenados em S3/R2 com acesso controlado
  • Sem rastreamento: Nenhum analytics de terceiros

📄 Licença

MIT © Zan IA


Built with ❤️ using React, Vite, Transformers.js, Liquid AI Foundation Models, and LangChain

Contributors

zan-ia

42 commits

ZanIPTV

23 commits

ZanettiLG

6 commits

zan-ia/zan-visual-novel

0

stars

71

commits

TypeScript

primary language

Jul 30, 2026

updated

README

Zan Visual Novel

License: MIT React Vite LangChain Transformers.js

Zan Visual Novel é uma plataforma de criação e consumo de visual novels interativas com IA generativa local. Criadores constroem histórias com escolhas, cenas, assets multimídia e árvores de decisão; jogadores experimentam narrativas dinâmicas onde LLMs locais (LFM ONNX) geram continuidade além das ramificações pré-definidas.


✨ Funcionalidades

🎮 Client (Jogador)

FuncionalidadeDescrição
📚 Biblioteca de VNsNavegar, buscar e filtrar visual novels disponíveis
🎭 Player de VNEngine de renderização de cenas: texto, imagens, áudio, vídeo, escolhas
🔀 Sistema de EscolhasÁrvore de decisão ramificada com consequências narrativas
🧠 IA Narrativa LocalLLM LFM local (ONNX) gerando continuidade além das escolhas pré-definidas
💾 Progresso e SavesMúltiplos slots, auto-save, sincronização cloud
💰 Sistema de CréditosCompra e gasto de créditos para acessar histórias

🛠️ Dashboard (Criador)

FuncionalidadeDescrição
📝 Editor de VNsCRUD completo de histórias, capítulos e cenas
🖼️ Asset ManagerUpload e gerenciamento de imagens, áudios e vídeos por cena
🌳 Editor de Árvore de DecisãoInterface visual para criar ramificações com condições e efeitos
🤖 Configuração de IADefinir persona, tom e restrições do LLM por história
📊 AnalyticsMétricas de consumo, créditos recebidos, feedback dos jogadores

🏗️ Tech Stack

┌──────────────────────────────────────────────────┐
│  Monorepo (Turborepo)                             │
│                                                   │
│  ┌─────────────────┐  ┌───────────────────────┐  │
│  │ apps/client      │  │ apps/dashboard         │  │
│  │ React 19 + Vite  │  │ React 19 + Vite 6      │  │
│  │ Transformers.js  │  │ MUI v6                 │  │
│  │ LangChain.js     │  │ React Flow (árvore)    │  │
│  │ MUI v6           │  │ TipTap (editor)        │  │
│  └────────┬────────┘  └───────────┬───────────┘  │
│           │                       │               │
│  ┌────────┴───────────────────────┴───────────┐  │
│  │ packages/                                    │  │
│  │ shared (tipos, schemas)                     │  │
│  │ ui (componentes MUI)                        │  │
│  │ lib (hooks, utilitários)                    │  │
│  │ vn-engine (engine core TS puro)             │  │
│  └─────────────────────────────────────────────┘  │
│                                                   │
│  ┌──────────────────────────────────────────────┐ │
│  │ backend/api                                    │ │
│  │ Node.js + Express  |  PostgreSQL  |  Redis     │ │
│  │ JWT Auth  |  Stripe  |  S3 (Cloudflare R2)     │ │
│  └──────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────┘

🧠 Modelos LFM 2.5 (Inferência)

ModeloUsoExecuçãoTamanho Q4
LFM2.5-350M-ONNXNarrativa balanceada, diálogosNavegador (WebGPU / WASM)~276 MB
LFM2.5-1.2B-Thinking-ONNXRaciocínio complexo, plot twistsCloud API / Dispositivo potente~1.2 GB
LFM2.5-VL-450M-ONNXAnálise de cenasCloud API / Dispositivo potente~900 MB
LFM2.5-Audio-1.5BNarração por vozCloud API~3 GB
LFM2.5-VL-1.6BGeração de assets visuaisCloud API~3.2 GB

Inferência local: O modelo LFM2.5-350M-ONNX (Q4) roda diretamente no navegador via ONNX Runtime Web + WebGPU, com fallback para WASM/CPU. Os modelos maiores (>1GB) usam a API cloud do Liquid AI ou backend próprio com Transformers.js.


🚀 Começo Rápido

# Clone o repositório
git clone https://github.com/zan-ia/zan-visual-novel.git
cd zan-visual-novel

# Instale dependências
npm install

# Inicie todos os apps em dev
npm run dev

# Build para produção
npm run build

# Execute testes
npm run test

Pré-requisitos: Node.js 20+, npm 10+, PostgreSQL 16+, Redis 7+


📂 Estrutura do Projeto

zan-visual-novel/
├── apps/
│   ├── client/              # Vite + React 19 — Player de VN
│   │   ├── src/
│   │   │   ├── components/  # UI components (library, player, profile)
│   │   │   ├── hooks/       # Custom hooks (useVNEngine, useLLM)
│   │   │   ├── pages/       # Routes (Library, Player, Profile)
│   │   │   ├── stores/      # Zustand stores (auth, credits)
│   │   │   └── workers/     # Web Workers (ONNX inference)
│   │   └── public/
│   │       └── models/      # ONNX models (gitignored, baixados em runtime)
│   │
│   └── dashboard/           # Vite + React 19 — Creator Studio
│       ├── src/
│       │   ├── components/  # Editor components (scene, tree, assets)
│       │   ├── hooks/       # Custom hooks
│       │   ├── pages/       # Routes (Studio, Analytics, Settings)
│       │   └── stores/      # Zustand stores
│       └── public/
│
├── packages/
│   ├── shared/              # Tipos TypeScript, Schemas Zod, Constantes
│   ├── ui/                  # Componentes MUI reutilizáveis
│   ├── lib/                 # Hooks, utilitários, clientes API
│   └── vn-engine/           # Engine core (máquina de estados, parser)
│
├── backend/
│   └── api/                 # Node.js + Express + PostgreSQL
│       ├── src/
│       │   ├── routes/      # REST endpoints
│       │   ├── services/    # Lógica de negócio
│       │   ├── db/          # Drizzle ORM schemas + migrations
│       │   ├── middleware/   # Auth, rate limit, validation
│       │   └── workers/     # Background jobs
│       └── tests/
│
├── .github/                 # CI/CD, harness, agents, skills, instructions
├── docs/                    # Documentação detalhada
└── turbo.json               # Turborepo config

📚 Documentação

DocumentoDescrição
Visão do ProdutoEstratégia, personas, escopo, métricas
Especificação de Requisitos (SRS)RFs, RNFs, RNs, matriz de rastreabilidade
ADRs de ArquiteturaDecisões: monorepo, inferência híbrida, engine, backend
Diagrama de Arquitetura (C4)Contexto, Container, Componentes
Modelo de Dados (ERD)Entidades, relacionamentos, índices
Diagramas de SequênciaFluxos: jogo, criação, créditos, auth
RoadmapMilestones e cronograma

🔒 Privacidade

  • Inferência local: Modelos LFM ONNX rodam no navegador do jogador — textos não saem do dispositivo
  • Cloud fallback: Apenas quando necessário; dados enviados são efêmeros (não armazenados)
  • Dados pessoais: Apenas email e perfil; senhas hasheadas com bcrypt
  • Assets: Armazenados em S3/R2 com acesso controlado
  • Sem rastreamento: Nenhum analytics de terceiros

📄 Licença

MIT © Zan IA


Built with ❤️ using React, Vite, Transformers.js, Liquid AI Foundation Models, and LangChain

Contributors

zan-ia

42 commits

ZanIPTV

23 commits

ZanettiLG

6 commits

Languages

TypeScript

97.2%

CSS

1.7%