news 2026/9/9 11:36:29

用 Tauri 构建 coding-agent 驱动的桌面放置游戏实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用 Tauri 构建 coding-agent 驱动的桌面放置游戏实战

之前在浏览 Show HN 的时候,我刷到一个很有意思的项目:An idle desktop incremental game driven by coding-agent。直译过来就是“一款由 coding-agent 驱动的桌面放置类增量游戏”。放置游戏大家应该都不陌生,coding-agent 在最近两年也是热度很高的方向,但把它们结合起来,让 AI 智能体在游戏里真正执行编程任务、把产出转化为游戏资源,玩家通过升级 agent 来加速整个循环,这个组合确实比较少见。

这篇文章不打算对原项目做逐行源码分析,因为我也拿不到它的完整实现。更合适的切入方式,是基于这个玩法创意重新设计一套最小可复现架构,并给出完整的 TypeScript + Tauri 示例代码。你可以把它当成一个“由 coding-agent 驱动的放置游戏”开发教程,也可以当成一个桌面端集成 LLM Agent 的工程案例来读。

读完之后,你会掌握几个核心点:放置游戏的资源与升级模型怎么设计、coding-agent 在游戏引擎里如何抽象和接入、怎么用 Mock 模式先跑通玩法、再切换到真实模型接口,最后如何用 Tauri 封装成桌面应用。

1. 背景:放置游戏与 coding-agent 的组合

1.1 放置游戏的核心循环

放置游戏,英文通常叫 idle game 或 incremental game,核心特征是“玩家即使不操作,游戏也会自动产出资源”。最有名的例子是 Cookie Clicker,玩家点击饼干获取饼干,再用饼干购买自动生产饼干的设施;随着设施越来越多,饼干产量指数增长,再解锁更多玩法。

这类游戏的底层循环其实非常固定:

  1. 资源自动产出。
  2. 玩家消耗资源购买升级。
  3. 升级提高资源产出效率。
  4. 解锁新内容,进入下一阶段。

这个循环的关键是“自动产出”。传统放置游戏里,产出资源的是一个个虚拟工人或虚拟设施,它们只是一个数值计算器,每秒钟给你加多少金币、多少经验,背后没有真实世界的事情发生。

1.2 coding-agent 能做什么

coding-agent 是指能够自主完成编程任务的 AI 软件代理。它通常由一个或多个大语言模型驱动,配合工具调用能力,可以读取项目代码、新建文件、修改代码、执行命令、运行测试,然后根据运行结果自我修正,直到任务完成。

目前常见的 coding-agent 形态包括:

  • 命令行式 Agent,例如 OpenAI Codex CLI、OpenHands 等。
  • IDE 插件式 Agent,例如 Cline、GitHub Copilot Workspace 等。
  • 云端任务式 Agent,把任务提交给后台,Agent 在沙箱环境里自动完成。

它们的共同点是:把一个自然语言任务描述作为输入,Agent 自主执行并返回结果。这些任务可以很具体,比如“给登录模块补充单元测试”“修复 Issue #42 的内存泄漏”“重构订单模块的重复代码”。

1.3 这个项目创意解决什么问题

如果把 coding-agent 放进放置游戏里,游戏循环就变成了这样:

  • Agent 自动接任务、执行任务。
  • 任务完成后返回结果,比如新增代码行数、修复 bug 数量、生成文档页数。
  • 游戏把结果换算成资源,比如 credits、代码行数、commit 次数。
  • 玩家用资源升级 Agent 的速度、能力和并行槽位。

这个设计的妙处在于,传统放置游戏的“虚拟工人”是没有真实产出的,而这个项目的 Agent 是在“真实干活”。它每次执行任务的结果都不同,可能是写代码、改 bug,也可能是写文档。玩家管理的不是一个数值模拟器,而是一个真正在工作的 AI 软件团队。

从技术角度看,这个项目也适合作为 coding-agent 的可视化 Demo:Agent 的能力边界、任务耗时、输出质量,都能通过游戏界面直观展示出来。

2. 整体架构设计

2.1 模块划分

我把这个游戏拆成四个核心模块,这也是最简单的分层方式:

模块职责技术选型示例
UI 层展示资源、任务、升级按钮和任务日志React + TypeScript
游戏引擎层管理状态、任务分发、奖励结算、升级逻辑纯 TypeScript 类
Agent 适配层定义统一接口,提供模拟 Agent 和真实 AgentTypeScript 接口 + 实现类
桌面壳打包成桌面应用,提供本地窗口和权限控制Tauri 2

UI 层和游戏引擎层分离很重要。引擎不应该关心你用的是 React、Vue 还是命令行,它只负责状态更新。Agent 适配层也必须用接口定义,否则后面想切换模型提供商时,改动会非常大。

2.2 游戏循环:从任务到资源

