[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-eloialonso--diamond":3,"tool-eloialonso--diamond":61},[4,18,26,36,44,53],{"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 真正成长为懂上",141543,2,"2026-04-06T11:32:54",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":76,"owner_website":77,"owner_url":78,"languages":79,"stars":88,"forks":89,"last_commit_at":90,"license":91,"difficulty_score":10,"env_os":92,"env_gpu":93,"env_ram":94,"env_deps":95,"category_tags":107,"github_topics":109,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":118,"updated_at":119,"faqs":120,"releases":151},4680,"eloialonso\u002Fdiamond","diamond","DIAMOND (DIffusion As a Model Of eNvironment Dreams) is a reinforcement learning agent trained in a diffusion world model. NeurIPS 2024 Spotlight.","DIAMOND 是一款基于扩散模型构建世界模型的强化学习智能体，曾入选 NeurIPS 2024 焦点论文。它的核心能力是在完全由扩散模型生成的虚拟环境中进行训练和决策，能够像人类做梦一样“想象”出逼真的游戏画面，并在此基础上学习如何通关。\n\n传统强化学习往往依赖大量真实环境交互或简化抽象的模拟器，难以兼顾视觉细节与训练效率。DIAMOND 通过引入扩散模型作为世界模型，成功解决了在保持高保真视觉细节（如 Atari 游戏像素或 CS:GO 场景）的同时，让智能体在“想象”中高效学习的难题。这意味着它无需时刻连接真实游戏引擎，就能在内部生成的动态世界中演练策略。\n\n该工具主要面向人工智能研究人员、强化学习开发者以及对生成式世界模型感兴趣的技术探索者。用户可以通过预训练模型直接体验智能体在 Atari 或 CS:GO 环境中的自主游玩，也可基于代码复现论文实验或开展新研究。\n\n其独特亮点在于将前沿的扩散生成技术与强化学习深度融合，实现了自回归式的视觉环境想象。DIAMOND 不仅证明了生成模型可以作为高质量的学习沙盒，也为未来构建更通用、更具想象力的 AI 系统提供了新的技术路径。","# Diffusion for World Modeling: Visual Details Matter in Atari (NeurIPS 2024 Spotlight)\n\n[**TL;DR**] 💎 DIAMOND (DIffusion As a Model Of eNvironment Dreams) is a reinforcement learning agent trained entirely in a diffusion world model.\n\n🌍 [Project Page](https:\u002F\u002Fdiamond-wm.github.io) • 🤓 [Paper](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2405.12399) • 𝕏 [Atari thread](https:\u002F\u002Fx.com\u002FEloiAlonso1\u002Fstatus\u002F1793916382779982120) • 𝕏 [CSGO thread](https:\u002F\u002Fx.com\u002FEloiAlonso1\u002Fstatus\u002F1844803606064611771) • 💬 [Discord](https:\u002F\u002Fdiscord.gg\u002F74vha5RWPg)\n\n\u003Cdiv align='center'>\n  RL agent playing in autoregressive imagination of Atari world models\n  \u003Cbr>\n  \u003Cimg alt=\"DIAMOND agent in WM\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Feloialonso_diamond_readme_d015e1719fe1.png\">\n\n\u003C\u002Fdiv>\n\n\u003Cdiv align='center'>\n  Human player in CSGO world model (full quality video \u003Ca href=\"https:\u002F\u002Fdiamond-wm.github.io\u002Fstatic\u002Fvideos\u002Fgrid.mp4\">here\u003C\u002Fa>)\n  \u003Cbr>\n  \u003Cimg alt=\"DIAMOND agent in WM\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Feloialonso_diamond_readme_134ff867428c.png\">\n\u003C\u002Fdiv>\n\nQuick install to try our [pretrained world models](#try) using [miniconda](https:\u002F\u002Fdocs.anaconda.com\u002Ffree\u002Fminiconda\u002Fminiconda-install\u002F):\n\n>```bash\n>git clone https:\u002F\u002Fgithub.com\u002Feloialonso\u002Fdiamond.git\n>cd diamond\n>conda create -n diamond python=3.10\n>conda activate diamond\n>pip install -r requirements.txt\n>```\n\nFor Atari (world model + RL agent)\n\n>```bash\n>python src\u002Fplay.py --pretrained\n>```\n\nFor CSGO (world model only)\n\n>```bash\n>git checkout csgo\n>python src\u002Fplay.py\n>```\n\nAnd press `m` to take control (the policy is playing by default)!\n\n**Warning**: Atari ROMs will be downloaded with the dependencies, which means that you acknowledge that you have the license to use them.\n\n## CSGO\n\n\n**Edit**: Check out the [csgo branch](https:\u002F\u002Fgithub.com\u002Feloialonso\u002Fdiamond\u002Ftree\u002Fcsgo) to try our DIAMOND's world model trained on *Counter-Strike: Global Offensive*!\n\n```bash\ngit checkout csgo\npython src\u002Fplay.py\n```\n> Note on Apple Silicon you must enable CPU fallback for MPS backend with\n> PYTORCH_ENABLE_MPS_FALLBACK=1 python src\u002Fplay.py\n\n\n\u003Ca name=\"quick_links\">\u003C\u002Fa>\n## Quick Links\n\n- [Try our playable diffusion world models](#try)\n- [Launch a training run](#launch)\n- [Configuration](#configuration)\n- [Visualization](#visualization)\n  - [Play mode (default)](#play_mode)\n  - [Dataset mode (add `-d`)](#dataset_mode)\n  - [Other options, common to play\u002Fdataset modes](#other_options)\n- [Run folder structure](#structure)\n- [Results](#results)\n- [Citation](#citation)\n- [Credits](#credits)\n\n\u003Ca name=\"try\">\u003C\u002Fa>\n## [⬆️](#quick_links) Try our playable diffusion world models\n\n```bash\npython src\u002Fplay.py --pretrained\n```\n\nThen select a game, and world model and policy pretrained on Atari 100k will be downloaded from our [repository on Hugging Face Hub 🤗](https:\u002F\u002Fhuggingface.co\u002Feloialonso\u002Fdiamond) and cached on your machine.\n\nSome things you might want to try:\n- Press `m` to change the policy between the agent and human (the policy is playing by default).\n- Press `↑\u002F↓` to change the imagination horizon (default is 50 for playing).\n\nTo adjust the sampling parameters (number of denoising steps, stochasticity, order, etc) of the trained diffusion world model, for instance to trade off sampling speed and quality, edit the section `world_model_env.diffusion_sampler` in the file `config\u002Ftrainer.yaml`.\n\nSee [Visualization](#visualization) for more details about the available commands and options.\n\n\u003Ca name=\"launch\">\u003C\u002Fa>\n## [⬆️](#quick_links) Launch a training run\n\nTo train with the hyperparameters used in the paper on cuda:0, launch:\n```bash\npython src\u002Fmain.py env.train.id=BreakoutNoFrameskip-v4 common.devices=0\n```\n\nThis creates a new folder for your run, located in `outputs\u002FYYYY-MM-DD\u002Fhh-mm-ss\u002F`.\n\nTo resume a run that crashed, navigate to the fun folder and launch:\n\n```bash\n.\u002Fscripts\u002Fresume.sh\n```\n\n\u003Ca name=\"configuration\">\u003C\u002Fa>\n## [⬆️](#quick_links) Configuration\n\nWe use [Hydra](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhydra) for configuration management.\n\nAll configuration files are located in the `config` folder:\n\n- `config\u002Ftrainer.yaml`: main configuration file.\n- `config\u002Fagent\u002Fdefault.yaml`: architecture hyperparameters.\n- `config\u002Fenv\u002Fatari.yaml`: environment hyperparameters.\n\nYou can turn on logging to [weights & biases](https:\u002F\u002Fwandb.ai) in the `wandb` section of `config\u002Ftrainer.yaml`.\n\nSet `training.model_free=true` in the file `config\u002Ftrainer.yaml` to \"unplug\" the world model and perform standard model-free reinforcement learning.\n\n\u003Ca name=\"visualization\">\u003C\u002Fa>\n## [⬆️](#quick_links) Visualization\n\n\u003Ca name=\"play_mode\">\u003C\u002Fa>\n### [⬆️](#quick_links) Play mode (default)\n\nTo visualize your last checkpoint, launch **from the run folder**:\n\n```bash\npython src\u002Fplay.py\n```\n\nBy default, you visualize the policy playing in the world model. To play yourself, or switch to the real environment, use the controls described below.\n\n```txt\nControls (play mode)\n\n(Game-specific commands will be printed on start up)\n\n⏎   : reset environment\n\nm   : switch controller (policy\u002Fhuman)\n↑\u002F↓ : imagination horizon (+1\u002F-1)\n←\u002F→ : next environment [world model ←→ real env (test) ←→ real env (train)]\n\n.   : pause\u002Funpause\ne   : step-by-step (when paused)\n```\n\nAdd `-r` to toggle \"recording mode\" (works only in play mode). Every completed episode will be saved in `dataset\u002Frec_\u003Cenv_name>_\u003Ccontroller>`. For instance:\n\n- `dataset\u002Frec_wm_π`: Policy playing in world model.\n- `dataset\u002Frec_wm_H`: Human playing in world model.\n- `dataset\u002Frec_test_H`: Human playing in test real environment.\n\nYou can then use the \"dataset mode\" described in the next section to replay the stored episodes.\n\n\u003Ca name=\"dataset_mode\">\u003C\u002Fa>\n### [⬆️](#quick_links) Dataset mode (add `-d`)\n\n**In the run folder**, to visualize the datasets contained in the `dataset` subfolder, add `-d` to switch to \"dataset mode\":\n\n```bash\npython src\u002Fplay.py -d\n```\n\nYou can use the controls described below to navigate the datasets and episodes.\n\n```txt\nControls (dataset mode)\n\nm   : next dataset (if multiple datasets, like recordings, etc)\n↑\u002F↓ : next\u002Fprevious episode\n←\u002F→ : next\u002Fprevious timestep in episodes\nPgUp: +10 timesteps\nPgDn: -10 timesteps\n⏎   : back to first timestep\n```\n\n\u003Ca name=\"other_options\">\u003C\u002Fa>\n### [⬆️](#quick_links) Other options, common to play\u002Fdataset modes\n\n```txt\n--fps FPS             Target frame rate (default 15).\n--size SIZE           Window size (default 800).\n--no-header           Remove header.\n```\n\n\u003Ca name=\"structure\">\u003C\u002Fa>\n## [⬆️](#quick_links) Run folder structure\n\nEach new run is located at `outputs\u002FYYYY-MM-DD\u002Fhh-mm-ss\u002F`. This folder is structured as follows:\n\n```txt\noutputs\u002FYYYY-MM-DD\u002Fhh-mm-ss\u002F\n│\n└─── checkpoints\n│   │   state.pt  # full training state\n│   │\n│   └─── agent_versions\n│       │   ...\n│       │   agent_epoch_00999.pt\n│       │   agent_epoch_01000.pt  # agent weights only\n│\n└─── config\n│   |   trainer.yaml\n|\n└─── dataset\n│   │\n│   └─── train\n│   |   │   info.pt\n│   |   │   ...\n|   |\n│   └─── test\n│       │   info.pt\n│       │   ...\n│\n└─── scripts\n│   │   resume.sh\n|   |   ...\n|\n└─── src\n|   |   main.py\n|   |   ...\n|\n└─── wandb\n    |   ...\n```\n\n\u003Ca name=\"results\">\u003C\u002Fa>\n## [⬆️](#quick_links) Results\n\nThe file [results\u002Fdata\u002FDIAMOND.json](results\u002Fdata\u002FDIAMOND.json) contains the results for each game and seed used in the paper.\n\nThe DDPM code used for Section 5.1 of the paper can be found on the [ddpm](https:\u002F\u002Fgithub.com\u002Feloialonso\u002Fdiamond\u002Ftree\u002Fddpm) branch.\n\n\u003Ca name=\"citation\">\u003C\u002Fa>\n## [⬆️](#quick-links) Citation\n\n```text\n@inproceedings{alonso2024diffusionworldmodelingvisual,\n      title={Diffusion for World Modeling: Visual Details Matter in Atari},\n      author={Eloi Alonso and Adam Jelley and Vincent Micheli and Anssi Kanervisto and Amos Storkey and Tim Pearce and François Fleuret},\n      booktitle={Thirty-eighth Conference on Neural Information Processing Systems}}\n      year={2024},\n      url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2405.12399},\n}\n```\n\n\u003Ca name=\"credits\">\u003C\u002Fa>\n## [⬆️](#quick_links) Credits\n\n- [https:\u002F\u002Fgithub.com\u002Fcrowsonkb\u002Fk-diffusion\u002F](https:\u002F\u002Fgithub.com\u002Fcrowsonkb\u002Fk-diffusion\u002F)\n- [https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Fhuggingface_hub](https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Fhuggingface_hub)\n- [https:\u002F\u002Fgithub.com\u002Fgoogle-research\u002Frliable](https:\u002F\u002Fgithub.com\u002Fgoogle-research\u002Frliable)\n- [https:\u002F\u002Fgithub.com\u002Fpytorch\u002Fpytorch](https:\u002F\u002Fgithub.com\u002Fpytorch\u002Fpytorch)\n","# 用于世界建模的扩散模型：Atari 游戏中的视觉细节至关重要（NeurIPS 2024 Spotlight）\n\n[**简而言之**] 💎 DIAMOND（DIffusion As a Model Of eNvironment Dreams）是一种完全在扩散世界模型中训练的强化学习智能体。\n\n🌍 [项目页面](https:\u002F\u002Fdiamond-wm.github.io) • 🤓 [论文](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2405.12399) • 𝕏 [Atari 相关推文](https:\u002F\u002Fx.com\u002FEloiAlonso1\u002Fstatus\u002F1793916382779982120) • 𝕏 [CSGO 相关推文](https:\u002F\u002Fx.com\u002FEloiAlonso1\u002Fstatus\u002F1844803606064611771) • 💬 [Discord](https:\u002F\u002Fdiscord.gg\u002F74vha5RWPg)\n\n\u003Cdiv align='center'>\n  在 Atari 世界模型的自回归想象中运行的强化学习智能体\n  \u003Cbr>\n  \u003Cimg alt=\"DIAMOND 智能体在 WM 中\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Feloialonso_diamond_readme_d015e1719fe1.png\">\n\n\u003C\u002Fdiv>\n\n\u003Cdiv align='center'>\n  CSGO 世界模型中的真人玩家（完整质量视频 \u003Ca href=\"https:\u002F\u002Fdiamond-wm.github.io\u002Fstatic\u002Fvideos\u002Fgrid.mp4\">在此\u003C\u002Fa>）\n  \u003Cbr>\n  \u003Cimg alt=\"DIAMOND 智能体在 WM 中\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Feloialonso_diamond_readme_134ff867428c.png\">\n\u003C\u002Fdiv>\n\n使用 [miniconda](https:\u002F\u002Fdocs.anaconda.com\u002Ffree\u002Fminiconda\u002Fminiconda-install\u002F) 快速安装以试用我们的 [预训练世界模型](#try)：\n\n>```bash\n>git clone https:\u002F\u002Fgithub.com\u002Feloialonso\u002Fdiamond.git\n>cd diamond\n>conda create -n diamond python=3.10\n>conda activate diamond\n>pip install -r requirements.txt\n>```\n\n对于 Atari（世界模型 + 强化学习智能体）：\n\n>```bash\n>python src\u002Fplay.py --pretrained\n>```\n\n对于 CSGO（仅世界模型）：\n\n>```bash\n>git checkout csgo\n>python src\u002Fplay.py\n>```\n\n然后按下 `m` 键即可接管控制权（默认情况下由策略控制）！\n\n**警告**：Atari ROM 将随依赖项一起下载，这意味着您确认自己拥有使用这些 ROM 的许可。\n\n## CSGO\n\n\n**编辑**：请查看 [csgo 分支](https:\u002F\u002Fgithub.com\u002Feloialonso\u002Fdiamond\u002Ftree\u002Fcsgo)，试用我们基于 *反恐精英：全球攻势* 训练的 DIAMOND 世界模型！\n\n```bash\ngit checkout csgo\npython src\u002Fplay.py\n```\n> 注意：在 Apple Silicon 上，您必须启用 MPS 后端的 CPU 回退功能，即设置 `PYTORCH_ENABLE_MPS_FALLBACK=1` 后再运行 `python src\u002Fplay.py`。\n\n\u003Ca name=\"quick_links\">\u003C\u002Fa>\n## 快速链接\n\n- [试用我们的可玩扩散世界模型](#try)\n- [启动训练流程](#launch)\n- [配置](#configuration)\n- [可视化](#visualization)\n  - [游玩模式（默认）](#play_mode)\n  - [数据集模式（添加 `-d`）](#dataset_mode)\n  - [其他选项，适用于游玩和数据集模式](#other_options)\n- [运行文件夹结构](#structure)\n- [结果](#results)\n- [引用](#citation)\n- [致谢](#credits)\n\n\u003Ca name=\"try\">\u003C\u002Fa>\n## [⬆️](#quick_links) 试用我们的可玩扩散世界模型\n\n```bash\npython src\u002Fplay.py --pretrained\n```\n\n然后选择一款游戏，系统将从我们在 Hugging Face Hub上的[仓库 🤗](https:\u002F\u002Fhuggingface.co\u002Feloialonso\u002Fdiamond) 下载并缓存在您的机器上，预训练好的 Atari 100k 数据集上的世界模型和策略。\n\n您可以尝试以下操作：\n- 按下 `m` 键在智能体和人类之间切换控制方式（默认为智能体控制）。\n- 按下 `↑\u002F↓` 键调整想象视野（默认值为 50）。\n\n要调整已训练扩散世界模型的采样参数（去噪步数、随机性、顺序等），例如在采样速度和质量之间进行权衡，请编辑 `config\u002Ftrainer.yaml` 文件中的 `world_model_env.diffusion_sampler` 部分。\n\n更多关于可用命令和选项的详细信息，请参阅 [可视化](#visualization) 部分。\n\n\u003Ca name=\"launch\">\u003C\u002Fa>\n## [⬆️](#quick_links) 启动训练流程\n\n要在 cuda:0 上使用论文中使用的超参数进行训练，请运行：\n\n```bash\npython src\u002Fmain.py env.train.id=BreakoutNoFrameskip-v4 common.devices=0\n```\n\n这将在 `outputs\u002FYYYY-MM-DD\u002Fhh-mm-ss\u002F` 目录下创建一个新的运行文件夹。\n\n若要恢复意外中断的训练，请进入该运行文件夹并执行：\n\n```bash\n.\u002Fscripts\u002Fresume.sh\n```\n\n\u003Ca name=\"configuration\">\u003C\u002Fa>\n## [⬆️](#quick_links) 配置\n\n我们使用 [Hydra](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhydra) 进行配置管理。\n\n所有配置文件都位于 `config` 文件夹中：\n\n- `config\u002Ftrainer.yaml`：主配置文件。\n- `config\u002Fagent\u002Fdefault.yaml`：架构超参数。\n- `config\u002Fenv\u002Fatari.yaml`：环境超参数。\n\n您可以在 `config\u002Ftrainer.yaml` 文件的 `wandb` 部分开启 [weights & biases](https:\u002F\u002Fwandb.ai) 日志记录功能。\n\n将 `config\u002Ftrainer.yaml` 文件中的 `training.model_free=true` 设置为 true，即可“断开”世界模型的连接，从而执行标准的无模型强化学习。\n\n\u003Ca name=\"visualization\">\u003C\u002Fa>\n## [⬆️](#quick_links) 可视化\n\n\u003Ca name=\"play_mode\">\u003C\u002Fa>\n### [⬆️](#quick_links) 游玩模式（默认）\n\n要可视化您最近的检查点，请从 **运行文件夹** 中运行：\n\n```bash\npython src\u002Fplay.py\n```\n\n默认情况下，您将看到策略在世界模型中运行。如果您想亲自操控或切换到真实环境，可以使用下面介绍的控制键。\n\n```txt\n控制键（游玩模式）\n\n（游戏特定的命令将在启动时显示）\n\n⏎   ：重置环境\n\nm   ：切换控制器（策略\u002F人类）\n↑\u002F↓ ：想象视野（+1\u002F-1）\n←\u002F→ ：下一个环境 [世界模型 ←→ 测试真实环境 ←→ 训练真实环境]\n\n.   ：暂停\u002F继续\ne   ：单步执行（暂停时）\n```\n\n添加 `-r` 可以切换“录制模式”（仅在游玩模式下有效）。每个完成的回合都会保存在 `dataset\u002Frec_\u003Cenv_name>_\u003Ccontroller>` 中。例如：\n\n- `dataset\u002Frec_wm_π`：策略在世界模型中运行。\n- `dataset\u002Frec_wm_H`：人类在世界模型中运行。\n- `dataset\u002Frec_test_H`：人类在测试真实环境中运行。\n\n随后，您可以使用下一节中描述的“数据集模式”来回放存储的回合。\n\n\u003Ca name=\"dataset_mode\">\u003C\u002Fa>\n### [⬆️](#quick_links) 数据集模式（添加 `-d`）\n\n**在运行文件夹中**，要可视化 `dataset` 子文件夹中的数据集，请添加 `-d` 切换到“数据集模式”：\n\n```bash\npython src\u002Fplay.py -d\n```\n\n您可以使用下面介绍的控制键来浏览数据集和回合。\n\n```txt\n控制键（数据集模式）\n\nm   ：下一个数据集（如果有多个数据集，如录制内容等）\n↑\u002F↓ ：下一个\u002F上一个回合\n←\u002F→ ：回合中的下一个\u002F上一个时间步\nPgUp：前进 10 个时间步\nPgDn：后退 10 个时间步\n⏎   ：返回第一个时间步\n```\n\n\u003Ca name=\"other_options\">\u003C\u002Fa>\n### [⬆️](#quick_links) 其他选项，适用于游玩和数据集模式\n\n```txt\n--fps FPS             目标帧率（默认 15）。\n--size SIZE           窗口大小（默认 800）。\n--no-header           移除标题栏。\n```\n\n\u003Ca name=\"structure\">\u003C\u002Fa>\n\n## [⬆️](#quick_links) 运行文件夹结构\n\n每次新的运行都会保存在 `outputs\u002FYYYY-MM-DD\u002Fhh-mm-ss\u002F` 目录下。该文件夹的结构如下：\n\n```txt\noutputs\u002FYYYY-MM-DD\u002Fhh-mm-ss\u002F\n│\n└─── checkpoints\n│   │   state.pt  # 完整的训练状态\n│   │\n│   └─── agent_versions\n│       │   ...\n│       │   agent_epoch_00999.pt\n│       │   agent_epoch_01000.pt  # 仅包含智能体权重\n│\n└─── config\n│   |   trainer.yaml\n|\n└─── dataset\n│   │\n│   └─── train\n│   |   │   info.pt\n│   |   │   ...\n|   |\n│   └─── test\n│       │   info.pt\n│       │   ...\n│\n└─── scripts\n│   │   resume.sh\n|   |   ...\n|\n└─── src\n|   |   main.py\n|   |   ...\n|\n└─── wandb\n    |   ...\n```\n\n\u003Ca name=\"results\">\u003C\u002Fa>\n## [⬆️](#quick_links) 结果\n\n文件 [results\u002Fdata\u002FDIAMOND.json](results\u002Fdata\u002FDIAMOND.json) 包含了论文中所使用的所有游戏和随机种子的实验结果。\n\n用于论文第5.1节的DDPM代码可以在 [ddpm](https:\u002F\u002Fgithub.com\u002Feloialonso\u002Fdiamond\u002Ftree\u002Fddpm) 分支中找到。\n\n\u003Ca name=\"citation\">\u003C\u002Fa>\n## [⬆️](#quick-links) 引用\n\n```text\n@inproceedings{alonso2024diffusionworldmodelingvisual,\n      title={Diffusion for World Modeling: Visual Details Matter in Atari},\n      author={Eloi Alonso and Adam Jelley and Vincent Micheli and Anssi Kanervisto and Amos Storkey and Tim Pearce and François Fleuret},\n      booktitle={Thirty-eighth Conference on Neural Information Processing Systems}}\n      year={2024},\n      url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2405.12399},\n}\n```\n\n\u003Ca name=\"credits\">\u003C\u002Fa>\n## [⬆️](#quick_links) 致谢\n\n- [https:\u002F\u002Fgithub.com\u002Fcrowsonkb\u002Fk-diffusion\u002F](https:\u002F\u002Fgithub.com\u002Fcrowsonkb\u002Fk-diffusion\u002F)\n- [https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Fhuggingface_hub](https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Fhuggingface_hub)\n- [https:\u002F\u002Fgithub.com\u002Fgoogle-research\u002Frliable](https:\u002F\u002Fgithub.com\u002Fgoogle-research\u002Frliable)\n- [https:\u002F\u002Fgithub.com\u002Fpytorch\u002Fpytorch](https:\u002F\u002Fgithub.com\u002Fpytorch\u002Fpytorch)","# DIAMOND 快速上手指南\n\nDIAMOND (DIffusion As a Model Of eNvironment Dreams) 是一个完全在扩散世界模型中训练的强化学习智能体，支持 Atari 和 CS:GO 等环境。\n\n## 环境准备\n\n*   **操作系统**: Linux \u002F macOS (Windows 需自行配置兼容环境)\n*   **硬件要求**: 推荐配备 NVIDIA GPU (CUDA 支持)；Apple Silicon (M1\u002FM2\u002FM3) 用户需注意后端配置。\n*   **前置依赖**:\n    *   [Miniconda](https:\u002F\u002Fdocs.anaconda.com\u002Ffree\u002Fminiconda\u002Fminiconda-install\u002F) 或 Anaconda\n    *   Git\n    *   Python 3.10\n\n> **注意**: 运行 Atari 游戏时，脚本会自动下载对应的 ROM 文件。请确保您拥有使用这些 ROM 的合法授权。\n\n## 安装步骤\n\n1.  **克隆项目代码**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Feloialonso\u002Fdiamond.git\n    cd diamond\n    ```\n\n2.  **创建并激活 Conda 环境**\n    ```bash\n    conda create -n diamond python=3.10\n    conda activate diamond\n    ```\n\n3.  **安装依赖包**\n    > **国内加速建议**: 如果 `pip` 下载速度慢，建议使用清华或阿里镜像源。\n    ```bash\n    # 使用默认源\n    pip install -r requirements.txt\n    \n    # 或使用清华镜像源 (推荐国内用户)\n    pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n    ```\n\n## 基本使用\n\n### 1. 体验预训练模型 (Atari)\n直接运行以下命令，系统将自动从 Hugging Face 下载预训练的世界模型和策略模型（首次运行需联网）。\n\n```bash\npython src\u002Fplay.py --pretrained\n```\n\n*   **操作说明**:\n    *   启动后选择游戏。\n    *   默认由 **AI 策略** 自动游玩。\n    *   按 `m` 键：切换控制权（在 AI 策略与人类玩家之间切换）。\n    *   按 `↑` \u002F `↓` 键：调整想象步长 (imagination horizon)。\n    *   按 `←` \u002F `→` 键：切换环境模式 (世界模型 ↔ 真实测试环境 ↔ 真实训练环境)。\n\n### 2. 体验 CS:GO 世界模型\nCS:GO 模型位于独立分支，需切换分支后运行。\n\n```bash\ngit checkout csgo\npython src\u002Fplay.py\n```\n\n*   **Apple Silicon 用户特别注意**:\n    在 M 系列芯片 Mac 上运行 CS:GO 模型时，必须启用 MPS 后端回退机制：\n    ```bash\n    PYTORCH_ENABLE_MPS_FALLBACK=1 python src\u002Fplay.py\n    ```\n\n### 3. 开始训练 (可选)\n若需在本地重新训练模型（以 Breakout 游戏为例，使用 CUDA 0）：\n\n```bash\npython src\u002Fmain.py env.train.id=BreakoutNoFrameskip-v4 common.devices=0\n```\n训练产出将保存在 `outputs\u002FYYYY-MM-DD\u002Fhh-mm-ss\u002F` 目录下。","某游戏 AI 研发团队正在尝试为经典街机游戏（如 Atari）开发高智能代理，但受限于真实环境交互的高成本与低效率，训练进程举步维艰。\n\n### 没有 diamond 时\n- **样本效率极低**：传统强化学习需要在真实游戏环境中进行数百万次试错，消耗大量计算资源和时间。\n- **视觉细节丢失**：现有的世界模型往往生成模糊的预测画面，导致代理无法识别关键的游戏像素细节（如子弹位置、敌人动向）。\n- **泛化能力受限**：模型难以在未见过的游戏场景中做出准确决策，一旦环境微调就需要重新收集数据训练。\n- **调试黑盒化**：开发者无法直观地“进入”模型的想象空间查看其决策逻辑，只能依赖最终的得分报表进行推测。\n\n### 使用 diamond 后\n- **纯想象空间训练**：diamond 利用扩散模型构建高保真世界，代理完全在模型的“梦境”中进行自我对弈和训练，大幅减少了对真实环境的依赖。\n- **高清视觉预测**：得益于扩散生成能力，diamond 能还原清晰的逐帧游戏画面，确保代理能精准捕捉高速运动中的微小视觉特征。\n- **零样本迁移潜力**：在高质量世界模型中习得的策略具有更强的鲁棒性，能更灵活地适应游戏内的动态变化而无需重新采集数据。\n- **可交互式调试**：研究人员可随时按下按键接管控制权，或在“想象模式”下调整预测步长，直观观察代理在不同未来推演中的行为逻辑。\n\ndiamond 通过将强化学习完全迁移至高清扩散世界模型中，实现了从“盲目试错”到“高效做梦演练”的范式转变。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Feloialonso_diamond_d015e171.gif","eloialonso","Eloi Alonso","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Feloialonso_03593b4b.png","Co-Founder of General Intuition. PhD on world models and reinforcement learning.",null,"https:\u002F\u002Feloialonso.github.io","https:\u002F\u002Fgithub.com\u002Feloialonso",[80,84],{"name":81,"color":82,"percentage":83},"Python","#3572A5",99.9,{"name":85,"color":86,"percentage":87},"Shell","#89e051",0.1,2007,149,"2026-04-06T01:55:22","MIT","Linux, macOS","训练需要 NVIDIA GPU (CUDA)，示例命令指定 cuda:0；macOS Apple Silicon 可使用 MPS 后端 (需设置环境变量 PYTORCH_ENABLE_MPS_FALLBACK=1)","未说明",{"notes":96,"python":97,"dependencies":98},"1. 推荐使用 Miniconda 创建名为 'diamond' 的虚拟环境。2. 运行 Atari 游戏时会自动下载 ROM 文件，用户需确认拥有使用许可。3. 首次运行预训练模型会从 Hugging Face Hub 下载权重并缓存。4. 在 Apple Silicon 设备上运行 CSGO 模型时，必须启用 CPU 回退机制以避免 MPS 后端错误。5. 配置文件使用 Hydra 管理，可通过修改 yaml 文件调整扩散采样参数。","3.10",[99,100,101,102,103,104,105,106],"torch","hydra-core","gymnasium","ale-py","huggingface_hub","wandb","opencv-python","numpy",[15,14,108],"其他",[110,111,112,113,114,115,116,117],"atari","deep-learning","diffusion-models","machine-learning","reinforcement-learning","research","world-models","artificial-intelligence","2026-03-27T02:49:30.150509","2026-04-07T07:01:34.978631",[121,126,131,136,141,146],{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},21288,"如何在 Windows 上启用 GPU 加速？","在 Windows 上，建议通过 WSL (Windows Subsystem for Linux) 运行以获得最佳 GPU 支持。步骤如下：\n1. 以管理员身份打开 PowerShell，运行 `wsl --install` 并重启电脑。\n2. 重启后再次打开 PowerShell，输入 `wsl` 进入 Linux 环境。\n3. 在 WSL 中按照 Linux 指南安装 Miniconda。\n4. 确保安装了支持 CUDA 的 PyTorch 版本（在 Python 中运行 `import torch; torch.cuda.is_available()` 应返回 True）。\n5. 复制项目 README 中的安装指令进行后续操作。","https:\u002F\u002Fgithub.com\u002Feloialonso\u002Fdiamond\u002Fissues\u002F9",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},21289,"遇到 'shimmy[atari]' 包版本冲突错误如何解决？","该冲突通常由 Python 版本不兼容引起。推荐解决方案是使用 Python 3.10 版本，这与项目的 requirements 文件完全兼容，可同时支持 Atari 和 CS:GO 分支。\n如果必须使用 Python 3.12 且仅运行 CS:GO 分支，可以将依赖项 `gymnasium[atari,accept-rom-license]==0.29.1` 修改为 `gymnasium==0.29.1`，但这会导致 Atari 分支无法运行。","https:\u002F\u002Fgithub.com\u002Feloialonso\u002Fdiamond\u002Fissues\u002F8",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},21290,"运行 main.py 时出现 'FileNotFoundError: No such file or directory' 错误怎么办？","这通常是因为 `root_dir` 路径解析不正确。可以通过修改 `src\u002Fmain.py` 第 22 行附近的代码来修复。将获取根目录的代码改为：\n```python\nroot_dir = Path(hydra.utils.get_original_cwd()).parent\n```\n或者手动硬编码正确的根目录路径。此外，可以在 `src\u002Ftrainer.py` 的初始化部分添加打印语句 `print(f\"root_dir={root_dir.absolute()}\")` 和 `print(f\"cwd={Path.cwd().absolute()}\")` 来调试当前工作目录是否正确指向实验输出文件夹。","https:\u002F\u002Fgithub.com\u002Feloialonso\u002Fdiamond\u002Fissues\u002F41",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},21291,"在 24GB 显存显卡（如 RTX 4090）上训练时出现 OOM (显存溢出) 错误如何解决？","这是一个已知的配置问题。维护者已在最新提交 (commit a4396eb) 中修复了训练配置文件，解决了动态模型和上采样模型合并导致的显存占用过高问题。请拉取最新代码即可在 24GB 显存的 GPU 上正常训练。之前的配置（去噪器 batch size 64, grad_acc 2）在旧代码中会导致显存溢出。","https:\u002F\u002Fgithub.com\u002Feloialonso\u002Fdiamond\u002Fissues\u002F29",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},21292,"加载模型时遇到 'RuntimeError: PytorchStreamReader failed reading zip archive' 错误是什么原因？","该错误通常表示模型检查点文件（checkpoint）下载不完整或已损坏，导致其不是一个有效的 ZIP 归档文件。解决方法是重新下载该检查点文件，确保下载过程完整无误。如果问题依旧，建议提供更多报错细节（如具体是哪个文件）以便进一步排查。","https:\u002F\u002Fgithub.com\u002Feloialonso\u002Fdiamond\u002Fissues\u002F25",{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},21293,"如何构建自己的训练数据集？CS:GO 数据集在哪里获取？","可以参考项目中提供的 CS:GO 数据集作为示例。低分辨率数据集是从高分辨率数据生成的，具体处理脚本可见 `process_csgo_tar_files.py`。关于 CS:GO 原始数据，由于版权原因曾暂时不可用，但目前已上传至 HuggingFace，可以前往相关仓库或 HuggingFace 页面下载样本数据以参考格式构建自定义数据集。","https:\u002F\u002Fgithub.com\u002Feloialonso\u002Fdiamond\u002Fissues\u002F19",[]]