Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
8b65511
Initial commit for basic frontend
js10112006 Jul 5, 2025
f83af0e
Backend Initialised with Login and Signup
Aryan0699 Jul 6, 2025
6f5a21a
fixed the sign up page
js10112006 Jul 6, 2025
22997f0
Fixed few bugs and connected frontend with backend
Jul 8, 2025
b07920b
Removed node modules
Jul 30, 2025
dea51fb
added initial code for planner and executor agent
HARSHVARANDANI Jul 31, 2025
035936b
added all dependencies togather for entire backend, updated agents.ya…
HARSHVARANDANI Aug 1, 2025
3c88b9a
Removed bycrpt and added argon to avoid clashing also earliwer done P…
Aryan0699 Aug 1, 2025
6e78e39
Merged Conflicts in requirements.txt
Aryan0699 Aug 1, 2025
1fa38d9
local changes
js10112006 Aug 1, 2025
83d7658
Merge branch 'executor' of https://github.com/devlup-labs/Intelligent…
js10112006 Aug 1, 2025
e2cd7a8
fixed some minor issues
HARSHVARANDANI Aug 1, 2025
a9c25c4
Merge branch 'executor' of https://github.com/devlup-labs/Intelligent…
HARSHVARANDANI Aug 1, 2025
ac6427e
added executor task in tasks.yaml
HARSHVARANDANI Aug 1, 2025
6cea5a4
changed tasks.yaml
HARSHVARANDANI Aug 1, 2025
0855a0e
add initial tools and browser session
aphrodoe Aug 1, 2025
ccfa0f8
minor fix in tasks.yaml
HARSHVARANDANI Aug 1, 2025
72dc451
minor fixes
Aryan0699 Aug 1, 2025
edc3d27
frontend changes
js10112006 Aug 1, 2025
8ad2916
Merge branch 'executor' of https://github.com/devlup-labs/Intelligent…
js10112006 Aug 1, 2025
6c21663
fixed minor indentation errors
HARSHVARANDANI Aug 1, 2025
304126e
Merge branch 'executor' of https://github.com/devlup-labs/Intelligent…
HARSHVARANDANI Aug 1, 2025
795b320
fix gitignore issues
aphrodoe Aug 1, 2025
c8a91ee
Made changes to the description of planner agent also implemented a b…
Aryan0699 Aug 1, 2025
ddf50fe
resolved all issues and added loop(planner and executor) end logic
Aryan0699 Aug 2, 2025
ebef8d3
standardise planner and executor outputs
aphrodoe Aug 2, 2025
b3b8c6a
update dependencies
aphrodoe Aug 2, 2025
55ab924
code for html parsing and cleaning
vichitrarora Aug 2, 2025
8f444c5
Added tools
js10112006 Aug 3, 2025
a2eb41f
fix
vichitrarora Aug 4, 2025
6059ddb
Extra tools
Aug 4, 2025
c31f095
Added tools
js10112006 Aug 4, 2025
82a13cb
Agent code restructuring, tools integration and improved system promp…
HARSHVARANDANI Aug 4, 2025
6b0f6ec
add tools and fix dependency issue
aphrodoe Aug 5, 2025
be68f80
add task completion logic
aphrodoe Aug 5, 2025
01cde7f
add task completion logic
aphrodoe Aug 5, 2025
48f4192
Added chat UI
Aug 5, 2025
66dcc7c
Added chat UI
Aug 5, 2025
3bc0e89
Login Check added
Aug 5, 2025
25acb92
change tools and system prompts
aphrodoe Aug 5, 2025
4214dcb
Redirected to chat
Aug 5, 2025
168d4d4
Connected frontend and backend
Aryan0699 Aug 6, 2025
a2e8eaa
Updated backend chat
Aug 6, 2025
a20df5f
Issue fixed of running backend from frontend
Aryan0699 Aug 6, 2025
e220d93
Working backend and frontend
Aug 9, 2025
a3460c4
connected frontend with backend
Aryan0699 Aug 10, 2025
7c972a2
Changed db to sqlite3
Aryan0699 Aug 10, 2025
48c09e8
Fixed refresh glitch
Aug 13, 2025
848cbfe
remove db
aphrodoe Aug 14, 2025
391a86b
Testing OpenAI LLM Integration
HARSHVARANDANI Aug 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 38 additions & 36 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,36 +1,38 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# local env files
.env*.local
.env

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# local env files
.env*.local
.env

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts
backend/myenv/
__pycache__/
4 changes: 4 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"git.ignoreLimitWarning": true,
"python-envs.pythonProjects": []
}
42 changes: 21 additions & 21 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
MIT License

