跳到主内容

dsh-gomoku

14Star0Fork1Issue0Watching

在 DSH 对话面板里与任意已配置模型对弈 15×15 五子棋,支持人机、双 AI、暂停手动接管,并可分别编辑黑白双方提示词。

机审证据5/5方法论数据来源安装命令持续维护DSH 版本风险扫描
机审证据安装命令仓库已核验dsh-plugin Topic许可证READMEAI 百科
语言
TypeScript
License
MIT
分支
main
deepseek-harnessdshdsh-plugin

安装

命令web profile
$ dsh plugin --profile web add @yejiming/dsh-gomoku

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

对话式安装

帮我安装 DeepSeek Harness 插件 omdsh-dev/dsh-gomoku:先查看仓库 https://github.com/omdsh-dev/dsh-gomoku 确认安全性,然后执行安装命令并验证插件加载成功。

把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。

一句话定位

在 DSH 对话面板的"五子棋"标签页里和任意已配置的模型下一盘 15×15 五子棋,支持人机对战、双 AI 对战、暂停手动接管、双方提示词分别编辑,每步落子由模型推理产生。

核心能力

  • 提供 15×15 标准棋盘,支持自由式五子棋(无禁手,双三、双四、长连均合法,连成五子即胜)
  • 三种对弈模式:执黑先手、执白后发、双 AI 互搏,模式按钮位于棋盘下方
  • 黑白双方可分别选择模型与思考档位(Off / High / Max),互不影响;模型不支持所选档位时自动回落默认
  • 黑白 AI 的系统提示词可在两侧面板常驻编辑、保存和恢复默认;编辑后的提示词会原样发送给模型
  • 双方各自的思考记录以折叠列表分别列在棋盘左右两侧,可展开查看完整推理文本
  • 暂停按钮随时中断 AI 思考,暂停期间可为黑白双方轮流落子;继续后 AI 从中断的那一手恢复
  • 棋局保存在浏览器模块级 store,关闭弹窗或切换 tab 不重置棋盘、不打断在飞的 AI 请求
  • 流式响应瞬时失败(断连、限流等)在尝试预算内自动重试,不让单步棋轻易失败

技术实现

  • 语言: TypeScript(含 React 18 浏览器组件)
  • 关键依赖: @deepseek-ai/dsh-llm(流式调用与 BlockAssembler)、@deepseek-ai/dsh-host-webserver(注册 HTTP 路由)、@deepseek-ai/cordis(宿主插件机制)、@deepseek-ai/dsh-client-ui-slots(注册对话视图 tab)、schemastery(loader 配置 schema)
  • 架构模式: 双半插件——src/index.ts 是节点半,在宿主里通过 cordis 注册 /plugins/gomoku/{prompt,models,move} 三个 HTTP 路由,仅仲裁 AI 落子;src/client/index.ts 是浏览器半,向会话视图槽位注入一个名为"五子棋"的新标签页(顺序号 20,位于 Trajectory 之后),承载棋盘与两侧面板
  • 入口文件: src/index.ts(节点半 apply)、src/client/index.ts(浏览器半 apply),构建产物分别为 lib/index.js 与 lib/client.js,通过同一个包 ID 装载

适用场景

想让 DSH 在正事之外多一个轻松玩法的用户。模型不再只用来写代码、做表格,而是直接坐在棋盘对面——你可以和 DeepSeek 下一盘围观它的思考链,也可以让两个不同模型对弈比较它们的判断力;想研究提示词对棋力的影响,分别编辑黑白两边的系统提示词就能现场试调。

前置依赖与兼容性

依赖最低版本说明
DSH0.1.0-rc.6插件依赖 @deepseek-ai/dsh-host-webserver 暴露的 webServer 服务注册路由,更早版本没有该服务,插件层会一直 pending
React18.2.0浏览器半使用 React 18 渲染棋盘与面板,由宿主 dsh 在运行时提供
Cordis4.0.0-rc.7宿主运行时框架
平台跨平台纯 web 插件,无原生模块,无操作系统限制

安装方式

