# @debuffjp/dev 中文文档

规范地址：https://npmcn.com/package/%40debuffjp/dev/

版本：0\.33\.0
npm 元数据更新时间：2026-11-11T02:35:24.150Z
中文译文更新时间：2026-11-11T18:55:30.340Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40debuffjp/dev
原文对照：https://npmcn.com/package/%40debuffjp/dev/?lang=original
项目主页：https://debuff.jp/
源码仓库：https://github.com/debuffjp/debuff

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：390 kB，42 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2026-10-16T09:03:32.005Z
- 最新版本发布：2026-11-11T02:35:23.801Z
- 近 30 天下载量：9106（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：56（近 12 个月 56 个）

## 中文简介

用于解禁游戏、工具和AI代理的仅限检查钩

## 安装

```sh
npm install @debuffjp/dev
```

也可以使用：`pnpm add @debuffjp/dev`、`yarn add @debuffjp/dev`、`bun add @debuffjp/dev`

## README

# @ debuffjp/ dev

仅允许浏览器工具的 Dev 检查和控制钩 `debuff` CLI和AI代理看到并驱动了正在运行的游戏.

```ts
import { devTools } from "@debuffjp/dev";

if (import.meta.env.DEV) game.use(devTools({ input }));
```

邦德勒斯从生产大楼中调用 `debuff build` 如果漏出则失败.

## `window.__DEBUFF_DEV__`

所有参数和返回值均为JSON-序列可.

| 方法 | 回返 |
| --- | --- |
| `state()` | `{ scene, tick, time, frozen, stats, camera, state, pluginNames, plugins }`。 。 。 . `camera` 是世界单位的中心、缩放和视图大小, `state` 是活动场景的 `inspect()`,以及 `plugins` 持有 `game.inspect` 快照 |
| `step(n)` | 暂停, 垫款 `n` 固定步骤, 返回 `state()` |
| `pause()` 编号 : `resume()` 编号 : `speed(scale)` | 现场控制; `state().pausedBy` 说谁暂停 `state().hidden` (自0.25起) 标签在背景中, 循环停止直到你 `step()` |
| `frames(n)` | 最新数据 `n` 框架分解:间隔、更新和渲染 ms、追赶步骤、四相、绘图呼叫、长任务 |
| `notes()` | 以状态和框标注在上方的瞬间 |
| `params()` 编号 : `setParam(group, key, value)` | 已键入参数计划和值 |
| `press(code)` 编号 : `release(code)` | 键盘,加 `"PointerRight"` 编号 : `"PointerMiddle"` 鼠标右中键 |
| `tap(x, y, kind?)` 编号 : `pointerDown(x, y, kind?)` 编号 : `pointerMove` 编号 : `pointerUp` | 指针,在逻辑坐标. `kind` 实值 `"mouse"` (违约), `"touch"` 或者说 `"pen"`: 游戏在 `pointer.kind`,而一个触摸或笔印是联系人 1英寸 `pointer.touches` 而不是鼠标也按 |
| `wheel(dy, dx?)` | cSS 像素中的轮轴滚动 |
| `touchDown(id, x, y, kind?)` 编号 : `touchMove(id, x, y)` 编号 : `touchUp(id)` | 触摸联系人(或 `"pen"`; 第一种是主指针. 以回放方式录制 |
| `errors()` | 装入后运行时间出错,解释: `kind` (单位:千美元)`your-code`, (中文(简体) ), `debuff-usage`, (中文(简体) ), `debuff-bug`, (中文(简体) ), `outside`), 源码 `where`, (中文(简体) ), `hint`, (中文(简体) ), `count` |
| `capture(fit?, background?)` | 当前框架的PNG数据 URL. `fit` 发信箱: `"social"` 1200x675,用于X和Bluesky的帖子和链接卡)或 `[width, height]`以整像素缩放,所以像素艺术保持简洁. `fit` 增加为0.26 |
| `clips(on?)` 编号 : `saveClip(name?)` | 滚动剪辑录音 : `clips(true)` 保持过去的15 s, `saveClip` 写给 `.debuff/captures/` (MP4,浏览器可以记录它,否则WebM)并返回 `{ file, seconds, bytes, mimeType }`下方的现场游戏 `debuff dev`。添加到0.26中 |
| `keepForReload()` | 保存状态后重新装入 `debuff dev` 客户端在代码更改重新装入页面前拨打它 |
| `luminance(cols, rows, region?)` | 当前框架的WCAG相对在网格上的亮度,用于情景闪光和对比检查 |
| `events(sinceTick?)` | 最新数据 `game.emit` 电话和详细信息; `state().events` 按名字计算 |
| `rewind(tick)` | 重新装入并重放会话输入到 `tick`,然后暂停:当时的确切状态。 在已知的会话中,你可以继续前进,直到新的游戏分支关闭。 它从0.31开始检查记录的检查站, 仅限直播游戏 |
| `replay(toTick?)` | 自装入( 键、 指针、 param 更改) 起, 全部播放到 `toTick`,作为一个情景 重现它准确,加 `warnings` 任何无法复制的东西 从0.31起,它还持有 `checkpoint` 步数每60分一秒:州内每个地段的散列(`scene`, (中文(简体) ), `events`, (中文(简体) ), `state.<key>` 每个顶级密钥 `inspect()`, (中文(简体) ), `plugins.<name>`),这样 `debuff scenario` 也可以说重播时停止了匹配。 需求 `devTools({ input })` |
| `checkpoint()` | `{ tick, checkpoint }`:现在的州,用同样的方式,因为比较一个回放 `checkpoint` 步骤。 增加为0.31 |

