[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-google-gemini--genai-processors":3,"tool-google-gemini--genai-processors":62},[4,18,28,37,45,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":24,"last_commit_at":25,"category_tags":26,"status":17},9989,"n8n","n8n-io\u002Fn8n","n8n 是一款面向技术团队的公平代码（fair-code）工作流自动化平台，旨在让用户在享受低代码快速构建便利的同时，保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点，帮助用户轻松连接 400 多种应用与服务，实现复杂业务流程的自动化。\n\nn8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”：既可以通过直观的可视化界面拖拽节点搭建流程，也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外，n8n 原生集成了基于 LangChain 的 AI 能力，支持用户利用自有数据和模型构建智能体工作流。在部署方面，n8n 提供极高的自由度，支持完全自托管以保障数据隐私和控制权，也提供云端服务选项。凭借活跃的社区生态和数百个现成模板，n8n 让构建强大且可控的自动化系统变得简单高效。",184740,2,"2026-04-19T23:22:26",[16,14,13,15,27],"插件",{"id":29,"name":30,"github_repo":31,"description_zh":32,"stars":33,"difficulty_score":10,"last_commit_at":34,"category_tags":35,"status":17},10095,"AutoGPT","Significant-Gravitas\u002FAutoGPT","AutoGPT 是一个旨在让每个人都能轻松使用和构建 AI 的强大平台，核心功能是帮助用户创建、部署和管理能够自动执行复杂任务的连续型 AI 智能体。它解决了传统 AI 应用中需要频繁人工干预、难以自动化长流程工作的痛点，让用户只需设定目标，AI 即可自主规划步骤、调用工具并持续运行直至完成任务。\n\n无论是开发者、研究人员，还是希望提升工作效率的普通用户，都能从 AutoGPT 中受益。开发者可利用其低代码界面快速定制专属智能体；研究人员能基于开源架构探索多智能体协作机制；而非技术背景用户也可直接选用预置的智能体模板，立即投入实际工作场景。\n\nAutoGPT 的技术亮点在于其模块化“积木式”工作流设计——用户通过连接功能块即可构建复杂逻辑，每个块负责单一动作，灵活且易于调试。同时，平台支持本地自托管与云端部署两种模式，兼顾数据隐私与使用便捷性。配合完善的文档和一键安装脚本，即使是初次接触的用户也能在几分钟内启动自己的第一个 AI 智能体。AutoGPT 正致力于降低 AI 应用门槛，让人人都能成为 AI 的创造者与受益者。",183572,"2026-04-20T04:47:55",[13,36,27,14,15],"语言模型",{"id":38,"name":39,"github_repo":40,"description_zh":41,"stars":42,"difficulty_score":10,"last_commit_at":43,"category_tags":44,"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":46,"name":47,"github_repo":48,"description_zh":49,"stars":50,"difficulty_score":24,"last_commit_at":51,"category_tags":52,"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 真正成长为懂上",161147,"2026-04-19T23:31:47",[14,13,36],{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":59,"last_commit_at":60,"category_tags":61,"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,27],{"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":76,"owner_location":76,"owner_email":76,"owner_twitter":77,"owner_website":78,"owner_url":79,"languages":80,"stars":93,"forks":94,"last_commit_at":95,"license":96,"difficulty_score":59,"env_os":97,"env_gpu":98,"env_ram":98,"env_deps":99,"category_tags":103,"github_topics":105,"view_count":24,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":116,"updated_at":117,"faqs":118,"releases":147},8101,"google-gemini\u002Fgenai-processors","genai-processors","GenAI Processors is a lightweight Python library that enables efficient, parallel content processing.","genai-processors 是一款轻量级 Python 库，旨在帮助开发者高效构建模块化、异步且可组合的生成式 AI 处理流程。它主要解决了当前大语言模型（LLM）API 生态碎片化的问题，通过提供统一的内容模型，让不同模型、智能体及工具之间的输入输出保持一致，从而简化了复杂的数据流管理。\n\n这款工具特别适合需要开发高性能 AI 应用的后端工程师、算法研究人员以及希望优化多模态数据处理流程的技术团队。其核心亮点在于独特的“处理器（Processor）”抽象概念：它将复杂的异步多模态数据流封装为简单的 Python 类，开发者只需关注业务逻辑，无需手动处理繁琐的底层异步代码。genai-processors 原生支持流式传输，允许用户轻松实现内容的并行处理与链式调用（如使用 `+` 串联或 `\u002F\u002F` 并行），并能无缝衔接文本、图像、音频等多种数据类型。无论是构建实时对话机器人，还是处理大规模并发任务，genai-processors 都能基于 Python 熟悉的 asyncio 框架，提供灵活且强大的基础设施支持。","# GenAI Processors Library 📚\n\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache_2.0-blue.svg)](LICENSE)\n[![PyPI version](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fgenai-processors.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fgenai-processors\u002F)\n[![Documentation](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FView-Documentation-blue?&logo=read-the-docs)](https:\u002F\u002Fgoogle-gemini.github.io\u002Fgenai-processors\u002F)\n\n**Build Modular, Asynchronous, and Composable AI Pipelines for Generative AI.**\n\nGenAI Processors is a lightweight Python library that enables efficient,\nparallel content processing. It addresses the fragmentation of LLM APIs through\nthree core pillars:\n\n1.  **Unified Content Model**: A single, consistent representation for inputs\n    and outputs across models, agents, and tools.\n2.  **Processors**: Simple, composable Python classes that transform content\n    streams using native `asyncio`.\n3.  **Streaming**: Asynchronous streaming capabilities built-in by default,\n    without added plumbing complexity.\n\nAt the ecosystem's core lies the `Processor`, which encapsulates a unit of work.\nThrough a \"dual-interface\" pattern, it handles the complexity of asynchronous,\nmultimodal data streaming while exposing a simple API to developers:\n\n```python\nfrom typing import AsyncIterable\nfrom genai_processors import content_api\nfrom genai_processors import processor\n\nclass EchoProcessor(processor.Processor):\n  # The PRODUCER interface (for the processor author):\n  # Takes a robust ProcessorStream as input, and yields part types.\n  async def call(\n      self, content: content_api.ProcessorStream\n  ) -> AsyncIterable[content_api.ProcessorPartTypes]:\n      # Process content as it streams in!\n      async for part in content:\n          yield part\n```\n\nApplying a `Processor` is just as straightforward. The CONSUMER interface\naccepts wide, forgiving input types and returns a powerful stream that can be\nawaited entirely or streamed chunk-by-chunk:\n\n```python\n# The CONSUMER interface (for the caller):\n# Provide input effortlessly. Strings are automatically cast into Parts.\ninput_content = [\"Hello \", content_api.ProcessorPart(\"World\")]\n\n# 1. Gather all outputs easily into one object:\nresult: content_api.ProcessorContent = await simple_text_processor(input_content).gather()\n\n# 2. Or for text-only agents, get the text directly:\nprint(await simple_text_processor(input_content).text())\n\n# 3. And for streaming use cases, iterate over the parts as they arrive:\nasync for part in simple_text_processor(input_content):\n  print(part.text, end=\"\")\n```\n\nThe concept of `Processor` provides a common abstraction for Gemini model calls\nand increasingly complex behaviors built around them, accommodating both\nturn-based interactions and live streaming.\n\n## ✨ Key Features\n\n*   **Modular**: Breaks down complex tasks into reusable `Processor` and\n    `PartProcessor` units, which are easily chained (`+`) or parallelized (`\u002F\u002F`)\n    to create sophisticated data flows and agentic behaviors.\n*   **Integrated with GenAI API**: Includes ready-to-use processors like\n    `GenaiModel` for turn-based API calls and `LiveProcessor` for real-time\n    streaming interactions.\n*   **Extensible**: Lets you create custom processors by inheriting from base\n    classes or using simple function decorators.\n*   **Rich Content Handling**:\n    *   `ProcessorPart`: A wrapper around `genai.types.Part` enriched with\n        metadata like MIME type, role, and custom attributes.\n    *   Supports various content types (text, images, audio, custom JSON).\n*   **Asynchronous & Concurrent**: Built on Python's familiar `asyncio`\n    framework to orchestrate concurrent tasks (including network I\u002FO and\n    communication with compute-heavy subthreads).\n*   **Stream Management**: Has utilities for splitting, concatenating, and\n    merging asynchronous streams of `ProcessorPart`s.\n\n## 📦 Installation\n\nThe GenAI Processors library requires Python 3.10+.\n\nInstall it with:\n\n```bash\npip install genai-processors\n```\n\n## Code generation\n\nGenerative models are often unaware of recent API and SDK updates and may\nsuggest outdated or legacy code.\n\nWe recommend using our [Code Generation instructions](llms.txt) when generating\ncode that uses GenAI Processors to guide your model towards using the more\nrecent SDK features. Copy and paste the instructions into your development\nenvironment to provide the model with the necessary context.\n\n## 🚀 Getting Started\n\nWe recommend to start with the\n[documentation microsite](https:\u002F\u002Fgoogle-gemini.github.io\u002Fgenai-processors\u002F)\nwhich covers the core concepts, development guides, and architecture.\n\nYou can also check the following colabs to get familiar with GenAI processors\n(we recommend following them in order):\n\n*   [Content API Colab](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fgoogle-gemini\u002Fgenai-processors\u002Fblob\u002Fmain\u002Fnotebooks\u002Fcontent_api_intro.ipynb) -\n    explains the basics of `ProcessorPart`, `ProcessorContent`, and how to\n    create them.\n*   [Processor Intro Colab](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fgoogle-gemini\u002Fgenai-processors\u002Fblob\u002Fmain\u002Fnotebooks\u002Fprocessor_intro.ipynb) -\n    an introduction to the core concepts of GenAI Processors.\n*   [Create Your Own Processor](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fgoogle-gemini\u002Fgenai-processors\u002Fblob\u002Fmain\u002Fnotebooks\u002Fcreate_your_own_processor.ipynb) -\n    a walkthrough of the typical steps to create a `Processor` or a\n    `PartProcessor`.\n*   [Work with the Live API](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fgoogle-gemini\u002Fgenai-processors\u002Fblob\u002Fmain\u002Fnotebooks\u002Flive_processor_intro.ipynb) -\n    a couple of examples of real-time processors built from the Gemini Live API\n    using the `LiveProcessor` class.\n\n## 📖 Examples\n\nExplore the [examples\u002F](examples\u002F) directory for practical demonstrations:\n\n*   [Real-Time Live Example](examples\u002Frealtime_simple_cli.py) - an Audio-in\n    Audio-out Live agent with google search as a tool. It is a client-side\n    implementation of a Live processor (built with text-based\n    [Gemini API](https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs) models) that\n    demonstrates the streaming and orchestration capabilities of GenAI\n    Processors.\n*   [Research Agent Example](examples\u002Fresearch\u002FREADME.md) - a research agent\n    built with Processors, comprising 3 sub-processors, chaining, creating\n    `ProcessorPart`s, etc.\n*   [Live Commentary Example](examples\u002Flive_commentator\u002FREADME.md) - a description of a live\n    commentary agent built with the\n    [Gemini Live API](https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Flive), composed of\n    two agents: one for event detection and one for managing the conversation.\n\n## 🧩 Built-in Processors\n\nThe [core\u002F](genai_processors\u002Fcore\u002F) directory contains a set of basic processors\nthat you can leverage in your own applications. It includes the generic building\nblocks needed for most real-time applications and will evolve over time to\ninclude more core components.\n\nCommunity contributions expanding the set of built-in processors are located\nunder [contrib\u002F](genai_processors\u002Fcontrib\u002F) - see the section below on how to\nadd code to the GenAI Processor library.\n\n## 🤝 Contributing\n\nContributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for\nguidelines on how to contribute to this project.\n\n## 📜 License\n\nThis project is licensed under the Apache License, Version 2.0. See the\n[LICENSE](LICENSE) file for details.\n\n## Gemini Terms of Services\n\nIf you make use of Gemini via the Genai Processors framework, please ensure you\nreview the [Terms of Service](https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fterms).\n","# GenAI 处理器库 📚\n\n[![许可证](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache_2.0-blue.svg)](LICENSE)\n[![PyPI 版本](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fgenai-processors.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fgenai-processors\u002F)\n[![文档](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F查看-文档-blue?&logo=read-the-docs)](https:\u002F\u002Fgoogle-gemini.github.io\u002Fgenai-processors\u002F)\n\n**构建模块化、异步且可组合的生成式 AI 流水线。**\n\nGenAI 处理器是一个轻量级的 Python 库，能够实现高效、并行的内容处理。它通过三大核心支柱解决了 LLM API 的碎片化问题：\n\n1.  **统一内容模型**：为跨模型、代理和工具的输入与输出提供单一、一致的表示。\n2.  **处理器**：简单、可组合的 Python 类，使用原生 `asyncio` 转换内容流。\n3.  **流式处理**：默认内置异步流式能力，无需额外的复杂配置。\n\n该生态系统的核心是 `Processor`，它封装了一个工作单元。通过“双接口”模式，它处理了异步、多模态数据流的复杂性，同时向开发者暴露了一个简单的 API：\n\n```python\nfrom typing import AsyncIterable\nfrom genai_processors import content_api\nfrom genai_processors import processor\n\nclass EchoProcessor(processor.Processor):\n  # 生产者接口（面向处理器作者）：\n  # 接受强大的 ProcessorStream 作为输入，并产出部分类型。\n  async def call(\n      self, content: content_api.ProcessorStream\n  ) -> AsyncIterable[content_api.ProcessorPartTypes]:\n      # 在内容流式传入时进行处理！\n      async for part in content:\n          yield part\n```\n\n应用 `Processor` 同样非常直观。消费者接口接受广泛且容错性强的输入类型，并返回一个功能强大的流，可以一次性等待所有结果，也可以逐块流式处理：\n\n```python\n# 消费者接口（面向调用者）：\n# 轻松提供输入。字符串会自动转换为 Part。\ninput_content = [\"Hello \", content_api.ProcessorPart(\"World\")]\n\n# 1. 将所有输出轻松汇总到一个对象中：\nresult: content_api.ProcessorContent = await simple_text_processor(input_content).gather()\n\n# 2. 或者对于纯文本代理，直接获取文本：\nprint(await simple_text_processor(input_content).text())\n\n# 3. 对于流式场景，可以逐个处理到达的部分：\nasync for part in simple_text_processor(input_content):\n  print(part.text, end=\"\")\n```\n\n`Processor` 的概念为 Gemini 模型调用以及围绕其构建的日益复杂的行为提供了通用抽象，既能支持轮次交互，也能支持实时流式传输。\n\n## ✨ 核心特性\n\n*   **模块化**：将复杂任务分解为可重用的 `Processor` 和 `PartProcessor` 单元，这些单元可以轻松地串联（`+`）或并行化（`\u002F\u002F`），以创建复杂的数据流和智能体行为。\n*   **与 GenAI API 集成**：包含开箱即用的处理器，如用于轮次 API 调用的 `GenaiModel` 和用于实时流式交互的 `LiveProcessor`。\n*   **可扩展性**：允许您通过继承基类或使用简单的函数装饰器来创建自定义处理器。\n*   **丰富的内容处理**：\n    *   `ProcessorPart`：基于 `genai.types.Part` 的包装器，附加了 MIME 类型、角色和自定义属性等元数据。\n    *   支持多种内容类型（文本、图像、音频、自定义 JSON）。\n*   **异步与并发**：基于 Python 熟悉的 `asyncio` 框架，协调并发任务（包括网络 I\u002FO 和与计算密集型子线程的通信）。\n*   **流管理**：提供用于拆分、拼接和合并 `ProcessorPart` 异步流的实用工具。\n\n## 📦 安装\n\nGenAI 处理器库需要 Python 3.10 或更高版本。\n\n安装命令如下：\n\n```bash\npip install genai-processors\n```\n\n## 代码生成\n\n生成式模型通常不了解最新的 API 和 SDK 更新，可能会建议过时或遗留的代码。\n\n我们建议在生成使用 GenAI 处理器的代码时，使用我们的 [代码生成说明](llms.txt)，以引导您的模型使用更现代的 SDK 功能。请将说明复制并粘贴到您的开发环境中，以便为模型提供必要的上下文。\n\n## 🚀 入门指南\n\n我们建议从 [文档微站点](https:\u002F\u002Fgoogle-gemini.github.io\u002Fgenai-processors\u002F) 开始，其中涵盖了核心概念、开发指南和架构设计。\n\n您还可以查看以下 Colab 笔记本，以熟悉 GenAI 处理器（建议按顺序阅读）：\n\n*   [内容 API Colab](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fgoogle-gemini\u002Fgenai-processors\u002Fblob\u002Fmain\u002Fnotebooks\u002Fcontent_api_intro.ipynb) - 解释了 `ProcessorPart`、`ProcessorContent` 的基础知识以及如何创建它们。\n*   [处理器入门 Colab](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fgoogle-gemini\u002Fgenai-processors\u002Fblob\u002Fmain\u002Fnotebooks\u002Fprocessor_intro.ipynb) - 介绍 GenAI 处理器的核心概念。\n*   [创建您自己的处理器 Colab](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fgoogle-gemini\u002Fgenai-processors\u002Fblob\u002Fmain\u002Fnotebooks\u002Fcreate_your_own_processor.ipynb) - 演示了创建 `Processor` 或 `PartProcessor` 的典型步骤。\n*   [使用 Live API](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fgoogle-gemini\u002Fgenai-processors\u002Fblob\u002Fmain\u002Fnotebooks\u002Flive_processor_intro.ipynb) - 展示了使用 `LiveProcessor` 类基于 Gemini Live API 构建的几个实时处理器示例。\n\n## 📖 示例\n\n请浏览 [examples\u002F](examples\u002F) 目录，获取实用演示：\n\n*   [实时 Live 示例](examples\u002Frealtime_simple_cli.py) - 一个音频输入、音频输出的 Live 代理，以谷歌搜索作为工具。它是客户端侧的 Live 处理器实现（基于文本的 [Gemini API](https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs) 模型），展示了 GenAI 处理器的流式传输和编排能力。\n*   [研究代理示例](examples\u002Fresearch\u002FREADME.md) - 一个由处理器组成的研究代理，包含 3 个子处理器、链式处理、创建 `ProcessorPart` 等操作。\n*   [实时解说示例](examples\u002Flive_commentator\u002FREADME.md) - 描述了一个基于 [Gemini Live API](https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Flive) 构建的实时解说代理，由两个代理组成：一个用于事件检测，另一个用于管理对话。\n\n## 🧩 内置处理器\n\n[core\u002F](genai_processors\u002Fcore\u002F) 目录包含一组基础处理器，您可以在自己的应用中使用。它提供了大多数实时应用所需的通用构建模块，并将随着时间的推移不断演进，加入更多核心组件。\n\n社区贡献扩展的内置处理器集合位于 [contrib\u002F](genai_processors\u002Fcontrib\u002F) 下——请参阅下方关于如何向 GenAI 处理器库添加代码的部分。\n\n## 🤝 贡献\n\n欢迎贡献！请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)，了解如何为本项目做出贡献的指南。\n\n## 📜 许可证\n\n本项目采用 Apache License, Version 2.0 许可证。详情请参阅 [LICENSE](LICENSE) 文件。\n\n## Gemini 服务条款\n\n如果您通过 Genai 处理器框架使用 Gemini，请务必查阅 [服务条款](https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fterms)。","# GenAI Processors 快速上手指南\n\nGenAI Processors 是一个轻量级 Python 库，旨在帮助开发者构建模块化、异步且可组合的生成式 AI 管道。它通过统一的内容模型和原生 `asyncio` 支持，简化了多模态数据流的处理与 LLM API 的集成。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Linux, macOS 或 Windows\n*   **Python 版本**：3.10 或更高版本\n*   **前置依赖**：建议预先安装好 `pip` 包管理工具\n*   **API 密钥**：如需使用 Gemini 模型功能，请准备好 Google AI API Key\n\n## 安装步骤\n\n使用 pip 直接安装官方发布版本：\n\n```bash\npip install genai-processors\n```\n\n> **提示**：如果您在国内网络环境下遇到下载速度慢的问题，可以使用国内镜像源加速安装：\n> ```bash\n> pip install genai-processors -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n## 基本使用\n\nGenAI Processors 的核心概念是 `Processor`（处理器），它支持流式输入输出。以下是最简单的使用示例，展示如何定义一个回声处理器并调用它。\n\n### 1. 定义一个简单的 Processor\n\n创建一个继承自 `processor.Processor` 的类，实现 `call` 方法来处理流式数据：\n\n```python\nfrom typing import AsyncIterable\nfrom genai_processors import content_api\nfrom genai_processors import processor\n\nclass EchoProcessor(processor.Processor):\n  # 生产者接口：接收 ProcessorStream 输入，并 yield 处理后的部分\n  async def call(\n      self, content: content_api.ProcessorStream\n  ) -> AsyncIterable[content_api.ProcessorPartTypes]:\n      # 模拟流式处理：接收到什么就输出什么\n      async for part in content:\n          yield part\n```\n\n### 2. 调用 Processor\n\n消费者接口非常灵活，支持字符串、列表等多种输入格式，并提供多种获取结果的方式（一次性获取、仅获取文本或流式迭代）：\n\n```python\nimport asyncio\nfrom genai_processors import content_api\n\n# 初始化处理器实例\nsimple_text_processor = EchoProcessor()\n\n# 准备输入内容：支持混合类型，字符串会自动转换为 Part\ninput_content = [\"Hello \", content_api.ProcessorPart(\"World\")]\n\nasync def main():\n    # 方式 1: 一次性收集所有输出\n    result: content_api.ProcessorContent = await simple_text_processor(input_content).gather()\n    print(f\"Gathered result: {result}\")\n\n    # 方式 2: 仅获取纯文本结果\n    text_result = await simple_text_processor(input_content).text()\n    print(f\"Text result: {text_result}\")\n\n    # 方式 3: 流式迭代处理（适合实时场景）\n    print(\"Streaming output: \", end=\"\")\n    async for part in simple_text_processor(input_content):\n        print(part.text, end=\"\")\n    print() # 换行\n\nif __name__ == \"__main__\":\n    asyncio.run(main())\n```\n\n### 核心特性速览\n\n*   **组合与并行**：使用 `+` 串联处理器，使用 `\u002F\u002F` 并行执行处理器。\n*   **多模态支持**：原生支持文本、图像、音频及自定义 JSON 数据的 `ProcessorPart` 封装。\n*   **Gemini 集成**：内置 `GenaiModel` 用于常规对话，`LiveProcessor` 用于实时音视频流交互。\n\n更多高级用法（如创建自定义处理器、连接 Gemini Live API 等），建议参考官方 [文档站点](https:\u002F\u002Fgoogle-gemini.github.io\u002Fgenai-processors\u002F) 或 GitHub 仓库中的 Colab 示例。","某电商团队需要构建一个实时多模态客服系统，能够同时接收用户的文字咨询和商品图片，并快速生成包含文本解答与相关图片推荐的回复。\n\n### 没有 genai-processors 时\n- **代码耦合严重**：处理文字、图片等不同模态数据需要编写大量重复的格式转换代码，导致业务逻辑与底层 API 细节紧密纠缠。\n- **并发实现复杂**：若要并行调用多个模型（如一个分析图片、一个检索知识库），开发者需手动管理 `asyncio` 任务队列和锁机制，极易出错。\n- **流式响应困难**：实现“打字机”效果的实时输出需要自行处理复杂的缓冲区和分块逻辑，开发周期长且难以维护。\n- **扩展性差**：新增一种内容类型（如音频）或调整处理流程时，往往需要重构整个管道，无法灵活插拔功能模块。\n\n### 使用 genai-processors 后\n- **统一内容模型**：利用统一的 `ProcessorPart` 自动封装文本、图像等数据，开发者无需关心底层格式差异，专注业务逻辑。\n- **声明式并行编排**：通过简单的操作符（如 `\u002F\u002F`）即可将图片分析与文本生成任务并行化，底层自动处理异步并发细节。\n- **原生流式支持**：内置异步流能力，只需几行代码即可实现端到端的流式输出，让用户即时看到生成结果。\n- **模块化组合灵活**：将功能拆解为独立的 Processor 单元，像搭积木一样通过链式调用（`+`）快速重组新流程，轻松适配新需求。\n\ngenai-processors 通过标准化的异步流处理架构，将复杂的多模态并发开发简化为清晰的模块化组合，显著提升了生成式 AI 应用的构建效率与稳定性。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoogle-gemini_genai-processors_747e54da.png","google-gemini","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fgoogle-gemini_49f2a16f.jpg","Get started building with the Gemini API",null,"googleaidevs","https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini",[81,85,89],{"name":82,"color":83,"percentage":84},"Python","#3572A5",77.4,{"name":86,"color":87,"percentage":88},"Jupyter Notebook","#DA5B0B",14.3,{"name":90,"color":91,"percentage":92},"HTML","#e34c26",8.4,2107,213,"2026-04-15T04:49:52","Apache-2.0","","未说明",{"notes":100,"python":101,"dependencies":102},"该库是一个轻量级 Python 库，基于 asyncio 构建异步处理管道。主要依赖 Google GenAI API（需自行配置密钥），支持文本、图像、音频等多模态内容流处理。安装命令为 pip install genai-processors。使用时建议参考官方文档及 Colab 示例以了解最新 SDK 用法。","3.10+",[65],[14,13,15,104,36],"其他",[106,107,108,109,110,111,112,113,114,115],"agent","ai","asyncio","gemini","genai","generative-ai","language-model","multimodal","python","realtime","2026-03-27T02:49:30.150509","2026-04-20T16:35:54.211166",[119,124,128,132,137,142],{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},36242,"如何在链式管道中访问每个处理器的中间输出（如音频帧、视频帧或模型响应）？","可以使用内置的追踪器（tracer）。启用后，链中处理器之间的所有通信都会保存为 HTML 报告，方便调试和观察中间数据。具体文档请参考：https:\u002F\u002Fgoogle-gemini.github.io\u002Fgenai-processors\u002Fdevelopment\u002Ftracing\u002F","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgenai-processors\u002Fissues\u002F23",{"id":125,"question_zh":126,"answer_zh":127,"source_url":123},36243,"如何控制代理的响应时机，避免其对短促或嘈杂的声音过快响应？","虽然库本身可能没有直接的“最小语音时长”参数，但可以通过结合使用追踪器来调试音频输入流，并在自定义代码逻辑中实现静音检测或时长过滤，然后再将有效的音频数据发送给 LiveProcessor。参考追踪器用法以调试输入流：https:\u002F\u002Fgoogle-gemini.github.io\u002Fgenai-processors\u002Fdevelopment\u002Ftracing\u002F",{"id":129,"question_zh":130,"answer_zh":131,"source_url":123},36244,"如何在会话期间动态切换视频输入源（例如从摄像头切换到屏幕共享）？","直接切换 VideoIn 的模式可能不会立即生效。建议在检测到需要切换时，重新构建包含新视频源的输入处理器链，或者确保在切换逻辑中正确重置了视频流的状态。如果遇到问题，建议使用内置追踪器检查帧是否被正确发送和处理。",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},36245,"如何实现持续的视频输入流，但仅在特定间隔（如每 10 秒）或触发函数调用时才接收音频输出？","目前可以通过编写自定义音频处理器来实现。在该处理器中拦截模型的音频流，根据时间戳或特定条件（如函数调用标志）决定是否将音频数据传递给下游的播放组件，从而实现“静默”运行直到需要输出声音。","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgenai-processors\u002Fissues\u002F32",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},36246,"收到关于“外部协管员拥有管理员权限”的安全策略违规警告该如何修复？","有三种解决方法：1. 移除用户的仓库级访问权限（设置 -> 管理访问）；2. 邀请该用户加入组织成为正式成员；3. 在组织级的配置文件中外豁免该用户。修复后问题会自动关闭。","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgenai-processors\u002Fissues\u002F5",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},36247,"收到关于“主分支缺乏保护”的安全策略违规警告意味着什么？","这意味着主分支（main）未配置分支保护规则。通常需要启用“需要拉取请求审查”、“禁止强制推送”等选项。一旦在仓库设置中配置了相应的分支保护规则，Allstar 机器人检测到合规后会自动关闭该问题。","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgenai-processors\u002Fissues\u002F4",[148,153,158,163,168,173,178,183],{"id":149,"version":150,"summary_zh":151,"released_at":152},289042,"v2.0.0","今天，我们发布了 GenAI Processors v2.0。鉴于新增了大量功能，此次版本号升级为大版本是当之无愧的。\n\n我们对函数调用支持进行了全面重构，新增了客户端异步函数调用和 MCP 工具支持。借助全新的 `ContentStream` 概念，代理代码如今可以更加简洁。同时，得益于全新的追踪基础设施以及全新改版的 [文档微站点](https:\u002F\u002Fgoogle-gemini.github.io\u002Fgenai-processors\u002F)，开发与问题排查也变得更加轻松。\n\n本次发布还标志着我们在针对 Antigravity 进行优化方面的初步尝试，不过目前这方面的探索仍处于起步阶段。\n\n### 🔌 异步函数调用与 MCP\n- **非阻塞工具执行：** 一项前沿特性，允许代理在后台执行任务而不中断对话。作为客户端功能，它具有高度可定制性。自 1.1.1 版本首次推出以来，其实现已得到显著改进。\n- **异步生成器：** 如果将工具定义为生成器，它们便可在多个回合中流式传输响应。\n- **MCP 会话支持：** 可以将模型上下文协议（MCP）会话作为工具集成到处理器中。对于实时处理器，MCP 调用将在后台异步执行。\n\n### ✨ 核心处理器与流增强\n- **ContentStream 类：** 对数据模型的重大改进：处理器不再直接处理普通的 `AsyncIterable[ProcessorPart]`，而是使用 `ContentStream` 对象，后者提供了额外的语法糖。例如，您可以通过 `await model('Hello world!').text()` 获取模型的文本输出；对于多模态输出，可以使用 `.gather()`；而对于受限解码，则有 `.get_dataclass(MyDataclass)`。\n- **调用更简便：** 以往 `Processor.call` 的输入必须是 `AsyncIterator`，而现在任何 `ProcessorContentTypes` 均可接受：您可以使用字符串、PIL.Image、ProcessorContent，或这些类型的列表来调用处理器。\n\n### 🔍 追踪\n- **一行式追踪：** 仅需一行代码即可启用流水线追踪。\n- **可视化调试：** 会生成流水线执行的 HTML 摘要，包含取消操作和异常信息。\n- **多模态支持：** 在追踪记录中直接回放音频或查看图像，专为调试实时代理而设计。\n\n### 📚 文档与示例\n- **全新文档站点：** 在 [GitHub Pages](https:\u002F\u002Fgoogle-gemini.github.io\u002Fgenai-processors\u002F) 上添加了全面的文档，涵盖设计原则和核心概念。\n- **新增示例：**\n    - **[Widgets](https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgenai-processors\u002Ftree\u002Fmain\u002Fexamples\u002Fwidgets)：** 一个利用异步函数调用来通过自定义 UI 小部件丰富其输出的代理。\n    - **[Critic-reviser](https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgenai-processors\u002Fblob\u002Fmain\u002Fexamples\u002Fsmart_model.py)：** 通过迭代式优化来改进模型响应。\n- **面向 [AI 编程代理](https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgenai-processors\u002Fblob\u002Fmain\u002Fll","2026-03-10T17:50:22",{"id":154,"version":155,"summary_zh":156,"released_at":157},289043,"v1.1.1","* 引入函数调用功能（同步\u002F异步及全自动化），可与所有生成式AI处理器协同工作，包括实时处理器。详情请参阅相关笔记本。\n* 在 web.py 中新增 URL 获取器，在 text.py 中新增 HTML 内容提取功能，用于从网页上获取内容。\n* 将 Hugging Face Transformers 添加到支持的模型列表中。\n* 支持使用处理器创建 ADK 代理。","2025-12-17T17:58:00",{"id":159,"version":160,"summary_zh":161,"released_at":162},289044,"v1.1.0","* core.window.Window：将处理器应用于流上的滚动窗口。\n* 在使用约束解码时，模型会输出数据类 Parts。这大大简化了编写在中间步骤提取数据的流水线。现在，整个响应将包含在一个 Part 中，可以通过 `part.get_dataclass(MyData)` 来访问。\n* 添加了一个基于文本的逐轮聊天示例，并通过按 URL 下载图像或 PDF 文件实现了多模态支持。\n* 在 contrib 中添加了 GenAILangChainProcessor。","2025-08-01T15:20:28",{"id":164,"version":165,"summary_zh":166,"released_at":167},289045,"v1.0.5","* CachedPartProcessor - 为 PartProcessor 提供缓存支持：如果再次接收到相同的部件，可以直接从缓存中获取结果。\n* GlobProcessor - 将本地文件系统中的文件流式传输到处理器中。\n* 社区贡献的处理器：OpenRouterModel - 增加对通过 OpenRouter 提供的各种大语言模型的兼容性。\n* 大量错误修复。\n* 添加了 @mbeacom 提供的处理器链接：mbeacom\u002Fgenai-processors-pydantic 和 mbeacom\u002Fgenai-processors-url-fetch。","2025-07-21T17:36:30",{"id":169,"version":170,"summary_zh":171,"released_at":172},289046,"v1.0.3","* 初步支持 Ollama。现在处理器可以使用本地的 Gemma 模型。\n* 代码库已清理：\n  * 添加了缺失的包依赖。\n  * 调整了文件结构，使 PYTHONPATH=. 在本地开发中正常工作。\n  * 发布了单元测试。","2025-07-09T12:54:54",{"id":174,"version":175,"summary_zh":176,"released_at":177},289047,"v1.0.2","新增功能：\n- 处理器数据源，作为一种简便方式将数据源（麦克风、摄像头）添加到处理器链中。\n- 基于数据类的处理器组件 Jinja 模板渲染。\n- 附加文档。","2025-06-27T14:59:53",{"id":179,"version":180,"summary_zh":181,"released_at":182},289048,"v1.0.1","为处理器添加了 Switch 操作，类似于 C++ 的 std::switch 语句。\n\n核心处理器新增功能：\n\n- 使用 Google Cloud API 的文本转语音和语音转文本处理器\n- 实时处理器，可将基于轮次的大型语言模型转换为实时处理模式（仅支持音频输入\u002F输出）\n- PDF 处理器，用于处理 PDF 文件并提取可用于大型语言模型的标记\n- Drive 处理器，从 Google Drive 获取文档（表格、幻灯片和文档）\n- GitHub 处理器，从 GitHub 获取代码\n- Jinja 处理器，根据类模板生成提示\n\n示例：\n- 多个命令行工具，用于从命令行测试处理器（包括直播和实时处理器）","2025-06-20T12:31:29",{"id":184,"version":185,"summary_zh":186,"released_at":187},289049,"v1.0.0","GenAI处理器库首次发布。","2025-05-22T17:02:44"]