[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-MinorJerry--WebVoyager":3,"tool-MinorJerry--WebVoyager":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 真正成长为懂上",158594,2,"2026-04-16T23:34:05",[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":76,"owner_twitter":76,"owner_website":76,"owner_url":79,"languages":80,"stars":89,"forks":90,"last_commit_at":91,"license":92,"difficulty_score":10,"env_os":93,"env_gpu":94,"env_ram":95,"env_deps":96,"category_tags":102,"github_topics":76,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":104,"updated_at":105,"faqs":106,"releases":124},8121,"MinorJerry\u002FWebVoyager","WebVoyager","Code for \"WebVoyager: WebVoyager: Building an End-to-End Web Agent with Large Multimodal Models\"","WebVoyager 是一款基于大型多模态模型（LMM）打造的智能网页代理工具，旨在让 AI 像人类一样直接操作真实网站，端到端地执行用户指令。它解决了传统自动化脚本难以应对动态网页、复杂交互及视觉信息理解的痛点，能够自主规划导航路径，结合文本与屏幕截图完成从搜索、比价到预订等多样化任务。\n\n该项目不仅提供了完整的代码实现，还构建了一个基于 Selenium 的在线浏览环境，并开源了包含 643 个覆盖 15 个主流网站的任务数据集，支持研究人员进行标准化评估与扩展。其独特亮点在于引入了通用的规划策略来处理复杂的网页导航，并利用 GPT-4V 建立了自动化的效果评估协议，大幅降低了测试门槛。\n\nWebVoyager 非常适合 AI 研究人员探索多模态智能体在现实场景中的应用，也适合开发者将其作为基础框架，构建定制化的网页自动化服务或数据采集工具。对于希望深入理解大模型如何与现实世界数字界面交互的技术爱好者而言，这是一个极具参考价值的开源项目。通过简单的环境配置，用户即可在本地复现论文成果，体验 AI 自主浏览网页的强大能力。","\u003Cdiv align=\"center\">\n\u003Ch1> WebVoyager \n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMinorJerry_WebVoyager_readme_3bbefa9a35aa.png\" width=\"45px\">\n\u003Cbr> Building an End-to-End Web Agent with Large Multimodal Models \u003C\u002Fh1>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\n![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache_2.0-blue.svg)\n![Python 3.10+](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10.13-green.svg)\n![Selenium](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSelenium-4.15.2-red)\n\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMinorJerry_WebVoyager_readme_b38da1f16036.png\" width=\"90%\">\n\u003C\u002Fdiv>\n\n\n\n## Introduction\n\nThis repo contains the data and implementation of our paper [WebVoyager](https:\u002F\u002Farxiv.org\u002Fabs\u002F2401.13919). WebVoyager is an innovative Large Multimodal Model (LMM) powered web agent that can complete user instructions end-to-end by interacting with real-world websites. \n\n- **Multimodal Web Agent**. We implement WebVoyager that integrates textual and visual information to address web tasks end-to-end and introduce a generalist planning approach for navigation.\n- **Online Environment**. We build an online web browsing environment using Selenium. \n- **Diverse Web Tasks** We offer a variety of tasks centered on widely used websites and introduce a\nmethod for expanding these tasks.\n- **Evaluation Tool** We propose an automated evaluation protocol using GPT-4V.\n\n## Setup Environment\n\nWe use Selenium to build the online web browsing environment. \n - Make sure you have installed Chrome. (Using the latest version of Selenium, there is no need to install ChromeDriver.)\n - If you choose to run your code on a Linux server, we recommend installing chromium. (eg, for CentOS: ```yum install chromium-browser```) \n - Create a conda environment for WebVoyager and install the dependencies.\n    ```bash\n    conda create -n webvoyager python=3.10\n    conda activate webvoyager\n    pip install -r requirements.txt\n    ```\n\n## Data\n\n### Overview\n\nTo test WebVoyager, we utilize a semi-automated approach to generate and filter 643 task queries, covering 15 websites, with each website containing 40+ queries. The dataset can be found in `data\u002FWebVoyager_data.jsonl`.\n\n- For each data entry, we provide a task description along with its corresponding website.\n- Some tasks are time-sensitive and are primarily distributed in Booking and Google Flights. Currently, we need to **manually update** the time before running.\n- We have labelled each task with a brief reference answer, which is placed in `data\u002Freference_answer.json`.\n\nAdditionally, we extract 90 web browsing tasks (Level 1 and Level 2) from the [GAIA dataset (validation)](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fgaia-benchmark\u002FGAIA). View the tasks in `data\u002FGAIA_web.jsonl`\n\n- In GAIA validation set, the authors provide Annotator Metadata and specify the tools (\"web browser\" or \"search engine\"). We extract tasks based on this information.\n- GAIA does not provide a corresponding website for each task, so we set the starting website for each task to be Google Search.\n\n### Expand tasks\n\nThe existing data can form a relatively rich task pool, and we recommend using GPT-4 (https:\u002F\u002Fchat.openai.com) to expand the data. Below is a sample prompt, you can modify or redesign the prompt to meet your demands.\n\n```\nHere are some example tasks and the websites that need to be interacted with to solve these tasks.\n\"\"\"\n\u003CTASK: xxx; WEB: xxx;>\n\u003Cother in-context examples>\n\"\"\"\n\nPlease carefully analyze the above TASKs and then generate new TASKs for {website}. Please use diverse descriptions and do not repeat the task descriptions in examples.\n\nPay attention:\n1. Do not include the requirement to view videos in the task.\n2. In the generated task, if you need to declare a specific date in the future (such as booking, flights ...), you can choose the date in the range of \u003Cdate 1> to \u003Cdate 2>.\n3. The generated task should have a clear goal and should not require complicated web page operations.\n4. When looking for real-time information in the past (such as ArXiv, BBC News ...), don't ask for too much information for a certain period of time in the past, as this requires a lot of web scrolling and page flipping. But you may request information for certain points in time, e.g. latest.\n5. To improve randomness and diversity, please try not to repeat entities that were asked about in examples.\n\nThink carefully about the functions of given websites, and please note that the generated TASK can be solved by the corresponding website. The format of the answer must be: TASK: {Generated-task}|||WEB: {Website-name, https-address}\n```\n\n## Running\n\n### Running WebVoyager\nAfter setting up the environment, you can start running WebVoyager. \n\n 1. Copy the examples you want to test into `data\u002Ftasks_test.jsonl`. For Booking and Google Flights tasks, please manually update the date in the task if it is outdated.\n 2. Modify the api_key in `run.sh` \n\nYou can run WebVoyager with the following command:\n```bash \nbash run.sh\n```\n\nThe details of `run.sh`:\n```bash \n#!\u002Fbin\u002Fbash\nnohup python -u run.py \\\n    --test_file .\u002Fdata\u002Ftasks_test.jsonl \\\n    --api_key YOUR_OPENAI_API_KEY \\\n    --headless \\\n    --max_iter 15 \\\n    --max_attached_imgs 3 \\\n    --temperature 1 \\\n    --fix_box_color \\\n    --seed 42 > test_tasks.log &\n```\n\nFor WebVoyager (Text only), an example script can be:\n```bash \n#!\u002Fbin\u002Fbash\nnohup python -u run.py \\\n    --test_file .\u002Fdata\u002Ftasks_test.jsonl \\\n    --api_key YOUR_OPENAI_API_KEY \\\n    --headless \\\n    --max_iter 15 \\\n    --max_attached_imgs 1 \\\n    --temperature 1 \\\n    --text_only \\\n    --api_model gpt-4-1106-preview \\\n    --seed 42 > test_tasks_text_only.log &\n```\n\n\n### Parameters\n\nGeneral:\n- `--test_file`: The task file to be evaluated. Please refer to the format of the data file in the `data`.\n- `--max_iter`: The maximum number of online interactions for each task. Exceeding max_iter without completing the task means failure.\n- `--api_key`: Your OpenAI API key.\n- `--output_dir`: We should save the trajectory of the web browsing.\n- `--download_dir`: Sometimes Agent downloads PDF files for analysis.\n\nModel:\n- `--api_model`: The agent that receives observations and makes decisions. In our experiments, we use `gpt-4-vision-preview`. For text-only setting, models without vision input can be used, such as `gpt-4-1106-preview`.\n- `seed`: This feature is in Beta according to the OpenAI [Document](https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fapi-reference\u002Fchat). \n- `--temperature`: To control the diversity of the model, note that setting it to 0 here does not guarantee consistent results over multiple runs.\n- `--max_attached_imgs`: We perform context clipping to remove outdated web page information and only keep the most recent k screenshots.\n- `--text_only`: Text only setting, observation will be accessibility tree.\n\nWeb navigation:\n- `--headless`: The headless model does not explicitly open the browser, which makes it easier to deploy on Linux servers and more resource-efficient. Notice: headless will affect the **size of the saved screenshot**, because in non-headless mode, there will be an address bar.\n- `--save_accessibility_tree`: Whether you need to save the Accessibility Tree for the current page. We mainly refer to [WebArena](https:\u002F\u002Fgithub.com\u002Fweb-arena-x\u002Fwebarena) to build the Accessibility Tree.\n- `--force_device_scale`: Set device scale factor to 1. If we need accessibility tree, we should use this parameter.\n- `--window_width`: Width, default is 1024.\n- `--window_height`: Height, default is 768. (1024 * 768 image is equal to 765 tokens according to [OpenAI pricing](https:\u002F\u002Fopenai.com\u002Fpricing).)\n- `--fix_box_color`: We utilize [GPT-4-ACT](https:\u002F\u002Fgithub.com\u002Fddupont808\u002FGPT-4V-Act), a Javascript tool to extracts the interactive elements based on web element types and then overlays bounding boxes. This option fixes the color of the boxes to black. Otherwise it is random.\n\n### Develop Your Prompt\n\nPrompt optimisation is a complex project which directly affects the performance of the Agent. You can find the system prompt we designed in `prompts.py`. \n\nThe prompt we provide has been tweaked many times, but it is not perfect, and if you are interested, you can **do your own optimisation** without compromising its generality (i.e. not giving specific instructions for specific sites in the prompt). If you just need the Agent for some specific websites, then giving specific instructions is fine.\n\nIf you want to add Action to the prompt, or change the Action format, it is relatively easy to change the code. You can design your own `extract_information` function to parse the model's output and modify `run.py` to add or modify the way of action execution.\n\n## Results and Evaluation\n\nThe results will be saved in the output dir you set, in this experiment we use `results` and we put some of the results in `results\u002Fexamples`.  The results folder for each task contains interact messages and several screenshots.\n\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMinorJerry_WebVoyager_readme_d41505921933.png\" width=\"95%\">\n\u003C\u002Fdiv>\n\n\n### Human Evaluation\nWe can look at the screenshots, supplemented by the agent's thought and action in interact_messages, to determine whether the path meets the requirements of the task.\n\n### GPT-4V Based Auto Evaluation\nWe provide the task, the responses from WebVoyager, and the last k screenshots to the GPT-4V and ask it to judge whether the agent has successfully completed the task.\n\nWe provide our evaluation tool in `evaluation`. \nYou can perform auto evaluation by executing `evaluation\u002Frun_eval.sh`.\n\n```bash\n#!\u002Fbin\u002Fbash\nnohup python -u auto_eval.py \\\n    --api_key YOUR_OPENAI_API_KEY \\\n    --process_dir ..\u002Fresults\u002Fexamples \\\n    --max_attached_imgs 15 > evaluation.log &\n```\n\nPlease update the `api_key` and `process_dir` in the above script and then run the following command.\n```bash\ncd evaluation\nbash run_eval.sh\n```\n\n## Citation\nIf you find our work helpful, please consider citing our paper:\n```\n@article{he2024webvoyager,\n  title={WebVoyager: Building an End-to-End Web Agent with Large Multimodal Models},\n  author={He, Hongliang and Yao, Wenlin and Ma, Kaixin and Yu, Wenhao and Dai, Yong and Zhang, Hongming and Lan, Zhenzhong and Yu, Dong},\n  journal={arXiv preprint arXiv:2401.13919},\n  year={2024}\n}\n```\n\n## Disclaimer\nThis is not an officially supported Tencent product. The content generated by the model is influenced by factors such as the non deterministic output of the OpenAI API, changes in prompts, and style changes or pop-ups on website pages, and the project does not guarantee its accuracy. The project does not assume any legal responsibility for any content output from the model, any web pages viewed, or any data obtained, and does not assume any responsibility for any losses that may arise from the use of the relevant resources and output results.","\u003Cdiv align=\"center\">\n\u003Ch1> WebVoyager \n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMinorJerry_WebVoyager_readme_3bbefa9a35aa.png\" width=\"45px\">\n\u003Cbr> 基于大型多模态模型构建端到端网络智能体 \u003C\u002Fh1>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\n![许可证](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache_2.0-blue.svg)\n![Python 3.10+](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10.13-green.svg)\n![Selenium](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSelenium-4.15.2-red)\n\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMinorJerry_WebVoyager_readme_b38da1f16036.png\" width=\"90%\">\n\u003C\u002Fdiv>\n\n\n\n## 简介\n\n本仓库包含我们论文 [WebVoyager](https:\u002F\u002Farxiv.org\u002Fabs\u002F2401.13919) 的数据与实现。WebVoyager 是一款创新的大型多模态模型（LMM）驱动的网络智能体，能够通过与真实世界网站交互，端到端地完成用户指令。\n\n- **多模态网络智能体**。我们实现了集成文本和视觉信息的 WebVoyager，以端到端的方式解决网络任务，并引入了一种用于导航的通用规划方法。\n- **在线环境**。我们使用 Selenium 构建了一个在线网页浏览环境。\n- **多样化的网络任务** 我们提供了一系列围绕常用网站的任务，并介绍了一种扩展这些任务的方法。\n- **评估工具** 我们提出了一种基于 GPT-4V 的自动化评估协议。\n\n## 环境搭建\n\n我们使用 Selenium 来构建在线网页浏览环境。\n - 请确保已安装 Chrome 浏览器。（使用最新版本的 Selenium 时，无需单独安装 ChromeDriver。）\n - 如果您选择在 Linux 服务器上运行代码，建议安装 Chromium 浏览器。（例如，对于 CentOS：```yum install chromium-browser```）\n - 为 WebVoyager 创建一个 conda 环境并安装依赖项。\n    ```bash\n    conda create -n webvoyager python=3.10\n    conda activate webvoyager\n    pip install -r requirements.txt\n    ```\n\n## 数据\n\n### 概述\n\n为了测试 WebVoyager，我们采用半自动化方法生成并筛选了 643 个任务查询，覆盖 15 个网站，每个网站包含 40 多个查询。该数据集可在 `data\u002FWebVoyager_data.jsonl` 中找到。\n\n- 对于每条数据，我们提供了任务描述及其对应的网站。\n- 部分任务具有时效性，主要集中在 Booking 和 Google Flights 上。目前，在运行前需要 **手动更新** 时间。\n- 我们为每个任务标注了简要参考答案，存放在 `data\u002Freference_answer.json` 中。\n\n此外，我们还从 [GAIA 数据集（验证集）](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fgaia-benchmark\u002FGAIA) 中提取了 90 个网页浏览任务（Level 1 和 Level 2）。相关任务可在 `data\u002FGAIA_web.jsonl` 中查看。\n\n- 在 GAIA 验证集中，作者提供了标注者元数据，并指定了使用的工具（“网页浏览器”或“搜索引擎”）。我们根据这些信息提取了任务。\n- GAIA 并未为每个任务提供对应的网站，因此我们将每个任务的起始网站设定为 Google 搜索。\n\n### 扩展任务\n\n现有数据已经形成了一个相对丰富的任务池，我们建议使用 GPT-4（https:\u002F\u002Fchat.openai.com）来进一步扩充数据。以下是一个示例提示，您可以根据需求修改或重新设计提示内容。\n\n```\n以下是一些示例任务以及解决这些任务所需交互的网站。\n\"\"\"\n\u003C任务: xxx；网站: xxx；>\n\u003C其他上下文示例>\n\"\"\"\n\n请仔细分析上述任务，然后为 {网站} 生成新的任务。请使用多样化的描述，不要重复示例中的任务描述。\n\n请注意：\n1. 任务中不要包含观看视频的要求。\n2. 在生成的任务中，如果需要声明未来的具体日期（如预订、航班等），可以选择 \u003C日期1> 至 \u003C日期2> 范围内的日期。\n3. 生成的任务应目标明确，且不需要复杂的网页操作。\n4. 在查找过去的实时信息时（如 ArXiv、BBC 新闻等），不要请求过多过去某段时间的信息，因为这需要大量的网页滚动和翻页操作。但可以请求特定时间点的信息，例如最新的。\n5. 为了提高随机性和多样性，请尽量避免重复示例中提到过的实体。\n\n请仔细思考给定网站的功能，并注意生成的任务应能由相应网站解决。答案格式必须为：任务: {生成的任务}|||网站: {网站名称, https 地址}\n```\n\n## 运行\n\n### 运行 WebVoyager\n环境搭建完成后，即可开始运行 WebVoyager。\n\n 1. 将您想要测试的示例复制到 `data\u002Ftasks_test.jsonl` 中。对于 Booking 和 Google Flights 的任务，如果任务中的日期已过期，请手动更新。\n 2. 修改 `run.sh` 中的 api_key。\n\n您可以通过以下命令运行 WebVoyager：\n```bash \nbash run.sh\n```\n\n`run.sh` 的具体内容如下：\n```bash \n#!\u002Fbin\u002Fbash\nnohup python -u run.py \\\n    --test_file .\u002Fdata\u002Ftasks_test.jsonl \\\n    --api_key YOUR_OPENAI_API_KEY \\\n    --headless \\\n    --max_iter 15 \\\n    --max_attached_imgs 3 \\\n    --temperature 1 \\\n    --fix_box_color \\\n    --seed 42 > test_tasks.log &\n```\n\n对于仅使用文本的 WebVoyager，示例脚本如下：\n```bash \n#!\u002Fbin\u002Fbash\nnohup python -u run.py \\\n    --test_file .\u002Fdata\u002Ftasks_test.jsonl \\\n    --api_key YOUR_OPENAI_API_KEY \\\n    --headless \\\n    --max_iter 15 \\\n    --max_attached_imgs 1 \\\n    --temperature 1 \\\n    --text_only \\\n    --api_model gpt-4-1106-preview \\\n    --seed 42 > test_tasks_text_only.log &\n```\n\n### 参数\n\n通用：\n- `--test_file`: 待评估的任务文件。请参考 `data` 目录中的数据文件格式。\n- `--max_iter`: 每个任务的最大在线交互次数。如果超过 `max_iter` 仍未完成任务，则视为失败。\n- `--api_key`: 您的 OpenAI API 密钥。\n- `--output_dir`: 用于保存网页浏览轨迹的目录。\n- `--download_dir`: 有时智能体需要下载 PDF 文件进行分析。\n\n模型：\n- `--api_model`: 接收观测并做出决策的智能体。在我们的实验中，我们使用 `gpt-4-vision-preview`。对于纯文本场景，可以使用不包含视觉输入的模型，例如 `gpt-4-1106-preview`。\n- `seed`: 该功能目前处于 Beta 阶段，具体信息请参阅 OpenAI 的 [文档](https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fapi-reference\u002Fchat)。\n- `--temperature`: 用于控制模型输出的多样性。请注意，此处将其设置为 0 并不能保证多次运行结果的一致性。\n- `--max_attached_imgs`: 我们会进行上下文裁剪，移除过时的网页信息，仅保留最近的 k 张截图。\n- `--text_only`: 纯文本模式，观测将为无障碍树。\n\n网页导航：\n- `--headless`: 无头模式不会显式打开浏览器，因此更易于在 Linux 服务器上部署，且资源消耗更低。注意：无头模式会影响**保存的截图尺寸**，因为在非无头模式下会显示地址栏。\n- `--save_accessibility_tree`: 是否需要保存当前页面的无障碍树。我们主要参考 [WebArena](https:\u002F\u002Fgithub.com\u002Fweb-arena-x\u002Fwebarena) 来构建无障碍树。\n- `--force_device_scale`: 将设备缩放比例设置为 1。如果需要无障碍树，应使用此参数。\n- `--window_width`: 窗口宽度，默认为 1024。\n- `--window_height`: 窗口高度，默认为 768。（根据 [OpenAI 定价](https:\u002F\u002Fopenai.com\u002Fpricing)，1024 * 768 的图像大约等于 765 个 token。）\n- `--fix_box_color`: 我们利用 [GPT-4-ACT](https:\u002F\u002Fgithub.com\u002Fddupont808\u002FGPT-4V-Act)，这是一款基于 JavaScript 的工具，可根据网页元素类型提取可交互元素，并叠加边界框。此选项会将边界框颜色固定为黑色，否则颜色将是随机的。\n\n### 开发您的提示词\n\n提示词优化是一项复杂的工程，它会直接影响智能体的性能。您可以在 `prompts.py` 中找到我们设计的系统提示词。\n\n我们提供的提示词经过多次调整，但仍不完美。如果您感兴趣，可以在不破坏其通用性的前提下进行**自定义优化**（即不在提示词中针对特定网站给出具体指令）。如果您只需要智能体服务于某些特定网站，则可以直接在提示词中加入针对性的指令。\n\n若想在提示词中添加动作或更改动作格式，只需稍作代码修改即可。您可以设计自己的 `extract_information` 函数来解析模型的输出，并修改 `run.py` 以添加或调整动作执行方式。\n\n## 结果与评估\n\n结果将保存在您指定的输出目录中。在本实验中，我们使用 `results` 目录，并将部分结果放置于 `results\u002Fexamples` 中。每个任务的结果文件夹包含交互消息和若干截图。\n\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMinorJerry_WebVoyager_readme_d41505921933.png\" width=\"95%\">\n\u003C\u002Fdiv>\n\n\n### 人工评估\n我们可以通过查看截图，并结合交互消息中智能体的思考与行动，判断其路径是否符合任务要求。\n\n### 基于 GPT-4V 的自动评估\n我们将任务、WebVoyager 的响应以及最后 k 张截图提供给 GPT-4V，由其判断智能体是否成功完成了任务。\n\n我们在 `evaluation` 目录中提供了评估工具。您可以通过执行 `evaluation\u002Frun_eval.sh` 脚本来进行自动评估。\n\n```bash\n#!\u002Fbin\u002Fbash\nnohup python -u auto_eval.py \\\n    --api_key YOUR_OPENAI_API_KEY \\\n    --process_dir ..\u002Fresults\u002Fexamples \\\n    --max_attached_imgs 15 > evaluation.log &\n```\n\n请更新上述脚本中的 `api_key` 和 `process_dir`，然后运行以下命令：\n```bash\ncd evaluation\nbash run_eval.sh\n```\n\n## 引用\n如果您觉得我们的工作有所帮助，请考虑引用我们的论文：\n```\n@article{he2024webvoyager,\n  title={WebVoyager: Building an End-to-End Web Agent with Large Multimodal Models},\n  author={He, Hongliang and Yao, Wenlin and Ma, Kaixin and Yu, Wenhao and Dai, Yong and Zhang, Hongming and Lan, Zhenzhong and Yu, Dong},\n  journal={arXiv preprint arXiv:2401.13919},\n  year={2024}\n}\n```\n\n## 免责声明\n本项目并非腾讯官方支持的产品。模型生成的内容受多种因素影响，包括 OpenAI API 的非确定性输出、提示词的变化以及网站页面风格的变动或弹窗等，因此本项目无法保证其准确性。本项目不对模型输出的任何内容、所访问的网页或获取的数据承担任何法律责任，亦不对因使用相关资源及输出结果而可能产生的任何损失承担责任。","# WebVoyager 快速上手指南\n\nWebVoyager 是一个基于大型多模态模型（LMM）的端到端网页智能体，能够通过交互真实网站来完成用户指令。它结合了文本和视觉信息，适用于自动化网页任务。\n\n## 环境准备\n\n在开始之前，请确保满足以下系统要求和前置依赖：\n\n*   **操作系统**：Linux, macOS 或 Windows（推荐在 Linux 服务器上运行）。\n*   **浏览器**：必须安装 **Google Chrome**。\n    *   *注意*：使用最新版 Selenium 无需单独安装 ChromeDriver。\n    *   *Linux 用户提示*：如果在无界面服务器（Headless）上运行，建议安装 Chromium。\n        *   CentOS: `yum install chromium-browser`\n        *   Ubuntu\u002FDebian: `apt-get install chromium-browser`\n*   **Python 版本**：3.10.13 或更高版本。\n*   **API Key**：需要有效的 OpenAI API Key（支持 `gpt-4-vision-preview` 或多模态模型）。\n\n## 安装步骤\n\n推荐使用 Conda 创建独立的虚拟环境以避免依赖冲突。\n\n1.  **创建并激活 Conda 环境**：\n    ```bash\n    conda create -n webvoyager python=3.10\n    conda activate webvoyager\n    ```\n\n2.  **安装项目依赖**：\n    克隆仓库后进入目录，执行以下命令安装所需包：\n    ```bash\n    pip install -r requirements.txt\n    ```\n    *(注：如果下载速度慢，可添加国内镜像源，例如：`pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`)*\n\n## 基本使用\n\n完成环境配置后，即可运行 WebVoyager 执行网页任务。\n\n### 1. 准备测试任务\n将你想要测试的任务示例复制到 `data\u002Ftasks_test.jsonl` 文件中。\n*   **注意**：对于涉及预订（Booking）或航班（Google Flights）的任务，如果示例中的日期已过期，请**手动更新**为未来的有效日期。\n\n### 2. 配置 API Key\n打开 `run.sh` 脚本，将 `YOUR_OPENAI_API_KEY` 替换为你实际的 OpenAI API Key。\n\n### 3. 运行智能体\n执行以下命令启动 WebVoyager：\n\n```bash\nbash run.sh\n```\n\n**运行参数说明（参考 `run.sh`）：**\n*   `--test_file`: 指定包含任务的文件路径。\n*   `--headless`: 以无头模式运行（不显示浏览器界面），适合服务器部署。\n*   `--max_iter`: 每个任务的最大交互次数（默认 15 次）。\n*   `--api_model`: 使用的模型，默认为 `gpt-4-vision-preview`。\n\n运行结束后，轨迹记录和截图将保存在指定的输出目录（默认为 `results`）中。\n\n### 纯文本模式（可选）\n如果你只想使用纯文本模式（不使用视觉输入，依赖 Accessibility Tree），可以使用以下命令示例：\n\n```bash\n#!\u002Fbin\u002Fbash\nnohup python -u run.py \\\n    --test_file .\u002Fdata\u002Ftasks_test.jsonl \\\n    --api_key YOUR_OPENAI_API_KEY \\\n    --headless \\\n    --max_iter 15 \\\n    --max_attached_imgs 1 \\\n    --temperature 1 \\\n    --text_only \\\n    --api_model gpt-4-1106-preview \\\n    --seed 42 > test_tasks_text_only.log &\n```","某电商数据分析师需要每日从多个竞品网站（如亚马逊、eBay）抓取特定商品的价格波动、库存状态及用户最新评价，以生成市场动态报告。\n\n### 没有 WebVoyager 时\n- **维护成本高昂**：传统爬虫脚本依赖固定的 HTML 结构，一旦网站更新布局或增加反爬机制，脚本立即失效，需开发人员频繁手动修复代码。\n- **难以处理复杂交互**：面对需要登录、弹窗验证、动态加载或视觉判断（如识别“售罄”按钮颜色）的场景，纯文本爬虫束手无策，往往需要人工介入操作。\n- **多站点适配困难**：针对不同网站需编写独立的解析逻辑，缺乏统一的智能规划能力，导致跨平台数据采集流程割裂且效率低下。\n- **实时性差**：由于调试和修复耗时，数据获取往往滞后，无法支持实时的价格策略调整。\n\n### 使用 WebVoyager 后\n- **自适应网页变化**：WebVoyager 利用多模态大模型直接“看”懂网页视觉信息与文本内容，即使页面布局微调，也能自动定位目标元素，大幅降低维护频率。\n- **端到端自主交互**：它能像真人一样操作浏览器，自主完成登录、关闭广告弹窗、滚动加载及基于视觉特征的判断，无需硬编码复杂的交互逻辑。\n- **通用任务规划**：只需输入自然语言指令（如“查询某商品在亚马逊和 eBay 的当前最低价”），WebVoyager 即可自动规划路径并在不同网站间切换执行，实现一站式采集。\n- **高效实时响应**：自动化流程显著缩短数据获取周期，确保分析师能即时获得最新的市场情报，快速制定竞争策略。\n\nWebVoyager 将繁琐脆弱的规则式爬虫升级为具备视觉理解与自主规划能力的智能代理，让跨网站复杂数据采集变得像对话一样简单可靠。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMinorJerry_WebVoyager_32ded5b1.png","MinorJerry","Hongliang He","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FMinorJerry_3a2fa0dc.jpg",null,"Zhejiang University","Westlake University Yungu campus ","https:\u002F\u002Fgithub.com\u002FMinorJerry",[81,85],{"name":82,"color":83,"percentage":84},"Python","#3572A5",99.4,{"name":86,"color":87,"percentage":88},"Shell","#89e051",0.6,1068,117,"2026-04-15T15:49:00","Apache-2.0","Linux, macOS, Windows","未说明 (基于 OpenAI API 运行，本地无需 GPU)","未说明",{"notes":97,"python":98,"dependencies":99},"1. 必须安装 Chrome 浏览器；在 Linux 服务器上推荐安装 chromium。使用最新版 Selenium 无需单独安装 ChromeDriver。\n2. 项目依赖 OpenAI API (如 gpt-4-vision-preview)，需配置有效的 API Key。\n3. 支持无头模式 (headless) 运行，适合 Linux 服务器部署以节省资源。\n4. 部分任务涉及时间敏感信息（如订票），运行前可能需要手动更新日期。","3.10+",[100,101],"selenium>=4.15.2","openai (通过 API Key 调用)",[35,13,103],"其他","2026-03-27T02:49:30.150509","2026-04-17T08:25:14.559075",[107,112,116,120],{"id":108,"question_zh":109,"answer_zh":110,"source_url":111},36333,"WebVoyager 项目的主要功能和核心流程是什么？","该项目主要构建多模态 Web 智能体（multimodal web agents），利用大型多模态模型（LMM）的能力进行网页导航。其核心流程是端到端的：用户提出任务查询，Agent 在线与网页逐步交互，最终找到信息或完成操作并返回结果。采用多模态方案主要是为了更好地利用浏览器的渲染能力，区别于以往仅基于文本的工作。","https:\u002F\u002Fgithub.com\u002FMinorJerry\u002FWebVoyager\u002Fissues\u002F1",{"id":113,"question_zh":114,"answer_zh":115,"source_url":111},36334,"项目使用什么技术搭建运行环境？","项目使用 Selenium 搭建了一个在线浏览环境，使 Agent 能够直接与互联网进行交互。",{"id":117,"question_zh":118,"answer_zh":119,"source_url":111},36335,"如何构建和扩展 Web 任务数据集？","团队采用半自动化的方式构建了一些 Web 任务，这种设计便于后续的数据集扩展。",{"id":121,"question_zh":122,"answer_zh":123,"source_url":111},36336,"如何解决开放性 Web 任务难以评估的问题？","针对开放性任务评估繁琐（人工评估单个任务需 1 分多钟）的问题，项目保存了 Agent 每一步与 Web 交互的截图，并尝试采用由 GPT-4V 驱动的自动评估（Auto Evaluation）方式来节省人力。未来随着数据规模扩大，将更依赖此类自动评估方式。",[]]