Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a search based document for AppAgent #25

Open
wants to merge 32 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 6 additions & 0 deletions .fdignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
*.png
.*
assets
LICENSE
license.txt
docs
6 changes: 6 additions & 0 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
!.gitignore
!*
!*/*
cache_db.json
cache_tree.json
vector_cache
1 change: 1 addition & 0 deletions docs/cache_title.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"_default": {"1": {"path": "/README.md", "hash": "9465589facb4406a0387e8e3e39eea60", "title": "Open-Source AppAgent for Android Studio"}, "2": {"path": "/README.md:1-13", "hash": "33809fcc9a150be97e64a510e7f7ae8b", "title": "Open-Source AppAgent: Powering AI-Driven Mobile Apps"}, "3": {"path": "/README.md:13-28", "hash": "1f6f676fddfa96beaf11c3addd9309a2", "title": "AppAgent README Updates"}, "4": {"path": "/README.md:29-45", "hash": "88bdd923c87ba30ffe233e539500b9eb", "title": "Introducing AppAgent: Multimodal Smartphone App Framework"}, "5": {"path": "/README.md:47-70", "hash": "5327aa59f2f7d5b16122464ee0025249", "title": "Quick Start GPT-4 Vision Android"}, "6": {"path": "/README.md:70-88", "hash": "d8b0139433578d9eca6297c0af6f5e72", "title": "Run Android Apps on Emulator with AppAgent"}, "7": {"path": "/README.md:90-106", "hash": "d33d2e08192a4c079128986144f37269", "title": "Customizing GPT-4V Requests"}, "8": {"path": "/README.md:107-127", "hash": "b56714745b3c7fdb220222ef62bd3e61", "title": "Autonomous Exploration and Human Demonstration"}, "9": {"path": "/README.md:128-147", "hash": "9d79a27e7400b54504d3c1971920889b", "title": "Running and Demonstrating App with `learn.py` and `run.py`"}, "10": {"path": "/README.md:147-168", "hash": "8ddc3e14d374840ed3fa3af95a368fae", "title": "Guide to Running AppAgent and Documentation Improvement"}, "11": {"path": "/README.md:169-182", "hash": "d16fb6dc8c75772b94ef8036ade8dec8", "title": "Publication Details Format"}, "12": {"path": "/config.yaml", "hash": "ef5fca0319f57e5965f8994dbb2f527c", "title": "App Config File Setup"}, "13": {"path": "/config.yaml:1-11", "hash": "e69b796c3b04fbdf2f3721977f3129ae", "title": "Configuring Settings"}, "14": {"path": "/config.yaml:11-14", "hash": "c3d60ccb81991dabd500c228c11fbb29", "title": "Config File Customization"}, "15": {"path": "/learn.py", "hash": "68015a70a49510e539a5ceda7763f96f", "title": "AppAgent Exploration Interface & Document Generator"}, "16": {"path": "/learn.py:1-23", "hash": "7ba3765927db93d561bacb6a6e477e7e", "title": "AppAgent's Exploration Phase Argument Parser"}, "17": {"path": "/learn.py:24-44", "hash": "8e654fc80935b3f87548b9024abc3283", "title": "Agent Exploration Mode Selector"}, "18": {"path": "/learn.py:44-44", "hash": "6e1050bef061a047c4b1e6d09b269bd1", "title": "Document Generator Script"}, "19": {"path": "/requirements.txt", "hash": "92c6b8c37f0b7a240e9b53722d9cf2b4", "title": "Required Dependencies"}, "20": {"path": "/run.py", "hash": "42ebe6a7247e4a5a3429702fbd69b3fe", "title": "Command Line Interface Setup"}, "21": {"path": "/scripts/and_controller.py", "hash": "a63e31626096498777a1a976b3937c63", "title": "Android Controller Script"}, "22": {"path": "/scripts/and_controller.py:1-43", "hash": "36bdee162f642e7fbaa0ffe3aeffe197", "title": "Android Device Controller"}, "23": {"path": "/scripts/and_controller.py:44-65", "hash": "ce9459ddc1c0e4bae91187e8ac270420", "title": "Unique XML Element Identifier Generator"}, "24": {"path": "/scripts/and_controller.py:66-90", "hash": "7067d8bf3057e36543b45f3149abd19f", "title": "Bounding Box Android Element Creator"}, "25": {"path": "/scripts/and_controller.py:91-112", "hash": "79daccec1aa7a76dd9e8cb02150db5af", "title": "Android Device Controller: Device Size and Screenshot Functionality"}, "26": {"path": "/scripts/and_controller.py:113-137", "hash": "9036c9cf9bd4a38d727979f285684804", "title": "Android Debug Bridge Commands Execution Class"}, "27": {"path": "/scripts/and_controller.py:138-166", "hash": "09464389e1879a8e91f742d89aa6dba6", "title": "Touch Actions Script"}, "28": {"path": "/scripts/and_controller.py:167-180", "hash": "f884bdae06c476f3d455415679eab72e", "title": "ADB Swipe Control Script"}, "29": {"path": "/scripts/config.py", "hash": "e4365d92ac5a4b8622a1bb3cc5f9d1d0", "title": "YAML Config Loader"}, "30": {"path": "/scripts/document_generation.py", "hash": "f56a5868e48eef0943d4d504ae1d8801", "title": "Document Generation Script"}, "31": {"path": "/scripts/document_generation.py:1-35", "hash": "dc2fd47225e0952761b8e3ac455ea5d0", "title": "Setting Up AppAgent: Arguments and Directories"}, "32": {"path": "/scripts/document_generation.py:36-57", "hash": "502eb8ef9f469e882bee23fc299e62d0", "title": "Directory Creation and Data Processing"}, "33": {"path": "/scripts/document_generation.py:58-75", "hash": "e34bcc31b4a3e044d0207184d6a83171", "title": "User Action Prompt Generator"}, "34": {"path": "/scripts/document_generation.py:76-96", "hash": "91fead1b6b59f9817fde9f0d85369b42", "title": "Else Block: Checks and Refines Document"}, "35": {"path": "/scripts/document_generation.py:97-130", "hash": "006f68f12b7a9ff81408ab9b5ea608ce", "title": "Document Generation Process for Elements in Python"}, "36": {"path": "/scripts/document_generation.py:131-141", "hash": "87d42ebd1be69a7e07899bb7233d7128", "title": "Error Handling Script"}, "37": {"path": "/scripts/model.py", "hash": "54d997517e2fd4d27175f38d81e423eb", "title": "OpenAI API Script"}, "38": {"path": "/scripts/model.py:1-34", "hash": "720a054a5b397cf30a8a91d558646dd4", "title": "OpenAI API Request Script"}, "39": {"path": "/scripts/model.py:37-59", "hash": "f02b6e0a4f7fe4a58c9bcc677b7e9564", "title": "Parse Explore Response Function"}, "40": {"path": "/scripts/model.py:60-85", "hash": "b5354bb45636acc95f3b1958707c1912", "title": "Grid Action Parser"}, "41": {"path": "/scripts/model.py:86-106", "hash": "46d9d47ffa17fc8156b4fd9b49703e93", "title": "Parse Message String and Display Results"}, "42": {"path": "/scripts/model.py:107-131", "hash": "a240463f4fda79b0ae8dfd9ff9f548a9", "title": "Act-Based Response Parser"}, "43": {"path": "/scripts/model.py:132-150", "hash": "2e9211642198ff6d3e5654b2e1662034", "title": "Extracting Information from Messages"}, "44": {"path": "/scripts/prompts.py", "hash": "de45d0f8c8cfb5039a3c2905225d863a", "title": "Task-Oriented Mobile App UI Templates"}, "45": {"path": "/scripts/prompts.py:1-10", "hash": "4c02cc0560883532c4ed309aa0fec56a", "title": "Screenshot Comparison: Tap Action"}, "46": {"path": "/scripts/prompts.py:11-20", "hash": "62a63235e8ce7e62cee9120a9fb09cd9", "title": "Long Press Guide for Mobile App UI"}, "47": {"path": "/scripts/prompts.py:21-30", "hash": "458daedf082e4ec37e6b81a84f20ffa6", "title": "Swipe UI Element Template"}, "48": {"path": "/scripts/prompts.py:31-41", "hash": "97f5bc4605e263f498e8e6e9264345c2", "title": "Generate UI Documentation Prompt"}, "49": {"path": "/scripts/prompts.py:43-57", "hash": "7c7a512af46f1d7d0d51e24f71e5a734", "title": "Control Smartphone with Python Functions"}, "50": {"path": "/scripts/prompts.py:58-71", "hash": "06a711950ca318bb67b47cc4e2187c16", "title": "Smartphone Element Interaction Functions"}, "51": {"path": "/scripts/prompts.py:72-87", "hash": "3c7ad4dc5d11a12a0ecf6f1822317a7b", "title": "Grid Overlay Prompt Function"}, "52": {"path": "/scripts/prompts.py:87-102", "hash": "3dba1d40104309e8e8447d109c7fca77", "title": "Smartphone Grid Tapping Agent"}, "53": {"path": "/scripts/prompts.py:103-117", "hash": "ba17c79659441dcd45f0afd507db9148", "title": "Smartphone Touch Interaction Functions"}, "54": {"path": "/scripts/prompts.py:118-131", "hash": "893d75d6e1d4010b3087111bbfbbfca5", "title": "Swipe Function for Grid Areas and Subareas"}, "55": {"path": "/scripts/prompts.py:132-149", "hash": "94ad59e52350f4a76db51dcfdb67c88b", "title": "Smartphone Self-Exploration Task Template"}, "56": {"path": "/scripts/prompts.py:150-163", "hash": "dbc76bfd4e9a71fc15c14547803224dc", "title": "Universal UI Interaction Script"}, "57": {"path": "/scripts/prompts.py:164-177", "hash": "a5f2ca92178e98b6f2f1684bc281e05e", "title": "Swipe Function with Distance and Direction"}, "58": {"path": "/scripts/prompts.py:178-190", "hash": "c0519a3bfad20d0067ec6e36d94cd488", "title": "Analyzing Mobile App Screenshot Differences"}, "59": {"path": "/scripts/prompts.py:191-203", "hash": "b4e5726010a510f42d85ea5b6ff1bea0", "title": "Undo: Revert to Previous Screen"}, "60": {"path": "/scripts/prompts.py:204-217", "hash": "e2034970e7714d39f553ea360a589f23", "title": "Partial UI Progress"}, "61": {"path": "/scripts/prompts.py:218-223", "hash": "0c06dd92198d3f8d271b04ff5414c6a8", "title": "Task-Oriented UI Prompts"}, "62": {"path": "/scripts/self_explorer.py", "hash": "f113dd5e034b652f96fd38a9926717d8", "title": "GPT-4 Self Explorer Script"}, "63": {"path": "/scripts/self_explorer.py:1-38", "hash": "355c53d4b28ed6d37ae12a62aaa027ea", "title": "Autonomous Exploration Script Setup"}, "64": {"path": "/scripts/self_explorer.py:39-63", "hash": "7e1f788e03e4215f90df089418a9f552", "title": "Initialize Directories and Devices"}, "65": {"path": "/scripts/self_explorer.py:64-91", "hash": "aabe50b3fbdf73385681653f1453e265", "title": "Check & Set Resolution, Task Loop"}, "66": {"path": "/scripts/self_explorer.py:92-113", "hash": "c96af74561dc7f53d854d3c58bc20523", "title": "Focusable Element Identifier"}, "67": {"path": "/scripts/self_explorer.py:114-145", "hash": "fd5f2fbc0d080d328275988bcd5e6a9d", "title": "GPT-4 Prompt Processing & Response Logging"}, "68": {"path": "/scripts/self_explorer.py:146-169", "hash": "0a37bfaf5784555cac5f251fb896ea4b", "title": "Error-Handling Actions"}, "69": {"path": "/scripts/self_explorer.py:170-195", "hash": "4a04e878ced3c1f4c75adb36a1f44fdc", "title": "Breaking Loop with Task Completion"}, "70": {"path": "/scripts/self_explorer.py:196-228", "hash": "0be2e735f872182f7e672d5d3f9d46e7", "title": "Prompt Replacement and Logging"}, "71": {"path": "/scripts/self_explorer.py:228-249", "hash": "211123aa53332b3553880fe60febec7f", "title": "Self-Explorer: Decision Handling and Back Action"}, "72": {"path": "/scripts/self_explorer.py:250-276", "hash": "7a0284eff8d721e34446f7975bda9fec", "title": "Documentation Updater"}, "73": {"path": "/scripts/self_explorer.py:277-282", "hash": "d8d7eac22c7d66d93e7c1295192277a3", "title": "Max Rounds Reached: Yellow Warning, Unexpected Errors: Red Alert"}, "74": {"path": "/scripts/step_recorder.py", "hash": "7407e79c8ce9acec57a8ef5c6b731086", "title": "Command-line Step Recorder"}, "75": {"path": "/scripts/step_recorder.py:1-37", "hash": "4d1e365bdc35f5381cd03874ebf69a6d", "title": "Setting up AppAgent Command Line Args"}, "76": {"path": "/scripts/step_recorder.py:38-67", "hash": "e2e50a7c38f4bbd3329e39716555bb3b", "title": "Setting Up File Directories and Device Checks"}, "77": {"path": "/scripts/step_recorder.py:68-92", "hash": "5c92450ff7c5313cda28355a5029cc9d", "title": "Device Size and Resolution Capture"}, "78": {"path": "/scripts/step_recorder.py:93-116", "hash": "c9696d76a0f8795876ac784fe588624f", "title": "Clickable and Focusable Elements Detection"}, "79": {"path": "/scripts/step_recorder.py:116-132", "hash": "271354675c2b147fdd3c80e146f7f7d2", "title": "Interactive Element Recording Script"}, "80": {"path": "/scripts/step_recorder.py:133-150", "hash": "19433bbaad95cc1158fd8ad3ba98beba", "title": "Long Press Simulator"}, "81": {"path": "/scripts/step_recorder.py:151-167", "hash": "3f6c915f4aa96dbfd6b912dece58600d", "title": "Long Press/Swipe Recorder Script"}, "82": {"path": "/scripts/step_recorder.py:168-183", "hash": "a3119622505ca95f5ce32c19815a49a4", "title": "Swipe Recorder & Executor"}, "83": {"path": "/scripts/task_executor.py", "hash": "fed44703729ff2124739fbb32bd0b1ea", "title": "Grid Image Task Executor"}, "84": {"path": "/scripts/task_executor.py:1-36", "hash": "95d54ef168041993521deda0efb17221", "title": "AppAgent Task Executor"}, "85": {"path": "/scripts/task_executor.py:37-57", "hash": "95d7127dbbeadfc97042067b73aa7de0", "title": "Task Directory and Document Selection"}, "86": {"path": "/scripts/task_executor.py:58-83", "hash": "e53ad6a575de15396916d4358b69dae8", "title": "Select Document Base and Check Devices"}, "87": {"path": "/scripts/task_executor.py:84-113", "hash": "646faabc76811a43236e1b715884f228", "title": "Asking for Sub-Areas with Validation"}, "88": {"path": "/scripts/task_executor.py:114-137", "hash": "a63e84e8fba09f38fb2da151575a3748", "title": "Grid-Enabled Screenshot Processing"}, "89": {"path": "/scripts/task_executor.py:138-159", "hash": "575ce0bf4aa7f57a23cefc8e860c16fb", "title": "Bounding Box Generation"}, "90": {"path": "/scripts/task_executor.py:160-175", "hash": "ba2590db11acf4e57073dd9255416a73", "title": "Documentation Check for UI Elements"}, "91": {"path": "/scripts/task_executor.py:176-188", "hash": "9011b1432cb1e97b4757dd7b41ce3390", "title": "Colorful UI Documentation Printer"}, "92": {"path": "/scripts/task_executor.py:189-218", "hash": "016135a761c71d5765be5cb3db724d95", "title": "AI Prompt Generator and Responder"}, "93": {"path": "/scripts/task_executor.py:219-245", "hash": "5179baf9aa67e6227f0a0c82e5b1f357", "title": "Error-Resilient Action Executor"}, "94": {"path": "/scripts/task_executor.py:246-269", "hash": "803f55303761ca613804574b3994124d", "title": "Swipe and Grid Action Script"}, "95": {"path": "/scripts/task_executor.py:270-289", "hash": "289137b3fe48d7301e3696611b5b898e", "title": "Swipe and Check Task Executor"}, "96": {"path": "/scripts/utils.py", "hash": "f409fb20a9cba79cc3708b4b6973a57e", "title": "Multicolor Text & Bbox Drawing Utils"}, "97": {"path": "/scripts/utils.py:1-39", "hash": "2d80fba6cc3468f664c17103ab0a1e44", "title": "Multicolored Text & Image Bounding Boxes"}, "98": {"path": "/scripts/utils.py:40-55", "hash": "530d00c4fb90d66aa1a744286e69779c", "title": "Record Mode and Element Coloring"}, "99": {"path": "/scripts/utils.py:56-89", "hash": "40a7016b0d966ea5d8fcf80bd09de7e2", "title": "Grid Image Labeler"}, "100": {"path": "/scripts/utils.py:90-100", "hash": "1f562549662276c373e2df068a74fa6c", "title": "Draw and Save Text on Image with OpenCV"}}}
Loading