https://github.com/Integuru-AI/Integuru Skip to content Navigation Menu Toggle navigation Sign in * Product + GitHub Copilot Write better code with AI + Security Find and fix vulnerabilities + Actions Automate any workflow + Codespaces Instant dev environments + Issues Plan and track work + Code Review Manage code changes + Discussions Collaborate outside of code + Code Search Find more, search less Explore + All features + Documentation + GitHub Skills + Blog * Solutions By company size + Enterprises + Small and medium teams + Startups By use case + DevSecOps + DevOps + CI/CD + View all use cases By industry + Healthcare + Financial services + Manufacturing + Government + View all industries View all solutions * Resources Topics + AI + DevOps + Security + Software Development + View all Explore + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Enterprise + Enterprise platform AI-powered developer platform Available add-ons + Advanced Security Enterprise-grade security features + GitHub Copilot Enterprise-grade AI features + Premium Support Enterprise-grade 24/7 support * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up Reseting focus You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} Integuru-AI / Integuru Public * Notifications You must be signed in to change notification settings * Fork 16 * Star 308 The first AI agent that builds third-party integrations through reverse engineering platforms' internal APIs. integuru.ai License AGPL-3.0 license 308 stars 16 forks Branches Tags Activity Star Notifications You must be signed in to change notification settings * Code * Issues 2 * Pull requests 0 * Actions * Projects 0 * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Projects * Security * Insights Integuru-AI/Integuru main BranchesTags Go to file Code Folders and files Name Name Last commit Last commit message date Latest commit History 14 Commits integuru integuru tests tests .gitignore .gitignore LICENSE LICENSE README.md README.md create_har.py create_har.py integuru_demo.gif integuru_demo.gif main.ipynb main.ipynb poetry.lock poetry.lock pyproject.toml pyproject.toml View all files Repository files navigation * README * AGPL-3.0 license Integuru An AI agent that generates integration code by reverse-engineering platforms' internal APIs. Integuru in Action Integuru in action What Integuru Does You use create_har.py to generate a file containing all browser network requests, a file with the cookies, and write a prompt describing the action triggered in the browser. The agent outputs runnable Python code that hits the platform's internal endpoints to perform the desired action. How It Works Let's assume we want to download utility bills: 1. The agent identifies the request that downloads the utility bills. For example, the request URL might look like this: https://www.example.com/utility-bills?accountId=123&userId=456 2. It identifies parts of the request that depend on other requests. The above URL contains dynamic parts (accountId and userId) that need to be obtained from other requests. accountId=123 userId=456 3. It finds the requests that provide these parts and makes the download request dependent on them. GET https://www.example.com/get_account_id GET https://www.example.com/get_user_id 4. This process repeats until the request being checked depends on no other request and only requires the authentication cookies. 5. The agent traverses up the graph, starting from nodes (requests) with no outgoing edges until it reaches the master node while converting each node to a runnable function. Features * Generate a dependency graph of requests to make the final request that performs the desired action. * Allow input variables (for example, choosing the YEAR to download a document from). This is currently only supported for graph generation. Input variables for code generation coming soon! * Generate code to hit all requests in the graph to perform the desired action. Setup 1. Set up your OpenAI API Keys and add the OPENAI_API_KEY environment variable. (We recommend using models that are at least as capable as OpenAI o1-mini. Models on par with OpenAI o1-preview are ideal.) 2. Install Python requirements via poetry: poetry install 3. Open a poetry shell: poetry shell 4. Run the following command to spawn a browser: poetry run python create_har.py Log into your platform and perform the desired action (such as downloading a utility bill). 5. Run Integuru: poetry run python -m integuru --prompt "download utility bills" You can also run it via Jupyter Notebook main.ipynb Usage After setting up the project, you can use Integuru to analyze and reverse-engineer API requests for external platforms. Simply provide the appropriate .har file and a prompt describing the action that you want to trigger. poetry run python -m integuru --help Usage: python -m 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. Demo Demo Video Contributing Contributions to improve Integuru are welcome. Please feel free to submit issues or pull requests on the project's repository. Info Integuru is built by Integuru.ai. Besides our work on the agent, we take custom requests for new integrations or additional features for existing supported platforms. We also offer hosting and authentication services. If you have requests or want to work with us, reach out at richard@taiki.online. We open-source unofficial APIs that we've built already. You can find them here. About The first AI agent that builds third-party integrations through reverse engineering platforms' internal APIs. integuru.ai Topics api agent integrations automation integration openapi apis agents ai-agents unofficial-apis rpa robotic-process-automation unofficial-api ai-agent llm Resources Readme License AGPL-3.0 license Activity Custom properties Stars 308 stars Watchers 3 watching Forks 16 forks Report repository Contributors 2 * * Languages * Python 94.6% * Jupyter Notebook 5.4% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.