整个游戏的主循环可以用一张流程图说明:

+---------------------+ 生成任务 +---------------------+ | 任务系统 | ----------> | coding-agent | | 配置难度 / 奖励 | | Mock 或真实模型 | +---------------------+ +---------------------+ ^ | | 奖励结算对应资源 | 返回结果 | v +---------------------+ +---------------------+ | 游戏状态 / 资源 | <---------- | 结果解析与校验 | | 升级 / 日志 | +---------------------+ +---------------------+

引擎每经过一个 tick,就会检查是否有空闲的 Agent 并行槽。如果有,就从任务队列里取出一个任务,交给 Agent 执行。Agent 返回结果后,引擎解析结果、校验字段,再根据任务难度和 Agent 等级发放资源。

这个循环和经典放置游戏的“生产-升级-再生产”模型一致,只是把生产函数从“每秒 +N 金币”变成了“Agent 完成任务 + 不定量资源”。

2.3 为什么用桌面端承载 agent 玩法

这个项目选择桌面端是合理的,原因有三个:

第一,真实的 coding-agent 需要读写本地文件、执行命令,桌面应用天然有文件系统和进程权限,比纯网页端更容易做安全边界控制。

第二,Agent 执行任务是一个异步、耗时的过程,桌面应用可以长时间驻留后台,比较符合放置游戏的“挂机”体验。

第三,Tauri 这类桌面框架可以把前端资源打包成体积很小的应用,同时用 Rust 提供高性能的后端能力,未来如果想在 Rust 侧直接执行 Agent 生成的代码,也有很好的扩展空间。

3. 环境准备与项目初始化

3.1 需要准备的环境

本文示例以常见环境为准,版本可以根据你的项目实际情况调整:

  • Node.js 18 以上,npm 或 pnpm 均可。
  • Rust 工具链(仅 Tauri 桌面打包需要,CLI 演示不需要)。
  • 可选:OpenAI 兼容接口的 API Key,或者本地 Ollama 服务。
  • 可选:VS Code 或其他 TypeScript IDE。

如果你暂时没有 API Key,也不要紧,代码里内置了 MockAgent,可以模拟 Agent 的执行结果,先用它跑通整个游戏循环。

3.2 初始化 Tauri + React 项目

最简单的初始化方式是用 create-tauri-app 官方

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/9 11:35:05

开关柜接头红外过热检测:千张级VOC数据集拆解与实战价值分析

简介&#xff1a;本资源是面向电力系统智能运维、计算机视觉算法研发及电气设备状态监测领域的专业图像数据集&#xff0c;聚焦开关柜接头红外过热故障的自动识别与定位问题。包内共2000个文件&#xff0c;包含1000张高质量红外热成像JPG图像及对应VOC格式XML标注文件&#xff…

作者头像 李华
网站建设 2026/9/9 11:34:20

llms.txt实战:从部署到日志分析,提升AI爬虫可发现性

在实际站点优化工作中&#xff0c;llms.txt已经不再只是一个社区里的新奇概念。有团队在 83 个网站上部署了llms.txt&#xff0c;并连续观察了 12 周&#xff0c;结果 OpenAI 的爬虫总共读取了这份文件 7 次。这个数字看起来不算高&#xff0c;但它背后至少说明两件事&#xff…

作者头像 李华
网站建设 2026/9/9 11:35:30

抖音a_bogus,mstoken全参数爬虫逆向补环境2024-06-15最新版

抖音a_bogus,mstoken全参数爬虫逆向补环境2024-06-15最新版-----------------------------------------### 源码获取已放在github上&#xff0c;抖音部分已全面更新为a_bogus算法。 除了抖音还包括快手&#xff0c;小红书&#xff0c;哔哩哔哩&#xff0c;微博&#xff0c;京东…

作者头像 李华
网站建设 2026/9/9 11:36:01

RedEvoAgent:让LLM红队测试自动进化的智能Agent

红队测试&#xff08;Red-Teaming&#xff09;这个词&#xff0c;在 LLM 应用落地之前&#xff0c;更多出现在网络安全领域。但如果你正在做 AI Agent 开发&#xff0c;尤其是做面向真实用户的 RAG 问答、客服机器人、内容生成工具&#xff0c;那你一定遇到过这种情况&#xff…

作者头像 李华
网站建设 2026/9/7 6:06:37

信号与系统考研专题强化:基础回顾+强化突破,高效提分

信号与系统这门课&#xff0c;考研复习最尴尬的时刻往往不是不会做&#xff0c;而是“课上听得懂、例题跟得上、合上笔记之后一片空白”。如果你也卡在这个位置&#xff0c;与其反复重刷教材&#xff0c;不如换一个更细的拆法&#xff1a;把信号与系统考研专题强化课当成复习主…

作者头像 李华