Agent 用法 GitHub · banjtheman/macos-to-steam-deck
用 Deck Delivery 让 agent 一条命令把 Mac 游戏构建推上 Steam Deck 库
对 Claude Code/Codex/Cursor 说一句“put this on my Deck”,游戏就构建并出现在 Steam Deck 的非 Steam 库里可直接玩
效果
README 展示终端输出示例(412 MB 构建 9 秒完成,Library > Non-Steam > Devkit Game: MyGame),仓库含 docs/page.png 界面截图;本站不托管截图或视频
这是什么
新在哪里:以前要把构建塞到 Deck 得进 Desktop Mode、拷贝 U 盘或下载页再手动加非 Steam 游戏;现在已配对后一条命令或一句话由 agent 完成构建、增量推送和入库
怎么做到的:克隆仓库并运行 deck.py install,把 SKILL.md 装进各 agent 的 skills 目录;在 Deck 开启开发者模式并 Pair new host;项目根写 deck_delivery.json(id、folder、run,可选 build/proton);deck-delivery send <id> 先跑 build 再用 rsync 送变更文件并写入 Deck 库;也可 deck-delivery ui 打开本地页面点按钮。
- 适合谁
- 用 Mac 开发、需要反复在 Steam Deck 上真机验证构建的独立游戏开发者
- 能帮你
- 把 Mac→Deck 的构建推送变成一句命令或一句对 agent 的话,省掉 Desktop Mode 与 U 盘搬运
评分 三项分开看,不合成总分;热度不等于好用
- 新颖性
- 全新做法 · 2026-10-19 出现
- 热度
- 未知
- 易上手
- 需要一些准备
怎么评的
三项都由本站记录的事实按固定规则算出,编辑不能直接改档位;规则改动会写进更新说明。
新颖性
- ●●● 全新做法,且有来源依据的出现时间在最近 30 天内
- ●●○ 老工具新用法或近期刚开放,且有来源依据的时间在最近 30 天内
- ●○○ 出现时间超过 30 天、未核实到精确日期,或已不再是新做法
- 其他 出现时间未核实、晚于今天,或新颖类型未核实时按最低一档处理,不靠猜测加分
热度
- ●●● 最近一次每周人工确认为“热门”:最近 14 天里独立讨论、实际案例、持续时间、传播平台、相对关注五项门槛全部满足(规则 heat-v1)
- ●●○ 最近一次人工确认为“观察中”:前三项至少一项达到,或讨论增长 ≥ 50%,且至少 2 个独立案例
- ●○○ 最近一次人工确认为“未进入跟踪”
- 其他 还没有人工确认过的热度记录时显示“未知”。热度只统计本站已接入的信源,不代表全网
易上手
- ●●● 准备门槛低且难度入门:不需要新账号或付费,首次尝试不超过 30 分钟,公开可用,会复制粘贴即可
- ●●○ 准备门槛中等,或门槛低但需要改少量代码或配置
- ●○○ 准备门槛高:需要商业软件或付费服务、首次尝试超过 2 小时、特殊硬件或网络、排队或邀请且无替代方案,或需要专业知识
- 其他 只有介绍、还没有站内步骤,或关键步骤已失效时显示“暂不可试”;门槛未核实时显示“未核实”
怎么尝试
- 时间 首次约 25 分钟
- 费用 免费:README 为 MIT 许可开源仓库,未提及任何付费;仅使用 macOS 自带 python3/ssh/rsync/Bonjour
- 账号 不需要新账号
- 环境 macOS + python3 3.9 及以上(Xcode 命令行工具自带即可)、ssh/ssh-keygen/rsync/Bonjour;Steam Deck 开启开发者模式;Claude Code、Codex 或 Cursor(可选,用于 agent 方式)
- 准备 macOS 电脑(含 python3 3.9+、ssh、rsync):运行 deck.py 与推送构建
- 准备 Steam Deck(同一网络,开启开发者模式):作为接收端并在设置中批准配对
- 准备 游戏项目(能产出 Linux x86-64 构建):作为被推送的内容,并写进 deck_delivery.json
- 准备 Claude Code / Codex / Cursor(选用):用提示词让 agent 自动完成安装、配对与发送
替代方案:Valve 官方 steamos-devkit。能做到:README 中链接为参考工具,可用于 SteamOS 开发机把构建部署到 Deck;差别:官方工具未内建 agent skill 与一句话提示词流程,也不是本篇演示的“对 agent 说一句话即完成”,需自行按官方文档配置。
完成替代方案不算复现本实践。
按下面的步骤就能做出第一个结果。复制命令不会自动执行。
克隆并安装 deck-delivery
在 Mac 上把仓库克隆到 ~/.deck-delivery 并运行安装脚本,它会在 ~/.local/bin 放 deck-delivery 命令,并把 SKILL.md 复制到存在的 ~/.claude/skills/、~/.codex/skills/、~/.cursor/skills/。
bash原始来源命令git clone https://github.com/banjtheman/macos-to-steam-deck ~/.deck-delivery && python3 ~/.deck-delivery/deck.py install预期结果:终端出现 deck-delivery 命令可用的提示(若 ~/.local/bin 不在 PATH 会提示)
在 Deck 上开启开发者模式
在 Steam Deck 的 Gaming Mode 中依次进入 Settings > System > Enable Developer Mode,再进入 Settings > Developer > Pair new host。
预期结果:Deck 屏幕显示等待配对的主机界面
在 Mac 上配对
先在 Mac 上运行 status 查看是否已配对,未配对则执行 pair;找不到设备时可给出 Deck 的地址(Deck 上 Settings > Internet 查看)。
bash原始来源命令deck-delivery pair 192.168.1.42预期结果:在 Deck 屏幕上批准后,配对完成;后续 status 显示 Deck 可应答
给项目写 deck_delivery.json
在游戏项目根目录新建 deck_delivery.json,填 id、name、build、folder、run 等字段,例如 id 为 MyGame、folder 为 build/linux、run 为 ./MyGame.x86_64。
终端原始来源命令{ "games": [ {"id": "MyGame", "name": "My Game", "build": "bash tools/build_linux.sh", "folder": "build/linux", "run": "./MyGame.x86_64"} ] }预期结果:文件写入项目根目录,字段与 README 表格一致
登记并发送
把该 json 加入列表,然后用 id 发送;发送前会先跑 build,失败则不发。
bash原始来源命令deck-delivery add /absolute/path/to/deck_delivery.json && deck-delivery send MyGame预期结果:终端显示构建与增量发送进度(README 示例为 Done in 9s)
在 Deck 上找到并启动
在 Deck 的 Library > Non-Steam 找到“Devkit Game: MyGame”条目启动。
预期结果:游戏出现在非 Steam 库中并可运行