本文的目的

公开黑白棋 AI 使用的源代码。只有在展开文件时才会加载代码。

使用的模型

  • Gemma 4 E4B(mlx-community/gemma-4-e4b-it-4bit):VLM 服务器的默认模型。目前因加载失败而没有被使用。
  • mlx-vlm:在 Apple Silicon 上运行模型。
  • 本地 AI:不是训练出来的模型。源代码中是 alpha-beta 搜索,已部署的网页上是只看一步的加权 AI。
  • 目前还没有训练好的模型。

文件夹结构

  • src:Qt6 C++ 应用。规则引擎(othello_board)、搜索 AI(aiplayer)、VLM 客户端(tcpvlmclient)
  • vlm_server:OT88 TCP 服务器、规则、Gemma 4 下载
  • othello-web:Next.js 网页对局。规则引擎(board.ts)、搜索 AI(ai.ts)、对局保存(db.ts)、VLM 中转(api/vlm/move、ot88Client.ts)

服务器部署配置、监控与自动化脚本、对局数据和日志不在公开范围内。广告、其他游戏列表等网页运营代码以及配置文件也已去掉,因此部分 import 指向的是未公开的文件。

完整源代码

37 个文件 · 5,381 行 — 展开文件夹后点击文件即可加载代码。

项目根目录1 个文件
CMakeLists.txttext · 30 行 · 677B

正在加载代码…

othello-web/19 个文件
othello-web/app/api/game/[code]/route.tstypescript · 56 行 · 2KB

正在加载代码…

othello-web/app/api/game/route.tstypescript · 23 行 · 801B

正在加载代码…

othello-web/app/api/vlm/move/route.tstypescript · 55 行 · 1KB

正在加载代码…

othello-web/app/globals.csscss · 48 行 · 864B

正在加载代码…

othello-web/app/layout.tsxtsx · 33 行 · 954B

正在加载代码…

othello-web/app/page.tsxtsx · 71 行 · 2KB

正在加载代码…

othello-web/app/play/page.tsxtsx · 689 行 · 20KB

正在加载代码…

othello-web/app/play/play.module.csscss · 209 行 · 3KB

正在加载代码…

othello-web/components/OthelloBoard.module.csscss · 111 行 · 2KB

正在加载代码…

othello-web/components/OthelloBoard.tsxtsx · 85 行 · 3KB

正在加载代码…

othello-web/lib/ai.tstypescript · 145 行 · 4KB

正在加载代码…

othello-web/lib/board.tstypescript · 209 行 · 5KB

正在加载代码…

othello-web/lib/db.tstypescript · 190 行 · 6KB

正在加载代码…

othello-web/lib/gameTypes.tstypescript · 42 行 · 798B

正在加载代码…

othello-web/lib/guest.tstypescript · 43 行 · 1KB

正在加载代码…

othello-web/lib/ot88Client.tstypescript · 181 行 · 5KB

正在加载代码…

othello-web/lib/renderBoardPng.tstypescript · 106 行 · 3KB

正在加载代码…

othello-web/lib/vlmClient.tstypescript · 103 行 · 3KB

正在加载代码…

othello-web/package.jsonjson · 22 行 · 489B

正在加载代码…

src/11 个文件
src/aiplayer.cppc++ · 167 行 · 5KB

正在加载代码…

src/aiplayer.hc++ · 17 行 · 334B

正在加载代码…

src/boardwidget.cppc++ · 205 行 · 7KB

正在加载代码…

src/boardwidget.hc++ · 48 行 · 1KB

正在加载代码…

src/main.cppc++ · 26 行 · 784B

正在加载代码…

src/mainwindow.cppc++ · 785 行 · 27KB

正在加载代码…

src/mainwindow.hc++ · 110 行 · 3KB

正在加载代码…

src/othello_board.cppc++ · 211 行 · 5KB

正在加载代码…

src/othello_board.hc++ · 99 行 · 3KB

正在加载代码…

src/tcpvlmclient.cppc++ · 469 行 · 15KB

正在加载代码…

src/tcpvlmclient.hc++ · 73 行 · 2KB

正在加载代码…

vlm_server/6 个文件
vlm_server/__init__.pypython · 3 行 · 69B

正在加载代码…

vlm_server/__main__.pypython · 92 行 · 3KB

正在加载代码…

vlm_server/download_gemma4.pypython · 68 行 · 2KB

正在加载代码…

vlm_server/othello_rules.pypython · 92 行 · 3KB

正在加载代码…

vlm_server/requirements.txttext · 7 行 · 195B

正在加载代码…

vlm_server/server.pypython · 458 行 · 15KB

正在加载代码…