[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-ByteDance-Seed--m3-agent":3,"tool-ByteDance-Seed--m3-agent":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 真正成长为懂上",160411,2,"2026-04-18T23:33:24",[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[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":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":66,"owner_location":66,"owner_email":76,"owner_twitter":66,"owner_website":77,"owner_url":78,"languages":79,"stars":88,"forks":89,"last_commit_at":90,"license":91,"difficulty_score":92,"env_os":93,"env_gpu":94,"env_ram":95,"env_deps":96,"category_tags":107,"github_topics":66,"view_count":32,"oss_zip_url":66,"oss_zip_packed_at":66,"status":17,"created_at":109,"updated_at":110,"faqs":111,"releases":117},9373,"ByteDance-Seed\u002Fm3-agent","m3-agent",null,"m3-agent 是一款具备长期记忆能力的多模态智能体框架，旨在让 AI 像人类一样通过“看”和“听”来感知世界，并持续积累知识与经验。它不仅能处理实时的视觉与听觉输入，还能构建包含情景记忆（具体经历）和语义记忆（通用知识）的长期记忆库。这些记忆以实体为中心进行组织，帮助智能体在复杂环境中保持更深层次、更一致的理解力。\n\n面对用户指令，m3-agent 能够自主进行多轮迭代推理，并从记忆中精准检索相关信息以完成任务，有效解决了传统 AI 在处理长视频或长时间跨度的交互时容易“遗忘”上下文、难以进行连贯推理的痛点。为了验证其能力，研究团队还推出了配套的 M3-Bench 评测基准，涵盖机器人第一视角及多样化网络场景的长视频问答任务。实验显示，经过强化学习训练的 m3-agent 在多项测试中均超越了基于顶级大模型的提示工程方案。\n\n这款工具特别适合人工智能研究人员、多模态算法开发者以及致力于构建具身智能（如机器人助手）的工程师使用。其独特的技术亮点在于引入了类人的双重记忆机制，并采用强化学习优化推理过程，为打造拥有真正“长期记忆”的实用型 AI 助手提供了全新的设计思路与技术基础。","\u003Cdiv align=left>\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FByteDance-Seed_m3-agent_readme_6a0d1d7b7f37.png\" width=40%>\n\u003C\u002Fdiv>\n\n\u003Ch1 style=\"text-align: center;\">Seeing, Listening, Remembering, and Reasoning: A Multimodal Agent with Long-Term Memory\u003Cbr>ICLR 2026\u003C\u002Fh1>\n\n[![arXiv](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-2508.09736-b31b1b.svg)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2508.09736)\n[![Demo](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fhomepage-M3--Agent-blue)](https:\u002F\u002Fm3-agent.github.io)\n[![Model](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fmodel_HF-Memorization-green)](https:\u002F\u002Fhuggingface.co\u002FByteDance-Seed\u002FM3-Agent-Memorization)\n[![Model](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fmodel_HF-Control-darkgreen)](https:\u002F\u002Fhuggingface.co\u002FByteDance-Seed\u002FM3-Agent-Control)\n[![Data](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdata-M3--Bench-F9D371)](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FByteDance-Seed\u002FM3-Bench)\n\n## Abstract\n\nWe introduce M3-Agent, a novel multimodal agent framework equipped with long-term memory. Like humans, M3-Agent can process real-time visual and auditory inputs to build and update its long-term memory. Beyond episodic memory, it also develops semantic memory, enabling it to accumulate world knowledge over time. Its memory is organized in an entity-centric, multimodal format, allowing deeper and more consistent understanding of the environment. Given an instruction, M3-Agent autonomously performs multi-turn, iterative reasoning and retrieves relevant information from memory to accomplish the task. To evaluate memory effectiveness and memory-based reasoning in multimodal agents, we develop M3-Bench, a new long-video question answering benchmark. M3-Bench comprises 100 newly recorded real-world videos captured from a robot’s perspective (M3-Bench-robot) and 920 web-sourced videos across diverse scenarios (M3-Bench-web). We annotate question-answer pairs designed to test key capabilities essential for agent applications, such as human understanding, general knowledge extraction, and cross- modal reasoning. Experimental results show that M3-Agent, trained via reinforcement learning, outperforms the strongest baseline, a prompting agent using Gemini-1.5-pro and GPT-4o, achieving 8.2%, 7.7%, and 5.3% higher accuracy on M3-Bench-robot, M3-Bench-web and VideoMME-long, respectively. Our work advances the multimodal agents toward more human-like long-term memory and provides insights into their practical design.\n\n![illustration](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FByteDance-Seed_m3-agent_readme_7fd691e3e3e9.png)\n\n## A demo of M3-Agent as a personal assistant!\n\n[![Watch the video](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FByteDance-Seed_m3-agent_readme_9a434a9c9304.png)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=XUx31cBanfo)\n\nThe video can also be accessed on [Bilibili](https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1h9YpznEx9\u002F)\n\n## M3-Bench\n\nWe introduce M3-Bench, an long video question answerin dataset designed to evaluate the capability of multimodal agents to perform reasoning over long-term memory. Each instance in M3-Bench comprises a long video simulating the perceptual input of an agent, along with a series of open-ended question-answer pairs. The dataset is organized into two subsets:\n1. M3-Bench-robot, which contains 100 real-world videos recorded from a robot's first-person perspective, \n2. M3-Bench-web, which includes 920 web-sourced videos covering a wider variety of content and scenarios. \n\n![architecture](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FByteDance-Seed_m3-agent_readme_1866eb305f5e.png)\\\n[link1](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=7W0gRqCRMZQ), [link2](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=Efk3K4epEzg), [link3](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=6Unxpxy-Ct4)\\\nExamples from M3-Bench. M3-Bench-robot features long videos from realistic robotic work scenarios, while M3-Bench-web expands the video diversity to support broader evaluation. The question-answering tasks are designed to assess a multimodal agent’s ability to construct consistent and reliable long-term memory, as well as to reason effectively over that memory.\n\n![architecture](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FByteDance-Seed_m3-agent_readme_77207fbcda26.png)\n\nStatistical overview of M3-Bench benchmark. Each question may correspond to multiple question types.\n\n### Videos\n\n1. Download M3-Bench-robot from [huggingface](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FByteDance-Seed\u002FM3-Bench\u002Ftree\u002Fmain\u002Fvideos\u002Frobot)\n2. Download M3-Bench-web from video_url in `data\u002Fannotations\u002Fweb.json`\\\n\n### Intermediate Outputs\n\n**[optional]** You can either download the intermediate outputs we have processed from [huggingface](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FByteDance-Seed\u002FM3-Bench\u002Ftree\u002Fmain\u002Fintermediate_outputs) or generate them directly from the video by the following steps.\n\n### Memory Graphs\n\n**[optional]** You can either download and extract the memory graphs we have processed from [huggingface](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FByteDance-Seed\u002FM3-Bench\u002Ftree\u002Fmain\u002Fmemory_graphs) or generate them directly from the video by the following steps.\n\n## M3-Agent\n\n![architecture](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FByteDance-Seed_m3-agent_readme_b18daf2f2b40.png)\n\nArchitecture of M3-Agent. The system consists of two parallel processes: memorization and control. During memorization, M3-Agent processes video and audio streams online to generate episodic and semantic memory. During control, it executes instructions by iteratively thinking and retrieving from long-term memory. The long-term memory is structured as a multimodal graph.\n\n## Experimental Results\n\n![architecture](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FByteDance-Seed_m3-agent_readme_31cff2d89fe2.png)\n\nResults on M3-Bench-robot, M3-Bench-web, and VideoMME-long.\n\n## Run Locally\n\n> Before running, add api config in `configs\u002Fapi_config.json`\n\n### Memorization\n\nGenerate memory graphs for each video. The results are saved in `data\u002Fmemory_graphs`.\n\n- The following steps are required only if you haven't downloaded *intermediate_outputs* and *memory_graphs* from huggingface or want to process other videos not from M3-Bench.\n\n1. Set up environment\n\n```bash\nbash setup.sh\npip install git+https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers@f742a644ca32e65758c3adb36225aef1731bd2a8\npip install qwen-omni-utils==0.0.4\n```\n\n2. Cut Video\n\n   Cut the video into 30 second segments.\n\n```bash\n#!\u002Fbin\u002Fbash\n\nvideo=\"robot\u002Fbedroom_01\"\ninput=\"data\u002Fvideos\u002F$video.mp4\"\nmkdir -p \"data\u002Fclips\u002F$video\"\nduration=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 \"$input\")\nduration_seconds=$(echo \"$duration\" | awk '{print int($1)}')\n \nsegments=$((duration_seconds \u002F 30 + 1))\nfor ((i=0; i\u003Csegments; i++)); do\n    start=$((i * 30))\n    end=$(((i + 1) * 30))\n    output=\"data\u002Fclips\u002F$video\u002F$i.mp4\"\n    ffmpeg -ss $start -i \"$input\" -t 30 -c copy \"${output}\"\ndone\n```\n\n3. Prepare data\n\nPrepare a jsonl file with one video per line saved in `data\u002Fdata.jsonl`\n\n```json\n{\"id\": \"bedroom_01\", \"video_path\": \"data\u002Fvideos\u002Frobot\u002Fbedroom_01.mp4\", \"clip_path\": \"data\u002Fvideos\u002Fclips\u002Fbedroom_01\", \"mem_path\": \"data\u002Fvideos\u002Fmemory_graphs\u002Fbedroom_01.pkl\", \"intermediate_path\": \"data\u002Fvideos\u002Fintermediate_outputs\u002Frobot\u002Fbedroom_01\"}\n```\n\n\n4. Generate Intermediate Outputs\n\n   **This step uses Face Detection and Speaker Diarization tools to generate intermediate outputs.**\n\n   - If you want to use M3-Bench and have downloaded intermediate_outputs from huggingface, you can skip this step.\n\n   - Download audio embedding model and save into `models\\` from [pretrained_eres2netv2.ckpt](https:\u002F\u002Fwww.modelscope.cn\u002Fmodels\u002Fiic\u002Fspeech_eres2netv2_sv_zh-cn_16k-common\u002Fresolve\u002Fmaster\u002Fpretrained_eres2netv2.ckpt)\n\n   - Download [speakerlab](https:\u002F\u002Fgithub.com\u002Fmodelscope\u002F3D-Speaker\u002Ftree\u002Fmain\u002Fspeakerlab)\n\n   ```\n   m3-agent\n   ├── models\n   │   └── pretrained_eres2netv2.ckpt\n   └── speakerlab\n   ```\n\n```bash\npython m3_agent\u002Fmemorization_intermediate_outputs.py \\\n   --data_file data\u002Fdata.jsonl\n```\n\n5. Generate Memory Graphs\n\n   **This step uses the M3-Agent-Memorization model to generate memory graphs.**\n\n   - Download M3-Agent-Memorization from [huggingface](https:\u002F\u002Fhuggingface.co\u002FByteDance-Seed\u002FM3-Agent-Memorization)\n\n```bash\npython m3_agent\u002Fmemorization_memory_graphs.py \\\n   --data_file data\u002Fdata.jsonl\n```\n\n6. Memory Graph Visualization\n\n```bash\npython visualization.py \\\n   --mem_path data\u002Fmemory_graphs\u002Frobot\u002Fbedroom_01.pkl \\\n   --clip_id 1\n```\n\n### Control\n\n1. Set up environment\n\n```bash\nbash setup.sh\npip install transformers==4.51.0\npip install vllm==0.8.4\npip install numpy==1.26.4\n```\n\n2. Question Answering and Evaluation\n\n   **This step uses the M3-Agent-Control model to generate answer and the GPT-4o to evaluate the answer.**\n\n   - Download M3-Agent-Control from [huggingface](https:\u002F\u002Fhuggingface.co\u002FByteDance-Seed\u002FM3-Agent-Control)\n\n```bash\npython m3_agent\u002Fcontrol.py \\\n   --data_file data\u002Fannotations\u002Frobot.json\n```\n\n### Other Models\n\nIf you want to prompt other models to generate memory or answer question, only need to change the model inference into api calling and use the corresponding prompt.\n\nPrompts:\n\n1. Memorization\n   - Gemini\u002FGPT-4o: `mmagent.prompts.prompt_generate_captions_with_ids`\n   - Qwen2.5-Omni-7B: `mmagent.prompts.prompt_generate_full_memory`\n\n2. Control\n   - GPT-4o: `mmagent.prompts.prompt_answer_with_retrieval_final`\n\n\n## Training\n\n1. Memorization: https:\u002F\u002Fgithub.com\u002Fhyc2026\u002Fsft-qwen2.5-omni-thinker\n2. Control: https:\u002F\u002Fgithub.com\u002Fhyc2026\u002FM3-Agent-Training\n\n## Citation\nPlease cite us as:\n\n```BibTeX\n@misc{long2025seeing,\n      title={Seeing, Listening, Remembering, and Reasoning: A Multimodal Agent with Long-Term Memory}, \n      author={Lin Long, Yichen He, Wentao Ye, Yiyuan Pan, Yuan Lin, Hang Li, Junbo Zhao, Wei Li},\n      year={2025},\n      eprint={2508.09736},\n      archivePrefix={arXiv},\n      primaryClass={cs.CV}\n}\n```\n","\u003Cdiv align=left>\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FByteDance-Seed_m3-agent_readme_6a0d1d7b7f37.png\" width=40%>\n\u003C\u002Fdiv>\n\n\u003Ch1 style=\"text-align: center;\">看见、聆听、记忆与推理：具备长期记忆的多模态智能体\u003Cbr>ICLR 2026\u003C\u002Fh1>\n\n[![arXiv](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-2508.09736-b31b1b.svg)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2508.09736)\n[![Demo](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fhomepage-M3--Agent-blue)](https:\u002F\u002Fm3-agent.github.io)\n[![模型](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fmodel_HF-Memorization-green)](https:\u002F\u002Fhuggingface.co\u002FByteDance-Seed\u002FM3-Agent-Memorization)\n[![模型](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fmodel_HF-Control-darkgreen)](https:\u002F\u002Fhuggingface.co\u002FByteDance-Seed\u002FM3-Agent-Control)\n[![数据](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdata-M3--Bench-F9D371)](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FByteDance-Seed\u002FM3-Bench)\n\n## 摘要\n\n我们提出了M3-Agent，一个全新的配备长期记忆的多模态智能体框架。如同人类一样，M3-Agent能够实时处理视觉和听觉输入，构建并更新其长期记忆。除了情景记忆之外，它还发展出语义记忆，从而随着时间推移不断积累世界知识。其记忆以实体为中心、多模态的形式组织，使得对环境的理解更加深入且一致。在接收到指令后，M3-Agent会自主进行多轮迭代式推理，并从记忆中检索相关信息来完成任务。为了评估多模态智能体的记忆效能及其基于记忆的推理能力，我们开发了M3-Bench，一个新的长视频问答基准测试集。M3-Bench由100段全新录制的、从机器人视角拍摄的真实场景视频（M3-Bench-robot）以及920段来自网络、涵盖多种场景的视频（M3-Bench-web）组成。我们标注了问答对，旨在测试智能体应用中至关重要的关键能力，如理解人类意图、提取通用知识以及跨模态推理等。实验结果表明，通过强化学习训练的M3-Agent，在M3-Bench-robot、M3-Bench-web和VideoMME-long三个基准上分别比最强基线——使用Gemini-1.5-pro和GPT-4o的提示型智能体——高出8.2%、7.7%和5.3%的准确率。我们的工作推动了多模态智能体向更接近人类的长期记忆方向发展，并为其实际设计提供了重要启示。\n\n![插图](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FByteDance-Seed_m3-agent_readme_7fd691e3e3e9.png)\n\n## M3-Agent作为个人助理的演示！\n\n[![观看视频](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FByteDance-Seed_m3-agent_readme_9a434a9c9304.png)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=XUx31cBanfo)\n\n该视频也可在[Bilibili](https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1h9YpznEx9\u002F)上观看。\n\n## M3-Bench\n\n我们推出了M3-Bench，一个专为评估多模态智能体利用长期记忆进行推理能力而设计的长视频问答数据集。M3-Bench中的每个实例都包含一段模拟智能体感知输入的长视频，以及一系列开放式问答对。该数据集分为两个子集：\n1. M3-Bench-robot，包含100段从机器人第一人称视角录制的真实场景视频；\n2. M3-Bench-web，包含920段来自网络、内容和场景更为多样的视频。\n\n![架构](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FByteDance-Seed_m3-agent_readme_1866eb305f5e.png)\\\n[链接1](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=7W0gRqCRMZQ), [链接2](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=Efk3K4epEzg), [链接3](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=6Unxpxy-Ct4)\\\nM3-Bench中的示例。M3-Bench-robot收录了来自真实机器人工作场景的长视频，而M3-Bench-web则扩展了视频多样性，以支持更广泛的评估。问答任务的设计旨在评估多模态智能体构建连贯可靠长期记忆的能力，以及在其基础上进行有效推理的能力。\n\n![架构](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FByteDance-Seed_m3-agent_readme_77207fbcda26.png)\n\nM3-Bench基准的数据统计概览。每道题目可能对应多种题型。\n\n### 视频\n\n1. 从[Hugging Face](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FByteDance-Seed\u002FM3-Bench\u002Ftree\u002Fmain\u002Fvideos\u002Frobot)下载M3-Bench-robot。\n2. 从`data\u002Fannotations\u002Fweb.json`中的video_url下载M3-Bench-web。\n\n### 中间输出\n\n**[可选]** 您可以从[Hugging Face](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FByteDance-Seed\u002FM3-Bench\u002Ftree\u002Fmain\u002Fintermediate_outputs)下载我们已处理好的中间输出，也可以按照以下步骤直接从视频中生成。\n\n### 记忆图\n\n**[可选]** 您可以从[Hugging Face](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FByteDance-Seed\u002FM3-Bench\u002Ftree\u002Fmain\u002Fmemory_graphs)下载并提取我们已处理好的记忆图，或者按照以下步骤直接从视频中生成。\n\n## M3-Agent\n\n![架构](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FByteDance-Seed_m3-agent_readme_b18daf2f2b40.png)\n\nM3-Agent的系统架构。该系统由记忆和控制两大并行流程组成。在记忆过程中，M3-Agent在线处理视频和音频流，生成情景记忆和语义记忆。而在控制过程中，它则通过迭代思考和从长期记忆中检索信息来执行指令。长期记忆被组织成一个多模态图结构。\n\n## 实验结果\n\n![架构](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FByteDance-Seed_m3-agent_readme_31cff2d89fe2.png)\n\nM3-Bench-robot、M3-Bench-web和VideoMME-long上的实验结果。\n\n## 本地运行\n\n> 在运行之前，请先在`configs\u002Fapi_config.json`中添加API配置。\n\n### 记忆\n\n为每段视频生成记忆图。结果保存在 `data\u002Fmemory_graphs` 中。\n\n- 以下步骤仅在您尚未从 Hugging Face 下载 *intermediate_outputs* 和 *memory_graphs*，或希望处理非 M3-Bench 数据集中的其他视频时才需要执行。\n\n1. 搭建环境\n\n```bash\nbash setup.sh\npip install git+https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers@f742a644ca32e65758c3adb36225aef1731bd2a8\npip install qwen-omni-utils==0.0.4\n```\n\n2. 切分视频\n\n将视频切割成 30 秒一段的片段。\n\n```bash\n#!\u002Fbin\u002Fbash\n\nvideo=\"robot\u002Fbedroom_01\"\ninput=\"data\u002Fvideos\u002F$video.mp4\"\nmkdir -p \"data\u002Fclips\u002F$video\"\nduration=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 \"$input\")\nduration_seconds=$(echo \"$duration\" | awk '{print int($1)}')\n \nsegments=$((duration_seconds \u002F 30 + 1))\nfor ((i=0; i\u003Csegments; i++)); do\n    start=$((i * 30))\n    end=$(((i + 1) * 30))\n    output=\"data\u002Fclips\u002F$video\u002F$i.mp4\"\n    ffmpeg -ss $start -i \"$input\" -t 30 -c copy \"${output}\"\ndone\n```\n\n3. 准备数据\n\n准备一个每行包含一段视频的 JSONL 文件，保存为 `data\u002Fdata.jsonl`。\n\n```json\n{\"id\": \"bedroom_01\", \"video_path\": \"data\u002Fvideos\u002Frobot\u002Fbedroom_01.mp4\", \"clip_path\": \"data\u002Fvideos\u002Fclips\u002Fbedroom_01\", \"mem_path\": \"data\u002Fvideos\u002Fmemory_graphs\u002Fbedroom_01.pkl\", \"intermediate_path\": \"data\u002Fvideos\u002Fintermediate_outputs\u002Frobot\u002Fbedroom_01\"}\n```\n\n\n4. 生成中间输出\n\n   **此步骤使用人脸检测和说话人分离工具生成中间输出。**\n\n   - 如果您打算使用 M3-Bench 并已从 Hugging Face 下载了 intermediate_outputs，则可以跳过此步骤。\n\n   - 下载音频嵌入模型并保存到 `models\\` 目录下，文件名为 [pretrained_eres2netv2.ckpt](https:\u002F\u002Fwww.modelscope.cn\u002Fmodels\u002Fiic\u002Fspeech_eres2netv2_sv_zh-cn_16k-common\u002Fresolve\u002Fmaster\u002Fpretrained_eres2netv2.ckpt)。\n\n   - 下载 [speakerlab](https:\u002F\u002Fgithub.com\u002Fmodelscope\u002F3D-Speaker\u002Ftree\u002Fmain\u002Fspeakerlab)。\n\n   ```\n   m3-agent\n   ├── models\n   │   └── pretrained_eres2netv2.ckpt\n   └── speakerlab\n   ```\n\n```bash\npython m3_agent\u002Fmemorization_intermediate_outputs.py \\\n   --data_file data\u002Fdata.jsonl\n```\n\n5. 生成记忆图\n\n   **此步骤使用 M3-Agent-Memorization 模型生成记忆图。**\n\n   - 从 [Hugging Face](https:\u002F\u002Fhuggingface.co\u002FByteDance-Seed\u002FM3-Agent-Memorization) 下载 M3-Agent-Memorization。\n\n```bash\npython m3_agent\u002Fmemorization_memory_graphs.py \\\n   --data_file data\u002Fdata.jsonl\n```\n\n6. 记忆图可视化\n\n```bash\npython visualization.py \\\n   --mem_path data\u002Fmemory_graphs\u002Frobot\u002Fbedroom_01.pkl \\\n   --clip_id 1\n```\n\n### 控制\n\n1. 搭建环境\n\n```bash\nbash setup.sh\npip install transformers==4.51.0\npip install vllm==0.8.4\npip install numpy==1.26.4\n```\n\n2. 问答与评估\n\n   **此步骤使用 M3-Agent-Control 模型生成答案，并用 GPT-4o 对答案进行评估。**\n\n   - 从 [Hugging Face](https:\u002F\u002Fhuggingface.co\u002FByteDance-Seed\u002FM3-Agent-Control) 下载 M3-Agent-Control。\n\n```bash\npython m3_agent\u002Fcontrol.py \\\n   --data_file data\u002Fannotations\u002Frobot.json\n```\n\n### 其他模型\n\n如果您希望调用其他模型来生成记忆或回答问题，只需将模型推理替换为 API 调用，并使用相应的提示词即可。\n\n提示词：\n\n1. 记忆\n   - Gemini\u002FGPT-4o：`mmagent.prompts.prompt_generate_captions_with_ids`\n   - Qwen2.5-Omni-7B：`mmagent.prompts.prompt_generate_full_memory`\n\n2. 控制\n   - GPT-4o：`mmagent.prompts.prompt_answer_with_retrieval_final`\n\n\n## 训练\n\n1. 记忆：https:\u002F\u002Fgithub.com\u002Fhyc2026\u002Fsft-qwen2.5-omni-thinker\n2. 控制：https:\u002F\u002Fgithub.com\u002Fhyc2026\u002FM3-Agent-Training\n\n## 引用\n\n请按如下格式引用我们：\n\n```BibTeX\n@misc{long2025seeing,\n      title={Seeing, Listening, Remembering, and Reasoning: A Multimodal Agent with Long-Term Memory}, \n      author={Lin Long, Yichen He, Wentao Ye, Yiyuan Pan, Yuan Lin, Hang Li, Junbo Zhao, Wei Li},\n      year={2025},\n      eprint={2508.09736},\n      archivePrefix={arXiv},\n      primaryClass={cs.CV}\n}\n```","# M3-Agent 快速上手指南\n\nM3-Agent 是一个具备长期记忆的多模态智能体框架，能够像人类一样处理实时的视觉和听觉输入，构建并更新其长期记忆（包括情景记忆和语义记忆），从而执行多轮迭代推理以完成任务。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n- **操作系统**: Linux (推荐 Ubuntu 20.04+)\n- **Python**: 3.8 或更高版本\n- **GPU**: 支持 CUDA 的 NVIDIA 显卡（用于模型推理和训练）\n- **工具依赖**: `ffmpeg` (用于视频处理), `git`\n\n安装系统级依赖（以 Ubuntu 为例）：\n```bash\nsudo apt-get update\nsudo apt-get install -y ffmpeg git\n```\n\n## 安装步骤\n\n1. **克隆仓库并进入目录**\n   ```bash\n   git clone https:\u002F\u002Fgithub.com\u002FByteDance-Seed\u002FM3-Agent.git\n   cd M3-Agent\n   ```\n\n2. **运行初始化脚本**\n   ```bash\n   bash setup.sh\n   ```\n\n3. **安装核心 Python 依赖**\n   \n   **注意**：根据官方建议，需安装特定版本的 `transformers`。国内开发者若访问 Hugging Face 较慢，可配置镜像源加速。\n\n   ```bash\n   # 设置 pip 镜像源 (可选，推荐国内用户)\n   export PIP_INDEX_URL=https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n\n   # 安装特定版本的 transformers\n   pip install git+https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers@f742a644ca32e65758c3adb36225aef1731bd2a8\n\n   # 安装其他必要组件\n   pip install qwen-omni-utils==0.0.4\n   ```\n\n4. **配置 API Key**\n   \n   在运行前，需在 `configs\u002Fapi_config.json` 文件中配置所需的 API Key（如用于评估的 GPT-4o 或其他服务）。\n   ```bash\n   vim configs\u002Fapi_config.json\n   # 填入对应的 API Key 配置\n   ```\n\n## 基本使用\n\nM3-Agent 的核心流程分为两个阶段：**记忆构建 (Memorization)** 和 **控制推理 (Control)**。以下以最简单的单视频处理为例。\n\n### 第一步：准备数据\n\n假设你有一个名为 `bedroom_01.mp4` 的视频文件，首先将其放入 `data\u002Fvideos\u002Frobot\u002F` 目录，并创建数据描述文件 `data\u002Fdata.jsonl`。\n\n```json\n{\"id\": \"bedroom_01\", \"video_path\": \"data\u002Fvideos\u002Frobot\u002Fbedroom_01.mp4\", \"clip_path\": \"data\u002Fvideos\u002Fclips\u002Fbedroom_01\", \"mem_path\": \"data\u002Fvideos\u002Fmemory_graphs\u002Fbedroom_01.pkl\", \"intermediate_path\": \"data\u002Fvideos\u002Fintermediate_outputs\u002Frobot\u002Fbedroom_01\"}\n```\n\n*(可选) 如果视频较长，可先使用脚本将其切割为 30 秒片段：*\n```bash\n#!\u002Fbin\u002Fbash\nvideo=\"robot\u002Fbedroom_01\"\ninput=\"data\u002Fvideos\u002F$video.mp4\"\nmkdir -p \"data\u002Fclips\u002F$video\"\nduration=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 \"$input\")\nduration_seconds=$(echo \"$duration\" | awk '{print int($1)}')\n \nsegments=$((duration_seconds \u002F 30 + 1))\nfor ((i=0; i\u003Csegments; i++)); do\n    start=$((i * 30))\n    end=$(((i + 1) * 30))\n    output=\"data\u002Fclips\u002F$video\u002F$i.mp4\"\n    ffmpeg -ss $start -i \"$input\" -t 30 -c copy \"${output}\"\ndone\n```\n\n### 第二步：构建记忆 (Memorization)\n\n此步骤将视频和音频流转化为长期记忆图。你需要先下载必要的模型和资源：\n1. 下载音频嵌入模型 `pretrained_eres2netv2.ckpt` 至 `models\u002F` 目录。\n2. 克隆 `speakerlab` 至当前目录。\n3. 下载 `M3-Agent-Memorization` 模型至本地。\n\n执行记忆生成命令：\n```bash\n# 1. 生成中间输出 (人脸检测、说话人分离等)\npython m3_agent\u002Fmemorization_intermediate_outputs.py \\\n   --data_file data\u002Fdata.jsonl\n\n# 2. 生成记忆图 (使用 M3-Agent-Memorization 模型)\npython m3_agent\u002Fmemorization_memory_graphs.py \\\n   --data_file data\u002Fdata.jsonl\n```\n\n*(可选) 可视化生成的记忆图：*\n```bash\npython visualization.py \\\n   --mem_path data\u002Fmemory_graphs\u002Frobot\u002Fbedroom_01.pkl \\\n   --clip_id 1\n```\n\n### 第三步：控制与推理 (Control)\n\n此步骤利用构建好的记忆回答用户问题。需确保已下载 `M3-Agent-Control` 模型。\n\n准备问答数据文件 `data\u002Fannotations\u002Frobot.json`，然后运行：\n```bash\npython m3_agent\u002Fcontrol.py \\\n   --data_file data\u002Fannotations\u002Frobot.json\n```\n\n系统将自动加载记忆图，通过多轮迭代推理生成答案，并可调用 GPT-4o 进行结果评估（需在配置文件中设置 API）。\n\n---\n*注：如需使用其他模型（如 Gemini 或 Qwen2.5-Omni）进行记忆生成或问答，只需修改代码中的模型推理部分为 API 调用，并使用 `mmagent.prompts` 中对应的提示词模板即可。*","一位家庭服务机器人开发者正试图让机器人在长达数小时的日常交互中，记住用户的习惯、物品位置及过往对话细节。\n\n### 没有 m3-agent 时\n- **记忆断层严重**：机器人无法关联几小时前看到的场景，用户询问“我的眼镜放哪了”时，它只能回答不知道，因为短期上下文窗口已溢出。\n- **多模态理解割裂**：系统难以将听到的语音指令与看到的视觉画面深度结合，导致对用户“把那个红色的杯子收起来”这类跨模态指令执行错误。\n- **知识积累为零**：每次重启或新任务开始，机器人都像失忆一样，无法从过去的互动中提取语义知识（如用户偏好），需重复学习。\n- **长视频推理失效**：面对记录全天活动的长视频数据，传统模型无法进行有效的回溯推理，难以回答涉及时间跨度的复杂问题。\n\n### 使用 m3-agent 后\n- **构建长期记忆库**：m3-agent 能像人类一样将实时视听输入转化为实体中心的长期记忆，准确回忆出“眼镜在两小时前被放在了书房书架第二层”。\n- **深度跨模态推理**：凭借多模态记忆架构，m3-agent 能精准理解并结合视觉线索与语音指令，无误地完成复杂的整理任务。\n- **语义知识持续进化**：m3-agent 自动积累世界知识与用户偏好，随着时间推移，它能主动根据用户习惯提供个性化服务，无需重复训练。\n- **长程任务自主规划**：基于强化学习训练的 m3-agent 可自主进行多轮迭代推理，从长达数小时的视频流中提取关键信息，完美解决复杂的时间跨度问答。\n\nm3-agent 通过赋予智能体类人的长期记忆与跨模态推理能力，彻底解决了机器人在长时交互中“记不住、想不通”的核心瓶颈。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FByteDance-Seed_m3-agent_7fd691e3.png","ByteDance-Seed","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FByteDance-Seed_8c020fee.png","","seed.feedback@bytedance.com","https:\u002F\u002Fseed.bytedance.com\u002F","https:\u002F\u002Fgithub.com\u002FByteDance-Seed",[80,84],{"name":81,"color":82,"percentage":83},"Python","#3572A5",99.7,{"name":85,"color":86,"percentage":87},"Shell","#89e051",0.3,1311,111,"2026-04-16T16:44:30","Apache-2.0",4,"Linux","需要 NVIDIA GPU（用于运行 Qwen-Omni 和 vLLM），具体显存大小未说明（建议 24GB+ 以运行多模态大模型），需安装兼容的 CUDA 版本","未说明（建议 32GB+ 以处理长视频记忆图谱）",{"notes":97,"python":98,"dependencies":99},"1. 项目分为记忆生成（Memorization）和控制推理（Control）两个阶段，依赖不同的环境配置。\n2. 记忆生成阶段需要额外下载音频嵌入模型（pretrained_eres2netv2.ckpt）和 speakerlab 工具进行人脸检测和说话人分离。\n3. 控制推理阶段依赖 vLLM 进行加速推理，并需要配置 GPT-4o API 密钥用于评估答案。\n4. 首次运行前需在 configs\u002Fapi_config.json 中配置 API 密钥。\n5. 若不使用提供的中间输出文件，需自行处理视频切片（每段 30 秒）并生成记忆图谱。","未说明（建议 3.10+ 以兼容 vLLM 和新版 transformers）",[100,101,102,103,104,105,106],"transformers==4.51.0","vllm==0.8.4","numpy==1.26.4","qwen-omni-utils==0.0.4","ffmpeg","speakerlab","torch",[13,108],"其他","2026-03-27T02:49:30.150509","2026-04-19T09:17:51.423576",[112],{"id":113,"question_zh":114,"answer_zh":115,"source_url":116},42038,"是否会发布端到端的推理代码或演示？","记忆（Memory）和控制（Control）是两个独立的进程，不存在端到端的推理。您可以按照以下步骤分别执行这两个过程：参考官方文档中的本地运行指南 (https:\u002F\u002Fgithub.com\u002FByteDance-Seed\u002Fm3-agent?tab=readme-ov-file#run-locally)。","https:\u002F\u002Fgithub.com\u002FByteDance-Seed\u002Fm3-agent\u002Fissues\u002F3",[]]