[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"tool-farizrahman4u--loopgpt":3,"similar-farizrahman4u--loopgpt":126},{"id":4,"github_repo":5,"name":6,"description_en":7,"description_zh":8,"ai_summary_zh":8,"readme_en":9,"readme_zh":10,"quickstart_zh":11,"use_case_zh":12,"hero_image_url":13,"owner_login":14,"owner_name":15,"owner_avatar_url":16,"owner_bio":17,"owner_company":17,"owner_location":18,"owner_email":19,"owner_twitter":17,"owner_website":17,"owner_url":20,"languages":21,"stars":30,"forks":31,"last_commit_at":32,"license":33,"difficulty_score":34,"env_os":35,"env_gpu":36,"env_ram":36,"env_deps":37,"category_tags":43,"github_topics":46,"view_count":34,"oss_zip_url":17,"oss_zip_packed_at":17,"status":51,"created_at":52,"updated_at":53,"faqs":54,"releases":85},3231,"farizrahman4u\u002Floopgpt","loopgpt","Modular Auto-GPT Framework","loopgpt 是一款模块化的 Auto-GPT 框架，旨在将流行的 Auto-GPT 项目重构为更灵活、易扩展的 Python 包。它解决了传统自动代理工具配置复杂、难以二次开发以及对高成本模型依赖过强的问题，让开发者能够轻松构建定制化的 AI 智能体。\n\n这款软件特别适合 Python 开发者、AI 研究人员以及希望深入探索大语言模型应用的技术爱好者。与普通用户只需点击运行的工具不同，loopgpt 提供了\"Plug N Play\"式的 API，允许用户直接通过代码添加新功能或集成外部服务，无需繁琐的配置文件。\n\n其技术亮点在于对 GPT-3.5 模型的深度优化，即使没有 GPT-4 权限也能获得出色效果，同时极力降低提示词开销以节省成本。loopgpt 支持“人在回路”机制，当智能体偏离目标时，人类可随时介入纠正。此外，它具备完整的状态序列化能力，能将智能体的记忆和工具状态保存至本地文件，随时中断并恢复任务，且无需依赖外部数据库。无论是快速原型验证还是构建复杂的多步骤自动化流程，loopgpt 都提供了一个简洁而强大的基础架构。","\n\u003CH1>\n\u003Cp align=\"center\">\n  L♾️pGPT\n\u003C\u002Fp>\n\u003C\u002FH1>\n\u003Cp align=\"center\">\n    \u003Cb>A Modular Auto-GPT Framework\u003C\u002Fb>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n    \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002Frqs26cqx7v\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1098162593291587594?style=for-the-badge\">\n    \u003C\u002Fa>\n\u003C\u002Fp>\n\n\n\n\nL♾️pGPT is a re-implementation of the popular [Auto-GPT](https:\u002F\u002Fgithub.com\u002FSignificant-Gravitas\u002FAuto-GPT) project as a proper python package, written with modularity and extensibility in mind.\n\n## 🚀 Features 🚀\n\n*  **\"Plug N Play\" API** - Extensible and modular \"Pythonic\" framework, not just a command line tool. Easy to add new features, integrations and custom agent capabilities, all from python code, no nasty config files!\n*  **GPT 3.5 friendly** - Better results than Auto-GPT for those who don't have GPT-4 access yet!\n*  **Minimal prompt overhead** - Every token counts. We are continuously working on getting the best results with the least possible number of tokens.\n*  **Human in the Loop** - Ability to \"course correct\" agents who go astray via human feedback.\n*  **Full state serialization** - Pick up where you left off; L♾️pGPT can save the complete state of an agent, including memory and the states of its tools to a file or python object. No external databases or vector stores required (but they are still supported)!\n\n\n## 🧑‍💻 Installation\n\n### Install from PyPI\n\n📗 **This installs the latest stable version of L♾️pGPT. This is recommended for most users:**\n\n```bash\npip install loopgpt\n```\n\n📕 The below two methods install the latest development version of L♾️pGPT. Note that this version maybe unstable:\n\n### Install from source\n\n```bash\npip install git+https:\u002F\u002Fwww.github.com\u002Ffarizrahman4u\u002Floopgpt.git@main\n```\n\n### Install from source (dev)\n\n```bash\ngit clone https:\u002F\u002Fwww.github.com\u002Ffarizrahman4u\u002Floopgpt.git\ncd  loopgpt\npip install -e .\n```\n\n### Install from source (dev) using Docker\n```bash\ngit clone https:\u002F\u002Fwww.github.com\u002Ffarizrahman4u\u002Floopgpt.git\ncd  loopgpt\ndocker build -t loopgpt:local-dev .\n```\n\n## 🏎️ Getting Started\n\n### Setup your OpenAI API Key 🔑\n\n#### Option 1️⃣: Via a `.env` file\n\nCreate a `.env` file in your current working directory (wherever you are going to run L♾️pGPT from) and add the following line to it:\n\n```bash\nOPENAI_API_KEY=\"\u003Cyour-openai-api-key>\"\n```\n\n🛑 **IMPORTANT** 🛑\n\nWindows users, please make sure \"show file extensions\" is enabled in your file explorer. Otherwise, your file will be named `.env.txt` instead of `.env`.\n\n#### Option 2️⃣: Via environment variables\n\nSet an environment variable called `OPENAI_API_KEY` to your OpenAI API Key.\n\nHow to set environment variables:\n- [Windows](https:\u002F\u002Fwww.architectryan.com\u002F2018\u002F08\u002F31\u002Fhow-to-change-environment-variables-on-windows-10\u002F)\n- [Linux](https:\u002F\u002Fwww.freecodecamp.org\u002Fnews\u002Fhow-to-set-an-environment-variable-in-linux\u002F)\n- [Mac](https:\u002F\u002Fphoenixnap.com\u002Fkb\u002Fset-environment-variable-mac)\n\n### Create a new L♾️pGPT Agent🕵️:\n\nLet's create an agent in a new [Python](https:\u002F\u002Fpython.org) script.\n\n```python\nfrom loopgpt.agent import Agent\n\nagent = Agent()\n```\n\nL♾️pGPT uses `gpt-3.5-turbo` by default and all outputs shown here are made using it. GPT-4 users can set `model=\"gpt-4\"` instead:\n\n```python\nagent = Agent(model=\"gpt-4\")\n```\n\n\n### Setup the Agent🕵️'s attributes:\n\n```python\nagent.name = \"ResearchGPT\"\nagent.description = \"an AI assistant that researches and finds the best tech products\"\nagent.goals = [\n    \"Search for the best headphones on Google\",\n    \"Analyze specs, prices and reviews to find the top 5 best headphones\",\n    \"Write the list of the top 5 best headphones and their prices to a file\",\n    \"Summarize the pros and cons of each headphone and write it to a different file called 'summary.txt'\",\n]\n```\n\nAnd we're off! Let's run the Agent🕵️'s CLI:\n\n```python\nagent.cli()\n```\n\nSave your Python file as `research_gpt.py` and run it:\n\n```bash\npython research_gpt.py\n```\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffarizrahman4u_loopgpt_readme_8ced31963771.png\" height=\"350\">\n\nYou can exit the CLI by typing \"exit\".\n\n### 🔁 Continuous Mode 🔁\n\nIf `continuous` is set to `True`, the agent will not ask for the user's permission to execute commands. It may go into infinite loops, so use it at your own risk!\n\n```python\nagent.cli(continuous=True)\n```\n\n### 💻 Command Line Only Mode\n\nYou can run L♾️pGPT directly from the command line without having to write any python code as well:\n\n```bash\nloopgpt run\n```\n\nRun `loopgpt --help` to see all the available options.\n\n### 🐋 Docker Mode\n\nYou can run L♾️pGPT in the previously mentioned modes, using Docker:\n\n```bash\n# CLI mode\ndocker run -i --rm loopgpt:local-dev loopgpt run\n\n# Script mode example\ndocker run -i --rm -v \"$(pwd)\u002Fscripts:\u002Fscripts\" loopgpt:local-dev python \u002Fscripts\u002Fmyscript.py\n\n```\n\n## ⚒️ Adding custom tools ⚒️\n\nL♾️pGPT agents come with a set of builtin tools which allows them to perform various basic tasks such as searching the web, filesystem operations, etc. You can view these tools with `print(agent.tools)`.\n\nIn addition to these builtin tools, you can also add your own tools to the agent's toolbox.\n\n### Example: WeatherGPT 🌦️\n\nLet's create WeatherGPT, an AI assistant for all things weather.\n\nA tool inherits from `BaseTool` and you only need to write a docstring to get your tool up and running!\n\n```python\nfrom loopgpt.tools import BaseTool\n\nclass GetWeather(BaseTool):\n    \"\"\"Quickly get the weather for a given city\n\n    Args:\n        city (str): name of the city\n    \n    Returns:\n        dict: The weather report for the city\n    \"\"\"\n    \n    def run(self, city):\n        ...\n```\n\nL♾️pGPT gives a default ID to your tool but you can override them if you'd like:\n\n```python\nclass GetWeather(BaseTool):\n    \"\"\"Quickly get the weather for a given city\n\n    Args:\n        city (str): name of the city\n    \n    Returns:\n        dict: The weather report for the city\n    \"\"\"\n\n    @property\n    def id(self):\n        return \"get_weather_command\"\n```\n\nNow let's define what our tool will do in its `run` method:\n\n```python\nimport requests\n\n# Define your custom tool\nclass GetWeather(BaseTool):\n    \"\"\"Quickly get the weather for a given city\n\n    Args:\n        city (str): name of the city\n    \n    Returns:\n        dict: The weather report for the city\n    \"\"\"\n    \n    def run(self, city):\n        try:\n            url = \"https:\u002F\u002Fwttr.in\u002F{}?format=%l+%C+%h+%t+%w+%p+%P\".format(city)\n            data = requests.get(url).text.split(\" \")\n            keys = (\"location\", \"condition\", \"humidity\", \"temperature\", \"wind\", \"precipitation\", \"pressure\")\n            data = dict(zip(keys, data))\n            return data\n        except Exception as e:\n            return f\"An error occurred while getting the weather: {e}.\"\n```\n\nThat's it! You've built your first custom tool. Let's register it with a new agent and run it:\n\n```python\nfrom loopgpt.tools import WriteToFile\nimport loopgpt\n\n# Register custom tool type\n# This is actually not required here, but is required when you load a saved agent with custom tools.\nloopgpt.tools.register_tool_type(GetWeather)\n\n# Create Agent\nagent = loopgpt.Agent(tools=[GetWeather, WriteToFile])\nagent.name = \"WeatherGPT\"\nagent.description = \"an AI assistant that tells you the weather\"\nagent.goals = [\n    \"Get the weather for NewYork and Beijing\",\n    \"Give the user tips on how to dress for the weather in NewYork and Beijing\",\n    \"Write the tips to a file called 'dressing_tips.txt'\"\n]\n\n# Run the agent's CLI\nagent.cli()\n```\n\nLet's take a look at the `dressing_tips.txt` file that WeatherGPT wrote for us:\n\ndressing_tips.txt\n```\n- It's Clear outside with a temperature of +10°C in Beijing. Wearing a light jacket and pants is recommended.\n- It's Overcast outside with a temperature of +11°C in New York. Wearing a light jacket, pants, and an umbrella is recommended.\n```\n\n## 🚢 Course Correction\n\nUnlike Auto-GPT, the agent does not terminate when the user denies the execution of a command. Instead it asks the user for feedback to correct its course.\n\nTo correct the agent's course, just deny execution and provide feedback:\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffarizrahman4u_loopgpt_readme_05c5135ccbd8.png\">\n\nThe agent has updated its course of action:\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffarizrahman4u_loopgpt_readme_003b93102545.png\">\n\n\n## 💾 Saving and Loading Agent State 💾\n\nYou can save an agent's state to a json file with:\n\n```python\nagent.save(\"ResearchGPT.json\")\n```\n\nThis saves the agent's configuration (model, name, description etc) as well as its internal state (conversation state, memory, tool states etc).\nYou can also save just the confifguration by passing `include_state=False` to `agent.save()`:\n\n```python\nagent.save(\"ResearchGPT.json\", include_state=False)\n```\n\nThen pick up where you left off with:\n\n```python\nimport loopgpt\nagent = loopgpt.Agent.load(\"ResearchGPT.json\")\nagent.cli()\n```\n\nor by running the saved agent from the command line:\n\n```bash\nloopgpt run ResearchGPT.json\n```\n\nYou can convert the agent state to a json compatible python dictionary instead of writing to a file:\n\n```python\nagent_config = agent.config()\n```\n\nTo get just the configuration without the internal state:\n\n```python\nagent_config = agent.config(include_state=False)\n```\n\n\nTo reload the agent from the config, use:\n\n```python\nimport loopgpt\n\nagent = loopgpt.Agent.from_config(agent_config)\n```\n\n## 📋 Requirements\n\n- Python 3.8+\n- [An OpenAI API Key](https:\u002F\u002Fplatform.openai.com\u002Faccount\u002Fapi-keys)\n- Google Chrome\n\n### Optional Requirements\n\nFor official google search support you will need to setup two environment variable keys `GOOGLE_API_KEY` and `CUSTOM_SEARCH_ENGINE_ID`, here is how to get them:\n\n1. Create an application on the [Google Developers Console][google-console].\n2. Create your custom search engine using [Google Custom Search][google-custom-search].\n3. Once your custom search engine is created, select it and get into the details page of the search engine.\n    - On the \"Basic\" section, you will find the \"Search engine ID\" field, that value is what you will use for the `CUSTOM_SEARCH_ENGINE_ID` environment variable.\n    - Now go to the \"Programmatic Access\" section at the bottom of the page.\n        - Create a \"Custom Search JSON API\"\n        - Follow the dialog by selecting the application you created on step #1 and when you get your API key use it to populate the `GOOGLE_API_KEY` environment variable.\n\nℹ️ In case these are absent, L♾️pGPT will fall back to using [DuckDuckGo Search](https:\u002F\u002Fpypi.org\u002Fproject\u002Fduckduckgo-search\u002F).\n\n## 💌 Contribute \n\nWe need A LOT of Help! Please open an issue or a PR if you'd like to contribute.\n\n## 🌳 Community\n\nNeed help? Join our [Discord](https:\u002F\u002Fdiscord.gg\u002Frqs26cqx7v).\n\n[google-console]: https:\u002F\u002Fconsole.developers.google.com\n[google-custom-search]: https:\u002F\u002Fprogrammablesearchengine.google.com\u002Fcontrolpanel\u002Fcreate\n\n\n## ⭐ Star History 📈\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffarizrahman4u_loopgpt_readme_249245ddaf39.png\" alt= \"Star History Chart\" height=\"350\">\n","\u003CH1>\n\u003Cp align=\"center\">\n  L♾️pGPT\n\u003C\u002Fp>\n\u003C\u002FH1>\n\u003Cp align=\"center\">\n    \u003Cb>一个模块化的 Auto-GPT 框架\u003C\u002Fb>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n    \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002Frqs26cqx7v\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1098162593291587594?style=for-the-badge\">\n    \u003C\u002Fa>\n\u003C\u002Fp>\n\n\n\n\nL♾️pGPT 是对流行的 [Auto-GPT](https:\u002F\u002Fgithub.com\u002FSignificant-Gravitas\u002FAuto-GPT) 项目的重新实现，将其改造成一个规范的 Python 包，并在设计时充分考虑了模块化和可扩展性。\n\n## 🚀 特性 🚀\n\n*  **“即插即用”的 API** - 可扩展且模块化的“Python 式”框架，而不仅仅是一个命令行工具。可以轻松地从 Python 代码中添加新功能、集成和自定义智能体能力，无需繁琐的配置文件！\n*  **兼容 GPT-3.5** - 对于尚未拥有 GPT-4 访问权限的用户来说，效果比 Auto-GPT 更好！\n*  **最小化的提示开销** - 每个 token 都很重要。我们一直在努力以尽可能少的 token 数量获得最佳结果。\n*  **人机协作** - 通过人工反馈，能够对偏离轨道的智能体进行“纠正方向”。\n*  **完整状态序列化** - 从中断处继续；L♾️pGPT 可以将智能体的完整状态（包括记忆及其工具的状态）保存到文件或 Python 对象中。无需外部数据库或向量存储（但仍然支持它们）！\n\n\n## 🧑‍💻 安装\n\n### 从 PyPI 安装\n\n📗 **这会安装最新稳定版的 L♾️pGPT。对于大多数用户来说，这是推荐的方式：**\n\n```bash\npip install loopgpt\n```\n\n📕 下面两种方法会安装 L♾️pGPT 的最新开发版本。请注意，此版本可能不稳定：\n\n### 从源码安装\n\n```bash\npip install git+https:\u002F\u002Fwww.github.com\u002Ffarizrahman4u\u002Floopgpt.git@main\n```\n\n### 从源码安装（开发版）\n\n```bash\ngit clone https:\u002F\u002Fwww.github.com\u002Ffarizrahman4u\u002Floopgpt.git\ncd  loopgpt\npip install -e .\n```\n\n### 使用 Docker 从源码安装（开发版）\n```bash\ngit clone https:\u002F\u002Fwww.github.com\u002Ffarizrahman4u\u002Floopgpt.git\ncd  loopgpt\ndocker build -t loopgpt:local-dev .\n```\n\n## 🏎️ 开始使用\n\n### 设置你的 OpenAI API 密钥 🔑\n\n#### 方法 1️⃣：通过 `.env` 文件\n\n在当前工作目录（你打算运行 L♾️pGPT 的地方）创建一个 `.env` 文件，并添加以下内容：\n\n```bash\nOPENAI_API_KEY=\"\u003Cyour-openai-api-key>\"\n```\n\n🛑 **重要** 🛑\n\nWindows 用户请确保在文件资源管理器中启用了“显示文件扩展名”选项。否则，文件可能会被命名为 `.env.txt` 而不是 `.env`。\n\n#### 方法 2️⃣：通过环境变量\n\n将名为 `OPENAI_API_KEY` 的环境变量设置为你的 OpenAI API 密钥。\n\n如何设置环境变量：\n- [Windows](https:\u002F\u002Fwww.architectryan.com\u002F2018\u002F08\u002F31\u002Fhow-to-change-environment-variables-on-windows-10\u002F)\n- [Linux](https:\u002F\u002Fwww.freecodecamp.org\u002Fnews\u002Fhow-to-set-an-environment-variable-in-linux\u002F)\n- [Mac](https:\u002F\u002Fphoenixnap.com\u002Fkb\u002Fset-environment-variable-mac)\n\n### 创建一个新的 L♾️pGPT 智能体🕵️：\n\n让我们在一个新的 [Python](https:\u002F\u002Fpython.org) 脚本中创建一个智能体。\n\n```python\nfrom loopgpt.agent import Agent\n\nagent = Agent()\n```\n\nL♾️pGPT 默认使用 `gpt-3.5-turbo`，此处显示的所有输出都是基于它生成的。如果使用 GPT-4 的用户可以将 `model=\"gpt-4\"` 替换：\n\n```python\nagent = Agent(model=\"gpt-4\")\n```\n\n\n### 设置智能体的属性🕵️：\n\n```python\nagent.name = \"ResearchGPT\"\nagent.description = \"一个用于研究和寻找最佳科技产品的 AI 助手\"\nagent.goals = [\n    \"在 Google 上搜索最佳耳机\",\n    \"分析规格、价格和评论，找出前 5 名最佳耳机\",\n    \"将前 5 名最佳耳机及其价格写入文件\",\n    \"总结每款耳机的优缺点，并将其写入名为 'summary.txt' 的另一份文件中\",\n]\n```\n\n现在就可以开始了！让我们运行智能体的 CLI：\n\n```python\nagent.cli()\n```\n\n将你的 Python 文件保存为 `research_gpt.py` 并运行：\n\n```bash\npython research_gpt.py\n```\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffarizrahman4u_loopgpt_readme_8ced31963771.png\" height=\"350\">\n\n你可以通过输入“exit”来退出 CLI。\n\n### 🔁 连续模式 🔁\n\n如果将 `continuous` 设置为 `True`, 智能体会自动执行命令，而不会询问用户的许可。这可能导致无限循环，因此请谨慎使用！\n\n```python\nagent.cli(continuous=True)\n```\n\n### 💻 仅命令行模式\n\n你也可以直接从命令行运行 L♾️pGPT，而无需编写任何 Python 代码：\n\n```bash\nloopgpt run\n```\n\n运行 `loopgpt --help` 查看所有可用选项。\n\n### 🐋 Docker 模式\n\n你可以在前面提到的模式下使用 Docker 运行 L♾️pGPT：\n\n```bash\n# CLI 模式\ndocker run -i --rm loopgpt:local-dev loopgpt run\n\n# 脚本模式示例\ndocker run -i --rm -v \"$(pwd)\u002Fscripts:\u002Fscripts\" loopgpt:local-dev python \u002Fscripts\u002Fmyscript.py\n\n```\n\n## ⚒️ 添加自定义工具 ⚒️\n\nL♾️pGPT 智能体自带一组内置工具，可用于执行各种基本任务，如网络搜索、文件系统操作等。你可以通过 `print(agent.tools)` 查看这些工具。\n\n除了这些内置工具外，你还可以将自己的工具添加到智能体的工具箱中。\n\n### 示例：WeatherGPT 🌦️\n\n让我们创建 WeatherGPT，一个专注于天气的 AI 助手。\n\n工具继承自 `BaseTool`，你只需编写文档字符串即可让工具正常运行！\n\n```python\nfrom loopgpt.tools import BaseTool\n\nclass GetWeather(BaseTool):\n    \"\"\"快速获取指定城市的天气信息\n\n    参数:\n        city (str): 城市名称\n    \n    返回:\n        dict: 该城市的天气报告\n    \"\"\"\n    \n    def run(self, city):\n        ...\n```\n\nL♾️pGPT 会为你的工具分配一个默认 ID，但如果你愿意，也可以覆盖它：\n\n```python\nclass GetWeather(BaseTool):\n    \"\"\"快速获取指定城市的天气信息\n\n    参数:\n        city (str): 城市名称\n    \n    返回:\n        dict: 该城市的天气报告\n    \"\"\"\n\n    @property\n    def id(self):\n        return \"get_weather_command\"\n```\n\n接下来，让我们在 `run` 方法中定义工具的具体功能：\n\n```python\nimport requests\n\n# 定义你的自定义工具\nclass GetWeather(BaseTool):\n    \"\"\"快速获取指定城市的天气信息\n\n    参数:\n        city (str): 城市名称\n    \n    返回:\n        dict: 该城市的天气报告\n    \"\"\"\n    \n    def run(self, city):\n        try:\n            url = \"https:\u002F\u002Fwttr.in\u002F{}?format=%l+%C+%h+%t+%w+%p+%P\".format(city)\n            data = requests.get(url).text.split(\" \")\n            keys = (\"location\", \"condition\", \"humidity\", \"temperature\", \"wind\", \"precipitation\", \"pressure\")\n            data = dict(zip(keys, data))\n            return data\n        except Exception as e:\n            return f\"获取天气时发生错误：{e}。\"\n```\n\n就是这样！你已经构建了自己的第一个自定义工具。让我们将其注册到一个新的智能体并运行它：\n\n```python\nfrom loopgpt.tools import WriteToFile\nimport loopgpt\n\n# 注册自定义工具类型\n\n# 这里实际上并不需要，但在加载带有自定义工具的已保存代理时则需要。\nloopgpt.tools.register_tool_type(GetWeather)\n\n# 创建代理\nagent = loopgpt.Agent(tools=[GetWeather, WriteToFile])\nagent.name = \"WeatherGPT\"\nagent.description = \"一个告诉你天气的AI助手\"\nagent.goals = [\n    \"获取纽约和北京的天气\",\n    \"给用户提供关于如何根据纽约和北京天气穿衣的建议\",\n    \"将这些建议写入名为'dressing_tips.txt'的文件中\"\n]\n\n# 运行代理的命令行界面\nagent.cli()\n```\n\n让我们来看看WeatherGPT为我们写的`dressing_tips.txt`文件：\n\ndressing_tips.txt\n```\n- 北京室外晴朗，气温为+10°C。建议穿一件薄外套和裤子。\n- 纽约室外多云，气温为+11°C。建议穿一件薄外套、裤子，并带上雨伞。\n```\n\n## 🚢 航向修正\n\n与Auto-GPT不同，当用户拒绝执行某个命令时，该代理并不会终止。相反，它会请求用户的反馈以调整其行动方向。\n\n要修正代理的航向，只需拒绝执行并提供反馈即可：\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffarizrahman4u_loopgpt_readme_05c5135ccbd8.png\">\n\n代理已经更新了它的行动计划：\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffarizrahman4u_loopgpt_readme_003b93102545.png\">\n\n\n## 💾 保存和加载代理状态 💾\n\n你可以将代理的状态保存到一个JSON文件中，方法如下：\n\n```python\nagent.save(\"ResearchGPT.json\")\n```\n\n这会保存代理的配置（模型、名称、描述等）以及其内部状态（对话状态、记忆、工具状态等）。你也可以通过在`agent.save()`中传入`include_state=False`来仅保存配置：\n\n```python\nagent.save(\"ResearchGPT.json\", include_state=False)\n```\n\n之后，你可以从上次停止的地方继续：\n\n```python\nimport loopgpt\nagent = loopgpt.Agent.load(\"ResearchGPT.json\")\nagent.cli()\n```\n\n或者直接从命令行运行已保存的代理：\n\n```bash\nloopgpt run ResearchGPT.json\n```\n\n你还可以将代理状态转换为与JSON兼容的Python字典，而不是写入文件：\n\n```python\nagent_config = agent.config()\n```\n\n如果只想获取配置而不包括内部状态，可以这样操作：\n\n```python\nagent_config = agent.config(include_state=False)\n```\n\n\n要从配置重新加载代理，可以使用以下代码：\n\n```python\nimport loopgpt\n\nagent = loopgpt.Agent.from_config(agent_config)\n```\n\n## 📋 需求\n\n- Python 3.8+\n- [一个OpenAI API密钥](https:\u002F\u002Fplatform.openai.com\u002Faccount\u002Fapi-keys)\n- Google Chrome\n\n### 可选需求\n\n为了支持官方的Google搜索功能，你需要设置两个环境变量`GOOGLE_API_KEY`和`CUSTOM_SEARCH_ENGINE_ID`，以下是获取它们的方法：\n\n1. 在[Google开发者控制台][google-console]上创建一个应用。\n2. 使用[Google自定义搜索][google-custom-search]创建你的自定义搜索引擎。\n3. 自定义搜索引擎创建完成后，选择它并进入其详情页面。\n    - 在“基本”部分，你会找到“搜索引擎ID”字段，这个值就是你要用于`CUSTOM_SEARCH_ENGINE_ID`环境变量的值。\n    - 接下来，转到页面底部的“程序化访问”部分。\n        - 创建一个“自定义搜索JSON API”。\n        - 按照提示选择你在第1步中创建的应用程序，并在获得API密钥后将其填入`GOOGLE_API_KEY`环境变量中。\n\nℹ️ 如果这些环境变量不存在，L♾️pGPT将会回退到使用[DuckDuckGo搜索](https:\u002F\u002Fpypi.org\u002Fproject\u002Fduckduckgo-search\u002F)。\n\n## 💌 贡献 \n\n我们非常需要帮助！如果你愿意贡献，请开一个issue或PR。\n\n## 🌳 社区\n\n需要帮助吗？加入我们的[Discord](https:\u002F\u002Fdiscord.gg\u002Frqs26cqx7v)。\n\n[google-console]: https:\u002F\u002Fconsole.developers.google.com\n[google-custom-search]: https:\u002F\u002Fprogrammablesearchengine.google.com\u002Fcontrolpanel\u002Fcreate\n\n\n## ⭐ 星标历史 📈\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffarizrahman4u_loopgpt_readme_249245ddaf39.png\" alt= \"星标历史图\" height=\"350\">","# LoopGPT 快速上手指南\n\nLoopGPT 是一个模块化、可扩展的 Auto-GPT 框架 Python 实现。相比原版，它对 GPT-3.5 更友好，支持自定义工具、状态保存以及人工干预修正，且无需复杂的配置文件即可通过代码灵活扩展。\n\n## 环境准备\n\n在开始之前，请确保满足以下系统要求和前置依赖：\n\n*   **操作系统**：Windows \u002F Linux \u002F macOS\n*   **Python 版本**：Python 3.8 或更高版本\n*   **必要依赖**：\n    *   [OpenAI API Key](https:\u002F\u002Fplatform.openai.com\u002Faccount\u002Fapi-keys)\n    *   Google Chrome 浏览器（部分功能依赖）\n*   **可选依赖**（用于启用官方 Google 搜索）：\n    *   `GOOGLE_API_KEY`\n    *   `CUSTOM_SEARCH_ENGINE_ID`\n    *   *注：若未配置上述变量，LoopGPT 将自动降级使用 DuckDuckGo 进行搜索。*\n\n## 安装步骤\n\n推荐使用 PyPI 安装最新稳定版。国内用户若遇到下载缓慢，可指定清华或阿里镜像源。\n\n### 方法一：使用 pip 安装（推荐）\n\n```bash\n# 默认源安装\npip install loopgpt\n\n# 国内加速安装（推荐中国开发者使用）\npip install loopgpt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 方法二：从源码安装（开发版）\n\n如需体验最新开发特性（可能不稳定），可从 GitHub 源码安装：\n\n```bash\npip install git+https:\u002F\u002Fwww.github.com\u002Ffarizrahman4u\u002Floopgpt.git@main\n```\n\n或者克隆仓库进行本地开发：\n\n```bash\ngit clone https:\u002F\u002Fwww.github.com\u002Ffarizrahman4u\u002Floopgpt.git\ncd loopgpt\npip install -e .\n```\n\n## 基本使用\n\n### 1. 配置 API Key\n\nLoopGPT 需要访问 OpenAI 服务。你可以通过以下两种方式之一配置密钥：\n\n**方式 A：创建 `.env` 文件（推荐）**\n\n在当前工作目录下创建名为 `.env` 的文件（Windows 用户请注意不要存成 `.env.txt`），并写入：\n\n```bash\nOPENAI_API_KEY=\"\u003Cyour-openai-api-key>\"\n```\n\n**方式 B：设置环境变量**\n\n在终端中设置 `OPENAI_API_KEY` 环境变量。\n\n### 2. 创建并运行 Agent\n\n创建一个 Python 脚本（例如 `research_gpt.py`），编写以下代码即可启动一个智能体：\n\n```python\nfrom loopgpt.agent import Agent\n\n# 初始化 Agent (默认使用 gpt-3.5-turbo，如需 GPT-4 可添加 model=\"gpt-4\")\nagent = Agent()\n\n# 设置 Agent 属性\nagent.name = \"ResearchGPT\"\nagent.description = \"an AI assistant that researches and finds the best tech products\"\nagent.goals = [\n    \"Search for the best headphones on Google\",\n    \"Analyze specs, prices and reviews to find the top 5 best headphones\",\n    \"Write the list of the top 5 best headphones and their prices to a file\",\n    \"Summarize the pros and cons of each headphone and write it to a different file called 'summary.txt'\",\n]\n\n# 启动命令行交互界面\nagent.cli()\n```\n\n保存文件后，在终端运行：\n\n```bash\npython research_gpt.py\n```\n\n运行后，Agent 将在命令行中与你对话并执行任务。输入 `exit` 可退出。\n\n### 3. 进阶模式\n\n**连续模式（慎用）**\n设置 `continuous=True` 后，Agent 执行命令前不再请求用户确认，可能导致无限循环：\n\n```python\nagent.cli(continuous=True)\n```\n\n**纯命令行模式**\n如果不写 Python 脚本，也可以直接通过命令行运行：\n\n```bash\nloopgpt run\n```\n\n**状态保存与恢复**\n你可以随时保存 Agent 的完整状态（包括记忆和工具状态）以便稍后继续：\n\n```python\n# 保存状态\nagent.save(\"ResearchGPT.json\")\n\n# 加载状态并继续运行\nimport loopgpt\nagent = loopgpt.Agent.load(\"ResearchGPT.json\")\nagent.cli()\n```\n\n或者直接通过命令行加载：\n\n```bash\nloopgpt run ResearchGPT.json\n```","某科技初创公司的产品经理需要快速调研并输出一份关于“最新无线降噪耳机”的深度竞品分析报告，以便决定下一季度的采购方向。\n\n### 没有 loopgpt 时\n- **流程割裂且繁琐**：需人工在搜索引擎、电商网站和评测博客间反复切换，手动复制粘贴数据，耗时数小时才能收集齐基础信息。\n- **模型能力受限**：若仅使用基础的 GPT-3.5，模型无法自主联网搜索实时价格或读取最新评测，只能依赖过时的训练数据，导致结论失真。\n- **缺乏纠错机制**：一旦自动化脚本跑偏（如抓取了错误型号），必须中断重跑，无法在运行中即时干预修正方向。\n- **状态难以保留**：中途网络波动或程序崩溃会导致进度全失，无法从断点继续，必须重新执行所有步骤。\n\n### 使用 loopgpt 后\n- **全自动闭环执行**：只需定义“搜索、分析、写入文件”等目标，loopgpt 即可自主调用搜索工具获取实时数据，自动完成从信息采集到生成 `summary.txt` 的全过程。\n- **小模型大效能**：凭借优化的提示词工程，即使使用成本更低的 GPT-3.5 也能获得媲美 GPT-4 的精准搜索结果，大幅降低 API 开销。\n- **人机协同纠偏**：当代理准备分析错误品牌时，用户可通过“人在回路”功能即时输入反馈修正路径，确保调研不偏离核心需求。\n- **断点续传无忧**：利用全状态序列化技术，loopgpt 能将当前记忆和工具状态保存至本地，随时从断开处无缝恢复任务，无需重复劳动。\n\nloopgpt 将原本碎片化、高成本的人工调研转化为可中断、可干预且低成本的自主智能工作流。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffarizrahman4u_loopgpt_a0fd1c3c.png","farizrahman4u","Fariz Rahman","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ffarizrahman4u_ac10ad4b.png",null,"Kochi, India","farizrahman4u@gmail.com","https:\u002F\u002Fgithub.com\u002Ffarizrahman4u",[22,26],{"name":23,"color":24,"percentage":25},"Python","#3572A5",99.5,{"name":27,"color":28,"percentage":29},"Dockerfile","#384d54",0.5,1453,132,"2026-04-04T00:26:23","MIT",2,"Linux, macOS, Windows","未说明",{"notes":38,"python":39,"dependencies":40},"必须配置 OpenAI API Key（通过 .env 文件或环境变量）。可选配置 Google API Key 和自定义搜索引擎 ID 以启用官方 Google 搜索，否则默认使用 DuckDuckGo。支持 Docker 部署。默认使用 gpt-3.5-turbo 模型，也可手动指定 gpt-4。","3.8+",[41,42],"requests","duckduckgo-search",[44,45],"语言模型","Agent",[47,48,49,50],"chatgpt","gpt","gpt4","llms","ready","2026-03-27T02:49:30.150509","2026-04-06T08:40:08.017575",[55,60,65,70,75,80],{"id":56,"question_zh":57,"answer_zh":58,"source_url":59},14879,"在 Jupyter Notebook 或 VS Code 集成终端中运行时出现 'OSError: [Errno 25] Inappropriate ioctl for device' 错误怎么办？","该错误是因为 Notebook 环境没有标准的终端大小信息，导致 `os.get_terminal_size()` 调用失败。解决方法是修改源码 `loopgpt\u002Floops\u002Frepl.py` 文件中的 `write_divider` 函数：添加一个 try-except 块捕获 `OSError`，当获取终端大小失败时，默认使用 80 字符作为宽度。例如：`columns = os.get_terminal_size().columns if hasattr(os, 'get_terminal_size') else 80` 或在异常处理中硬编码为 80。","https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fissues\u002F15",{"id":61,"question_zh":62,"answer_zh":63,"source_url":64},14874,"如何配置环境变量文件（.env）以便 pip 安装的包能正确读取 API 密钥？","如果您通过 `pip install loopgpt` 安装，直接将 .env 文件放在运行脚本目录下可能无法被自动识别。建议的解决方案是：1. 使用 `git clone` 下载源码并通过 `pip install -e .` 进行可编辑安装，这样可以更好地支持本地 .env 文件；2. 或者在代码中显式地将环境变量传递给 Agent 实例，而不是依赖全局环境变量，以确保 pip 包在不设置系统环境变量的情况下也能工作。","https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fissues\u002F16",{"id":66,"question_zh":67,"answer_zh":68,"source_url":69},14875,"运行浏览器命令时出现关于资源预加载（preload）的控制台警告，这会影响功能吗？","这些来自浏览器的控制台日志（如 'The resource ... was preloaded using link preload but not used...'）可以安全地忽略，它们不会影响 LoopGPT 的核心功能。维护者已确认这些问题并在后续版本中合并了抑制这些日志的代码，如果您使用的是最新版本，这些警告应该会被自动隐藏。","https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fissues\u002F12",{"id":71,"question_zh":72,"answer_zh":73,"source_url":74},14876,"如何获取并配置 Google Search API 密钥？需要哪些具体的环境变量？","在 Google Cloud Console 中，您需要启用的是 'Custom Search API'（自定义搜索 API），而不是通用的 'Google Search'。配置时需要两个环境变量：1. `GOOGLE_API_KEY`：您在 Google Cloud Console 创建的 API 密钥；2. `CUSTOM_SEARCH_ENGINE_ID`：您在 Custom Search Engine 控制面板中创建的搜索引擎 ID。两者缺一不可，缺少任何一个都会导致 `google_search` 命令报错。","https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fissues\u002F11",{"id":76,"question_zh":77,"answer_zh":78,"source_url":79},14877,"在 Linux 系统上运行时报错或浏览器无法启动，是否有替代方案？","这是 Linux 环境下 Chrome 浏览器兼容性的常见问题。解决方案是切换到 Firefox 浏览器。维护者已经发布了支持 Firefox 的版本并将其合并到主分支。您可以尝试更新到最新版本，LoopGPT 现在支持将 Firefox 作为后备或默认浏览器来解决 Linux 下的运行问题。","https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fissues\u002F10",{"id":81,"question_zh":82,"answer_zh":83,"source_url":84},14878,"调用 `agent.clear_state()` 后再次调用 `agent.config()` 为什么会抛出 'NoneType' object is not subscriptable 错误？","这是一个已知 bug。原因是 `clear_state()` 方法将 `self.progress` 设置为了 `None`，而 `config()` 方法试图对 `self.progress` 进行切片操作（`self.progress[:]`），导致类型错误。解决方法是修改源码 `agent.py` 第 346 行，将 `self.progress = None` 改为 `self.progress = []`，使其保持为列表类型，这与初始化时的行为一致。","https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fissues\u002F41",[86,91,96,101,106,111,116,121],{"id":87,"version":88,"summary_zh":89,"released_at":90},81742,"v0.1.1","## 变更内容\n* 由 @FayazRahman 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F59 中添加了对最新 OpenAI API 的支持\n* 由 @FayazRahman 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F60 中添加了对 LLama 的支持\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fcompare\u002Fv0.1.0...v0.1.1","2024-03-10T11:20:55",{"id":92,"version":93,"summary_zh":94,"released_at":95},81743,"v0.1.0","## 变更内容\n* AI 功能。由 @FayazRahman 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F52 中实现\n* AI 功能更新。由 @FayazRahman 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F53 中实现\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fcompare\u002Fv0.0.15...v0.1.0","2023-07-16T21:02:20",{"id":97,"version":98,"summary_zh":99,"released_at":100},81744,"v0.0.15","## 变更内容\n* 修复 agent.clear_state 方法及基础代理测试，由 @FayazRahman 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F44 中完成\n* 功能：添加 Docker 支持，由 @arikw 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F39 中完成\n* 需要最新版本的 DuckDuckGo（之前的版本无法正常工作）\n\n## 新贡献者\n* @arikw 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F39 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fcompare\u002Fv0.0.14...v0.0.15","2023-05-12T15:42:34",{"id":102,"version":103,"summary_zh":104,"released_at":105},81745,"v0.0.14","- 主要错误修复","2023-05-10T20:35:43",{"id":107,"version":108,"summary_zh":109,"released_at":110},81746,"v0.0.13","## 变更内容\n* 由 @iskandarreza 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F30 中更新了“未提供 OpenAPI API 密钥”的警告信息。\n* 由 @lightningRalf 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F33 中添加了标准文件和模板功能。\n* 由 @FayazRahman 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F43 中实现了对 OpenAI Azure API 的支持。\n\n## 新贡献者\n* @lightningRalf 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F33 中完成了首次贡献。","2023-05-09T23:00:19",{"id":112,"version":113,"summary_zh":114,"released_at":115},81747,"v0.0.12","## 变更内容\n* 修复下一条提示中的拼写错误，由 @Pixeladed 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F21 中完成\n* 增加向用户询问命令的功能，由 @FayazRahman 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F23 中完成\n* 在崩溃时保存代理状态，由 @FayazRahman 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F26 中完成\n* 更新代理 API 并完善文档，由 @FayazRahman 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F28 中完成\n* 在 CLI 中添加模型选项，由 @FayazRahman 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F29 中完成\n* 修改 ListFiles 类，以更清晰地区分文件和目录，由 @iskandarreza 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F24 中完成\n* 添加目录自定义工具——CurrentWorkingDir 和 MakeDirectory，由 @iskandarreza 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F22 中完成\n\n## 新贡献者\n* @Pixeladed 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F21 中完成了首次贡献\n* @iskandarreza 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F24 中完成了首次贡献","2023-04-30T13:57:56",{"id":117,"version":118,"summary_zh":119,"released_at":120},81748,"v0.0.11","## 变更内容\n* 由 @maker57sk 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F17 中从项目中添加了环境变量 `temp`\n* 由 @eltociear 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F19 中修复了拼写错误\n* 修复以防止进入聊天机器人模式\n* 更多示例\n\n## 新贡献者\n* @maker57sk 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F17 中做出了首次贡献\n* @eltociear 在 https:\u002F\u002Fgithub.com\u002Ffarizrahman4u\u002Floopgpt\u002Fpull\u002F19 中做出了首次贡献","2023-04-27T09:27:49",{"id":122,"version":123,"summary_zh":124,"released_at":125},81749,"v0.0.10","L♾️pGPT v0.0.10 🚀🚀\n\n💻 主要特性：\n\n- 聚焦型智能体🕵️‍♂️ —— 减少重复循环，更精准地完成任务\n- 约束条件 —— 通过指定 `agent.constraints = [...]` 为智能体🕵️‍♂️ 的任务添加约束\n- 新增内置数学工具 ➗ —— 智能体🕵️‍♂️ 现在可以进行计算了！\n- LLaMA🦙 和 StableLM（通过 HuggingFace🤗）—— 新增对 LLaMA 和 StableLM 模型的实验性支持，使智能体🕵️‍♂️ 不再局限于 OpenAI 模型运行！（尚未完全测试——无法获取 LLaMA 权限，且模型体积过大🥲）\n- RoBERTa 嵌入提供者（通过 HuggingFace🤗）—— 新增通过 HuggingFace🤗 使用 RoBERTa 嵌入的实验性支持\n\nLLaMA、RoBERTa 支持以及其他重要重构，感谢 @cg123！","2023-04-24T18:13:38",[127,138,146,154,162,175],{"id":128,"name":129,"github_repo":130,"description_zh":131,"stars":132,"difficulty_score":133,"last_commit_at":134,"category_tags":135,"status":51},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,3,"2026-04-05T11:01:52",[136,137,45],"开发框架","图像",{"id":139,"name":140,"github_repo":141,"description_zh":142,"stars":143,"difficulty_score":34,"last_commit_at":144,"category_tags":145,"status":51},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 真正成长为懂上",140436,"2026-04-05T23:32:43",[136,45,44],{"id":147,"name":148,"github_repo":149,"description_zh":150,"stars":151,"difficulty_score":34,"last_commit_at":152,"category_tags":153,"status":51},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[136,137,45],{"id":155,"name":156,"github_repo":157,"description_zh":158,"stars":159,"difficulty_score":34,"last_commit_at":160,"category_tags":161,"status":51},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[136,44],{"id":163,"name":164,"github_repo":165,"description_zh":166,"stars":167,"difficulty_score":34,"last_commit_at":168,"category_tags":169,"status":51},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[137,170,171,172,45,173,44,136,174],"数据工具","视频","插件","其他","音频",{"id":176,"name":177,"github_repo":178,"description_zh":179,"stars":180,"difficulty_score":133,"last_commit_at":181,"category_tags":182,"status":51},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[45,137,136,44,173]]