Skip to content
dsh.fish
Bundle

dsh-gmk-game

A beautiful Gomoku (Five in a Row) game plugin for DeepSeek Harness with glassmorphism UI, smart AI opponent, hover preview, stone drop animation, and move counter.

Source
zixing2333
stars
1 stars
License
MIT
Updated
Updated yesterday

Readme

# 🎮 dsh-gmk-game

一个为 DeepSeek Harness (DSH) 设计的优雅五子棋游戏插件,具有毛玻璃半透明UI效果和内置AI对手。安装后游戏面板会显示在页面右下角,你可以随时和AI下五子棋。

## ✨ 特性

- 🎨 **毛玻璃半透明设计** - 默认70%透明度,鼠标悬停时完全显示,不遮挡聊天内容
- 👆 **落子预览** - 鼠标悬停时显示半透明棋子预览,所见即所得
- 🎯 **弹性落子动画** - 棋子落下有弹性缩放动画,手感舒适
- 🤖 **内置AI对手** - 智能启发式算法,会主动进攻也会防守你的连子,具备基础棋力
- 💭 **AI思考动画** - AI思考时显示跳动的指示点
- 📊 **步数统计** - 实时显示当前已下手数
- 🎯 **标准15×15棋盘** - 包含天元和星位标记,符合专业棋盘规范
- ✅ **自动胜负判定** - 自动检测横、竖、斜向五连,获胜棋子有绿色脉冲高亮动画
- 🔵 **最后一步标记** - 黑白棋子分别用白/黑边框标记最新落子位置
- ↩️ **悔棋功能** - 支持一键回退(同时撤销玩家和AI的一步)
- 🔄 **重新开始** - 随时开启新对局
- 🔽 **最小化支持** - 可收起为小标题栏节省屏幕空间
- 🌙 **自动适配主题** - 完美支持DSH浅色/深色主题
- 📦 **零额外依赖** - 纯React+CSS实现,安装即用

## 🚀 安装

在终端中运行以下命令即可安装到 web profile:

```bash
dsh plugin --profile web add github:zixing2333/dsh-gmk-game
```

安装完成后,刷新DSH页面(Ctrl+Shift+R 强制刷新清缓存)即可在右下角看到五子棋游戏面板。

## 🎯 游戏玩法

1. 你执**黑棋**先手,将鼠标移到棋盘上可以看到落子预览,点击交叉点即可落子
2. AI执白棋自动思考(约0.4-0.6秒,带思考动画)后应招
3. 率先在横向、纵向或斜向连成五子者获胜
4. 获胜时连成一线的棋子会有绿色脉冲动画提示
5. 点击「🔄 重新开始」随时开启新对局
6. 点击「↩️ 悔棋」可以撤销你和AI各一步棋(AI思考时不可悔棋)
7. 点击右上角「🔽」按钮可以最小化面板,只显示标题栏
8. 鼠标悬停在面板上时,面板会变为完全不透明并轻微上浮

## 🧠 AI算法说明

当前AI采用启发式评分算法:
1. **立即获胜优先**:如果AI下一步能直接五连获胜,直接落子
2. **防守优先**:如果玩家下一步能五连获胜,立刻阻挡
3. **位置评分**:对每个空位从四个方向(横/竖/两斜)评估连子形态:
   - 成五:100000分
   - 活四(两端开放):10000分
   - 冲四(一端开放):1000分
   - 活三(两端开放):500分
   - 眠三(一端开放):100分
   - 活二(两端开放):50分
   - 其他连子按威胁程度评分
4. **中心偏好**:越靠近天元(7,7)位置有额外加分(权重3)
5. **邻域剪枝**:只评估已有棋子附近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

## 👤 作者

- GitHub: [@zixing2333](https://github.com/zixing2333)

---

**享受游戏!** 🎉

Install

dsh plugin --profile web add github:zixing2333/dsh-gmk-game

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source