在 1 至 19 维棋盘上与 AI 对弈并逐手复盘
30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/9 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:要求 dsh 0.1.5-rc.1,而最新版为 0.2.1-rc.2;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add 23J1633/GoForge该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · security
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 23 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装要求 dsh 0.1.5-rc.1,而最新版为 0.2.1-rc.2;仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包goforge(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=22.12.0 · 基线 Node 22.19 满足
✗dsh CLI 依赖要求 0.1.5-rc.1 · 最新 0.2.1-rc.2 不兼容
✓入口文件main/exports/bin 已声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/20 02:48:09
🔴 安全扫描发现高危能力自动 · 静态分析源码
v2.7.0🔴 扫描:高危尚无人工评估
静态扫描发现安装期即执行代码,或命令参数由运行时变量拼接(参数来源无法静态判定,从严处理)。
安装时即执行脚本可执行外部命令读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 35 处,展示前 35 条)
- 读取本地文件scripts/patch-dsh-windows.cjs:13
const original = readFileSync(path, 'utf8') - 写入本地文件scripts/patch-dsh-windows.cjs:17
writeFileSync(path, patched, 'utf8') - 读取本地文件src/main/dsh-runtime.ts:66
const manifest = JSON.parse(readFileSync(packagePath, 'utf8')) as DshManifest - 执行外部命令来自配置/变量src/main/dsh-runtime.ts:103
const child = spawn(process.execPath, [executable, '--profile', 'sdk', '--patch', this.options.patchPath], { - 发起网络请求src/main/dsh-runtime.ts:130
await this.request('initialize', { - 发起网络请求src/main/dsh-runtime.ts:170
const response = asRecord(await this.request('session/prompt', { - 发起网络请求src/main/dsh-runtime.ts:190
await this.request('shutdown', {}, 1_500).catch(() => undefined) - 执行外部命令固定命令src/main/dsh-runtime.ts:199
const killer = spawn('taskkill.exe', ['/pid', String(child.pid), '/T', '/F'], { stdio: 'ignore', windowsHide: true }) - 写入本地文件src/main/game-controller.ts:715
await mkdir(workspace, { recursive: true }) - 写入本地文件src/main/game-controller.ts:716
await mkdir(dshHome, { recursive: true }) - 写入本地文件src/main/game-controller.ts:738
await writeFile(join(dshHome, 'settings.yaml'), `${JSON.stringify(settingsDocument, null, 2)}\n`, { encoding: 'utf8', mode: 0o600 }) - 写入本地文件src/main/game-store.ts:28
await mkdir(this.folder, { recursive: true }) - 读取本地文件src/main/game-store.ts:30
const document = JSON.parse(await readFile(this.indexPath, 'utf8')) as GameIndex - 写入本地文件src/main/game-store.ts:48
await writeFile(temporary, `${JSON.stringify(game)}\n`, { encoding: 'utf8', mode: 0o600 }) - 写入本地文件src/main/game-store.ts:49
await rename(temporary, filePath) - 读取本地文件src/main/game-store.ts:62
const game = JSON.parse(await readFile(this.gamePath(gameId), 'utf8')) as GameRecord - 读取本地文件src/main/game-store.ts:73
const files = await readdir(this.folder) - 读取本地文件src/main/game-store.ts:77
records.push(JSON.parse(await readFile(join(this.folder, file), 'utf8')) as GameRecord) - 删除本地文件src/main/game-store.ts:89
await unlink(this.gamePath(gameId)).catch(error => { - 读取本地文件src/main/game-store.ts:97
const files = await readdir(this.folder) - 读取本地文件src/main/game-store.ts:101
const record = JSON.parse(await readFile(join(this.folder, file), 'utf8')) as GameRecord - 写入本地文件src/main/game-store.ts:135
await writeFile(temporary, `${JSON.stringify({ version: 1, games: this.index } satisfies GameIndex, null, 2)}\n`, { encoding: 'utf8', mode: 0o600 }) - 写入本地文件src/main/game-store.ts:136
await rename(temporary, this.indexPath) - 写入本地文件src/main/gamebook-store.ts:141
await mkdir(join(this.filePath, '..'), { recursive: true }) - 读取本地文件src/main/gamebook-store.ts:143
const file = JSON.parse(await readFile(this.filePath, 'utf8')) as GamebookFile - 写入本地文件src/main/gamebook-store.ts:219
await writeFile(temporary, `${JSON.stringify({ version: 1, patterns: this.patterns } satisfies GamebookFile, null, 2)}\n`, { encoding: 'utf8', mode: 0 - 写入本地文件src/main/gamebook-store.ts:220
await rename(temporary, this.filePath) - 读取本地文件src/main/settings-store.ts:201
const document = JSON.parse(await readFile(this.filePath, 'utf8')) as Record<string, unknown> - 读取密钥环境变量src/main/settings-store.ts:270
apiKeyConfigured: Boolean(credential.encryptedApiKey || (/deepseek/iu.test(provider.name) && process.env.DEEPSEEK_API_KEY)), - 读取密钥环境变量src/main/settings-store.ts:290
apiKeyConfigured: Boolean(credential.encryptedApiKey || (/deepseek/iu.test(provider.name) && process.env.DEEPSEEK_API_KEY)), - 读取密钥环境变量src/main/settings-store.ts:303
apiKeyConfigured: Boolean(credential.encryptedApiKey || (/deepseek/iu.test(provider.name) && process.env.DEEPSEEK_API_KEY)), - 读取密钥环境变量src/main/settings-store.ts:317
return /deepseek/iu.test(providerName) ? process.env.DEEPSEEK_API_KEY ?? '' : '' - 写入本地文件src/main/settings-store.ts:333
await mkdir(join(this.filePath, '..'), { recursive: true }) - 写入本地文件src/main/settings-store.ts:336
await writeFile(temporary, `${JSON.stringify(document, null, 2)}\n`, { encoding: 'utf8', mode: 0o600 }) - 写入本地文件src/main/settings-store.ts:337
await rename(temporary, this.filePath)
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis-plugin-group@deepseek-ai/dsh@deepseek-ai/dsh-anonymous-user-id@deepseek-ai/dsh-attachment@deepseek-ai/dsh-authorization@deepseek-ai/dsh-bash-local@deepseek-ai/dsh-code-runtime@deepseek-ai/dsh-compaction@deepseek-ai/dsh-fs@deepseek-ai/dsh-hook-protocol@deepseek-ai/dsh-jobs@deepseek-ai/dsh-output-retention给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 1至19维棋盘对弈
- AI对弈
- 逐手复盘
Electron 桌面应用,用 DeepSeek Harness 工作流下 1–19 维 AI 围棋,支持评分、复盘与棋谱总结。
README
由 DeepSeek 最新模型翻译生成GoForge · 高维 AI 围棋实验室
GoForge 是一款 Windows 桌面应用,通过 DeepSeek Harness 驱动 AI 进行 1–19 维围棋对局。它把棋盘、双方模型、实时工作流、评分和逐手复盘放在同一个窗口中。
GoForge is a Windows desktop app for AI Go matches on boards from 1 to 19 dimensions, powered by DeepSeek Harness. It brings the board, both players, live workflow activity, scoring, and move-by-move replay into one window.
功能
- 1–19 维棋盘:选择维度与边长,查看二维切片、旋转三维投影,并调整高维切片坐标。
- 大棋盘存储:空间适中时保存完整棋盘;空间过大时只保存已落子坐标,避免分配全部交叉点。
- DeepSeek Harness 工作流:显示双方模型消息、工具事件、Harness 轨迹和 Token 统计;每方使用独立会话与棋局工作区。
- 分层模型配置:按提供商、接口格式、凭据和模型配置,支持自定义 Base URL 及多个模型。
展开完整文档(README 剩余 1 节)
GoForge · 高维 AI 围棋实验室 GoForge 是一款 Windows 桌面应用,通过 DeepSeek Harness 驱动 AI 进行 1–19 维围棋对局。它把棋盘、双方模型、实时工作流、评分和逐手复盘放在同一个窗口中。 GoForge is a Windows desktop app for AI Go matches on boards from 1 to 19 dimensions, powered by DeepSeek Harness. It brings the board, both players, live workflow activity, scoring, and move-by-move replay into one window. 功能 - 1–19 维棋盘:选择维度与边长,查看二维切片、旋转三维投影,并调整高维切片坐标。 - 大棋盘存储:空间适中时保存完整棋盘;空间过大时只保存已落子坐标,避免分配全部交叉点。 - DeepSeek Harness 工作流:显示双方模型消息、工具事件、Harness 轨迹和 Token 统计;每方使用独立会话与棋局工作区。 - 分层模型配置:按提供商、接口格式、凭据和模型配置,支持自定义 Base URL 及多个模型。 - 计时、评分与复盘:时限不会截断模型思考;完局后展示综合分、雷达图和明细。历史记录保存棋盘、着手、轨迹和 Token 用量。 - 棋谱总结:只分析完整对局;棋谱范式需在不同对局中重复出现才会收录,并累计出现次数。 - 长上下文管理:通过 Harness 压缩与新会话机制控制上下文,同时重发当前规则和棋盘状态。 下载与启动 从 GitHub Releases 下载最新 Windows x64 安装包。在“模型设置”中添加提供商、Base URL、接口格式、凭据和模型,再为黑白双方选择模型。API Key 通过 Electron safeStorage 加密后保存在本机。 开发 环境要求:Windows、Node.js 22.12 或更新版本、npm。 ~~~powershell npm install npm start npm run package npm start 会构建页面并在 Electron 窗口中启动应用;npm run package 会生成 Windows 安装包,输出到 release/。 工作流示意 规则、评分与声明 棋串按各轴距离为 1 的点相连,支持提子、自杀禁着、单劫和停手。大规模稀疏棋盘使用已落子邻域中的可确认空点作保守估算,并在界面标注。评分描述单局可观察到的表现,不代表模型通用能力排名。棋谱范式只有在多局复现后才收录,出现次数不等于胜率优势。 GoForge 使用 Electron、React、TypeScript 和 Vite。Electron 主进程通过 stdio JSON-RPC 启动 DeepSeek Harness CLI,每局使用独立工作区。第三方声明见 NOTICE.md。棋盘逻辑为 GoForge 自有实现,未包含 GOs-ex 源代码。 Features - 1–19 dimensional boards: Choose dimension and side length, inspect 2D slices, rotate the 3D projection, and navigate higher-dimensional slices. - Scalable storage: Keep a complete board for reasonable sizes and switch to sparse occupied-coordinate storage for larger spaces. - DeepSeek Harness workflows: View model messages, tool events, Harness traces, and token usage. Each player has an isolated session and game workspace. - Hierarchical model setup: Configure providers, API formats, credentials, and multiple models, including custom base URLs. - 时间控制、计分与回放:时间限制不会打断模型执行。对局结束后会给出总分、雷达图和详细数据。历史记录保留局面、落子、轨迹和 token 用量。 - 模式摘要:只分析已完成的对局;某个模式要在多局对局中反复出现后才加入,并记录其重复次数。 - 长上下文处理:Harness 压缩和会话滚动负责管理上下文,同时提供当前规则和棋盘状态。 下载与运行 从 GitHub Releases 下载最新的 Windows x64 安装包。在 Model Settings 里添加服务商、base URL、API 格式、凭据和模型,然后为每一方选择模型。Electron safeStorage 在本机加密 API 密钥。 开发 环境要求:Windows、Node.js 22.12 或更高版本,以及 npm。 ~~~powershell npm install npm start npm run package npm start 会构建 UI 并在 Electron 中启动应用。npm run package 会在 release/ 下生成 Windows 安装包。 工作流概览 规则、计分与声明 棋子通过任意轴上相隔一步的点相连。规则包括提子、禁止自杀、简单劫和停一手。对于大型稀疏棋盘,应用会保守估算已落子周围的确定空点,并标注该估算值。分数描述单局对局中可观察到的结果,不是通用的模型排名。模式要在多局对局中反复出现后才进入库中,重复次数也不代表胜率优势。 GoForge 使用 Electron、React、TypeScript 和 Vite。Electron 主进程通过 stdio JSON-RPC 启动 DeepSeek Harness 命令行,每局对局使用独立工作区。第三方声明见 NOTICE.md。棋盘逻辑由 GoForge 实现,不包含任何 GOs-ex 源文件。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
23J1633/GoForge
在 1 至 19 维棋盘上与 AI 对弈并逐手复盘
相关插件 · 安全 / 权限
智能体逆向工程morluto/rea
用智能体逆向工程任何东西,从应用行为到原生二进制。
★ 415,267已汉化DSH
73.3
智能体集群框架ruvnet/ruflo
面向 Claude Code 与 Codex 的智能体元基座meta-harness。
★ 80,414已汉化MCP
71.9
WorkBuddy 模型接入corrinehu/dsh-workbuddy-connect
2026 年 10 月 20 日起,WorkBuddy…
★ 1,604已汉化DSH
71.7
破甲一键通z91772524-ai/pojia-next
十五个 AI…
★ 967已汉化DSH
71.6
AI 代理虚拟终端strukto-ai/mirage
Mirage 是给 AI 智能体用的虚拟终端:一层 shell,统管数据、命令行和运行时。Unix…
★ 3,756已汉化DSH
70.8
Agent 操作层agentic-os-org/ANOLISA
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture)|智能体操作系统,带运行时、安全、可观测性,以及 Tokenless 响应压缩,降低 token 用量与成本。
★ 649已汉化DSH
70.7