AI prompts
base on AI agents can now use real Android, just like a human. # πΌ Panda: Your Personal AI Phone Operator
**You touch grass. I'll touch your glass.**
[](https://discord.gg/b2hxFNXvWk)
[](https://docs.google.com/forms/d/e/1FAIpQLScgviOQ13T8Z5sYD6KOLAPex4H_St0ubWNmuRIsXweFzRVrSw/viewform?usp=dialog)
[](https://deepwiki.com/Ayush0Chaudhary/blurr)
Apply for the closed test: [google form](https://docs.google.com/forms/d/e/1FAIpQLScgviOQ13T8Z5sYD6KOLAPex4H_St0ubWNmuRIsXweFzRVrSw/viewform?usp=dialog)
---
# Demos:
#### Sending Welcome message to all the new Connections on Linkedin
[](https://www.youtube.com/embed/JO_EWFYJJjA)
#### 5 task demo:
https://github.com/user-attachments/assets/cf76bb00-2bf4-4274-acad-d9f4c0d47188
**Panda** is a proactive, on-device AI agent for Android that autonomously understands natural language commands and operates your phone's UI to achieve them. Inspired by the need to make modern technology more accessible, Panda acts as your personal operator, capable of handling complex, multi-step tasks across different applications.
[](https://wip.vost.pt/)
[](./LICENSE)
[](https://kotlinlang.org)
## Core Capabilities
* π§ **Intelligent UI Automation:** Panda sees the screen, understands the context of UI elements, and performs actions like tapping, swiping, and typing to navigate apps and complete tasks.
* π’ **High Qaulity voice:** Panda have high quality voice by GCS's Chirp
* πΎ **Persistent & Personalized local Memory:** β οΈ **Temporarily Disabled** - Panda memory is turned off as of yet. Memory functionality will be restored in a future update.
## Architecture Overview
Panda is built on a sophisticated multi-agent system written entirely in Kotlin. This architecture separates responsibilities, allowing for more complex and reliable reasoning.
* **Eyes & Hands (The Actuator):** The **Android Accessibility Service** serves as the agent's physical connection to the device, providing the low-level ability to read the screen element hierarchy and programmatically perform touch gestures.
* **The Brain (The LLM):** All high-level reasoning, planning, and analysis are powered by **LLM** models. This is where decisions are made.
* **The Agent:**
* **Operator:** This is executor with Notepad.
## π Getting Started
### Prerequisites
* Android Studio (latest version recommended)
* An Android device or emulator with API level 26+
* Some Gemini keys, sample ENV
```
sdk.dir=
GEMINI_API_KEYS=
```
### Installation
1. **Clone the repository:**
```bash
git clone [https://github.com/ayush0chaudhary/blurr.git](https://github.com/ayush0chaudhary/blurr.git)
cd blurr
```
2. **Set up API Keys:**
This project uses a `local.properties` file to securely handle API keys. This file is included in `.gitignore` and should never be committed.
* Create a file named `local.properties` in the root directory of the project.
* Add your API keys to this file in the following format:
```properties
sdk.dir=
GEMINI_API_KEYS=<add 2-3 keys working here>
TAVILY_API=<not-req><add randome string>
MEM0_API=<not-req><add randome string>
PICOVOICE_ACCESS_KEY=<not-req><add randome string>
GOOGLE_TTS_API_KEY=<req> (issue will fix this)
GCLOUD_GATEWAY_PICOVOICE_KEY=<not needed><add randome string>
GCLOUD_GATEWAY_URL=<not needed><add randome string>
GCLOUD_PROXY_URL=<not needed><add randome string>
GCLOUD_PROXY_URL_KEY=<not needed><add randome string>
REVENUE_CAT_PUBLIC_URL=<not needed> <add randome string>
REVENUECAT_API_KEY=<not needed> <add randome string>
```
3. **Build & Run:**
* Open the project in Android Studio.
* Let Gradle sync all the dependencies.
* Run the app on your selected device or emulator.
4. **Enable Accessibility Service:**
* On the first run, the app will prompt you to grant Accessibility permission.
* Click "Grant Access" and enable the "Panda" service in your phone's settings. This is required for the agent to see and control the screen.
## πΊοΈ What's Next for Panda (Roadmap)
Panda is currently a powerful proof-of-concept, and the roadmap is focused on making it a truly indispensable assistant.
* [ ] **NOT UPDATED:** List not updated
## π€ Contributing
Contributions are welcome! If you have ideas for new features or improvements, feel free to open an issue or submit a pull request.
## π License
This project is licensed under a Personal Use License - see the [LICENSE](LICENSE) file for details.
**Personal & Educational Use:** Free to use, modify, and distribute for personal, educational, and non-commercial purposes.
**Commercial Use:** Requires a separate commercial license. Please contact Panda AI for commercial licensing terms.
### A small video to help you understand what the project is about.
https://github.com/user-attachments/assets/b577072e-2f7f-42d2-9054-3a11160cf87d
Write you api key in in local.properties, more keys you use, better is the speed π
# View logs in real-time
adb logcat | grep GeminiApi
## Star History
[](https://www.star-history.com/#Ayush0Chaudhary/blurr&Timeline)
", Assign "at most 3 tags" to the expected json: {"id":"14842","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"