[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-BYU-PCCL--holodeck":3,"tool-BYU-PCCL--holodeck":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 真正成长为懂上",159267,2,"2026-04-17T11:29:14",[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":77,"owner_email":77,"owner_twitter":77,"owner_website":78,"owner_url":79,"languages":80,"stars":93,"forks":94,"last_commit_at":95,"license":96,"difficulty_score":10,"env_os":97,"env_gpu":98,"env_ram":99,"env_deps":100,"category_tags":105,"github_topics":107,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":117,"updated_at":118,"faqs":119,"releases":149},8652,"BYU-PCCL\u002Fholodeck","holodeck","High Fidelity Simulator for Reinforcement Learning and Robotics Research.","Holodeck 是一款基于虚幻引擎 4（Unreal Engine 4）打造的高保真模拟器，专为强化学习与机器人研究设计。它旨在解决传统仿真环境真实感不足、物理引擎不够精确以及多智能体协同训练困难等痛点，为算法验证提供接近现实的虚拟场景。\n\n这款工具非常适合人工智能研究人员、机器人开发者以及高校师生使用。通过内置的 7 多个丰富世界和多样化场景，用户无需从零搭建环境，即可快速开展无人机导航、城市探索等复杂任务的研究。Holodeck 的独特亮点在于其卓越的性能与灵活性：它不仅支持高达两倍实时的模拟速度，还允许用户在无界面模式下高效运行或实时观察智能体学习过程。\n\n在易用性方面，Holodeck 提供了类似 OpenAI Gym 的简洁 Python 接口，降低了上手门槛。更值得一提的是，它原生支持多智能体环境，允许开发者独立控制多个代理并同步推进仿真，这对于研究群体智能和多机协作至关重要。无论是需要高精度传感器数据反馈，还是希望灵活扩展训练剧本，Holodeck 都能以“开箱即用”的方式满足需求，让研究者能将更多精力集中在核心算法的创新上。","# Holodeck\n\n[![Holodeck Video](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FBYU-PCCL_holodeck_readme_63b8778d5e6c.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=_huewiGqfrs)\n\n[![Read the docs badge](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FBYU-PCCL_holodeck_readme_13d664e1afd7.png)](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Fdevelop\u002F) ![Build Status](https:\u002F\u002Fjenkins.holodeck.ml\u002FbuildStatus\u002Ficon?job=holodeck-engine%2Fdevelop)\n\nHolodeck is a high-fidelity simulator for reinforcement learning built on top of Unreal Engine 4.\n\n## Features\n - 7+ rich worlds for training agents in, and many scenarios for those worlds\n - Linux and Windows support\n - Easily extend and modify training scenarios\n - Train and control more than one agent at once\n - Simple, OpenAI Gym-like Python interface\n - High performance - simulation speeds of up to 2x real time are possible. Performance penalty only for what you need\n - Run headless or watch your agents learn\n\n### Questions? [Join our Discord!](https:\u002F\u002Fdiscord.gg\u002FXqqksje)\n\n## Installation\n`pip install holodeck`\n\n(requires >= Python 3.5)\n\nSee [Installation](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fusage\u002Finstallation.html) for complete instructions (including Docker).\n\n## Documentation\n* [Quickstart](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fusage\u002Fgetting-started.html)\n* [Changelog](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fchangelog\u002Fchangelog.html)\n* [Examples](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fusage\u002Fgetting-started.html#code-examples)\n* [Agents](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fagents\u002Fagents.html)\n* [Sensors](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fholodeck\u002Fsensors.html)\n* [Available Packages and Worlds](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fpackages\u002Fpackages.html)\n* [Docs](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002F)\n\n## Usage Overview\nHolodeck's interface is similar to [OpenAI's Gym](https:\u002F\u002Fgym.openai.com\u002F). \n\nWe try and provide a batteries included approach to let you jump right into using Holodeck, with minimal\nfiddling required.\n\nTo demonstrate, here is a quick example using the `DefaultWorlds` package:\n\n```python\nimport holodeck\n\n# Load the environment. This environment contains a UAV in a city.\nenv = holodeck.make(\"UrbanCity-MaxDistance\")\n\n# You must call `.reset()` on a newly created environment before ticking\u002Fstepping it\nenv.reset()                         \n\n# The UAV takes 3 torques and a thrust as a command.\ncommand = [0, 0, 0, 100]   \n\nfor i in range(30):\n    state, reward, terminal, info = env.step(command)  \n```\n\n- `state`: dict of sensor name to the sensor's value (nparray).\n- `reward`: the reward received from the previous action\n- `terminal`: indicates whether the current state is a terminal state.\n- `info`: contains additional environment specific information.\n\nIf you want to access the data of a specific sensor, import sensors and\nretrieving the correct value from the state dictionary:\n\n```python\nprint(state[\"LocationSensor\"])\n```\n\n## Multi Agent-Environments\nHolodeck supports multi-agent environments.\n\nCalls to [`step`](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fholodeck\u002Fenvironments.html#holodeck.environments.HolodeckEnvironment.step) only provide an action for the main agent, and then tick the simulation. \n\n[`act`](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fholodeck\u002Fenvironments.html#holodeck.environments.HolodeckEnvironment.act) provides a persistent action for a specific agent, and does not tick the simulation. After an \naction has been provided, [`tick`](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fholodeck\u002Fenvironments.html#holodeck.environments.HolodeckEnvironment.tick) will advance the simulation forward. The action is persisted until another call to `act` provides a different action.\n\n```python\nimport holodeck\nimport numpy as np\n\nenv = holodeck.make(\"CyberPunkCity-Follow\")\nenv.reset()\n\n# Provide an action for each agent\nenv.act('uav0', np.array([0, 0, 0, 100]))\nenv.act('nav0', np.array([0, 0, 0]))\n\n# Advance the simulation\nfor i in range(300):\n  # The action provided above is repeated\n  states = env.tick()\n```\n\nYou can access the reward, terminal and location for a multi agent environment as follows:\n\n```python\ntask = states[\"uav0\"][\"FollowTask\"]\n\nreward = task[0]\nterminal = task[1]\nlocation = states[\"uav0\"][\"LocationSensor\"]\n```\n\n(`uav0` comes from the [scenario configuration file](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fpackages\u002Fdocs\u002Fscenarios.html))\n\n## Running Holodeck Headless\nHolodeck can run headless with GPU accelerated rendering. See [Using Holodeck Headless](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fusage\u002Frunning-headless.html)\n\n## Citation:\n```\n@misc{HolodeckPCCL,\n  Author = {Joshua Greaves and Max Robinson and Nick Walton and Mitchell Mortensen and Robert Pottorff and Connor Christopherson and Derek Hancock and Jayden Milne and David Wingate},\n  Title = {Holodeck: A High Fidelity Simulator},\n  Year = {2018},\n}\n```\n\nHolodeck is a project of BYU's Perception, Cognition and Control Lab (https:\u002F\u002Fpcc.cs.byu.edu\u002F).\n","# 全息甲板\n\n[![全息甲板视频](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FBYU-PCCL_holodeck_readme_63b8778d5e6c.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=_huewiGqfrs)\n\n[![阅读文档徽章](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FBYU-PCCL_holodeck_readme_13d664e1afd7.png)](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Fdevelop\u002F) ![构建状态](https:\u002F\u002Fjenkins.holodeck.ml\u002FbuildStatus\u002Ficon?job=holodeck-engine%2Fdevelop)\n\n全息甲板是一个基于虚幻引擎4构建的高保真强化学习模拟器。\n\n## 特性\n- 7个以上的丰富世界可供智能体训练，每个世界都有多种场景\n- 支持Linux和Windows系统\n- 轻松扩展和修改训练场景\n- 可同时训练和控制多个智能体\n- 简单的、类似OpenAI Gym的Python接口\n- 高性能——模拟速度最高可达实时的两倍。仅在需要时才会产生性能开销\n- 可以无头运行，也可以观看智能体的学习过程\n\n### 有问题？[加入我们的Discord！](https:\u002F\u002Fdiscord.gg\u002FXqqksje)\n\n## 安装\n`pip install holodeck`\n\n（要求Python 3.5及以上版本）\n\n完整安装说明请参见[安装指南](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fusage\u002Finstallation.html)（包括Docker）。\n\n## 文档\n* [快速入门](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fusage\u002Fgetting-started.html)\n* [更新日志](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fchangelog\u002Fchangelog.html)\n* [示例](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fusage\u002Fgetting-started.html#code-examples)\n* [智能体](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fagents\u002Fagents.html)\n* [传感器](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fholodeck\u002Fsensors.html)\n* [可用包与世界](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fpackages\u002Fpackages.html)\n* [全部文档](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002F)\n\n## 使用概览\n全息甲板的接口类似于[OpenAI Gym](https:\u002F\u002Fgym.openai.com\u002F)。\n\n我们力求提供“开箱即用”的解决方案，让您无需过多配置即可直接开始使用全息甲板。\n\n以下是一个使用`DefaultWorlds`包的简单示例：\n\n```python\nimport holodeck\n\n# 加载环境。该环境包含一架城市中的无人机。\nenv = holodeck.make(\"UrbanCity-MaxDistance\")\n\n# 在对新创建的环境进行步进操作之前，必须先调用`.reset()`\nenv.reset()                         \n\n# 无人机通过三个扭矩和一个推力来接收指令。\ncommand = [0, 0, 0, 100]   \n\nfor i in range(30):\n    state, reward, terminal, info = env.step(command)  \n```\n\n- `state`: 传感器名称到其值（numpy数组）的字典。\n- `reward`: 上一次动作所获得的奖励。\n- `terminal`: 表示当前状态是否为终止状态。\n- `info`: 包含特定于环境的附加信息。\n\n如果想访问某个特定传感器的数据，可以导入传感器模块，并从状态字典中获取相应值：\n\n```python\nprint(state[\"LocationSensor\"])\n```\n\n## 多智能体环境\n全息甲板支持多智能体环境。\n\n对[`step`](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fholodeck\u002Fenvironments.html#holodeck.environments.HolodeckEnvironment.step)的调用只会为主智能体提供动作，并推进仿真一步。\n\n而[`act`](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fholodeck\u002Fenvironments.html#holodeck.environments.HolodeckEnvironment.act)则会为指定智能体持续提供动作，但不会推进仿真。一旦提供了动作，调用[`tick`](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fholodeck\u002Fenvironments.html#holodeck.environments.HolodeckEnvironment.tick)才会使仿真向前推进。该动作将持续生效，直到再次调用`act`并提供新的动作为止。\n\n```python\nimport holodeck\nimport numpy as np\n\nenv = holodeck.make(\"CyberPunkCity-Follow\")\nenv.reset()\n\n# 为每个智能体提供动作\nenv.act('uav0', np.array([0, 0, 0, 100]))\nenv.act('nav0', np.array([0, 0, 0]))\n\n# 推进仿真\nfor i in range(300):\n  # 上面提供的动作会被重复执行\n  states = env.tick()\n```\n\n对于多智能体环境，您可以按如下方式访问奖励、终止标志和位置信息：\n\n```python\ntask = states[\"uav0\"][\"FollowTask\"]\n\nreward = task[0]\nterminal = task[1]\nlocation = states[\"uav0\"][\"LocationSensor\"]\n```\n\n(`uav0`来自[场景配置文件](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fpackages\u002Fdocs\u002Fscenarios.html))\n\n## 无头运行全息甲板\n全息甲板可以在无头模式下运行，并利用GPU加速渲染。更多信息请参见[无头运行全息甲板](https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fusage\u002Frunning-headless.html)。\n\n## 引用：\n```\n@misc{HolodeckPCCL,\n  Author = {Joshua Greaves and Max Robinson and Nick Walton and Mitchell Mortensen and Robert Pottorff and Connor Christopherson and Derek Hancock and Jayden Milne and David Wingate},\n  Title = {Holodeck: A High Fidelity Simulator},\n  Year = {2018},\n}\n```\n\n全息甲板是BYU感知、认知与控制实验室的项目（https:\u002F\u002Fpcc.cs.byu.edu\u002F）。","# Holodeck 快速上手指南\n\nHolodeck 是一个基于 Unreal Engine 4 构建的高保真强化学习模拟器，提供类似 OpenAI Gym 的 Python 接口，支持多智能体训练及无头模式运行。\n\n## 环境准备\n\n*   **操作系统**：支持 Linux 和 Windows。\n*   **Python 版本**：需要 Python 3.5 或更高版本（推荐使用 Python 3.6+）。\n*   **前置依赖**：\n    *   确保已安装 `pip` 包管理工具。\n    *   若需自定义场景或编译引擎，需安装 Unreal Engine 4，但仅使用预训练包时无需安装 UE4。\n    *   **国内加速建议**：如遇网络问题，建议使用国内镜像源进行安装（见下文）。\n\n## 安装步骤\n\n### 基础安装\n使用 pip 直接安装 Holodeck：\n\n```bash\npip install holodeck\n```\n\n### 国内镜像加速安装\n如果直接从 PyPI 下载速度较慢，推荐使用清华或阿里镜像源：\n\n```bash\npip install holodeck -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n> **注意**：首次运行代码时，Holodeck 会自动下载所需的虚拟世界包（如 `DefaultWorlds`），请保持网络连接畅通。如需完整安装说明（包括 Docker 部署），请参考官方文档。\n\n## 基本使用\n\nHolodeck 的使用逻辑与 OpenAI Gym 高度相似。以下是一个最简单的单智能体示例，加载一个包含无人机（UAV）的城市环境并执行控制命令。\n\n### 单智能体示例\n\n```python\nimport holodeck\n\n# 加载环境：此处加载包含城市无人机的 \"UrbanCity-MaxDistance\" 场景\nenv = holodeck.make(\"UrbanCity-MaxDistance\")\n\n# 新创建的环境在开始步进前必须调用 .reset()\nenv.reset()                         \n\n# 定义控制命令：无人机接受 3 个扭矩值和 1 个推力值\ncommand = [0, 0, 0, 100]   \n\n# 执行仿真步进\nfor i in range(30):\n    # state: 传感器名称到数值 (nparray) 的字典\n    # reward: 上一步动作获得的奖励\n    # terminal: 是否达到终止状态\n    # info: 其他环境特定信息\n    state, reward, terminal, info = env.step(command)  \n    \n    # 访问特定传感器数据（例如位置传感器）\n    # print(state[\"LocationSensor\"])\n```\n\n### 多智能体简要说明\nHolodeck 原生支持多智能体环境。在多智能体模式下，通常使用 `act()` 为特定智能体设置持久动作，然后调用 `tick()` 统一推进仿真：\n\n```python\nimport holodeck\nimport numpy as np\n\nenv = holodeck.make(\"CyberPunkCity-Follow\")\nenv.reset()\n\n# 为不同智能体分别设置动作\nenv.act('uav0', np.array([0, 0, 0, 100]))\nenv.act('nav0', np.array([0, 0, 0]))\n\n# 推进仿真\nfor i in range(300):\n  states = env.tick()\n  \n# 获取特定智能体的任务数据\ntask = states[\"uav0\"][\"FollowTask\"]\nreward = task[0]\n```","某机器人研究团队正在开发城市环境下的无人机自主避障与编队飞行算法，急需在部署到真实硬件前进行大规模强化学习训练。\n\n### 没有 holodeck 时\n- **仿真搭建成本高**：团队需自行基于通用引擎构建高保真城市模型，耗时数月且物理效果（如气流、碰撞）往往不够真实，导致“仿真到现实”的迁移失败率高。\n- **多机协同调试难**：缺乏原生多智能体支持，模拟多架无人机互动时需编写复杂的同步逻辑，极易出现状态不同步或通信延迟模拟不准的问题。\n- **训练效率低下**：传统仿真器难以在无图形界面（Headless）模式下高效运行，无法利用服务器集群进行 2 倍于实时的加速训练，迭代周期长达数周。\n- **接口适配繁琐**：每次更换算法框架都需重写底层交互代码，缺乏类似 OpenAI Gym 的统一标准接口，增加了工程维护负担。\n\n### 使用 holodeck 后\n- **开箱即用的高保真场景**：直接调用内置的\"UrbanCity\"等 7+ 个丰富世界，基于虚幻引擎 4 的物理渲染让传感器数据（如位置、速度）极度逼真，显著提升了算法落地的成功率。\n- **原生支持多智能体控制**：通过简单的 `act` 和 `tick` 接口即可轻松指挥多架无人机（如 uav0, nav0）协同作业，自动处理时间步同步，让编队逻辑验证变得直观简单。\n- **高性能并行训练**：支持 Linux 无头模式运行，仿真速度可达实时的 2 倍，团队能利用云端集群全天候批量训练，将算法迭代周期从数周缩短至几天。\n- **标准化开发体验**：提供类 Gym 的 Python 接口，研究人员只需关注奖励函数设计，无需纠结底层通信，代码复用率大幅提升。\n\nholodeck 通过提供高保真、高性能且易扩展的仿真环境，让研发团队能以最低成本完成从算法验证到真机部署的关键跨越。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FBYU-PCCL_holodeck_63b8778d.jpg","BYU-PCCL","Perception, Control and Cognition Lab","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FBYU-PCCL_6223f2e4.jpg","Blending language models and social science to advance the potential of AI.",null,"https:\u002F\u002Fpcc.cs.byu.edu\u002F","https:\u002F\u002Fgithub.com\u002FBYU-PCCL",[81,85,89],{"name":82,"color":83,"percentage":84},"Python","#3572A5",99.6,{"name":86,"color":87,"percentage":88},"Dockerfile","#384d54",0.4,{"name":90,"color":91,"percentage":92},"Shell","#89e051",0,594,42,"2026-03-01T17:56:41","MIT","Linux, Windows","运行无头模式（Headless）需要支持 GPU 加速渲染的显卡，具体型号和显存未说明","未说明",{"notes":101,"python":102,"dependencies":103},"该工具基于 Unreal Engine 4 构建。支持在无头模式（Headless）下运行以进行 GPU 加速渲染。安装可通过 pip 完成，完整安装说明（包括 Docker）需参考官方文档。",">=3.5",[65,104],"numpy",[15,13,14,106],"其他",[108,109,110,111,112,113,114,115,116],"reinforcement-learning","unreal-engine","ai","drones","simulator","research","computer-vision","robotics","reinforcement-learning-environments","2026-03-27T02:49:30.150509","2026-04-18T03:34:44.420685",[120,125,130,135,140,145],{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},38753,"为什么 Holodeck 进程在终端关闭或脚本结束后仍然在后台运行？","这是一个已知的线程和信号处理问题。当通过杀死终端（发送 SIGHUB 信号）或直接退出而不是使用 Ctrl-C（发送 SIGINT）时，后端可能不会正常关闭。维护者已在后续版本中安装了针对 SIGINT 和 SIGHUB 信号的处理器来解决此问题。如果遇到此问题，请确保升级到修复后的版本，或者在退出前手动发送终止信号。","https:\u002F\u002Fgithub.com\u002FBYU-PCCL\u002Fholodeck\u002Fissues\u002F414",{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},38754,"在 Linux 上创建环境时遇到 'posix_ipc.SignalError: The wait was interrupted by a signal' 错误怎么办？","该错误通常与环境初始化时的信号中断有关。有用户反馈在干净的 Ubuntu 18.04 安装上无法复现此问题，表明可能是特定系统配置或干扰导致。如果问题持续，尝试检查是否有其他进程干扰了信号量，或者重试创建环境。维护者指出这在某些特定环境下是偶发的，重新安装或重启系统可能有助于解决。","https:\u002F\u002Fgithub.com\u002FBYU-PCCL\u002Fholodeck\u002Fissues\u002F406",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},38755,"在 Linux 上运行测试或无头模式（headless）时出现 'posix_ipc.BusyError: Semaphore is busy' 错误的原因及解决方法？","此错误主要由两个原因引起：1. 初始化超时设置过低，导致 Holodeck 初始化失败；2. 在长时间运行（如 ticking 数十万次）后发生的未知问题。对于无头模式下的 OpenGL 初始化失败问题，尝试设置 DISPLAY 环境变量并传递 `-nullrhi` 参数给引擎可以避免部分错误，但这会导致相机传感器无数据。目前建议增加初始化超时时间，并确保图形驱动正常。如果是在长时间运行后出现，可能需要重启环境或等待官方修复。","https:\u002F\u002Fgithub.com\u002FBYU-PCCL\u002Fholodeck\u002Fissues\u002F285",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},38756,"在 Windows 上运行时提示找不到 'XAPOFX1_5.dll' 和 'X3DAudio1_7.dll' 驱动怎么办？","这是缺少 DirectX 音频组件导致的。这两个 DLL 文件属于 Microsoft DirectX End-User Runtimes。解决方法是下载并安装 'DirectX End-User Runtimes (June 2010)'，安装后这些缺失的驱动文件会被补充到系统目录中，从而解决加载超时和驱动缺失的错误。","https:\u002F\u002Fgithub.com\u002FBYU-PCCL\u002Fholodeck\u002Fissues\u002F16",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},38757,"使用 set_physics_state 或 teleport 函数时，为什么只有位置（location）更新了，而旋转、速度等状态没有变化？","这曾是一个存在于开发分支（develop branch）的 Bug，原因是缺乏针对 `set_physics_state` 函数的测试覆盖，导致状态值未能正确应用到除位置传感器以外的其他传感器。维护者确认该问题已通过添加相关测试（PR #436）得到解决。如果您遇到此问题，请确保您使用的是已包含该修复的最新版本，而非旧的开发分支代码。","https:\u002F\u002Fgithub.com\u002FBYU-PCCL\u002Fholodeck\u002Fissues\u002F178",{"id":146,"question_zh":147,"answer_zh":148,"source_url":134},38758,"如何在 Linux 上避免在无头模式下因 OpenGL 初始化失败导致的信号量错误？","在无头模式（删除了 DISPLAY 环境变量但启用渲染）下，Unreal Engine 可能会因无法正确初始化 OpenGL 而失败，进而引发信号量错误。虽然传递 `-nullrhi` 参数可以绕过此错误，但这会禁用渲染导致相机传感器失效。目前的变通方法是保留 DISPLAY 变量（即使没有物理显示器，可使用虚拟帧缓冲区如 Xvfb），或者等待引擎对 Vulkan 无头渲染的支持完善。",[150,155,160,165,170],{"id":151,"version":152,"summary_zh":153,"released_at":154},314698,"v0.3.1","变更日志请见此处：https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fchangelog\u002Fchangelog.html#holodeck-0-3-1\n博客文章：https:\u002F\u002Fpcc.cs.byu.edu\u002F2020\u002F04\u002F02\u002Fwhats-new-with-holodeck\u002F","2020-04-02T23:24:07",{"id":156,"version":157,"summary_zh":158,"released_at":159},314699,"v0.3.0","变更日志请见此处：https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fchangelog\u002Fchangelog.html#holodeck-0-3-0","2019-11-02T21:07:22",{"id":161,"version":162,"summary_zh":163,"released_at":164},314700,"v0.2.2","变更日志请见此处：https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fchangelog\u002Fchangelog.html#holodeck-0-2-2","2019-06-24T18:15:25",{"id":166,"version":167,"summary_zh":168,"released_at":169},314701,"v0.2.1","变更日志请见此处：https:\u002F\u002Fholodeck.readthedocs.io\u002Fen\u002Flatest\u002Fchangelog\u002Fchangelog.html#holodeck-0-2-1","2019-05-20T17:35:30",{"id":171,"version":172,"summary_zh":173,"released_at":174},314702,"v0.1.0","为首次发布进行追溯性打标签。","2019-05-07T16:06:08"]