
Objetivo deste post
Publicamos o código-fonte usado na IA de Othello. O código só é carregado quando você abre um arquivo.
Modelos usados
- Gemma 4 E4B (mlx-community/gemma-4-e4b-it-4bit): o modelo padrão do servidor de VLM. Hoje ele falha ao carregar e não é usado.
- mlx-vlm: roda o modelo no Apple Silicon.
- IA local: não é um modelo treinado. O código-fonte tem busca alfa-beta; a web implantada tem a IA de pesos de uma jogada.
- Ainda não há nenhum modelo treinado.
Estrutura de pastas
- src: app em Qt6 C++. Motor de regras (othello_board), IA de busca (aiplayer), cliente de VLM (tcpvlmclient)
- vlm_server: servidor TCP OT88, regras, download do Gemma 4
- othello-web: partidas na web em Next.js. Motor de regras (board.ts), IA de busca (ai.ts), armazenamento de partidas (db.ts), retransmissão para o VLM (api/vlm/move, ot88Client.ts)
As configurações de implantação do servidor, os scripts de monitoramento e automação e os dados e logs de partidas ficaram de fora da publicação. O código de operação da web, como anúncios e a lista de outros jogos, e os arquivos de configuração também foram retirados, por isso alguns imports apontam para arquivos não publicados.
Código-fonte completo
37 arquivos · 5.381 linhas — abra uma pasta e clique em um arquivo para carregar o código.
Raiz do projeto
CMakeLists.txt
Carregando o código…
othello-web/
othello-web/app/api/game/[code]/route.ts
Carregando o código…
othello-web/app/api/game/route.ts
Carregando o código…
othello-web/app/api/vlm/move/route.ts
Carregando o código…
othello-web/app/globals.css
Carregando o código…
othello-web/app/layout.tsx
Carregando o código…
othello-web/app/page.tsx
Carregando o código…
othello-web/app/play/page.tsx
Carregando o código…
othello-web/app/play/play.module.css
Carregando o código…
othello-web/components/OthelloBoard.module.css
Carregando o código…
othello-web/components/OthelloBoard.tsx
Carregando o código…
othello-web/lib/ai.ts
Carregando o código…
othello-web/lib/board.ts
Carregando o código…
othello-web/lib/db.ts
Carregando o código…
othello-web/lib/gameTypes.ts
Carregando o código…
othello-web/lib/guest.ts
Carregando o código…
othello-web/lib/ot88Client.ts
Carregando o código…
othello-web/lib/renderBoardPng.ts
Carregando o código…
othello-web/lib/vlmClient.ts
Carregando o código…
othello-web/package.json
Carregando o código…
src/
src/aiplayer.cpp
Carregando o código…
src/aiplayer.h
Carregando o código…
src/boardwidget.cpp
Carregando o código…
src/boardwidget.h
Carregando o código…
src/main.cpp
Carregando o código…
src/mainwindow.cpp
Carregando o código…
src/mainwindow.h
Carregando o código…
src/othello_board.cpp
Carregando o código…
src/othello_board.h
Carregando o código…
src/tcpvlmclient.cpp
Carregando o código…
src/tcpvlmclient.h
Carregando o código…
vlm_server/
vlm_server/__init__.py
Carregando o código…
vlm_server/__main__.py
Carregando o código…
vlm_server/download_gemma4.py
Carregando o código…
vlm_server/othello_rules.py
Carregando o código…
vlm_server/requirements.txt
Carregando o código…
vlm_server/server.py
Carregando o código…
COMMENTS · CHAPTER 05
O código-fonte completo e os modelos usados 0 comentários
Ainda não há comentários. Deixe uma pergunta ou algo que queira acrescentar.
Para publicar um comentário, comece com o Google e registre um apelido e um e-mail.
Começar com o Google