[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-xavierpuigf--virtualhome":3,"tool-xavierpuigf--virtualhome":62},[4,18,26,36,46,54],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",159636,2,"2026-04-17T23:33:34",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":42,"last_commit_at":43,"category_tags":44,"status":17},8272,"opencode","anomalyco\u002Fopencode","OpenCode 是一款开源的 AI 编程助手（Coding Agent），旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件，而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码，还是排查难以定位的 Bug，OpenCode 都能通过自然语言交互高效完成，显著减少开发者在重复性劳动和上下文切换上的时间消耗。\n\n这款工具专为软件开发者、工程师及技术研究人员设计，特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构，这意味着用户可以审查代码逻辑、自定义行为策略，甚至私有化部署以保障数据安全，彻底打破了传统闭源 AI 助手的“黑盒”限制。\n\n在技术体验上，OpenCode 提供了灵活的终端界面（Terminal UI）和正在测试中的桌面应用程序，支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具，安装便捷，并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客，还是渴望提升产出的独立开发者，OpenCode 都提供了一个透明、可信",144296,1,"2026-04-16T14:50:03",[13,45],"插件",{"id":47,"name":48,"github_repo":49,"description_zh":50,"stars":51,"difficulty_score":32,"last_commit_at":52,"category_tags":53,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":55,"name":56,"github_repo":57,"description_zh":58,"stars":59,"difficulty_score":32,"last_commit_at":60,"category_tags":61,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[45,13,15,14],{"id":63,"github_repo":64,"name":65,"description_en":66,"description_zh":67,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":78,"owner_email":79,"owner_twitter":73,"owner_website":80,"owner_url":81,"languages":82,"stars":99,"forks":100,"last_commit_at":101,"license":102,"difficulty_score":10,"env_os":103,"env_gpu":104,"env_ram":105,"env_deps":106,"category_tags":111,"github_topics":112,"view_count":32,"oss_zip_url":79,"oss_zip_packed_at":79,"status":17,"created_at":120,"updated_at":121,"faqs":122,"releases":157},8696,"xavierpuigf\u002Fvirtualhome","virtualhome","API to run VirtualHome, a Multi-Agent Household Simulator","VirtualHome 是一个交互式多智能体家庭活动模拟平台，旨在通过程序化指令复现复杂的居家生活场景。它主要解决了具身人工智能（Embodied AI）研究中缺乏高保真、可交互训练环境的痛点，让研究人员能够低成本地生成大量带有精确标注数据的家庭活动视频，用于算法训练与验证。\n\n该平台特别适合人工智能研究员、强化学习开发者以及计算机视觉学者使用。用户只需编写简单的动作序列代码，VirtualHome 即可驱动虚拟角色在场景中执行拿取物品、开关电器、打开容器等精细操作，并实时渲染出包含时间戳动作、语义分割、光流和深度信息等“地面真值”数据的多模态输出。\n\n其核心技术亮点在于双模拟器架构：基于 Unity 的模拟器负责生成逼真的活动视频，而演化图模拟器则描述环境状态的动态变化。最新版本更引入了程序化生成能力，可创建无限多样的独特家居环境，并配备了同步昼夜系统与增强的物理引擎。无论是用于训练智能体完成家务任务，还是研究多智能体协作行为，VirtualHome 都提供了一个灵活且强大的实验沙盒。","\u003Cdiv align=\"center\">\n\n[![docs](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-updated-brightgreen)](http:\u002F\u002Fvirtual-home.org\u002Fdocumentation\u002F)\n[![Discord](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxavierpuigf_virtualhome_readme_34bdb63787cc.png)](https:\u002F\u002Fdiscord.gg\u002FJmzDYF3)\n[![Open In Colab](https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg)](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fxavierpuigf\u002Fvirtualhome\u002Fblob\u002Fmaster\u002Fdemo\u002Funity_demo.ipynb)\n[![PyPI - Downloads](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fdm\u002Fvirtualhome)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fvirtualhome\u002F)\n\n# VirtualHome\n\n**VirtualHome** is an interactive platform to simulate complex household activities via programs. Key aspect of VirtualHome is that it allows complex interactions with the environment, such as picking up objects, switching on\u002Foff appliances, opening appliances, etc. Our simulator can easily be called with a Python API: write the activity as a simple sequence of instructions which then get rendered in VirtualHome. You can choose between different agents and environments, as well as modify environments on the fly. You can also stream different ground-truth such as time-stamped actions, instance\u002Fsemantic segmentation, and optical flow and depth. The platform allows to simulate multi-agent activities and can serve as an environment to train agents for embodied AI tasks.\n\nCheck out more details of the environmnent and platform at [**virtual-home.org**](http:\u002F\u002Fvirtual-home.org). \n\n\u003Cp align=\"center\">\n  \u003Cimg width=\"460\" height=\"300\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxavierpuigf_virtualhome_readme_0ff1badf7f0f.gif\">\n\u003C\u002Fp>\n\n\u003C\u002Fdiv>\n\n______________________________________________________________________\n\n## What is New\n\nVirtualHome 2.3 is out! Here are the latest updates:\n\n* Added Procedural Generation Capabilities to allow agents to explore a infinite possibility of unique environments!  \n* We added more custom designed environments!\n* Enhanced simulated physics with the environments\n* Time management system with synchronized day\u002Fnight\n* New outdoor terrain with accurate sunlight\u002Fshadows\n* Improved indoor realtime lighting\n* More realistic rooms\n* Significant performance enhancements, asset optimizations, stability improvements\n* Updated documentation\n* General bug fixes for existing environments\n\n### Past updates\n* [August 2020] Added RL Environment Demo, and example to combine Environments with Ray.\n* [April 2020] We added new documentation! Check it out at http:\u002F\u002Fvirtual-home.org\u002Fdocumentation\n* We include OpenAI Gym like environments to train RL agents with VirtualHome. Check out the unity_environment.py class.\n* API to add characters in the scene and fixed cameras, and record from those cameras\n\n\n### Currently in Development\n\n* Enhancements for Procedural Generation Capabilities\n* Photorealism capabilities  \n* More actions and object interactions\n* Human interaction\n\n____________________________________________________________\n\n## Contents\n\n1. Overview\n2. Set Up\n3. Generating Videos\u002FKeyframes\n4. VirtualHome RL Env\n5. Dataset \n6. Modify VirtualHome\n7. Citation\n8. Contributors\n\n______________________________________________________________________\n\n## Overview\n\nActivities in VirtualHome are represented through two components: *programs* representing the sequence of actions that compose an activity, and *graphs* representing a definition of the environment where the activity takes place. Given a program and a graph, the simulator executes the program, generating a video of the activity or a sequence of graphs representing how the environment evolves as the activity takes place. To this end, VirtualHome includes two simulators: the *Unity Simulator* and *Evolving Graph*. You can find a more complete documentation with examples and the different executables at http:\u002F\u002Fvirtual-home.org\u002Fdocumentation.\n\n#### Unity Simulator \n\nThis simulator is built in Unity and allows generating videos of activities. To use this simulator, you will need to download the appropiate executable and run it with the [Python API](virtualhome\u002Fsimulation\u002Funity_simulator\u002F). You can check a demo of the simulator in [demo\u002Funity_demo.ipynb](virtualhome\u002Fdemo\u002Funity_demo.ipynb)\n\n#### Evolving Graph\n\nThis simulator runs fully in python and allows to generate a sequence of graphs when a program is executed. You can run it in [simulation\u002Fevolving_graph](virtualhome\u002Fsimulation\u002Fevolving_graph). Note that some of the objects and actions in this simulator are not supported yet in Unity Simulator.\n\n______________________________________________________________________\n\n## Set Up\n\n### Install\n\n```bash\n$ pip install virtualhome\n```\n\nWe also provide a [Jupyter](https:\u002F\u002Fjupyter.org\u002F) notebook with a demo and starting code. If you want to run the demo, [install Jupyter](https:\u002F\u002Fjupyter.org\u002Finstall.html) and run it on your host. If you are new to Jupyter, see [Running the Jupyter Notebook](https:\u002F\u002Fjupyter-notebook-beginner-guide.readthedocs.io\u002Fen\u002Flatest\u002Fexecute.html) for a walkthrough of how to use this tool.\n\n\n### Download Unity Simulator\n\nDownload the VirtualHome UnitySimulator executable and move it under `simulation\u002Funity_simulator`.\n\n- [Download](http:\u002F\u002Fvirtual-home.org\u002F\u002Frelease\u002Fsimulator\u002Fv2.0\u002Fv2.3.0\u002Flinux_exec.zip) Linux x86-64 version.\n- [Download](http:\u002F\u002Fvirtual-home.org\u002Frelease\u002Fsimulator\u002Fv2.0\u002Fv2.3.0\u002Fmacos_exec.zip) Mac OS X version.\n- [Download](http:\u002F\u002Fvirtual-home.org\u002F\u002Frelease\u002Fsimulator\u002Fv2.0\u002Fv2.3.0\u002Fwindows_exec.zip) Windows version.\n\n\n### Test simulator\n\nTo test the simulator in a local machine, double click the executable, or run it via terminal. When running it via the temrinal, we recommend setting windowed mode (so that the simulator does not take the full screen), as such:\n\n```bash\n.\u002Fpath_to_exec -screen-fullscreen 0 -screen-quality 4 \n```\n\nOnce the simulator has started, run the demo in [demo\u002Funity_demo.ipynb](virtualhome\u002Fdemo\u002Funity_demo.ipynb). \n\nIf you do not have a monitor or want to test the simulator remotely, you can either use [Docker](docker) or use an X server (find the installation instructions in [this medium post](https:\u002F\u002Ftowardsdatascience.com\u002Fhow-to-run-unity-on-amazon-cloud-or-without-monitor-3c10ce022639)). When running the executable with an X server, use -batchmode. For Linux, you would do:\n\nFirst run the X server on a terminal. You will have to specify which display you want to use, and on which GPUs. By default it will use all the gpus available\n```bash\nsudo python helper_scripts\u002Fstartx.py $display_num\n```\n\nOn a separate terminal, launch the executable\n```bash\nDISPLAY=:display_num .\u002F{path_sim}\u002F{exec_file}.x86_64 -batchmode\n```\n\nFor Linux, you can also launch the UnityCommunication specifying an executable file. This will directly open the executable on the right sceen. You can do it as follows:\n\nAfter running the X server, run:\n```python\nfrom simulation.unity_simulator import comm_unity\ncomm = comm_unity.UnityCommunication(file_name=file_name, port={your_port}, x_display={your_display})\n```\nIt will open an executable and create a communication object to render scripts or simulate actvities. You can open multiple executables at the same time, to train models or generate data using multiple processes.\n\n### Docker\nYou can also run Unity Simulator using Docker. You can find how to set it up [here](docker).\n\n______________________________________________________________________\n\n## Generating Videos and Snapshots\n\nVirtualHome *Unity Simulator* allows generating videos corresponding to household activities. In addition, it is possible to use *Evolving Graph* simulator to obtain the environment for each execution step and use *UnitySimulator* to generate snapshots of the environment at each step.\n\n\n### Generate videos\n\nOpen the simulator and run:\n\n```bash\ncd demo\u002F\npython generate_video.py\n```\n\n\n### Generate snapshots\n\nOpen the simulator and run:\n\n```bash\ncd demo\u002F\npython generate_snapshots.py\n```\nA grid of snapshots for the given script will be generated and saved in [demo\u002Fsnapshot_test.png](virtualhome\u002Fdemo\u002Fsnapshot_test.png).\n\n______________________________________________________________________\n\n## VirtualHome RL Env\n\nVirtualHome can be used as an environment for Reinforcement Learning. We provide a base class `UnityEnvironment` in [simulation\u002Fenvironment\u002Funity_environment.py](virtualhome\u002Fsimulation\u002Fenvironment\u002Funity_environment.py). You can test how the class works by running\n\n```bash\ncd demo\npython test_unity_environment.py\n```\n\nThe provided environment can be combined with [Ray](https:\u002F\u002Fgithub.com\u002Fray-project\u002Fray), to run multiple environments in parallel, allowing to scale your Reinforcement Learning algorithms. You can test parallel environments by running:\n\n```bash\ncd demo\npython test_unity_environment_mp.py\n```\n\n______________________________________________________________________\n\n## Dataset\n\nWe collected a dataset of programs and augmented them with graphs using the Evolving Graph simulator. You can download them [here](http:\u002F\u002Fvirtual-home.org\u002Frelease\u002Fprograms\u002Fprograms_processed_precond_nograb_morepreconds.zip). \nOnce downloaded and unzipped, move the programs into the `dataset` folder. You can do all this by executing the script\n```bash\n.\u002Fhelper_scripts\u002Fdownload_dataset.sh\n```\nThe dataset should follow the following structure:\n\n```\ndataset\n└── programs_processed_precond_nograb_morepreconds\n\t|── initstate\n\t├── withoutconds\n\t├── executable_programs\n\t|   ├── TrimmedTestScene7_graph\n\t|\t└── ...\n\t└── state_list\n\t\t├── TrimmedTestScene7_graph\n\t   \t└── ...\t\n```\n\nThe folders `withoutconds` and `initstate` contain the original programs and pre-conditions. \n\nWhen a script is executed in an environment, the script changes by aligning the original objects with instances in the environment. You can view the resulting script in `executable_programs\u002F{environment}\u002F{script_name}.txt`.\n\nTo view the graph of the environment, and how it changes throughout the script execution of a program, check   `state_list\u002F{environment}\u002F{script_name}.json`.\n\nYou can find more details of the programs and environment graphs in [dataset\u002FREADME.md](virtualhome\u002Fdataset\u002FREADME.md).\n\n\n### Script Augmentation\n\nIn *Synthesizing Environment-Aware Activities via Activity Sketches*, \nwe augment the scripts with two knowledge bases: `KB-RealEnv` and `KB-ExceptonHandler`.\nYou can download the augmented scripts in [KB-RealEnv](http:\u002F\u002Fvirtual-home.org\u002Frelease\u002Fprograms\u002Faugment_location.zip) and [KB-ExceptionHandler](http:\u002F\u002Fvirtual-home.org\u002Frelease\u002Fprograms\u002Faugment_exception.zip).\n\nHere, we provide the code to augment the sripts:\n\n\n#### Augment with `KB-RealEnv`\n\n```bash\ncd dataset_utils\npython augment_dataset_locations.py\n```\n\n\n#### Augment with `KB-ExceptionHandler`\n\n```bash\ncd dataset_utils\npython augment_dataset_exceptions.py\n```\n\n\n### Original Collected and Scripted Programs\n\nWe originally collected a set of programs to predict from language descriptions, and generated a larger of programs via a scripted language. Those programs are described [here](http:\u002F\u002Fvirtual-home.org\u002Fpaper\u002Fvirtualhome.pdf) as VirtualHome Activity (collected programs) ActivityPrograms (scripted programs). You can download them here:\n\n- [Download](http:\u002F\u002Fvirtual-home.org\u002Frelease\u002Fprograms\u002Fvirtualhome_cvpr18\u002Freal.zip) VirtualHome Activity.\n- [Download](http:\u002F\u002Fvirtual-home.org\u002Frelease\u002Fprograms\u002Fvirtualhome_cvpr18\u002Fsynthetic.zip) ActivityPrograms.\n\n\n### Resources\n\nTo do the above generation and augmentation, some valuable resource files are used to set the properties of objects, set the affordance of objects, etc.\nCheck [resources\u002FREADME.md](virtualhome\u002Fresources\u002FREADME.md) for more details.\n\n______________________________________________________________________\n\n## Documentation\n\nTo learn more about VirtualHome, please check out [VirtualHome Docs](http:\u002F\u002Fvirtual-home.org\u002Fdocumentation\u002F).\n\n______________________________________________________________________\n\n\n## Modify VirtualHome\n\nIf you would like to contribute to VirtualHome, or modify the simulator for your research needs. Check out the repository with the [Unity Source Code](https:\u002F\u002Fgithub.com\u002Fxavierpuigf\u002Fvirtualhome_unity). You will need to download the Unity Editor and build your own executable after having made the updates.\n\n\u003Cp align=\"center\">\n  \u003Cimg width=\"300\" height=\"300\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxavierpuigf_virtualhome_readme_fb4a4b5c2d27.gif\">\n\u003C\u002Fp>\n\n______________________________________________________________________\n\n## Citation\n\nVirtualHome has been used in:\n\n- VirtualHome: Simulating HouseHold Activities via Programs. [PDF](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1806.07011.pdf) \u003Cbr\u002F>\nX. Puig*, K. Ra*, M. Boben*, J. Li, T. Wang, S. Fidler, A. Torralba.\u003Cbr\u002F>\nCVPR2018.\n\n\n- Synthesizing Environment-Aware Activities via Activity Sketches.\u003Cbr\u002F>\nA. Liao*, X. Puig*, M. Boben, A. Torralba, S. Fidler.\u003Cbr\u002F>\nCVPR2019.\n\n\n- Watch-and-Help: A Challenge for Social Perception and Human-AI Collaboration.\u003Cbr\u002F>\nX. Puig, T. Shu, S. Li, Z. Wang, J. Tenenbaum, S. Fidler, A. Torralba.\u003Cbr\u002F>\nICLR2021, spotlight.\u003Cbr\u002F>\nNeurIPS Cooperative AI Workshop 2020, Best Paper Award.\n\n- Pre-Trained Language Models for Interactive Decision-Making. [Project](https:\u002F\u002Fshuangli-project.github.io\u002FPre-Trained-Language-Models-for-Interactive-Decision-Making\u002F) | [PDF](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2202.01771.pdf)\u003Cbr\u002F>\nS. Li, X. Puig, C. Paxton, Y. Du, C. Wang, L. Fan, T. Chen, D. Huang, E. Akyürek, A. Anandkumar, J. Andreas, I. Mordatch, A. Torralba, Y. Zhu.\u003Cbr\u002F>\nNeurIPS 2022, Oral.\u003Cbr\u002F>\n\nIf you plan to use the simulator, please cite both of the following papers (the first one introduced v1.0 and the second introduced v2.0, aka VirutalHome-Social):\n\n```\n@inproceedings{puig2018virtualhome,\n  title={Virtualhome: Simulating household activities via programs},\n  author={Puig, Xavier and Ra, Kevin and Boben, Marko and Li, Jiaman and Wang, Tingwu and Fidler, Sanja and Torralba, Antonio},\n  booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},\n  pages={8494--8502},\n  year={2018}\n}\n```\n\n\n```\n@misc{puig2020watchandhelp,\n      title={Watch-And-Help: A Challenge for Social Perception and Human-AI Collaboration}, \n      author={Xavier Puig and Tianmin Shu and Shuang Li and Zilin Wang and Joshua B. Tenenbaum and Sanja Fidler and Antonio Torralba},\n      year={2020},\n      eprint={2010.09890},\n      archivePrefix={arXiv},\n      primaryClass={cs.AI}\n}\n```\n______________________________________________________________________\n\n\n## Contributors\n\nThe VirtualHome API and code have been developed by the following people.\n- Xavier Puig\n- Marko Boben\n- Kabir Swain\n- Jordan Ren\n- Kevin Ra\n- Zilin Wang\n- Shuang Li\n- Tianmin Shu\n- Andrew Liao\n\n______________________________________________________________________\n","\u003Cdiv align=\"center\">\n\n[![文档](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-updated-brightgreen)](http:\u002F\u002Fvirtual-home.org\u002Fdocumentation\u002F)\n[![Discord](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxavierpuigf_virtualhome_readme_34bdb63787cc.png)](https:\u002F\u002Fdiscord.gg\u002FJmzDYF3)\n[![在 Colab 中打开](https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg)](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fxavierpuigf\u002Fvirtualhome\u002Fblob\u002Fmaster\u002Fdemo\u002Funity_demo.ipynb)\n[![PyPI - 下载量](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fdm\u002Fvirtualhome)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fvirtualhome\u002F)\n\n# VirtualHome\n\n**VirtualHome** 是一个交互式平台，可通过程序模拟复杂的家庭活动。VirtualHome 的关键在于它支持与环境的复杂交互，例如拿起物体、开关电器、打开设备等。我们的模拟器可以通过 Python API 轻松调用：只需将活动编写为简单的指令序列，这些指令就会在 VirtualHome 中被渲染出来。您可以选择不同的智能体和环境，也可以实时修改环境。此外，您还可以流式获取多种真实数据，如带时间戳的动作、实例\u002F语义分割以及光流和深度信息。该平台能够模拟多智能体活动，并可作为训练具身人工智能任务智能体的环境。\n\n更多关于环境和平台的详细信息，请访问 [**virtual-home.org**](http:\u002F\u002Fvirtual-home.org)。\n\n\u003Cp align=\"center\">\n  \u003Cimg width=\"460\" height=\"300\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxavierpuigf_virtualhome_readme_0ff1badf7f0f.gif\">\n\u003C\u002Fp>\n\n\u003C\u002Fdiv>\n\n______________________________________________________________________\n\n## 最新动态\n\nVirtualHome 2.3 已发布！以下是最新更新：\n\n* 增加了程序化生成能力，使智能体能够探索无限种独特的环境！\n* 我们新增了更多自定义设计的环境。\n* 加强了环境中的物理模拟效果。\n* 引入了同步昼夜变化的时间管理系统。\n* 新增户外地形，具备精确的阳光和阴影效果。\n* 改进了室内实时光照效果。\n* 房间更加逼真。\n* 性能显著提升，资源优化，稳定性增强。\n* 更新了文档。\n* 修复了现有环境中的一些常见问题。\n\n### 往期更新\n* [2020年8月] 添加了强化学习环境演示，并提供了将环境与 Ray 结合使用的示例。\n* [2020年4月] 我们新增了文档！请访问 http:\u002F\u002Fvirtual-home.org\u002Fdocumentation 查看。\n* 我们提供了类似 OpenAI Gym 的环境，用于在 VirtualHome 上训练强化学习智能体。请查看 unity_environment.py 类。\n* 提供了在场景中添加角色和固定摄像机的 API，并支持从这些摄像机录制视频。\n\n\n### 目前开发中\n* 程序化生成能力的进一步优化。\n* 更高的写实性功能。\n* 更多动作和物体交互。\n* 人类交互功能。\n\n____________________________________________________________\n\n## 目录\n\n1. 概述\n2. 设置\n3. 生成视频\u002F关键帧\n4. VirtualHome 强化学习环境\n5. 数据集\n6. 自定义 VirtualHome\n7. 引用\n8. 贡献者\n\n______________________________________________________________________\n\n## 概述\n\nVirtualHome 中的活动由两个部分组成：*程序*表示构成活动的一系列动作顺序，而 *图* 则代表活动发生环境的定义。给定一个程序和一张图，模拟器会执行该程序，生成活动的视频，或者生成一系列图，展示活动进行过程中环境的变化情况。为此，VirtualHome 包含两种模拟器：*Unity 模拟器* 和 *演化图模拟器*。您可以在 http:\u002F\u002Fvirtual-home.org\u002Fdocumentation 找到更完整的文档，其中包含示例和不同的可执行文件。\n\n#### Unity 模拟器\n\n该模拟器基于 Unity 构建，可用于生成活动视频。要使用此模拟器，您需要下载相应的可执行文件，并通过 [Python API](virtualhome\u002Fsimulation\u002Funity_simulator\u002F) 运行它。您可以在 [demo\u002Funity_demo.ipynb](virtualhome\u002Fdemo\u002Funity_demo.ipynb) 中查看该模拟器的演示。\n\n#### 演化图模拟器\n\n该模拟器完全在 Python 中运行，可在执行程序时生成一系列图。您可以在 [simulation\u002Fevolving_graph](virtualhome\u002Fsimulation\u002Fevolving_graph) 中运行它。请注意，此模拟器中的某些对象和动作目前尚未在 Unity 模拟器中支持。\n\n______________________________________________________________________\n\n## 设置\n\n### 安装\n\n```bash\n$ pip install virtualhome\n```\n\n我们还提供了一个带有演示和起始代码的 [Jupyter](https:\u002F\u002Fjupyter.org\u002F) 笔记本。如果您想运行演示，请 [安装 Jupyter](https:\u002F\u002Fjupyter.org\u002Finstall.html) 并在您的主机上运行。如果您是 Jupyter 新手，请参阅 [运行 Jupyter Notebook](https:\u002F\u002Fjupyter-notebook-beginner-guide.readthedocs.io\u002Fen\u002Flatest\u002Fexecute.html) 以了解如何使用此工具。\n\n\n### 下载 Unity 模拟器\n\n下载 VirtualHome UnitySimulator 可执行文件，并将其移动到 `simulation\u002Funity_simulator` 目录下。\n\n- [下载](http:\u002F\u002Fvirtual-home.org\u002F\u002Frelease\u002Fsimulator\u002Fv2.0\u002Fv2.3.0\u002Flinux_exec.zip) Linux x86-64 版本。\n- [下载](http:\u002F\u002Fvirtual-home.org\u002Frelease\u002Fsimulator\u002Fv2.0\u002Fv2.3.0\u002Fmacos_exec.zip) Mac OS X 版本。\n- [下载](http:\u002F\u002Fvirtual-home.org\u002F\u002Frelease\u002Fsimulator\u002Fv2.0\u002Fv2.3.0\u002Fwindows_exec.zip) Windows 版本。\n\n### 测试模拟器\n\n要在本地机器上测试模拟器，双击可执行文件，或通过终端运行。通过终端运行时，建议设置窗口模式（这样模拟器就不会占据整个屏幕），命令如下：\n\n```bash\n.\u002Fpath_to_exec -screen-fullscreen 0 -screen-quality 4 \n```\n\n模拟器启动后，在 [demo\u002Funity_demo.ipynb](virtualhome\u002Fdemo\u002Funity_demo.ipynb) 中运行演示。\n\n如果您没有显示器，或者希望远程测试模拟器，可以使用 [Docker](docker) 或 X 服务器（安装说明请参见 [这篇 Medium 文章](https:\u002F\u002Ftowardsdatascience.com\u002Fhow-to-run-unity-on-amazon-cloud-or-without-monitor-3c10ce022639)）。使用 X 服务器运行可执行文件时，请使用 `-batchmode` 参数。对于 Linux 系统，操作步骤如下：\n\n首先在终端中启动 X 服务器。您需要指定要使用的显示编号以及对应的 GPU。默认情况下，它会使用所有可用的 GPU：\n```bash\nsudo python helper_scripts\u002Fstartx.py $display_num\n```\n\n然后在另一个终端中启动可执行文件：\n```bash\nDISPLAY=:display_num .\u002F{path_sim}\u002F{exec_file}.x86_64 -batchmode\n```\n\n对于 Linux 系统，您还可以通过 UnityCommunication 指定可执行文件来启动模拟器。这将直接在指定的屏幕上打开可执行文件。具体操作如下：\n\n在启动 X 服务器后，运行：\n```python\nfrom simulation.unity_simulator import comm_unity\ncomm = comm_unity.UnityCommunication(file_name=file_name, port={your_port}, x_display={your_display})\n```\n\n这将打开一个可执行文件，并创建一个通信对象，用于渲染脚本或模拟活动。您可以同时打开多个可执行文件，以多进程方式训练模型或生成数据。\n\n### Docker\n您也可以使用 Docker 运行 Unity 模拟器。设置方法请参见 [这里](docker)。\n\n______________________________________________________________________\n\n## 生成视频和快照\n\nVirtualHome *Unity 模拟器* 允许生成与家庭活动相对应的视频。此外，还可以使用 *Evolving Graph* 模拟器获取每一步执行时的环境，并利用 *UnitySimulator* 为每一步生成环境快照。\n\n### 生成视频\n\n打开模拟器并运行：\n```bash\ncd demo\u002F\npython generate_video.py\n```\n\n### 生成快照\n\n打开模拟器并运行：\n```bash\ncd demo\u002F\npython generate_snapshots.py\n```\n系统将为给定的脚本生成一组快照，并保存到 [demo\u002Fsnapshot_test.png](virtualhome\u002Fdemo\u002Fsnapshot_test.png)。\n\n______________________________________________________________________\n\n## VirtualHome 强化学习环境\n\nVirtualHome 可用作强化学习的环境。我们在 [simulation\u002Fenvironment\u002Funity_environment.py](virtualhome\u002Fsimulation\u002Fenvironment\u002Funity_environment.py) 中提供了一个基类 `UnityEnvironment`。您可以通过运行以下代码来测试该类的功能：\n```bash\ncd demo\npython test_unity_environment.py\n```\n\n提供的环境可以与 [Ray](https:\u002F\u002Fgithub.com\u002Fray-project\u002Fray) 结合使用，以并行运行多个环境，从而扩展您的强化学习算法。您可以通过运行以下代码来测试并行环境：\n```bash\ncd demo\npython test_unity_environment_mp.py\n```\n\n______________________________________________________________________\n\n## 数据集\n\n我们收集了一组程序，并使用 Evolving Graph 模拟器为其添加了图结构。您可以从 [这里](http:\u002F\u002Fvirtual-home.org\u002Frelease\u002Fprograms\u002Fprograms_processed_precond_nograb_morepreconds.zip) 下载这些数据。下载并解压后，将程序移动到 `dataset` 文件夹中。您也可以通过执行以下脚本完成此操作：\n```bash\n.\u002Fhelper_scripts\u002Fdownload_dataset.sh\n```\n\n数据集应遵循以下结构：\n\n```\ndataset\n└── programs_processed_precond_nograb_morepreconds\n\t|── initstate\n\t├── withoutconds\n\t├── executable_programs\n\t|   ├── TrimmedTestScene7_graph\n\t|\t└── ...\n\t└── state_list\n\t\t├── TrimmedTestScene7_graph\n\t   \t└── ...\t\n```\n\n其中，`withoutconds` 和 `initstate` 文件夹包含原始程序及先决条件。\n\n当脚本在环境中执行时，脚本会根据环境中的实例调整原始对象的位置。您可以在 `executable_programs\u002F{environment}\u002F{script_name}.txt` 中查看最终生成的脚本。\n\n要查看环境的图结构及其在程序执行过程中的变化，请检查 `state_list\u002F{environment}\u002F{script_name}.json`。\n\n有关程序和环境图的更多详细信息，请参阅 [dataset\u002FREADME.md](virtualhome\u002Fdataset\u002FREADME.md)。\n\n### 脚本增强\n\n在论文《通过活动草图合成环境感知型活动》中，我们使用两个知识库对脚本进行了增强：`KB-RealEnv` 和 `KB-ExceptionHandler`。您可以从 [KB-RealEnv](http:\u002F\u002Fvirtual-home.org\u002Frelease\u002Fprograms\u002Faugment_location.zip) 和 [KB-ExceptionHandler](http:\u002F\u002Fvirtual-home.org\u002Frelease\u002Fprograms\u002Faugment_exception.zip) 下载增强后的脚本。\n\n以下是用于增强脚本的代码：\n\n#### 使用 `KB-RealEnv` 增强\n```bash\ncd dataset_utils\npython augment_dataset_locations.py\n```\n\n#### 使用 `KB-ExceptionHandler` 增强\n```bash\ncd dataset_utils\npython augment_dataset_exceptions.py\n```\n\n### 原始收集及脚本化程序\n\n我们最初收集了一组基于语言描述预测的程序，并通过脚本语言生成了更多的程序。这些程序在 [这里](http:\u002F\u002Fvirtual-home.org\u002Fpaper\u002Fvirtualhome.pdf) 被描述为 VirtualHome 活动（收集的程序）和 ActivityPrograms（脚本化的程序）。您可以从以下链接下载：\n\n- [下载](http:\u002F\u002Fvirtual-home.org\u002Frelease\u002Fprograms\u002Fvirtualhome_cvpr18\u002Freal.zip) VirtualHome 活动。\n- [下载](http:\u002F\u002Fvirtual-home.org\u002Frelease\u002Fprograms\u002Fvirtualhome_cvpr18\u002Fsynthetic.zip) ActivityPrograms。\n\n### 资源\n\n为了进行上述生成和增强操作，我们使用了一些有价值的资源文件来设置物体的属性、 affordance 等。更多详情请参阅 [resources\u002FREADME.md](virtualhome\u002Fresources\u002FREADME.md)。\n\n______________________________________________________________________\n\n## 文档\n\n如需了解更多关于 VirtualHome 的信息，请访问 [VirtualHome 文档](http:\u002F\u002Fvirtual-home.org\u002Fdocumentation\u002F)。\n\n______________________________________________________________________\n\n## 修改 VirtualHome\n\n如果您希望为 VirtualHome 做出贡献，或根据自己的研究需求修改模拟器，请查看包含 [Unity 源代码](https:\u002F\u002Fgithub.com\u002Fxavierpuigf\u002Fvirtualhome_unity) 的仓库。您需要下载 Unity 编辑器，并在完成更新后构建自己的可执行文件。\n\n\u003Cp align=\"center\">\n  \u003Cimg width=\"300\" height=\"300\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxavierpuigf_virtualhome_readme_fb4a4b5c2d27.gif\">\n\u003C\u002Fp>\n\n______________________________________________________________________\n\n## 引用\n\nVirtualHome 已被用于以下研究：\n\n- VirtualHome：通过程序模拟家庭活动。[PDF](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1806.07011.pdf) \u003Cbr\u002F>\nX. Puig*, K. Ra*, M. Boben*, J. Li, T. Wang, S. Fidler, A. Torralba。\u003Cbr\u002F>\nCVPR2018。\n\n\n- 通过活动草图合成环境感知型活动。\u003Cbr\u002F>\nA. Liao*, X. Puig*, M. Boben, A. Torralba, S. Fidler。\u003Cbr\u002F>\nCVPR2019。\n\n\n- 观看与协助：社会感知与人机协作的挑战。\u003Cbr\u002F>\nX. Puig, T. Shu, S. Li, Z. Wang, J. Tenenbaum, S. Fidler, A. Torralba。\u003Cbr\u002F>\nICLR2021，亮点论文。\u003Cbr\u002F>\nNeurIPS 合作人工智能研讨会 2020 年度最佳论文奖。\n\n- 用于交互式决策的预训练语言模型。[项目](https:\u002F\u002Fshuangli-project.github.io\u002FPre-Trained-Language-Models-for-Interactive-Decision-Making\u002F) | [PDF](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2202.01771.pdf)\u003Cbr\u002F>\nS. Li, X. Puig, C. Paxton, Y. Du, C. Wang, L. Fan, T. Chen, D. Huang, E. Akyürek, A. Anandkumar, J. Andreas, I. Mordatch, A. Torralba, Y. Zhu。\u003Cbr\u002F>\nNeurIPS 2022，口头报告。\n\n如果您计划使用该模拟器，请引用以下两篇论文（第一篇介绍了 v1.0 版本，第二篇介绍了 v2.0 版本，即 VirtualHome-Social）：\n\n```\n@inproceedings{puig2018virtualhome,\n  title={Virtualhome: Simulating household activities via programs},\n  author={Puig, Xavier and Ra, Kevin and Boben, Marko and Li, Jiaman and Wang, Tingwu and Fidler, Sanja and Torralba, Antonio},\n  booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},\n  pages={8494--8502},\n  year={2018}\n}\n```\n\n\n```\n@misc{puig2020watchandhelp,\n      title={Watch-And-Help: A Challenge for Social Perception and Human-AI Collaboration}, \n      author={Xavier Puig and Tianmin Shu and Shuang Li and Zilin Wang and Joshua B. Tenenbaum and Sanja Fidler and Antonio Torralba},\n      year={2020},\n      eprint={2010.09890},\n      archivePrefix={arXiv},\n      primaryClass={cs.AI}\n}\n```\n______________________________________________________________________\n\n\n## 贡献者\n\nVirtualHome API 和代码由以下人员开发：\n- Xavier Puig\n- Marko Boben\n- Kabir Swain\n- Jordan Ren\n- Kevin Ra\n- Zilin Wang\n- Shuang Li\n- Tianmin Shu\n- Andrew Liao\n\n______________________________________________________________________","# VirtualHome 快速上手指南\n\nVirtualHome 是一个交互式平台，旨在通过程序模拟复杂的家庭活动。它支持智能体与环境进行复杂交互（如抓取物体、开关电器等），并提供 Python API 以便将活动指令序列渲染为视频或环境状态图。该平台适用于具身人工智能（Embodied AI）任务的研究与训练。\n\n## 1. 环境准备\n\n### 系统要求\n*   **操作系统**: Linux (x86-64), macOS, 或 Windows。\n    *   *注：若需在无显示器的服务器（Headless）上运行 Unity 模拟器，推荐使用 Linux 并配置 X Server 或使用 Docker。*\n*   **Python**: 建议 Python 3.6+\n*   **硬件**: 需要支持 OpenGL 的 GPU（用于运行 Unity 模拟器）。\n\n### 前置依赖\n*   **Jupyter Notebook** (可选，用于运行官方演示):\n    ```bash\n    pip install jupyter\n    ```\n*   **Ray** (可选，用于强化学习并行环境):\n    ```bash\n    pip install ray\n    ```\n\n## 2. 安装步骤\n\n### 第一步：安装 Python 包\n使用 pip 安装核心库：\n```bash\npip install virtualhome\n```\n> **国内加速提示**：如果下载速度慢，可使用清华源或阿里源：\n> `pip install virtualhome -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`\n\n### 第二步：下载 Unity 模拟器\nVirtualHome 的核心渲染功能依赖 Unity 可执行文件。请根据你的操作系统下载对应版本，并将其解压移动到项目目录下的 `simulation\u002Funity_simulator` 文件夹中。\n\n*   **Linux**: [下载链接](http:\u002F\u002Fvirtual-home.org\u002F\u002Frelease\u002Fsimulator\u002Fv2.0\u002Fv2.3.0\u002Flinux_exec.zip)\n*   **macOS**: [下载链接](http:\u002F\u002Fvirtual-home.org\u002Frelease\u002Fsimulator\u002Fv2.0\u002Fv2.3.0\u002Fmacos_exec.zip)\n*   **Windows**: [下载链接](http:\u002F\u002Fvirtual-home.org\u002F\u002Frelease\u002Fsimulator\u002Fv2.0\u002Fv2.3.0\u002Fwindows_exec.zip)\n\n*(注：目前官方未提供中国镜像源，若下载受阻建议使用代理或离线传输)*\n\n### 第三步：验证安装\n在终端启动模拟器（以 Linux 为例，设置为窗口模式以防占满全屏）：\n```bash\n.\u002Fpath_to_exec -screen-fullscreen 0 -screen-quality 4\n```\n看到模拟器窗口启动即表示环境就绪。\n\n## 3. 基本使用\n\nVirtualHome 主要通过编写“程序脚本”来驱动智能体行动。以下是最简单的视频生成示例。\n\n### 示例：生成活动视频\n\n确保 Unity 模拟器已在后台运行，然后执行以下 Python 脚本生成视频：\n\n```bash\ncd demo\u002F\npython generate_video.py\n```\n\n该脚本会读取默认的活动指令序列，控制智能体在场景中执行动作，并输出渲染后的视频文件。\n\n### 进阶：生成环境快照 (Snapshots)\n如果你只需要关键帧图像而非完整视频，可以运行：\n\n```bash\ncd demo\u002F\npython generate_snapshots.py\n```\n生成的网格快照将保存为 `demo\u002Fsnapshot_test.png`。\n\n### 代码调用示例 (Python API)\n你也可以直接在 Python 代码中调用模拟器：\n\n```python\nfrom simulation.unity_simulator import comm_unity\n\n# 初始化通信对象 (需确保模拟器已启动)\ncomm = comm_unity.UnityCommunication(port='8080')\n\n# 重置场景\ncomm.reset()\n\n# 定义简单的活动脚本 (例如：智能体走到沙发前坐下)\n# 格式通常为：\u003CAGENT> \u003CACTION> \u003COBJECT>\nscript = [\n    '\u003Cchar0> walk \u003Csofa1>',\n    '\u003Cchar0> sit \u003Csofa1>'\n]\n\n# 执行脚本并生成视频\ncomm.exec_script(script)\n```\n\n---\n*更多详细文档、自定义环境修改及强化学习接口请参考 [VirtualHome 官方文档](http:\u002F\u002Fvirtual-home.org\u002Fdocumentation\u002F)。*","某具身智能（Embodied AI）研究团队正在训练家庭服务机器人学习“早晨准备咖啡”等复杂多步任务，需要海量且标注精确的仿真数据来强化学习算法。\n\n### 没有 virtualhome 时\n- **数据采集成本极高**：团队需雇佣演员在真实房屋中反复表演并录制视频，不仅耗时耗力，还难以覆盖所有可能的突发状况（如杯子被打翻）。\n- **缺乏精确真值标注**：真实视频难以直接获取像素级的语义分割、光流或物体深度信息，导致模型训练缺乏关键的监督信号。\n- **场景泛化能力弱**：受限于物理场地，无法快速生成成千上万种不同布局的房间或光照条件，导致训练出的机器人在新环境中表现不佳。\n- **多智能体协作难模拟**：难以协调多个真人同时配合演示复杂的交互逻辑，限制了多代理协同算法的研发进度。\n\n### 使用 virtualhome 后\n- **程序化自动生成数据**：研究人员只需编写简单的指令序列（如“拿起杯子”、“打开咖啡机”），virtualhome 即可自动渲染出无限多样的活动视频，效率提升百倍。\n- **同步输出多维真值**：模拟器在生成视频的同时，直接输出时间戳动作、实例分割图和深度图，为算法提供了完美的训练标签。\n- **环境动态随机化**：利用其过程生成能力，团队可一键切换房间布局、调整昼夜光照甚至改变室外地形，大幅增强了模型的鲁棒性。\n- **灵活的多代理仿真**：通过 Python API 轻松定义多个智能体角色及其交互逻辑，完美复现多人协作场景，加速了复杂策略的收敛。\n\nvirtualhome 将原本需要数周的真实世界数据采集与标注工作，压缩为几分钟的代码执行过程，成为具身智能算法从理论走向落地的关键加速器。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxavierpuigf_virtualhome_0ff1badf.gif","xavierpuigf","Xavier Puig","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fxavierpuigf_a8f0a96b.jpg","Research Scientist at FAIR, working on Embodied AI. \r\nPrev: MIT PhD developing virtual-home.org","FAIR","San Francisco",null,"xavierpuigf.com","https:\u002F\u002Fgithub.com\u002Fxavierpuigf",[83,87,91,95],{"name":84,"color":85,"percentage":86},"Python","#3572A5",86.1,{"name":88,"color":89,"percentage":90},"Jupyter Notebook","#DA5B0B",12.7,{"name":92,"color":93,"percentage":94},"Dockerfile","#384d54",0.9,{"name":96,"color":97,"percentage":98},"Shell","#89e051",0.2,608,89,"2026-04-16T13:43:31","MIT","Linux, macOS, Windows","运行 Unity 模拟器需要 GPU。在无显示器环境（如服务器）下运行时，需配置 X Server 并指定 GPU；Docker 部署也隐含图形处理需求。具体型号、显存大小及 CUDA 版本未在文档中明确说明。","未说明",{"notes":107,"python":108,"dependencies":109},"1. 核心组件为基于 Unity 的模拟器，需下载对应操作系统的可执行文件才能生成视频或进行强化学习训练；若仅使用纯 Python 的'Evolving Graph'模拟器则无需 Unity 可执行文件。\n2. 在无显示器环境或远程服务器上运行时，必须配置 X Server 或使用 Docker，并添加'-batchmode'参数启动。\n3. 支持多进程并行运行多个模拟器实例以加速训练或数据生成。\n4. 提供类似 OpenAI Gym 的接口用于强化学习，并可结合 Ray 进行扩展。","未说明 (通过 pip 安装，暗示兼容主流 Python 3 版本)",[65,110],"Jupyter (用于运行演示)",[15,14,16,13],[113,114,115,116,117,118,119],"simulator","graph","computer-vision","unity","deep-learning","multi-agent","reinforcement-learning","2026-03-27T02:49:30.150509","2026-04-18T09:20:11.799155",[123,128,133,138,143,148,152],{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},38944,"如何在无头（headless）Linux 服务器或 AWS 实例上运行 Unity 环境？","在无头 Linux 环境中运行时，需要配置 X server 并确保代码中的 `x_display` 参数与 X server 的显示编号一致。例如，如果设置 `display_num=2`，则代码中应指定 `x_display=2`（默认值 0 有时因权限问题会失败）。此外，需确保环境变量 `XDG_RUNTIME_DIR` 已设置。启动命令示例：`DISPLAY=:2 .\u002Fyour_executable.x86_64 -batchmode`，Python 连接代码：`UnityCommunication(file_name='...', port='8000', x_display=2)`。","https:\u002F\u002Fgithub.com\u002Fxavierpuigf\u002Fvirtualhome\u002Fissues\u002F68",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},38945,"运行程序时卡在\"Getting connection...\"且随后断开或报错，如何解决？","这通常是因为 Unity 进程未正确启动或图形界面未渲染。解决方法有两种：\n1. 手动启动 executable：先运行命令 `.\u002Fpath_to_exec -screen-fullscreen 0 -screen-quality 4` 打开虚拟环境窗口。\n2. 在 Python 脚本中连接已运行的实例：使用 `comm = UnityCommunication()`（不指定 file_name）进行连接。\n3. 连接成功后，调用 `comm.reset(env_id)` 并获取相机图像（如 `comm.camera_image`）即可看到画面。如果是 macOS 或 Linux，还需检查 Xorg 进程是否正常运行。","https:\u002F\u002Fgithub.com\u002Fxavierpuigf\u002Fvirtualhome\u002Fissues\u002F113",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},38946,"VirtualHome 支持 Windows 系统吗？遇到\"Couldn't launch the windows_exec environment\"错误怎么办？","VirtualHome 主要建议在 Linux 环境下训练 RL 代理。虽然理论上支持 Windows，但维护者指出 Windows 下的可执行文件启动问题可能与权限有关，且缺乏测试环境。如果遇到该错误，请检查：\n1. 可执行文件路径是否正确。\n2. 文件是否具有执行权限。\n3. 杀毒软件或防火墙是否拦截。\n若问题依旧，建议切换到 Linux 环境或使用 Docker 容器运行。","https:\u002F\u002Fgithub.com\u002Fxavierpuigf\u002Fvirtualhome\u002Fissues\u002F40",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},38947,"如何从场景中移除对象（例如电脑屏幕）？","可以使用 API 移除场景中的对象。关键是要使用正确的对象名称。例如，要移除电脑屏幕，必须将其命名为 `cpu_screen` 而不是 `computer`。确认名称后，调用相应的移除函数即可成功删除该对象。如果不确定对象名称，可以先打印场景图进行确认。","https:\u002F\u002Fgithub.com\u002Fxavierpuigf\u002Fvirtualhome\u002Fissues\u002F61",{"id":144,"question_zh":145,"answer_zh":146,"source_url":147},38948,"使用 `expand_scene` 函数初始化场景时报错\"Object reference not set to an instance of an object\"怎么办？","这是一个已知问题，通常发生在尝试基于 RobotHow 数据集中的 `init_and_final_graphs` 文件初始化场景时。错误表明输入图中的某些对象引用为空。目前社区中多位用户遇到此问题，建议检查输入的 JSON 文件完整性，或尝试使用其他版本的 VirtualHome（如回退到 v2.2.4），因为 v2.3.0 可能存在兼容性回归。若无法解决，可考虑手动构建初始场景图而非自动展开。","https:\u002F\u002Fgithub.com\u002Fxavierpuigf\u002Fvirtualhome\u002Fissues\u002F114",{"id":149,"question_zh":150,"answer_zh":151,"source_url":132},38949,"为什么运行 demo 时看不到画面，只显示黑屏或无响应？","如果在终端运行 executable 后只看到 Unity 图标随后黑屏，这是正常现象，因为此时尚未渲染相机视角。你需要进入 `demo\u002Funity_demo.ipynb` Notebook，运行\"Starting and Visualizing Scenes\"章节后的代码。具体步骤包括：连接服务 (`comm = UnityCommunication()`)，重置环境 (`comm.reset(0)`)，获取相机数量 (`comm.camera_count()`)，最后调用 `comm.camera_image([0, cam_count-1])` 来获取并显示图像。",{"id":153,"question_zh":154,"answer_zh":155,"source_url":156},38950,"如何在 Linux 上以 'auto' 模式启动通信而不卡住？","在 'auto' 模式下卡住通常是因为后台图形服务（Xorg）未运行或权限不足。首先检查 Xorg 进程是否在运行（使用 `ps aux | grep Xorg`）。如果未运行且没有 sudo 权限，可以参考相关教程配置非 root 用户运行 X server。确保 `DISPLAY` 环境变量正确设置，并且可执行文件具有执行权限。如果问题持续，建议改用 'manual' 模式，即先手动启动 executable，再用 Python 脚本连接。","https:\u002F\u002Fgithub.com\u002Fxavierpuigf\u002Fvirtualhome\u002Fissues\u002F35",[158,163,168,173,178],{"id":159,"version":160,"summary_zh":161,"released_at":162},314884,"v2.3.0","**新功能：**\n* 增加了程序化生成能力，让智能体能够探索无限种独特的环境！\n* 新增50个定制设计的环境\n* 优化了环境中的物理模拟\n* 引入同步昼夜循环的时间管理系统\n* 全新户外地形，具备精确的阳光与阴影效果\n* 改进了室内实时光照\n* 房间场景更加逼真\n* 大幅提升性能、优化资源、增强稳定性\n* 更新了文档\n* 修复了现有环境中的一些常见 bug\n* Colab 示例","2022-03-28T06:36:55",{"id":164,"version":165,"summary_zh":166,"released_at":167},314885,"v2.2.0","本次发布包含：\n* 在渲染视频时用于可视化骨骼的功能\n* 错误修复：修复了在使用 `find_solution=True` 调用渲染脚本时的行为。现在您可以在该模式下正常启动计算机\n* 角色摄像机。您现在可以在场景中添加场景摄像机和角色摄像机。角色摄像机会绑定到角色上，并随角色一起移动","2021-03-06T22:01:29",{"id":169,"version":170,"summary_zh":171,"released_at":172},314886,"v2.1.0","本次发布包含以下内容：\n\n- 改进了与物体交互时角色位置的控制，特别是能够固定角色的行走路径\n- 提升了 render_script 函数返回的消息质量\n- 增加了对智能体同时执行无效操作（如同时抓取同一物体）的检测\n- 修复了若干 bug","2021-01-03T19:22:33",{"id":174,"version":175,"summary_zh":176,"released_at":177},314887,"v2.0.0","VirtualHome 的新版本（VH-Social）已经发布！现在你可以使用 VirtualHome 渲染多智能体交互场景，并基于这些场景训练强化学习策略。\n\n以下是本次更新的内容：\n\n* VirtualHome 现在支持多智能体以及 skip_animation 模式，便于利用该环境训练强化学习模型。\n* 我们新增了类似 OpenAI Gym 的环境，方便用户使用 VirtualHome 训练强化学习智能体。\n* 提供了用于在场景中添加角色和固定摄像机的 API，并支持从这些摄像机进行录制。\n\n此外，我们还修复了若干 bug，并对性能进行了优化。","2020-10-16T02:38:04",{"id":179,"version":180,"summary_zh":181,"released_at":182},314888,"v1.0.0","首次发布","2020-07-23T09:23:48"]