← 返回文档中心 · 来源:本地项目(暂未单独开源) · 同步于 2026-09-26

一个跑在本机浏览器里的双 AI 围棋对弈 Web 应用。黑白双方各配一个模型接口,自动落子对局,无需手动操作。

功能

  • 双 AI 自动对弈:黑白双方可分别选择不同的 OpenAI 兼容接口与模型,各自独立配置名称、温度、最大输出等参数;内置常用预设(DeepSeek Chat / DeepSeek R1 推理 / OpenAI / Moonshot Kimi / 智谱 GLM / OpenRouter / Ollama 本地),也可手填任意 Base URL
  • 对局提示词:每次落子前把当前局面(ASCII 盘面、最近 6 手、双方提子、贴目、劫禁着点、建议落子范围、对手上一句话、最近对话)交给模型,模型以 JSON 返回落子坐标与「发言」,发言会进入右下角 AI 对话记录 面板
  • 流式输出:服务端代理转发上游 SSE 流;上游不支持 response_format 时自动降级重试,兼容性更好
  • 对局控制:开始 / 暂停 / 单步 / 重开,速度滑块(落子延迟 0~3s);可开关棋盘自动缩放与手数显示
  • 对局设置:贴目(给白方)、最大手数(默认 400,到数自动终局);HUD 实时显示轮到谁、第几手、提子数与格子大小,终局按数子 + 贴目判定并显示结果
  • 导出棋谱:一键导出 JSON(对局时间、双方名称与模型、贴目、结果、逐手坐标 / 提子 / 发言、ASCII 盘面),便于复盘
  • 连接测试:设置面板内可分别测试黑白双方接口连通性
  • 本地运行:仅依赖 Python 标准库,服务只监听 127.0.0.1,API Key 保存在本机 config.json,不经过第三方服务器

运行

./run.sh        # 启动并自动打开浏览器(默认 http://127.0.0.1:8787/)
./stop.sh       # 停止

首次运行请在页面右上角「设置」中填写双方的 API 地址、Key 与模型名称(或直接选预设)。

目录结构

new/
├── server.py        # Python 标准库 HTTP 服务:静态文件 + /api/chat 代理(SSE 转发 / 降级重试)
├── run.sh / stop.sh # 启动、停止脚本
├── icon.svg         # 桌面图标
├── config.json      # 对局与模型配置(含 API Key,请勿提交/分享)
└── static/          # 前端(原生 JS/CSS,无框架)
    ├── index.html
    ├── app.js       # 对局逻辑、提示词、设置与导出
    ├── engine.js    # 棋盘与规则(气、提子、劫、数子)
    ├── view.js      # 渲染(缩放、手数、坐标)
    └── style.css

安全提示

config.json 中保存着真实的 API Key,已被排除在文档同步之外,请勿将其上传到任何公开仓库或分享给他人。若不慎泄露,请立即到对应平台吊销并重新生成。