装好即用的游戏感知、学习与直播插件合集
30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add yuanstarstar/dsh-game-stack该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · vision
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 5 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 73 处,展示前 53 条)
- 读取本地文件01-coach-perceive/bundle/host.js:122
if (!existsSync(base)) return undefined - 读取本地文件01-coach-perceive/bundle/host.js:125
dirs = readdirSync(base) - 读取本地文件01-coach-perceive/bundle/host.js:131
if (existsSync(p)) return p - 读取本地文件01-coach-perceive/bundle/host.js:171
if (!existsSync(SIDECAR)) throw new Error(`sidecar 脚本不存在:${SIDECAR}`) - 执行外部命令来自配置/变量01-coach-perceive/bundle/host.js:182
const proc = spawn(this.python, args, { - 发起网络请求01-coach-perceive/bundle/host.js:231
res = await fetch(this.base + path, { ...init, signal: AbortSignal.timeout(timeoutMs) }) - 写入本地文件01-coach-perceive/bundle/host.js:508
mkdirSync(dir, { recursive: true }) - 写入本地文件01-coach-perceive/bundle/host.js:510
writeFileSync(file, JSON.stringify({ ...facts, __savedAt: new Date().toISOString() }, null, 2), 'utf8') - 读取本地文件01-coach-perceive/bundle/host.js:539
const bytes = readFileSync(data.path) - 发起网络请求02-game-learn/bundle/client.js:186
const response = await fetch(`${base}${path}`, { credentials: 'same-origin' }) - 发起网络请求02-game-learn/bundle/client.js:193
const response = await fetch(url, { - 读取本地文件02-game-learn/bundle/lib/coach.js:80
cache = normalizeLibrary(JSON.parse(await readFile(file, 'utf8'))) - 写入本地文件02-game-learn/bundle/lib/coach.js:88
await mkdir(dirname(file), { recursive: true }) - 写入本地文件02-game-learn/bundle/lib/coach.js:90
await writeFile(tmp, `${JSON.stringify(cache, null, 2)}\n`, 'utf8') - 写入本地文件02-game-learn/bundle/lib/coach.js:91
await rename(tmp, file) - 写入本地文件02-game-learn/bundle/lib/coach.js:648
await appendFile('D:\\插件\\game-stack\\diag-theme.json', `${JSON.stringify({ at: now(), body })}\n`, 'utf8') - 写入本地文件02-game-learn/bundle/lib/guard.js:381
mkdirSync(this.root, { recursive: true }) - 写入本地文件02-game-learn/bundle/lib/guard.js:386
mkdirSync(d, { recursive: true }) - 读取本地文件02-game-learn/bundle/lib/guard.js:396
if (!existsSync(path)) return fallback - 读取本地文件02-game-learn/bundle/lib/guard.js:397
return JSON.parse(readFileSync(path, 'utf8')) - 写入本地文件02-game-learn/bundle/lib/guard.js:405
writeFileSync(tmp, JSON.stringify(payload, null, 2), 'utf8') - 写入本地文件02-game-learn/bundle/lib/guard.js:406
renameSync(tmp, path) - 写入本地文件02-game-learn/bundle/lib/guard.js:437
appendFileSync(file, `${JSON.stringify(entry)}\n`, 'utf8') - 读取本地文件02-game-learn/bundle/lib/guard.js:439
const text = readFileSync(file, 'utf8') - 写入本地文件02-game-learn/bundle/lib/guard.js:442
writeFileSync(file, `${lines.slice(-MAX_LEDGER_LINES).join('\n')}\n`, 'utf8') - 读取本地文件02-game-learn/bundle/lib/guard.js:452
if (!existsSync(file)) return [] - 读取本地文件02-game-learn/bundle/lib/guard.js:453
const lines = readFileSync(file, 'utf8').split('\n').filter(Boolean) - 读取本地文件02-game-learn/bundle/lib/guard.js:472
return readdirSync(this.root, { withFileTypes: true }) - 读取本地文件02-game-learn/bundle/lib/rules.js:69
if (!existsSync(file)) throw new Error(`facts 文件不存在:${file}(先让感知层调 coach_facts 落盘)`) - 读取本地文件02-game-learn/bundle/lib/rules.js:70
const raw = readFileSync(file, 'utf8') - 读取本地文件02-game-learn/bundle/lib/rules.js:374
if (!existsSync(dir)) mkdirSync(dir, { recursive: true }) - 写入本地文件02-game-learn/bundle/lib/rules.js:374
if (!existsSync(dir)) mkdirSync(dir, { recursive: true }) - 读取本地文件02-game-learn/bundle/lib/rules.js:380
if (!existsSync(file)) return fallback - 读取本地文件02-game-learn/bundle/lib/rules.js:381
const raw = readFileSync(file, 'utf8').replace(/^ FEFF/, '') - 读取本地文件02-game-learn/bundle/lib/rules.js:391
if (!existsSync(dir)) mkdirSync(dir, { recursive: true }) - 写入本地文件02-game-learn/bundle/lib/rules.js:391
if (!existsSync(dir)) mkdirSync(dir, { recursive: true }) - 写入本地文件02-game-learn/bundle/lib/rules.js:393
writeFileSync(tmp, `${JSON.stringify(value, null, 2)}\n`, 'utf8') - 写入本地文件02-game-learn/bundle/lib/rules.js:394
renameSync(tmp, file) - 写入本地文件02-game-learn/bundle/lib/rules.js:439
writeFileSync(file, `${keep.join('\n')}\n`, 'utf8') - 写入本地文件02-game-learn/bundle/lib/rules.js:482
writeFileSync(file, `${lines.slice(-MAX_DECISIONS).join('\n')}\n`, 'utf8') - 读取本地文件03-cv-recall/bundle/host.js:69
if (!existsSync(base)) return undefined - 读取本地文件03-cv-recall/bundle/host.js:72
dirs = readdirSync(base) - 读取本地文件03-cv-recall/bundle/host.js:78
if (existsSync(p)) return p - 读取本地文件03-cv-recall/bundle/host.js:118
if (!existsSync(SIDECAR)) throw new Error(`sidecar 脚本不存在:${SIDECAR}`) - 执行外部命令来自配置/变量03-cv-recall/bundle/host.js:125
const proc = spawn(this.python, args, { - 发起网络请求03-cv-recall/bundle/host.js:176
res = await fetch(this.base + path, { ...init, signal: AbortSignal.timeout(timeoutMs) }) - 读取本地文件03-cv-recall/bundle/host.js:490
if (attachments?.saveImage && d.frame?.path && existsSync(d.frame.path)) { - 读取本地文件03-cv-recall/bundle/host.js:492
data: new Uint8Array(readFileSync(d.frame.path)), - 发起网络请求04-live-bridge/bundle/client.js:41
response = await fetch(`${API}${path}`, init) - 发起网络请求04-live-bridge/bundle/lib/tts.js:111
const response = await fetch(URL, { - 执行外部命令固定命令04-live-bridge/bundle/lib/tts.js:159
const child = spawn('powershell', ['-NoProfile', '-NonInteractive', '-Command', script], { - 发起网络请求04-live-bridge/bundle/lib/util.js:20
const response = await fetch(url, { ...init, signal: controller.signal }) - 发起网络请求05-launcher/bundle/client.js:927
const response = await fetch(API + path, init);
扫描于 2026/11/3(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DSH 打游戏插件合集:游戏感知 / 视觉实体 / 游戏学习(规则+流程+闸门+知识库)/ 直播桥 / 启动器,5 个可安装 bundle 一键安装
README
由 DeepSeek 最新模型翻译生成DSH 打游戏插件合集(2026-10-29)
对应 docs/DSH通用打游戏-插件经验报告.md 的七个章节,收成 5 个可安装 bundle。
报告里 §2.3/§2.4/§2.5 是三条腿,本次已合并进一个包(02-game-learn),侧边栏只算一个入口。
| 报告章节 | 目录 | 包名 | 这一腿负责什么 | 运行时依赖 |
| §2.1 coach_ | 01-coach-perceive/ | @local/dsh-coach-perceive-v3 0.2.0 | 眼睛和手:抓帧、OCR、点击、按键、驱动推剧情、OBS 锚定 | Python 3.10+ / numpy / Pillow |
| §2.2 cv_ | 03-cv-recall/ | @local/dsh-cv-recall 0.1.0 | 把画面编译成实体包,之后零视觉 token 读盘面 | Python 3.10+ / numpy / Pillow |
| §2.3+§2.4+§2.5 | 02-game-learn/ | @local/dsh-game-learn-v2 0.2.1 | 规则引擎 + 流程状态机 + 四道闸门 + 知识库(合一) | 纯 JS,无依赖 |
展开完整文档(README 剩余 1 节)
DSH 打游戏插件合集(2026-10-29) 对应 docs/DSH通用打游戏-插件经验报告.md 的七个章节,收成 5 个可安装 bundle。 报告里 §2.3/§2.4/§2.5 是三条腿,本次已合并进一个包(02-game-learn),侧边栏只算一个入口。 | 报告章节 | 目录 | 包名 | 这一腿负责什么 | 运行时依赖 | | §2.1 coach_ | 01-coach-perceive/ | @local/dsh-coach-perceive-v3 0.2.0 | 眼睛和手:抓帧、OCR、点击、按键、驱动推剧情、OBS 锚定 | Python 3.10+ / numpy / Pillow | | §2.2 cv_ | 03-cv-recall/ | @local/dsh-cv-recall 0.1.0 | 把画面编译成实体包,之后零视觉 token 读盘面 | Python 3.10+ / numpy / Pillow | | §2.3+§2.4+§2.5 | 02-game-learn/ | @local/dsh-game-learn-v2 0.2.1 | 规则引擎 + 流程状态机 + 四道闸门 + 知识库(合一) | 纯 JS,无依赖 | | §2.6 live_ | 04-live-bridge/ | @local/dsh-live-bridge 0.1.0 | 读弹幕、语音说话 | 需自己扫码登录 / 填 TTS key | | §2.7 launcher_ | 05-launcher/ | @local/dsh-launcher 3.3.2 | 装游戏、管实例、查版本 | 纯 JS | 体积:约 2.0 MB / 145 个文件。安装见 INSTALL.md,一键脚本 install-all.ps1。 工具命名(装好后应该出现这些) - coach_(约 25 个):coach_windows coach_anchor coach_now coach_diff coach_snapshot coach_frame coach_click coach_click_text coach_key coach_key_probe coach_drive coach_select_page coach_target_enemy coach_execute coach_state_json coach_ui_dump coach_dismiss coach_cancel coach_wait_stable coach_scene_define coach_scene_list coach_facts coach_click_log - cv_:cv_learn cv_recall cv_act - game_coach_:game_coach_game game_coach_research game_coach_strategy game_coach_turn - rules_:rules_doc rules_list rules_save rules_run rules_replay rules_results rules_outcome rules_stats rules_toggle rules_delete - flow_ / turn_card:flow_get flow_learn flow_save turn_card - guard_:guard_doc guard_schema guard_calc guard_check guard_reconcile guard_stats - live_:live_danmaku_read live_speak - launcher_:launcher_status launcher_list_games launcher_list_versions launcher_install_game launcher_launch_game 等 侧边栏入口:游戏学习(四页签:概览 / 游戏与策略 / 规则与流程 / 闸门)、游戏感知、视觉实体、直播桥、启动器。 数据落在哪(升级/重装都不丢) | 插件 | 目录 | | 感知输入 | %USERPROFILE%\.dsh\coach-perceive\(last-facts.json、input-log.jsonl)+ %TEMP%\coachd-frames\ | | 视觉实体 | %USERPROFILE%\.dsh\cv-recall\(packs/)+ %TEMP%\cv-recall-frames\ | | 游戏学习 | %USERPROFILE%\.dsh\game-coach\library.json、.dsh\game-guard\、.dsh\rule-workbench\(规则/流程/台账/sessions.jsonl) | | 直播桥 | <插件目录>\data\config.json、bili_credentials.json、voice_credentials.json | | 启动器 | %USERPROFILE%\.dsh-launcher\data\(游戏素材/实例记录,可能 GB 级) | 合并版刻意沿用旧目录名(game-coach / game-guard / rule-workbench),之前积累的策略、规则、台账可直接复用。 包里刻意没有的东西 - ❌ 任何登录凭证与 API key:B 站 cookie、TTS key、OBS 密码都不进包。直播桥的 data\ 目录(bili_credentials.json / voice_credentials.json / config.json)已排除,首次运行自己生成、自己扫码/填 key。OBS 密码只在工具入参或环境变量 COACH_OBS_PASSWORD 里。 - ❌ node_modules、__pycache__、.git、测试截图、tools/ui/.png、.tmp- 调试文件。 - ❌ 启动器的 1.2 GB 游戏素材(data/game-data)。 - ⚠️ 各包的 SOURCE.json 记录了本机原始路径,分发前可删。 已知边界(来自实战报告) 1. cv_ 实体包按分辨率写死,换窗口尺寸要重编。 2. flow_ 要等场景识别稳定后再 flow_learn,否则会反推出一套错的阶段机。 3. coach_ 依赖 Python 侧车;缺 numpy/Pillow 会在工具回执里直说。 4. live_ 的发弹幕/说话需要真凭据,属「你自己填」的部分。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
yuanstarstar/dsh-game-stack
装好即用的游戏感知、学习与直播插件合集
相关插件 · 视觉能力
智能体工作台Devin-AXIS/iPolloWork
企业级、本地优先的智能体工作台,面向个人和智能体团队——一个工作区,容纳多个智能体引擎;一套统一体系,管理插件和技能;支…
★ 7,359已汉化DSH
72
开源设计工作台nexu-io/open-design
OpenDesign:首个协作式 AI 设计智能体工作区
★ 105,514已汉化DSH
71.8
多智能体编码工作区spacering-net/codeg
多智能体协作的 AI 编程工作区:汇总 Claude Code、Codex、OpenCode、Pi、Grok Build 等来源的会话。支持桌面应用、自托管服务器或 Docker。
★ 4,289已汉化DSH
71.6
GPT 图像提示词库freestylefly/awesome-gpt-image-2
Prompt as Code | GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+…
★ 34,534已汉化DSH
71.5
架构图生成器tt-a1i/archify
把你想理解、规划或分享的事,变成可以互动的可视化作品。
★ 92,675已汉化DSH
71.2
AI 用量桌面小部件Javis603/token-monitor
EN | 简 | 繁 | KO | JA | PT
★ 3,522已汉化DSH
71
这是你的仓库?认领条目