Skip to content

Commit 0090e7b

Browse files
authored
Merge branch 'main' into add-unit-tests-ci
2 parents a5af129 + d3c1403 commit 0090e7b

File tree

7 files changed

+33
-12
lines changed

7 files changed

+33
-12
lines changed

README.md

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Let's assume we want to download utility bills:
4040

4141
## Setup
4242

43-
1. Set up your OpenAI [API Keys](https://platform.openai.com/account/api-keys) and add the `OPENAI_API_KEY` environment variable. (We recommend your open ai account to have models that are at least as capable as OpenAI o1-mini. Models on par with OpenAI o1-preview are ideal.)
43+
1. Set up your OpenAI [API Keys](https://platform.openai.com/account/api-keys) and add the `OPENAI_API_KEY` environment variable. (We recommend using an account with access to models that are at least as capable as OpenAI o1-mini. Models on par with OpenAI o1-preview are ideal.)
4444
2. Install Python requirements via poetry:
4545
```
4646
poetry install
@@ -49,14 +49,18 @@ Let's assume we want to download utility bills:
4949
```
5050
poetry shell
5151
```
52-
4. Run the following command to spawn a browser:
52+
4. Register the Poetry virtual environment with Jupyter:
53+
```
54+
poetry run ipython kernel install --user --name=integuru
55+
```
56+
5. Run the following command to spawn a browser:
5357
```
5458
poetry run python create_har.py
5559
```
5660
Log into your platform and perform the desired action (such as downloading a utility bill).
57-
5. Run Integuru:
61+
6. Run Integuru:
5862
```
59-
poetry run python -m integuru --prompt "download utility bills" --model gpt-4o
63+
poetry run integuru --prompt "download utility bills" --model gpt-4o
6064
```
6165
You can also run it via Jupyter Notebook `main.ipynb`
6266

@@ -67,8 +71,8 @@ Let's assume we want to download utility bills:
6771
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.
6872

6973
```
70-
poetry run python -m integuru --help
71-
Usage: python -m integuru [OPTIONS]
74+
poetry run integuru --help
75+
Usage: integuru [OPTIONS]
7276
7377
Options:
7478
--model TEXT The LLM model to use (default is gpt-4o)
@@ -85,6 +89,7 @@ Options:
8589
--help Show this message and exit.
8690
```
8791

92+
8893
## Running Unit Tests
8994

9095
To run unit tests using `pytest`, use the following command:
@@ -102,9 +107,14 @@ This repository includes a CI workflow using GitHub Actions. The workflow is def
102107
3. Installs dependencies using `poetry`.
103108
4. Runs tests using `pytest`.
104109

110+
## Note on 2FA
111+
112+
When the destination site uses two-factor authentication (2FA), the workflow remains the same. Ensure that you complete the 2FA process and obtain the cookies/auth tokens/session tokens after 2FA. These tokens will be used in the workflow.
113+
114+
105115
## Demo
106116

107-
[![Demo Video](https://img.youtube.com/vi/7OJ4w5BCpQ0/0.jpg)](https://www.youtube.com/watch?v=7OJ4w5BCpQ0)
117+
[![Demo Video](http://markdown-videos-api.jorgenkh.no/youtube/7OJ4w5BCpQ0)](https://www.youtube.com/watch?v=7OJ4w5BCpQ0)
108118

109119
## Contributing
110120

@@ -115,3 +125,14 @@ Contributions to improve Integuru are welcome. Please feel free to submit issues
115125
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 [email protected].
116126

117127
We open-source unofficial APIs that we've built already. You can find them [here](https://github.com/Integuru-AI/APIs-by-Integuru).
128+
129+
## Privacy Policy
130+
131+
### Data Storage
132+
Collected data is stored locally in the `network_requests.har` and `cookies.json` files.
133+
134+
### LLM Usage
135+
The tool uses a cloud-based LLM (OpenAI's GPT-4o and o1-preview models).
136+
137+
### LLM Training
138+
The LLM is not trained or improved by the usage of this tool.

create_har.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ async def open_browser_and_wait():
2121

2222
input("Press Enter to continue and close the browser...")
2323

24+
# Ensure 2FA is completed before saving cookies
2425
cookies = await context.cookies()
2526

2627
with open("cookies.json", "w") as f:

integuru/agent.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -409,4 +409,3 @@ def find_key_by_string_in_value(dictionary: Dict[str, Dict[str, Any]], search_st
409409
return key
410410
return None
411411

412-

integuru/models/DAGManager.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,5 +64,3 @@ def __str__(self):
6464
attrs = self.graph.nodes[node_id]
6565
nodes_info.append(f"{node_id}: {attrs}")
6666
return "\n".join(nodes_info)
67-
68-

main.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,9 @@
101101
],
102102
"metadata": {
103103
"kernelspec": {
104-
"display_name": "integration_agent",
104+
"display_name": "integuru",
105105
"language": "python",
106-
"name": "integration_agent"
106+
"name": "integuru"
107107
},
108108
"language_info": {
109109
"codemirror_mode": {

pyproject.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ networkx = "^3.3"
1818
matplotlib = "^3.9.2"
1919
ipykernel = "^6.29.5"
2020

21+
[tool.poetry.scripts]
22+
integuru = "integuru.__main__:cli"
2123

2224
[build-system]
2325
requires = ["poetry-core"]

tests/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)