🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

游戏工作室套件 HYClub/deepseek-harness-game-studios

DeepSeek Harness
HYClub6 天前有提交已提供中文文档扫描:含敏感能力

安装 · 实现状态 · 项目结构 · 测试你的定制 · 验证 · 许可证

34.2/100
综合分
6
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add HYClub/deepseek-harness-game-studios
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · market
装得上吗
静态安装检查有提示项,装前建议看一眼 README
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 6 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包deepseek-harness-game-studios(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/29 11:42:30

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 49 处,展示前 29 条)
  • 执行外部命令固定命令
    hooks.js:109
    spawn('taskkill', ['/pid', String(child.pid), '/T', '/F'], {
  • 执行外部命令来自配置/变量
    hooks.js:165
    child = spawn(
  • 写入本地文件
    hooks.js:211
    appendFileSync(
  • 写入本地文件
    hooks.js:270
    appendFileSync(
  • 读取本地文件
    hooks.js:304
    if (existsSync(candidate)) return candidate
  • 读取本地文件
    hooks.js:358
    parsed = JSON.parse(readFileSync(configPath, 'utf8'))
  • 写入本地文件
    hooks.js:501
    mkdirSync(dirname(mountStampPath(configPath)), { recursive: true })
  • 写入本地文件
    hooks.js:502
    appendFileSync(
  • 读取本地文件
    statusline/index.js:66
    if (!existsSync(yamlPath)) return ''
  • 读取本地文件
    statusline/index.js:69
    text = readFileSync(yamlPath, 'utf8')
  • 读取本地文件
    selfinstall.mjs:28
    for (const entry of readdirSync(from)) {
  • 读取本地文件
    selfinstall.mjs:32
    const st = statSync(src);
  • 写入本地文件
    selfinstall.mjs:34
    mkdirSync(dst, { recursive: true });
  • 写入本地文件
    selfinstall.mjs:37
    mkdirSync(to, { recursive: true });
  • 写入本地文件
    selfinstall.mjs:38
    copyFileSync(src, dst);
  • 读取本地文件
    selfinstall.mjs:151
    if (!payloadDir || !existsSync(join(payloadDir, '.dsh', 'skills'))) {
  • 读取本地文件
    selfinstall.mjs:157
    const skillsPresent = ['dsgs-init', 'start'].every((n) => existsSync(join(homeDir, 'skills', n, 'SKILL.md')));
  • 读取本地文件
    selfinstall.mjs:158
    const fresh = skillsPresent && existsSync(join(target, '.dsh', 'skills')) && existsSync(stamp) && readFileSync(stamp, 'utf8').trim() === INSTALL_VERSI
  • 读取本地文件
    selfinstall.mjs:158
    const fresh = skillsPresent && existsSync(join(target, '.dsh', 'skills')) && existsSync(stamp) && readFileSync(stamp, 'utf8').trim() === INSTALL_VERSI
  • 删除本地文件递归
    selfinstall.mjs:161
    rmSync(target, { recursive: true, force: true });
  • 写入本地文件
    selfinstall.mjs:162
    mkdirSync(target, { recursive: true });
  • 写入本地文件
    selfinstall.mjs:164
    writeFileSync(stamp, INSTALL_VERSION);
  • 写入本地文件
    selfinstall.mjs:172
    mkdirSync(join(homeDir, 'skills', name), { recursive: true });
  • 读取本地文件
    payload/dsh-src/statusline.mjs:62
    if (existsSync(join(cwd, 'project.yaml')) || existsSync(join(cwd, '.dsh')) || existsSync(join(cwd, '.claude'))) {
  • 读取本地文件
    payload/dsh-src/statusline.mjs:66
    if (typeof fromEnv === 'string' && fromEnv.length > 0 && existsSync(fromEnv)) return fromEnv;
  • 读取本地文件
    payload/dsh-src/statusline.mjs:108
    return readFileSync(file, 'utf8').split(/ ? /)[0].trim();
  • 读取本地文件
    payload/dsh-src/statusline.mjs:116
    if (existsSync(projectYaml) && getYamlKey(projectYaml, 'engine.name') !== '') return true;
  • 读取本地文件
    payload/dsh-src/statusline.mjs:118
    if (!existsSync(prefs)) return false;
  • 读取本地文件
    payload/dsh-src/statusline.mjs:119
    for (const line of readFileSync(prefs, 'utf8').split(/ ? /)) {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 钩子桥接9个事件
  • studio状态栏
  • 自安装框架载荷
展开完整介绍(123 字)↓

DeepSeek Harness 移植版 Claude Code Game Studios(CCGS v1.1.2,MIT)——单包安装:钩子桥接(9 个事件)、studio 状态栏、自安装框架载荷(76 个技能、49 个智能体、13 条规则)。

README

由 DeepSeek 最新模型翻译生成
DeepSeek Harness Game Studios 安装 · 实现状态 · 项目结构 · 测试你的定制 · 验证 · 许可证 把一次 DeepSeek Harness 会话变成一间完整的游戏工作室。 49 个代理。79 个技能。一支协调好的 AI 团队。 本仓库是 Claude Code Game Studios(CCGS)到 DeepSeek Harness(DSH)的移植,不是从零自研:技能、代理、规则、文档都来自上游(MIT);本仓库提供 DSH 原生运行时(Node 钩子、技能生成、机器级安装、插件桥)。 来源与版本 | 上游项目 | Donchitos/Claude-Code-Game-Studios | | 本移植锁定的上游版本 | v1.1.2(commit b21fa0f,2026-09-29) | | 上游许可证 | MIT(Copyright © 2026 Donchitos),本仓库沿用 | | 本仓库 | deepseek-harness-game-studios(DSGS)v0.2.2 | | 移植方式 | 双栈同源:.claude/ 是内容源(上游原文,逐字保留);.dsh/* 由 tools/build-dsh.mjs 生成 | 上游面向 Claude Code(.claude/、.sh 钩子、bash 一行流、@path 导入)。
展开完整文档(README 剩余 1 节)
DeepSeek Harness Game Studios

安装 · 实现状态 · 项目结构 · 测试你的定制 · 验证 · 许可证

把一次 DeepSeek Harness 会话变成一间完整的游戏工作室。
49 个代理。79 个技能。一支协调好的 AI 团队。

本仓库是 Claude Code Game Studios(CCGS)到 DeepSeek Harness(DSH)的移植,不是从零自研:技能、代理、规则、文档都来自上游(MIT);本仓库提供 DSH 原生运行时(Node 钩子、技能生成、机器级安装、插件桥)。

来源与版本

| 上游项目 | Donchitos/Claude-Code-Game-Studios |
| 本移植锁定的上游版本 | v1.1.2(commit b21fa0f,2026-09-29) |
| 上游许可证 | MIT(Copyright © 2026 Donchitos),本仓库沿用 |
| 本仓库 | deepseek-harness-game-studios(DSGS)v0.2.2 |
| 移植方式 | 双栈同源:.claude/ 是内容源(上游原文,逐字保留);.dsh/* 由 tools/build-dsh.mjs 生成 |

上游面向 Claude Code(.claude/、.sh 钩子、bash 一行流、@path 导入)。这些在 DSH 下无法直接运行 (没有 bash 工具、管道捕获子进程被沙箱拒绝、不展开 @path)。本项目不改上游内容,而是生成 DSH 可运行的等价物,并验证内容零丢失。

插件包把框架打包在 payload/ 下 —— 使用插件时你不需要看它。

安装

① 网页版

插件 → 添加插件 → 填 https://github.com/HYClub/deepseek-harness-game-studios → 安装 → 重启 dsh web。

dsh plugin --profile web add https://github.com/HYClub/deepseek-harness-game-studios

② 桌面版

打开桌面客户端,插件 → 添加插件 → 填同一个 URL → 安装 → 重启客户端。

插件首次加载时会自动把框架装到机器级(~/.dsh/dsgs 与用户级引导技能)。之后:

新建工作区 → 新会话 → 打 /start

/start 会自己判断该工作区有没有初始化:没有就先初始化,然后带你走引导。

升级

在初始化过的工作区里输入(0.2.1 及以上版本才有 /update):

/update

它会读出已安装版本与最新版本,把要执行的命令先给你看,你同意之后才执行。装完重启客户端,新技能在新会话里出现。

这个工作区初始化了吗? 项目根目录下有 .dsh/skills/start/SKILL.md 或 .dsgs-installed.json 就算初始化过。
两个都没有的话:在 DSH 里打开这个项目,新开一个会话打 /start —— 初始化一次即可,以后在这个项目里随时可以 /update。

从 0.2.0 或更早版本过来? /update 从 0.2.1 才有,所以第一次升级要手动:

dsh plugin --profile web remove deepseek-harness-game-studios
dsh plugin --profile web add https://github.com/HYClub/deepseek-harness-game-studios

桌面版用户走 插件 面板(见下)。之后每次升级都是一条 /update。

桌面版:插件 profile 由应用独占,命令行改不了它。打开 插件 → 卸载 deepseek-harness-game-studios → 添加插件 粘贴 https://github.com/HYClub/deepseek-harness-game-studios → 安装 → 重启。
/update 照样会帮你查版本,并告诉什么时候需要这么做。

插件会往你机器上写什么(与撤销)

| 路径 | 内容 |
| ~/.dsh/dsgs/ | 框架载荷(技能、代理、规则、钩子、工具、文档、指令文件) |
| ~/.dsh/skills/dsgs-init/SKILL.md、~/.dsh/skills/start/SKILL.md | 用户级引导技能 |

它绝不触碰任何项目目录,也绝不覆盖项目里的文件。撤销:

Remove-Item -Recurse -Force "$env:USERPROFILE\.dsh\dsgs"
Remove-Item -Recurse -Force "$env:USERPROFILE\.dsh\skills\dsgs-init","$env:USERPROFILE\.dsh\skills\start"
再卸载插件并重启 dsh web

实现状态

✅ 已实现(均有实测证据)

| 项 | 状态 | 说明 |
| 技能 | ✅ | 上游 74 个全部移植,逐个可 /调用 |
| 代理角色卡 | ✅ | 49 个,.dsh/agents/<name>.md + 委派约定 |
| 规则 | ✅ | 13 条,含上游"路径作用域规则引擎"的等价替代:PostToolUse 钩子在每次写入/编辑后注入命中的规则原文 |
| 钩子 | ✅ | 上游 12 个脚本 → 14 个 Node 重写版,经 dsh-hooks-claude-code 桥接;9 个上游事件全覆盖 |
| 钩子真实执行 | ✅ | 挂载 10/10 · 协议 12/12 · 事件活体 6/9 —— 在装有官方 bridge 包的机器上测得;没有该包的环境会报 SKIP,而不是假失败 |
| 配置解析 | ✅ | project.yaml 单一来源;resolve_config / __call resolve_setting 的 Node 端口 |
| 辅助脚本 | ✅ | 上游每个 .sh 都有 Node 端口(.dsh/scripts/.mjs),沙箱内可运行 |
| 内容保真 | ✅ | 258 文件 / 42,895 行:96.0% 逐字、3.1% 已记录改写、0.5% 结构性、0.4% 换写法、0 行无法解释的丢失 |
| 机器级安装 | ✅ | 插件自带载荷(924 个文件)并在首次加载时安装;空工作区打 /start 即可用它初始化 |
| /statusline | ✅ | 工作室状态行 阶段 · 姿态 · epic > story · Sprint n/m · 引擎(+13 单测) |
| 嵌套委派 | ✅ | subagent.maxDepth: 2 实测「父 → 子 → 孙」(DSH 默认 1) |
| 共享规则真正到达项目 | ✅ | CLAUDE.md 里的 @path 导入被改写成「需要时读某个文件」——本运行时不展开 @,不这么做的话那些标准文档只是被引用、从未被读 |
| 角色工具边界 | ✅ | 每张代理角色卡写明"本角色应只用哪些工具",并统一成本运行时的工具名。属软约束:运行时无法按代理限定工具集 |
| 一键式插件 | ✅ | 一个包 = 钩子桥 + 状态行投影 + 载荷自装 |
| DSGS 专有技能 | ✅ | statusline、dsgs-install(上游没有) |

⚠️ 部分等价 —— 能用,但有一处明确的限制

| 项 | 能用的部分 | 限制与原因 |
| 3 个钩子事件 | 映射已实现并单测 | Notification、PreCompact、PostCompact 在 DSH 没有事件源,只能到挂载级验证(活体 6/9) |
| 逐代理工具白名单 | 每张角色卡正文写明边界(工具边界 …:read, glob, grep, …),委派时模型读得到 | DSH 的 subagent 不接受按代理限定工具集,也没有代理注册中心,运行时无法强制 |
| bash ↔ Node 逐字节对照 | 能跑的每一对都逐字节一致;依赖 YAML 的 2 对是受控断言(数量不符即失败;有 python3 的环境用 PARITY_REQUIRE_ALL=1 禁止 SKIP) | 本机 Git Bash 的 python3 是 Store 占位程序,bash 侧读不了 YAML |

❌ 无法等价 —— 原因与替代

| 项 | 原因 | 替代 |
| 输入框上方的停靠状态条 | DSH 的前端插件清单只收 @deepseek-ai/*(实测 60+ 条全为官方包,本包即使补 dsh.client 声明仍不在其中) | /statusline 技能 + node .dsh/statusline.mjs;运行时字段(轮次/token/缓存/上下文%)由 DSH 自带状态条覆盖 |
| PreToolUse 的事前提醒 | tools/pre-execute 只携带 allow/deny/cancel/ask;additionalContexts 只从工具最终结果读取;执行中 agent.inject() 无效 | validate-commit / validate-push 同时注册在 PostToolUse(提醒在动作之后到达);要事前阻断可把插件行设为 advisory: deny |
| !cmd 预执行行 | DSH 没有预执行 | 改写为「前置命令」块,由模型自己运行 |

项目结构

.claude/ # 上游内容源(MIT,逐字保留) settings.json # 钩子、权限、安全规则 agents/ # 49 个代理定义 skills/ # 74 个技能(每技能一个目录) hooks/ # 14 个脚本 —— 13 个事件钩子 + yaml-helper.sh rules/ # 13 条路径作用域编码标准 statusline.sh # 上游状态行脚本(作参考保留) docs/ # 工作流目录、39 个模板与写作指南 .dsh/ # 由 tools/build-dsh.mjs 生成 —— 不要手改 agents/ skills/ rules/ hooks/ scripts/ docs/ tools/ # 生成器、校验器、Node 端口、插件、安装器 dsh-src/ # DSH 专有手写叠加层(生成时并入 .dsh/) DSGS Skill Testing Framework/ # 技能与代理自身的 QA design/ src/ assets/ tests/ prototypes/ production/ # 你的项目

测试你自己的定制

DSGS 是给你改的模板。DSGS Skill Testing Framework/ 用来验证改过或新写的技能是否还站得住:全部技能与代理的目录、按类别的质量评分表、行为规格,以及写规格用的模板。

/skill-test static [name] # 结构 linter /skill-test category [name] # 按类别的质量评分 /skill-test spec [name] # 行为规格断言 /skill-test audit # 技能与代理的覆盖报告
/skill-improve [name] # 测试-修复-复测循环;分数下降就回退

它测的是框架,永远不是你的游戏 —— 游戏的测试放在 tests/。

验证

pwsh -File tools/verify-port.ps1 # 7 步:生成 → 结构 → 引用 → 保真 → 钩子 → 挂载 → 套件
node tools/check-dsh.mjs # skills=79 agents=49 rules=13 hooks=14 errors=0 warnings=0
node tools/verify-fidelity.mjs # unexplained 0 / 内容零丢失(258 文件,42,895 行)
node tools/verify-hooks-mount.mjs # 10/10 挂载用例
node tools/verify-hooks-bridge.mjs # 12/12
node tools/verify-hooks-events.mjs # 6/9 活体 + 3 仅挂载

支持本项目(以及上游)

DSGS 是移植:原始工作 —— 74 个技能、49 个代理、13 条规则与全部文档 —— 由上游作者完成,他本人的支持渠道在上游仓库。
如果这个项目帮你省了时间,请优先支持上游作者。与 DSH 移植本身相关的 issue 与贡献请提到本仓库。

许可证

MIT License —— 见 LICENSE。上游版权 © 2026 Donchitos;移植层(生成器、Node 钩子、插件、安装器、DSGS 专有技能)以同一许可证发布。
预览分享卡片长什么样 ↓HYClub/deepseek-harness-game-studios
分享 · DeepSeek Harness Hub
HYClub/deepseek-harness-game-studios

安装 · 实现状态 · 项目结构 · 测试你的定制 · 验证 · 许可证

这是你的仓库?认领条目

回到顶部