Objetivo de esta entrada

Publicamos el código fuente que usamos para la IA de Othello. El código solo se carga cuando abres un archivo.

Modelos utilizados

  • Gemma 4 E4B (mlx-community/gemma-4-e4b-it-4bit): el modelo predeterminado del servidor de VLM. Ahora mismo falla al cargarse y no se usa.
  • mlx-vlm: ejecuta el modelo en Apple Silicon.
  • IA local: no es un modelo entrenado. El código fuente tiene búsqueda alfa-beta; la web publicada tiene la IA de pesos de una jugada.
  • Todavía no hay ningún modelo entrenado.

Estructura de carpetas

  • src: app de Qt6 en C++. Motor de reglas (othello_board), IA de búsqueda (aiplayer), cliente de VLM (tcpvlmclient)
  • vlm_server: servidor TCP OT88, reglas, descarga de Gemma 4
  • othello-web: juego web en Next.js. Motor de reglas (board.ts), IA de búsqueda (ai.ts), guardado de partidas (db.ts), relé del VLM (api/vlm/move, ot88Client.ts)

La configuración de despliegue del servidor, los scripts de monitorización y automatización, y los datos de partidas y los registros quedan fuera de lo publicado. También se omitieron el código de operación web, como los anuncios y la lista de otros juegos, y los archivos de configuración, por lo que algunos import apuntan a archivos no publicados.

Código fuente completo

37 archivos · 5381 líneas — abre una carpeta y haz clic en un archivo para cargar su código.

Raíz del proyecto1 archivo
CMakeLists.txttext · 30 líneas · 677B

Cargando el código…

othello-web/19 archivos
othello-web/app/api/game/[code]/route.tstypescript · 56 líneas · 2KB

Cargando el código…

othello-web/app/api/game/route.tstypescript · 23 líneas · 801B

Cargando el código…

othello-web/app/api/vlm/move/route.tstypescript · 55 líneas · 1KB

Cargando el código…

othello-web/app/globals.csscss · 48 líneas · 864B

Cargando el código…

othello-web/app/layout.tsxtsx · 33 líneas · 954B

Cargando el código…

othello-web/app/page.tsxtsx · 71 líneas · 2KB

Cargando el código…

othello-web/app/play/page.tsxtsx · 689 líneas · 20KB

Cargando el código…

othello-web/app/play/play.module.csscss · 209 líneas · 3KB

Cargando el código…

othello-web/components/OthelloBoard.module.csscss · 111 líneas · 2KB

Cargando el código…

othello-web/components/OthelloBoard.tsxtsx · 85 líneas · 3KB

Cargando el código…

othello-web/lib/ai.tstypescript · 145 líneas · 4KB

Cargando el código…

othello-web/lib/board.tstypescript · 209 líneas · 5KB

Cargando el código…

othello-web/lib/db.tstypescript · 190 líneas · 6KB

Cargando el código…

othello-web/lib/gameTypes.tstypescript · 42 líneas · 798B

Cargando el código…

othello-web/lib/guest.tstypescript · 43 líneas · 1KB

Cargando el código…

othello-web/lib/ot88Client.tstypescript · 181 líneas · 5KB

Cargando el código…

othello-web/lib/renderBoardPng.tstypescript · 106 líneas · 3KB

Cargando el código…

othello-web/lib/vlmClient.tstypescript · 103 líneas · 3KB

Cargando el código…

othello-web/package.jsonjson · 22 líneas · 489B

Cargando el código…

src/11 archivos
src/aiplayer.cppc++ · 167 líneas · 5KB

Cargando el código…

src/aiplayer.hc++ · 17 líneas · 334B

Cargando el código…

src/boardwidget.cppc++ · 205 líneas · 7KB

Cargando el código…

src/boardwidget.hc++ · 48 líneas · 1KB

Cargando el código…

src/main.cppc++ · 26 líneas · 784B

Cargando el código…

src/mainwindow.cppc++ · 785 líneas · 27KB

Cargando el código…

src/mainwindow.hc++ · 110 líneas · 3KB

Cargando el código…

src/othello_board.cppc++ · 211 líneas · 5KB

Cargando el código…

src/othello_board.hc++ · 99 líneas · 3KB

Cargando el código…

src/tcpvlmclient.cppc++ · 469 líneas · 15KB

Cargando el código…

src/tcpvlmclient.hc++ · 73 líneas · 2KB

Cargando el código…

vlm_server/6 archivos
vlm_server/__init__.pypython · 3 líneas · 69B

Cargando el código…

vlm_server/__main__.pypython · 92 líneas · 3KB

Cargando el código…

vlm_server/download_gemma4.pypython · 68 líneas · 2KB

Cargando el código…

vlm_server/othello_rules.pypython · 92 líneas · 3KB

Cargando el código…

vlm_server/requirements.txttext · 7 líneas · 195B

Cargando el código…

vlm_server/server.pypython · 458 líneas · 15KB

Cargando el código…