dsh plugin --profile web add github:omdsh-dev/dsh-gomoku

配置项

配置类型说明默认值
moveTimeoutMs整数(≥1000)一次 AI 落子请求的端到端截止时间。浏览器端每次请求都发固定值,界面不再暴露调整。3000000(毫秒,约 50 分钟)
maxMoveOutputTokens整数(≥8)一次 AI 落子回复的输出 token 上限。推理模型会把思考计入同一预算,默认留得较宽;截断的回复只要 JSON 完整仍会被解析,只有 JSON 丢失才计入失败。32000
maxMoveAttempts整数(1–3)每次落子请求允许的 AI 尝试总次数;最后一次尝试附带纠正反馈。3

常见问题

Q: 我能自己编辑 AI 的系统提示词吗?

A: 可以。棋盘两侧各有"黑方提示词""白方提示词"编辑框,随改随存;保存后下一手即按你修改后的文本发送给模型,每方都有"恢复默认"按钮回到插件内置的规则文本。

Q: 黑白双方能选不同的模型吗?

A: 可以。两侧面板各自的下拉菜单从宿主已注册的 provider/model 路由里选,黑方选 DeepSeek、白方选另一个模型即可;模型下拉只显示宿主已配置好的那些。

Q: 思考档位(Off / High / Max)有什么用?

A: 它把档位作为 reasoning effort 转发给所选模型,仅当该模型声明支持该档位时才会被采用;不支持的档位会回落到模型自身的默认思考强度,而不是让请求失败。开启后会消耗更多输出 token。

Q: 双 AI 对弈中我能介入吗?

A: 可以随时点棋盘下方的"暂停"按钮进入手动接管模式;此时 AI 思考被中断,黑白双方都由你轮流落子,再次点击"继续"后 AI 从中断的那一手恢复思考。

Q: AI 给出的落子坐标越界或落在已有棋子上怎么办?

A: 服务端会拒绝该回复并把拒绝原因(含坐标与上一次完整输出)作为纠正反馈发给模型重试,直到用完默认 3 次尝试;如果三次都不合法,棋盘状态栏会显示具体错误,并出现"重试"按钮让你手动发起新请求。

Q: 棋局会保存到云端吗?

A: 不会。棋盘、提示词、模式等所有状态都保存在浏览器的模块级 store 里,关闭 DSH 窗口或刷新页面后状态会清空;落子请求本身也独立于任何 agent 会话,绝不会写入你的对话日志。

Q: 怎么彻底卸载这个插件?

A: 运行 dsh plugin --profile web remove @yejiming/dsh-gomoku 即可同时移除依赖与对应的 gomoku 层。

上手难度

入门 — 安装后棋盘即出现在对话视图右侧"五子棋"标签页里,点"新开局"即可开战;模型与提示词有默认值,无需任何配置就能下一盘。

已知问题与限制

  • 模型必须能稳定返回结构合法的 JSON 落子({"move": [row, col]});思考模型把思考计入同一输出预算,若回复被截断且 JSON 不完整,会触发一次重试
  • 浏览器端向节点半发送的 moveTimeoutMs(3000000 毫秒)与 maxMoveOutputTokens(32000)为硬编码常量,界面不提供调整入口(详见 src/client/store.ts:90-92)
  • 双 AI 对弈模式下任一方连续失败 3 次会留下错误日志并等待手动"重试"按钮,AI 不会自动恢复
  • AI 思考超时由客户端看门狗以"节点半截止时间 + 5 秒"为窗口主动中断(详见 src/client/store.ts:336),并非由服务端主动通知
  • 节点半将网络/限流类瞬时错误码(EMPTY_RESPONSE / RATE_LIMIT / SERVER / TIMEOUT / TRANSPORT)视为可重试(详见 src/index.ts:356-368),鉴权、参数校验与取消类错误不会被重试

查看使用指南 →

该插件的安装步骤、关键要点、FAQ 与兼容性说明(基于已收录字段派生)。

收录徽章

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/omdsh-dev/dsh-gomoku)

把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

返回插件目录