Copyright (c) 2025 DevlUp Labs

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
MIT License
Copyright (c) 2025 DevlUp Labs
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
7 changes: 7 additions & 0 deletions backend/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Ignore Python virtual environment
.venv/

# Ignore .env files with secrets
.env

*.db
1 change: 1 addition & 0 deletions backend/.python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.11
Empty file added backend/README.md
Empty file.
6 changes: 6 additions & 0 deletions backend/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
def main():
print("Hello from backend!")


if __name__ == "__main__":
main()
185 changes: 185 additions & 0 deletions backend/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
[project]
name = "backend"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
"aiohappyeyeballs==2.6.1",
"aiohttp==3.12.13",
"aiosignal==1.3.2",
"annotated-types==0.7.0",
"anyio==4.9.0",
"appdirs==1.4.4",
"argon2-cffi==25.1.0",
"asgiref==3.8.1",
"asttokens==3.0.0",
"attrs==25.3.0",
"auth0-python==4.10.0",
"backoff==2.2.1",
"bcrypt==4.1.0",
"blinker==1.9.0",
"bs4>=0.0.2",
"build==1.2.2.post1",
"cachetools==5.5.2",
"certifi==2025.6.15",
"cffi==1.17.1",
"charset-normalizer==3.4.2",
"chromadb==1.0.15",
"click==8.2.1",
"colorama==0.4.6",
"coloredlogs==15.0.1",
"crewai==0.130.0",
"cryptography==45.0.4",
"decorator==5.2.1",
"distro==1.9.0",
"docstring-parser==0.16",
"durationpy==0.10",
"ecdsa==0.19.1",
"et-xmlfile==2.0.0",
"executing==2.2.0",
"fastapi==0.115.9",
"filelock==3.18.0",
"filetype==1.2.0",
"flatbuffers==25.2.10",
"frozenlist==1.7.0",
"fsspec==2025.5.1",
"google-ai-generativelanguage==0.6.15",
"google-api-core==2.25.1",
"google-api-python-client==2.172.0",
"google-auth==2.40.3",
"google-auth-httplib2==0.2.0",
"google-generativeai==0.8.5",
"googleapis-common-protos==1.70.0",
"greenlet==3.2.3",
"grpcio==1.73.0",
"grpcio-status==1.71.0",
"h11==0.16.0",
"httpcore==1.0.9",
"httplib2==0.22.0",
"httptools==0.6.4",
"httpx==0.28.1",
"huggingface-hub==0.33.0",
"humanfriendly==10.0",
"idna==3.10",
"importlib-metadata==8.7.0",
"importlib-resources==6.5.2",
"instructor==1.8.3",
"ipython==9.3.0",
"ipython-pygments-lexers==1.1.1",
"jedi==0.19.2",
"jinja2==3.1.6",
"jiter==0.8.2",
"json-repair==0.46.2",
"json5==0.12.0",
"jsonpatch==1.33",
"jsonpickle==4.1.1",
"jsonpointer==3.0.0",
"jsonref==1.1.0",
"jsonschema==4.24.0",
"jsonschema-specifications==2025.4.1",
"kubernetes==33.1.0",
"langchain==0.3.25",
"langchain-core==0.3.65",
"langchain-google-genai==2.0.10",
"langchain-text-splitters==0.3.8",
"langsmith==0.3.45",
"litellm==1.72.0",
"markdown-it-py==3.0.0",
"markupsafe==3.0.2",
"matplotlib-inline==0.1.7",
"mdurl==0.1.2",
"mmh3==5.1.0",
"mpmath==1.3.0",
"multidict==6.5.0",
"nest-asyncio>=1.6.0",
"networkx==3.5",
"numpy==2.3.0",
"oauthlib==3.2.2",
"onnxruntime==1.22.0",
"openai==1.88.0",
"openpyxl==3.1.5",
"opentelemetry-api==1.34.1",
"opentelemetry-exporter-otlp-proto-common==1.34.1",
"opentelemetry-exporter-otlp-proto-grpc==1.34.1",
"opentelemetry-exporter-otlp-proto-http==1.34.1",
"opentelemetry-instrumentation==0.55b1",
"opentelemetry-instrumentation-asgi==0.55b1",
"opentelemetry-instrumentation-fastapi==0.55b1",
"opentelemetry-proto==1.34.1",
"opentelemetry-sdk==1.34.1",
"opentelemetry-semantic-conventions==0.55b1",
"opentelemetry-util-http==0.55b1",
"orjson==3.10.18",
"overrides==7.7.0",
"packaging==24.2",
"parso==0.8.4",
"passlib==1.7.4",
"pdfminer-six==20250506",
"pdfplumber==0.11.7",
"pillow==11.2.1",
"playwright==1.52.0",
"posthog==5.0.0",
"prompt-toolkit==3.0.51",
"propcache==0.3.2",
"proto-plus==1.26.1",
"protobuf==5.29.5",
"psycopg2-binary==2.9.10",
"pure-eval==0.2.3",
"pyasn1==0.6.1",
"pyasn1-modules==0.4.2",
"pycparser==2.22",
"pydantic==2.11.7",
"pydantic-core==2.33.2",
"pyee==13.0.0",
"pygments==2.19.1",
"pyjwt==2.10.1",
"pyparsing==3.2.3",
"pypdfium2==4.30.1",
"pypika==0.48.9",
"pyproject-hooks==1.2.0",
"pyreadline3==3.5.4",
"python-dateutil==2.9.0.post0",
"python-dotenv==1.1.1",
"python-jose==3.5.0",
"python-multipart==0.0.20",
"pyvis==0.3.2",
"pyyaml==6.0.2",
"referencing==0.36.2",
"regex==2024.11.6",
"requests==2.32.4",
"requests-oauthlib==2.0.0",
"requests-toolbelt==1.0.0",
"rich==13.9.4",
"rpds-py==0.25.1",
"rsa==4.9.1",
"shellingham==1.5.4",
"six==1.17.0",
"sniffio==1.3.1",
"sqlalchemy==2.0.41",
"stack-data==0.6.3",
"starlette==0.45.0",
"sympy==1.14.0",
"tenacity==9.1.2",
"tiktoken==0.9.0",
"tokenizers==0.20.3",
"tomli==2.2.1",
"tomli-w==1.2.0",
"tqdm==4.67.1",
"traitlets==5.14.3",
"typer==0.16.0",
"typing-extensions==4.14.1",
"typing-inspection==0.4.1",
"uritemplate==4.2.0",
"urllib3==2.4.0",
"uv==0.7.13",
"uvicorn==0.35.0",
"watchfiles==1.1.0",
"wcwidth==0.2.13",
"websocket-client==1.8.0",
"websockets==15.0.1",
"wrapt==1.17.2",
"yarl==1.20.1",
"zipp==3.23.0",
"zstandard==0.23.0",
]
Binary file added backend/requirements.txt
Binary file not shown.
Empty file added backend/src/__init__.py
Empty file.
Binary file added backend/src/__pycache__/main.cpython-313.pyc
Binary file not shown.
52 changes: 52 additions & 0 deletions backend/src/agents/config/agents.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
planner:
role: >
Planner Agent
goal: >
Analyze user requests and generate structured multi-agent workflows based on available agents.
backstory: >
You are a workflow planning expert AI. Your job is to deeply understand the user's request and convert it into an organized, logical plan that includes agents, dependencies, and actionable nodes. You do not perform the tasks yourself — instead, you design the execution strategy using agents from a provided list. You strictly adhere to the required format and never use agents not in the list.

