Standboy
Standboy 是 VS Code 扩展:嵌入 Game Boy 模拟器面板,并根据 AI 编码代理活动自动展开/暂停,减少等待干扰。支持加载 ROM。
Standboy 是什么?
Standboy 是一款 VS Code 扩展,可在编辑器中嵌入 Game Boy 系列模拟器面板,并将模拟器的显示状态和运行状态与 AI 编码代理的活动关联。当代理开始生成内容时,Standboy 会自动展开模拟器侧边栏并恢复播放;当代理完成或进入空闲状态时,Standboy 会隐藏面板并暂停模拟器。
其目的是通过将娱乐留在 IDE 内,并在代理非活动时强制暂停模拟器,来减少等待代理时的“空闲时间”。支持加载用户自己的 ROM 文件,并在 VS Code 重启后保留上次游玩的游戏和存档。
主要功能
- 基于代理活动的自动显示/隐藏:代理工作数秒后扩展模拟器面板,空闲一段时间后自动收起,避免短暂切换时闪烁。
- 与 Cursor 和 Claude Code 的生命周期对接:通过面板菜单中的单一开关,使用 Cursor 和 Claude Code 的官方生命周期 API 实现集成。
- 恢复中断位置:重新打开模拟器时,从上次暂停的精确帧继续,而非重新开始游戏。
- ROM 库与持久化存档:加载的 ROM 会复制到托管库中。面板隐藏、页面卸载或导出前,游戏存档会同步到磁盘。运行时状态保存在 IndexedDB 中,确保 VS Code 重启后存档仍可保留。
- ROM 匹配与库元数据:通过 SHA-1 哈希与内置 No-Intro 数据库匹配,自动识别 ROM 并提供规范标题和封面(自制或修改 ROM 使用字母拼图作为备选)。
- 设备与输入支持:支持 .gb、.gbc 和 .gba ROM,根据文件扩展名自动检测平台。键盘按键可在面板菜单中重新绑定,方向键映射到箭头键,A/B/Start/Select 可自定义。
- 离线模拟器与内置数据:模拟器(EmulatorJS)和 No-Intro 数据库均已打包,可完全离线运行。
如何使用 Standboy
- 安装 VS Code 扩展:在 VS Code 中打开扩展面板,搜索 Standboy,或运行
code --install-extension mfbzme.standboy。 - 连接代理检测(首次运行):首次激活时,Standboy 会自动打开面板并显示卡片,提示连接检测到的代理类型(若存在
~/.claude/settings.json则为 Claude Code,否则为 Cursor)。点击 Connect 启用生命周期钩子,或稍后在⋯菜单的 Detection 中切换。 - 添加 ROM:点击 + Add ROM(或菜单中的 Load ROM…),选择本地 .gb、.gbc 或 .gba 文件。Standboy 会将其复制到托管库中,通过 No-Intro 数据库识别后启动模拟器。
- 在代理生成期间使用模拟器:面板打开时可接受键盘输入。代理空闲时,Standboy 会根据空闲规则暂停并隐藏面板。
使用场景
- 在代理工作时保持专注:当 Cursor/Claude Code 开始生成代码时,Standboy 展开模拟器,让你无需离开 IDE 即可游玩;生成结束后自动暂停并收起面板。
- 避免长时运行时的“标签切换”:无需切换到其他应用(聊天、论坛、消息),模拟器提供编辑器内休息,并在代理活动/结束时设置硬暂停边界。
- 重启后返回同一游戏:加载一次 ROM 后,Standboy 会在下次 VS Code 启动时自动恢复上次游玩的 ROM,并还原存档数据。
- 构建具有一致标题/封面的 ROM 库:即使磁盘上的 ROM 文件名不同,通过 SHA-1 哈希与 No-Intro 数据库匹配,仍会显示规范标题和封面。
- 测试不同输入布局:用户可在面板菜单中重新绑定按键,以适应键盘或个人偏好。
常见问题
-
Standboy 是否包含游戏或提供 ROM 来源?
不会。Standboy 仅加载用户自行提供的 ROM,不附带任何游戏,也不提供 ROM 来源链接。 -
能否离线使用?
模拟器与 No-Intro 数据库已内置,可完全离线运行。唯一涉及网络的操作为一次性从libretro-thumbnails获取封面图,由扩展主机执行并本地缓存。 -
Standboy 如何决定显示或隐藏模拟器?
仅在检测到代理活动持续数秒后自动显示,闲置一段时间后自动隐藏。该机制旨在避免因极短的代理回合而频繁闪烁。 -
支持哪些代理集成?
扩展通过官方生命周期 API 接入 Cursor 和 Claude Code,面板菜单中提供开关。其他代理若无特定支持,可回退至编辑爆发启发式检测。 -
模拟器是否能从上次状态继续?
可以。Standboy 支持面板重新打开时从中间帧恢复,隐藏时保留 webview,使其暂停在原位并从相同状态继续。
替代方案
- 通用 Game Boy 模拟器(独立桌面/移动端):专注于游戏体验,但不与 VS Code 代理生命周期集成,无法自动暂停或显示。
- 其他 VS Code 媒体/通知侧边栏:可显示活动指示或简单仪表盘以帮助管理专注,但通常不提供能从中间帧恢复并持久保存的模拟器。
- IDE 任务调度器或专注计时器(番茄钟式):能以结构化方式减少“等待时间”,但不提供内置 ROM 识别和存档持久化的 IDE 内模拟器。
- 仅通过 webview 集成的模拟器(无代理钩子):同样可在编辑器内游玩,但缺少基于生命周期的自动显示/隐藏以及与 AI 代理活动绑定的中间帧恢复功能。
替代品
Devin
Devin 是 AI 编程代理,帮助软件团队并行完成代码迁移与大规模重构子任务;工程师负责项目管理并批准改动。
Codex Plugins
使用 Codex Plugins 将技能、应用集成和 MCP 服务器打包成可复用工作流,扩展 Codex 访问 Gmail、Google Drive 与 Slack 等工具。
ClawTick
ClawTick 是 CLI 优先的 AI 代理自动化平台,可按 cron 调度基于 webhook 的任务,并提供监控、告警、重试与执行日志。
Falconer
Falconer 是自更新知识平台,帮高速度团队在一个地方编写、分享并搜索可靠内部文档与代码上下文。
OpenFlags
OpenFlags 是开源自托管功能开关系统,支持渐进式交付;应用 SDK 本地评估,配套简单控制平面实现安全定向发布。
AakarDev AI
AakarDev AI 是一个强大的平台,通过无缝的向量数据库集成简化 AI 应用程序的开发,实现快速部署和可扩展性。