🎮 dsh-gmk-game
一个为 DeepSeek Harness (DSH) 设计的优雅五子棋游戏插件,具有毛玻璃半透明UI效果和内置AI对手。安装后游戏面板会显示在页面右下角,你可以随时和AI下五子棋。
✨ 特性
- 🎨 毛玻璃半透明设计 - 默认70%透明度,鼠标悬停时完全显示,不遮挡聊天内容
- 👆 落子预览 - 鼠标悬停时显示半透明棋子预览,所见即所得
- 🎯 弹性落子动画 - 棋子落下有弹性缩放动画,手感舒适
- 🤖 内置AI对手 - 智能启发式算法,会主动进攻也会防守你的连子,具备基础棋力
- 💭 AI思考动画 - AI思考时显示跳动的指示点
- 📊 步数统计 - 实时显示当前已下手数
- 🎯 标准15×15棋盘 - 包含天元和星位标记,符合专业棋盘规范
- ✅ 自动胜负判定 - 自动检测横、竖、斜向五连,获胜棋子有绿色脉冲高亮动画
- 🔵 最后一步标记 - 黑白棋子分别用白/黑边框标记最新落子位置
- ↩️ 悔棋功能 - 支持一键回退(同时撤销玩家和AI的一步)
- 🔄 重新开始 - 随时开启新对局
- 🔽 最小化支持 - 可收起为小标题栏节省屏幕空间
- 🌙 自动适配主题 - 完美支持DSH浅色/深色主题
- 📦 零额外依赖 - 纯React+CSS实现,安装即用
🚀 安装
在终端中运行以下命令即可安装到 web profile:
dsh plugin --profile web add github:zixing2333/dsh-gmk-game
安装完成后,刷新DSH页面(Ctrl+Shift+R 强制刷新清缓存)即可在右下角看到五子棋游戏面板。
🎯 游戏玩法
- 你执黑棋先手,将鼠标移到棋盘上可以看到落子预览,点击交叉点即可落子
- AI执白棋自动思考(约0.4-0.6秒,带思考动画)后应招
- 率先在横向、纵向或斜向连成五子者获胜
- 获胜时连成一线的棋子会有绿色脉冲动画提示
- 点击「🔄 重新开始」随时开启新对局
- 点击「↩️ 悔棋」可以撤销你和AI各一步棋(AI思考时不可悔棋)
- 点击右上角「🔽」按钮可以最小化面板,只显示标题栏
- 鼠标悬停在面板上时,面板会变为完全不透明并轻微上浮
🧠 AI算法说明
当前AI采用启发式评分算法:
- 立即获胜优先:如果AI下一步能直接五连获胜,直接落子
- 防守优先:如果玩家下一步能五连获胜,立刻阻挡
- 位置评分:对每个空位从四个方向(横/竖/两斜)评估连子形态:
- 成五:100000分
- 活四(两端开放):10000分
- 冲四(一端开放):1000分
- 活三(两端开放):500分
- 眠三(一端开放):100分
- 活二(两端开放):50分
- 其他连子按威胁程度评分
- 中心偏好:越靠近天元(7,7)位置有额外加分(权重3)
- 邻域剪枝:只评估已有棋子附近2格范围内的位置,提升运行效率
AI评分同时考虑自身进攻得分和防守玩家得分(防守权重0.92),做出综合最优选择。AI思考时间加入了随机延迟,更像真人思考。
🛠️ 技术栈
- React 18 Hooks - UI框架(使用DSH内置UMD运行时,无需打包)
- 原生CSS - 毛玻璃效果、弹性动画、主题变量适配
- 原生JavaScript - 游戏逻辑与AI算法
- DSH Cordis 插件体系 - 注册到 shell.overlay 悬浮槽位
- useMemo优化 - 棋盘网格线缓存提升渲染性能
📁 项目结构
dsh-gmk-game/
├── package.json # DSH插件配置声明
├── lib/
│ ├── index.js # Host端入口(空实现,用于注册插件)
│ └── client.js # Client端完整游戏代码(含CSS注入、React组件、AI算法)
└── README.md # 本说明文件
📄 开源协议
MIT License
👤 作者
享受游戏! 🎉