executor:
role: Executor Agent
goal: >
Execute web automation tasks efficiently using the minimum required tools.
Focus on completing assigned tasks without unnecessary tool usage or redundant operations.

backstory: >
You are a precision web automation executor. Your strength lies in efficiently
executing tasks with minimal tool usage. You understand when to use HTML parsing
versus direct browser actions, and you never waste computational resources on
unnecessary operations.

CRITICAL EFFICIENCY RULES:
- Use HTML parser after you try attempting to do any task
- Use direct tools (Screenshot, Navigation, Scroll) for simple browser operations
- Never retry the same tool call multiple times without clear reason
- If a tool returns None or empty output, consider it successful unless there's an error

verbose: true
memory: false

execution_guidelines: |
TOOL SELECTION MATRIX:

Task Type → Tool Choice:
• Take Screenshot → Use "Take Screenshot" directly (NO HTML parsing needed)
• Navigate to URL → Use "Navigate To URL" directly (NO HTML parsing needed)
• Scroll Page → Use "Scroll Page" directly (NO HTML parsing needed)
• Hover Element → Use "Hover Element" directly if you know selector, otherwise parse HTML first
• Click Button → Parse HTML to find button selector, then use "Click Element"
• Fill Form → Parse HTML to find input selectors, then use "Fill Input"
• Select Dropdown → Parse HTML to find dropdown options, then use "Select Dropdown"

ERROR HANDLING:
• Tool returns None → Consider SUCCESS unless explicit error message
• Tool output empty → Consider SUCCESS for actions like screenshot, navigation
• Don't retry identical tool calls → Move to next step or report completion

COMPLETION INDICATORS:
When task is complete, include these phrases in your response:
• "user request fulfilled"
• "task completed"
• "automation complete"

Loading