
この記事の目的
オセロAIに使ったソースコードを公開します。ファイルを開いたときだけコードを読み込みます。
使用したモデル
- Gemma 4 E4B(mlx-community/gemma-4-e4b-it-4bit): VLM サーバーの既定のモデルです。今は読み込みに失敗していて使われていません。
- mlx-vlm: Apple Silicon でモデルを動かします。
- ローカルAI: 学習したモデルではありません。ソースはアルファ・ベータ探索、公開中のWebは一手の重み付けAIです。
- 学習したモデルはまだありません。
フォルダ構成
- src: Qt6 C++ アプリ。ルールエンジン(othello_board)、探索AI(aiplayer)、VLM クライアント(tcpvlmclient)
- vlm_server: OT88 TCP サーバー、ルール、Gemma 4 のダウンロード
- othello-web: Next.js のWeb対局。ルールエンジン(board.ts)、探索AI(ai.ts)、対局の保存(db.ts)、VLM の中継(api/vlm/move、ot88Client.ts)
サーバーのデプロイ設定、監視・自動化スクリプト、対局データとログは公開範囲から除外しました。広告やほかのゲームの一覧のようなWeb運用のコード、設定ファイルも除いたため、一部の import は公開していないファイルを指しています。
全ソース
37ファイル · 5,381行 — フォルダを開いてファイルを押すとコードを読み込みます。
プロジェクトルート
CMakeLists.txt
コードを読み込んでいます…
othello-web/
othello-web/app/api/game/[code]/route.ts
コードを読み込んでいます…
othello-web/app/api/game/route.ts
コードを読み込んでいます…
othello-web/app/api/vlm/move/route.ts
コードを読み込んでいます…
othello-web/app/globals.css
コードを読み込んでいます…
othello-web/app/layout.tsx
コードを読み込んでいます…
othello-web/app/page.tsx
コードを読み込んでいます…
othello-web/app/play/page.tsx
コードを読み込んでいます…
othello-web/app/play/play.module.css
コードを読み込んでいます…
othello-web/components/OthelloBoard.module.css
コードを読み込んでいます…
othello-web/components/OthelloBoard.tsx
コードを読み込んでいます…
othello-web/lib/ai.ts
コードを読み込んでいます…
othello-web/lib/board.ts
コードを読み込んでいます…
othello-web/lib/db.ts
コードを読み込んでいます…
othello-web/lib/gameTypes.ts
コードを読み込んでいます…
othello-web/lib/guest.ts
コードを読み込んでいます…
othello-web/lib/ot88Client.ts
コードを読み込んでいます…
othello-web/lib/renderBoardPng.ts
コードを読み込んでいます…
othello-web/lib/vlmClient.ts
コードを読み込んでいます…
othello-web/package.json
コードを読み込んでいます…
src/
src/aiplayer.cpp
コードを読み込んでいます…
src/aiplayer.h
コードを読み込んでいます…
src/boardwidget.cpp
コードを読み込んでいます…
src/boardwidget.h
コードを読み込んでいます…
src/main.cpp
コードを読み込んでいます…
src/mainwindow.cpp
コードを読み込んでいます…
src/mainwindow.h
コードを読み込んでいます…
src/othello_board.cpp
コードを読み込んでいます…
src/othello_board.h
コードを読み込んでいます…
src/tcpvlmclient.cpp
コードを読み込んでいます…
src/tcpvlmclient.h
コードを読み込んでいます…
vlm_server/
vlm_server/__init__.py
コードを読み込んでいます…
vlm_server/__main__.py
コードを読み込んでいます…
vlm_server/download_gemma4.py
コードを読み込んでいます…
vlm_server/othello_rules.py
コードを読み込んでいます…
vlm_server/requirements.txt
コードを読み込んでいます…
vlm_server/server.py
コードを読み込んでいます…
COMMENTS · CHAPTER 05
全ソースコードと使用したモデル コメント 0
まだコメントはありません。気になった点や補足があれば残してください。
コメントを登録するには、Googleで始めてニックネームとメールアドレスを登録してください。
Googleで始める