Integuru v0
요약
Integuru v0은 웹 브라우저의 네트워크 요청(HAR 파일)과 사용자가 원하는 행동에 대한 프롬프트를 입력받아, 외부 플랫폼의 내부 API를 역공학하고 실행 가능한 Python 코드를 생성하는 AI 에이전트입니다. 이 도구는 복잡한 웹 상호작용을 여러 개의 의존적인 API 호출로 분해하여 그래프 형태로 모델링하며, 이를 통해 사용자가 원하는 최종 목표(예: 유틸리티 청구서 다운로드)를 달성할 수 있는 전체 코드 스크립트를 자동으로 생성합니다. 개발자는 OpenAI API 키와 Poetry 환경 설정을 통해 이 에이전트를 로컬에서 구동하고 테스트할 수 있습니다.
핵심 포인트
- 웹 브라우저의 네트워크 요청(HAR 파일)을 분석하여 내부 API 엔드포인트를 식별합니다.
- 요청 간의 의존성 그래프를 구축하여, 어떤 요청이 다른 요청에 의존하는지 구조화합니다.
- 최종 목표 달성에 필요한 모든 단계를 실행 가능한 Python 코드로 자동 변환하고 생성합니다.
- 사용자 입력(프롬프트)과 HAR 파일을 결합하여 복잡한 웹 상호작용을 코드 레벨로 역공학할 수 있습니다.
Integuru v0
플랫폼의 내부 API 를 역공학하여 통합 코드를 생성하는 AI 에이전트의 첫 번째 버전입니다.
Integuru v0 in Action
What Integuru v0 Does
create_har.py
을 사용하여 브라우저 네트워크 요청을 모두 포함하는 파일, 쿠키를 포함하는 파일, 그리고 브라우저에서 트리거된 행동을 설명하는 프롬프트를 생성합니다. 에이전트는 플랫폼의 내부 엔드포인트를 호출하여 원하는 행동을 수행할 실행 가능한 Python 코드를 출력합니다.
How It Works
우리가 유틸리티 청구서를 다운로드하고 싶다고 가정해 봅시다:
- 에이전트가 유틸리티 청구서를 다운로드하는 요청을 식별합니다.
예를 들어, 요청 URL 은 다음과 같이 보일 수 있습니다:https://www.example.com/utility-bills?accountId=123&userId=456 - 다른 요청에 의존하는 요청의 부분을 식별합니다.
위 URL 은 accountId 와 userId 와 같은 동적 부분이 포함되어 있으며, 이 부분은 다른 요청에서 얻어야 합니다.accountId=123 userId=456 - 이러한 부분을 제공하는 요청을 찾으며 다운로드 요청에 의존성을 만들고, 이 요청들을 원래 요청에 추가하여 의존성 그래프를 구축합니다.
GET https://www.example.com/get_account_id GET https://www.example.com/get_user_id - 이 과정은 확인 중인 요청이 다른 요청에 의존하지 않고 인증 쿠키만 필요한 경우까지 반복됩니다.
- 에이전트는 각 노드 (요청) 를 실행 가능한 함수로 변환하며, 아웃가지가 없는 노드로부터 시작하여 마스터 노드에 도달할 때까지 그래프를 위로 이동합니다.
Features
- 원하는 행동을 수행하는 최종 요청을 만들기 위해 요청의 의존성 그래프를 생성합니다.
- 입력 변수 (예: 문서에서 다운로드할 년도를 선택) 를 허용합니다. 현재는 그래프 생성에만 지원됩니다. 코드 생성용 입력 변수는 곧 지원될 예정입니다!
- 원하는 행동을 수행하기 위해 그래프에 있는 모든 요청을 타격하는 코드를 생성합니다.
Setup
-
OpenAI API Keys 를 설정하고
OPENAI_API_KEY환경 변수를 추가합니다. (OpenAI o1-mini 와 최소 같은 능력을 가진 모델에 액세스할 수 있는 계정을 사용하는 것을 권장합니다. OpenAI o1-preview 과 동등한 모델을 사용하는 것이 이상적입니다.) -
Poetry 를 통해 Python 요구 사항을 설치합니다:
poetry install -
Poetry shell 을 엽니다:
poetry shell -
Poetry 가상 환경을 Jupyter 에 등록합니다:
poetry run ipython kernel install --user --name=integuru -
다음 명령을 실행하여 브라우저 를 생성합니다:
poetry run python create_har.py플랫폼에 로그인하고 원하는 행동을 수행하세요 (예: 유틸리티 청구서 다운로드).
-
Integuru 를 실행합니다:
poetry run integuru --prompt "download utility bills" --model <gpt-4o|o3-mini|o1|o1-mini>Jupyter Notebook
main.ipynb를 통해 실행할 수도 있습니다.그래프 생성을 위한 모델로 gpt-4o 를 사용하는 것을 권장합니다. Function calling 을 지원하기 때문입니다. Integuru 는 사용자의 OpenAI 계정에 o1-preview 가 있는지 확인하여 코드 생성 시 자동으로 o1-preview 로 전환합니다.
Usage
프로젝트를 설정한 후, Integuru 를 사용하여 외부 플랫폼의 API 요청을 분석하고 역공학할 수 있습니다. 적절한 .har 파일과 원하는 행동을 트리거하는 프롬프트를 제공하면 됩니다.
poetry run integuru --help
Usage: integuru [OPTIONS]
...
Running Unit Tests
pytest 를 사용하여 단위 테스트를 실행하려면 다음 명령을 사용하세요:
poetry run pytest
Continuous Integration (CI) 워크플로우
이 저장소는 GitHub Actions 를 사용한 CI 워크플로우를 포함합니다. 워크플로우는 .github/workflows/ci.yml 파일에서 정의되며, main 브랜치로의 각 푸시 및 풀 리퀘스트마다 트리거됩니다. 워크플로우는 다음 단계를 수행합니다:
- 코드를 체크아웃합니다.
- Python 3.12 를 설정합니다.
poetry를 사용하여 의존성을 설치합니다.pytest를 사용하여 테스트를 실행합니다.
2FA 에 대한 주석
목적지 사이트에서 두 가지 요소 인증 (2FA) 을 사용할 경우, 워크플로우는 동일하게 유지됩니다. 2FA 프로세스를 완료하고 쿠키/인증 토큰/세션 토큰을 얻으세요. 이 토큰들은 워크플로우에서 사용됩니다.
데모
기여
Integuru 를 개선하기 위한 기여를 환영합니다. 프로젝트 저장소에서 이슈 또는 풀 리퀘스트를 제출해 주세요.
정보
Integuru 는 Integuru.ai 에서 구축되었습니다. 에이전트 작업 외에도, 우리는 새로운 통합이나 기존 지원 플랫폼을 위한 추가 기능을 위한 커스텀 요청을 받습니다. 또한 호스팅 및 인증 서비스를 제공합니다. 요청이 있거나与我们 일하고 싶다면 richard@integuru.ai 로 연락하세요.
우리는 이미 구축한 공식 API 를 오픈소스로 공개합니다. 여기 에서 찾을 수 있습니다.
개인정보 정책
데이터 저장
수집된 데이터는 network_requests.har 및 cookies.json 파일에서 로컬로 저장됩니다.
LLM 사용
이 도구는 클라우드 기반 LLM (OpenAI 의 GPT-4o 와 o1-preview 모델) 을 사용합니다.
LLM 훈련
LLM 은 이 도구의 사용으로 훈련되거나 개선되지 않습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Claude Code Search의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기