© 2026FindAgent  · @simprr
返回列表
I

Integuru-AI/Integuru

The first AI agent that builds permissionless integrations through reverse engineering platforms' internal APIs.

agentagentsai-agentai-agentsapiapisautomationintegrationintegrationsllmopen-sourceopenapirobotic-process-automationrpaunofficial-apiunofficial-apis
⭐

4.6k

Stars

🔱

360

Forks

👁

33

Watchers

📋

23

Issues

PythonAGPL-3.0创建于 2024/10/22更新于 昨天
在 GitHub 上查看访问主页
README
由 Gemini 翻译整理

Integuru v0

这是首个通过逆向工程平台内部 API 来生成集成代码的 AI Agent。

Integuru v0 实战演示

Integuru in action

Integuru v0 的功能

你可以使用 create_har.py 生成包含所有浏览器网络请求的文件以及 cookies 文件,并编写一段描述浏览器中触发动作的提示词(prompt)。该 Agent 会输出可运行的 Python 代码,通过调用平台的内部端点来执行所需的操作。

工作原理

假设我们要下载水电费账单:

  1. Agent 识别出下载水电费账单的请求。 例如,请求 URL 可能如下所示:
    https://www.example.com/utility-bills?accountId=123&userId=456
    
  2. 它识别出请求中依赖于其他请求的部分。 上述 URL 包含需要从其他请求中获取的动态部分(accountId 和 userId)。
    accountId=123 userId=456
    
  3. 它查找提供这些参数的请求,并将下载请求与它们建立依赖关系。它还将这些请求附加到原始请求中,以构建依赖图。
    GET https://www.example.com/get_account_id
    GET https://www.example.com/get_user_id
    
  4. 此过程不断重复,直到正在检查的请求不依赖于任何其他请求,且仅需要身份验证 cookies。
  5. Agent 从没有出边的节点(请求)开始向上遍历图,直到到达主节点,同时将每个节点转换为可运行的函数。

特性

  • 生成请求依赖图,以完成执行所需操作的最终请求。
  • 允许输入变量(例如,选择下载文档的年份)。目前仅支持图形生成阶段。代码生成的输入变量功能即将推出!
  • 生成调用图中所有请求的代码,以执行所需操作。

安装设置

  1. 设置你的 OpenAI API Keys 并添加 OPENAI_API_KEY 环境变量。(我们建议使用能够调用至少与 OpenAI o1-mini 同等能力模型的账户。如果能使用与 OpenAI o1-preview 相当的模型则更为理想。)

  2. 通过 poetry 安装 Python 依赖:

    poetry install
    
  3. 打开 poetry shell:

    poetry shell
    
  4. 在 Jupyter 中注册 Poetry 虚拟环境:

    poetry run ipython kernel install --user --name=integuru
    
  5. 运行以下命令以启动浏览器:

    poetry run python create_har.py
    

    登录你的目标平台并执行所需操作(例如下载水电费账单)。

  6. 运行 Integuru:

    poetry run integuru --prompt "download utility bills" --model 
    

    你也可以通过 Jupyter Notebook main.ipynb 来运行。

    建议使用 gpt-4o 作为模型进行图形生成,因为它支持函数调用。如果用户的 OpenAI 账户可用,Integuru 将自动切换到 o1-preview 进行代码生成。

使用方法

在完成项目设置后,你可以使用 Integuru 来分析和逆向外部平台的 API 请求。只需提供相应的 .har 文件以及描述你想要触发的操作的提示词即可。

poetry run integuru --help
Usage: integuru [OPTIONS]

Options:
  --model TEXT                    The LLM model to use (default is gpt-4o)
  --prompt TEXT                   The prompt for the model  [required]
  --har-path TEXT                 The HAR file path (default is
                                  ./network_requests.har)
  --cookie-path TEXT              The cookie file path (default is
                                  ./cookies.json)
  --max_steps INTEGER             The max_steps (default is 20)
  --input_variables ...
                                  Input variables in the format key value
  --generate-code                 Whether to generate the full integration
                                  code
  --help                          Show this message and exit.

运行单元测试

要使用 pytest 运行单元测试,请使用以下命令:

poetry run pytest

持续集成 (CI) 工作流

本仓库包含一个使用 GitHub Actions 的 CI 工作流。工作流定义在 .github/workflows/ci.yml 文件中,并在每次推送到 main 分支或提交 Pull Request 时触发。工作流执行以下步骤:

  1. 检出代码。
  2. 设置 Python 3.12。
  3. 使用 poetry 安装依赖。
  4. 使用 pytest 运行测试。

关于双重认证 (2FA) 的说明

当目标网站使用双重认证 (2FA) 时,工作流保持不变。请确保你完成了 2FA 流程,并在 2FA 完成后获取 cookies/auth tokens/session tokens。这些 token 将用于后续的工作流中。

演示

Demo Video

贡献者
adrvaSl
项目信息
默认分支main
LicenseGNU Affero General Public License v3.0
创建时间2024/10/22
最近更新昨天
GAI 中文摘要

Integuru 是一个创新的 AI 智能体项目,旨在通过对平台内部 API 进行逆向工程,自动生成无需授权的自动化集成代码。该项目解决了开发者在面对缺乏官方 API 或文档的平台时,难以实现程序化交互和数据获取的痛点。

它能够自动识别并提取浏览器网络请求中的关键交互逻辑,通过分析请求间的依赖关系构建完整的调用图谱。系统会自动处理动态参数匹配及身份验证信息,确保生成的集成逻辑能够准确模拟用户行为。项目支持根据用户提供的自然语言描述,将复杂的请求链路自动转换为可执行的 Python 集成脚本。

该项目适用于需要抓取私有平台数据或实现特定自动化流程的开发者,特别是在面对无官方 API 支持的遗留系统或封闭 Web 服务时,能够极大缩短集成开发周期。