## 重叠

`devOverlay()` 增加一个面板。 后引出键会隐藏它,而QQ按钮(或双击头)会将其倒塌为有fps,一个出错计数和代理徽章的单条. 拖动头部将面板从它覆盖的任何东西上移出(0.27+);双击吉祥物再次停靠在它的角落. 面板会记起它的位置,它是否倒塌,以及哪个标签是打开的.

在自动浏览器中( O)`navigator.webdriver`,如同在情景运行和代理被套用的情况下,覆盖开始隐藏,所以它远离截图和自带;切换键仍然显示它 `devOverlay({ open: true })` 保持可见。 在0.15之前,它也开始在那里开放.

工具栏有暂停、步骤、速度(1x、1⁄2x、1⁄4x), **响起** (下载当前框架作为PNG), **建议** 财务报告和审定财务报表 **剪贴板** (保留最后15 s 并保存为视频) `.debuff/captures/`,用于 devlogs,存储页面和 `debuff ship press`; 于0.26中添加 **重新启动** (再入现相. 下面是四个标签:

-   **每平方英尺**:一个以健康为色的帧图:石灰是准时的,琥珀有点晚(正常显示快活)而红色是一个被丢掉的帧. 从0.28起,它也说,当至少1000个宝石,以及至少一半所画的宝石,在取景地外降落(测量了60个框架). 更新和渲染时间被堆放在每个栏内 。 一份摘要显示您的头室,以及最近的被丢帧是来自游戏自己的作品还是外部(GC,浏览器,其他标签). 单击一栏暂停并检查带有平字诊断的框架, 或勾选 **在空出框上暂停**。阶段也显示为 `debuff:update` 财务报告和审定财务报表 `debuff:render` 在浏览器配置器中.
-   **曲调**: 每张幻灯片 `game.params` 组合。 从他们的默认值变成琥珀值 双击名称以重设,以及 **复制更改** 复制您的更改,准备粘贴到参数定义中.
-   **状态**: 你的场景 `inspect()` 数据及插件快照,更新活性.
-   **日志**: 键入出错 `debuff dev`检查(重复倒入一张卡片中,只有测试文件中的错误被贴上标签并变音,已知代码提示固定,每张卡片都有 **代理服务器副本**),运行时出错,每个被标注的都是谁的问题(您的代码,一个调用已拒绝,一个调用被调用被调用被调用,一个调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被 还有一个活动日志,记录谁用倒数改变什么(你、代理或情景),并注明您可以给代理标记. **保存重播** 财务报告和审定财务报表 **复制重放** 将迄今为止的会议变成一种情景: `debuff scenario` 弹回来准确,和 **保存为情景** 写给 `scenarios/` (通过) `debuff dev`),结尾有被捕获,作为回归测试. 这个 **时间表** 滑动倒取:拖入任意一勾,页面再加载,再播放您对该勾的输入,然后暂停在那里。 再次拖曳返回, 直到您从前面的位置继续播放 .

## 让你的位置重新装入

下 `debuff dev`,编辑您的代码后,不再将您送回开始。 就在页面重新加载之前,dev工具会保存会话输入. 新的代码然后把它们重放到您所玩的勾当上(不画画,一般为每百个勾当中几毫秒),游戏继续运行,如果被暂停,则保持暂停. 日志上说重播花了多久.

因为投入被重播 **新设** 代码,一个对游戏玩法的改变 显示在您所在的位置: 降低运行速度,玩家将处于新的速度。 你拿着的钥匙在重播后就松了 过 `devTools({ input, keepState: false })` 把它关掉.

## 代理链接

下 `debuff dev`时,页面会收听来自 `@debuffjp/mcp` 在Dev服务器上,所以代理工作 在游戏你正在看。 过 `agentLink: false` 选择退出.

## WebMCP( 实验性)

从0.29起,当浏览器已经 `document.modelContext`,dev钩注册为 [网络MCP](https://webmachinelearning.github.io/webmcp/) 工具,所以浏览器代理可以在没有MCP服务器的情况下玩游戏: `game_state`, (中文(简体) ), `game_step`, (中文(简体) ), `game_pause`, (中文(简体) ), `game_input`, (中文(简体) ), `game_command`, (中文(简体) ), `game_params`, (中文(简体) ), `game_set_param`, (中文(简体) ), `game_capture`, (中文(简体) ), `game_errors` 财务报告和审定财务报表 `game_notes`。它们的名称和论据与 `@debuffjp/mcp`没有API,这没什么用。 过 `webmcp: false` 选择退出.

打开页面 `?debuff-scenario` 因此时间只能通过 `step()`。 。 。 . `debuff scenario` 使用此模式.

## 常见问题

### @debuffjp/dev 是什么？

用于解禁游戏、工具和AI代理的仅限检查钩

### 如何安装 @debuffjp/dev？

在项目目录运行 npm install @debuffjp/dev，或使用 pnpm add / yarn add / bun add。

### @debuffjp/dev 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @debuffjp/dev 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @debuffjp/dev 可以商用吗？

@debuffjp/dev 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @debuffjp/dev 的下载量有多少？

根据 npm 官方下载统计，@debuffjp/dev 在 2026/10/12 – 2026/11/10 这 30 天内被下载 9,106 次，日均约 304 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @debuffjp/dev 还在维护吗？

最新版本 0\.33\.0 发布于 2026/11/11（今天）；至今共发布 56 个版本，其中过去 12 个月发布了 56 个；首次发布于 2026/10/16。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

