base on An android AI agent can automatically operate your mobile phone <div align="center">
<span>中文</span> | <a href="README(E).md">English</a>
</div>
<div align="center">
<img src="https://img.shields.io/github/last-commit/AAswordman/Operit" alt="Last Commit">
<img src="https://img.shields.io/badge/Platform-Android_8.0%2B-brightgreen.svg" alt="Platform">
<a href="https://github.com/AAswordman/Operit/releases/latest"><img src="https://img.shields.io/github/v/release/AAswordman/Operit" alt="Latest Release"></a>
<br>
<a href="https://github.com/AAswordman/Operit/stargazers"><img src="https://img.shields.io/github/stars/AAswordman/Operit" alt="GitHub Stars"></a>
<a href="docx/USER_GUIDE.md"><img src="https://img.shields.io/badge/📖-用户指南-blue.svg" alt="User Guide"></a>
<a href="docx/CONTRIBUTING.md"><img src="https://img.shields.io/badge/contributions-welcome-brightgreen.svg" alt="Contributions Welcome"></a>
</div>
<div align="center">
<img src="app/src/main/res/playstore-icon.png" width="120" height="120" alt="Operit Logo">
<h1>Operit AI - 智能助手应用</h1>
<p>📱 <b>移动端首个功能完备的AI智能助手应用,完全独立运行,拥有强大的工具调用能力</b> 📱</p>
</div>
<div align="center">
<div style="padding: 10px 0; text-align: center;">
<img src="docx/assets/67bba92d5f1dbd7917345b6a73b1760.jpg" width="22%" alt="Operit预览图1" style="display: inline-block; border-radius: 8px; box-shadow: 0 5px 15px rgba(0,0,0,0.15); margin: 0 3px; max-width: 220px;">
<img src="docx/assets/e18954ffd6a4bc8cc465f611fee7b71.jpg" width="22%" alt="Operit预览图2" style="display: inline-block; border-radius: 8px; box-shadow: 0 5px 15px rgba(0,0,0,0.15); margin: 0 3px; max-width: 220px;">
<img src="docx/assets/ee852df3c187771fba0aa92b36a57f8.jpg" width="22%" alt="Operit预览图3" style="display: inline-block; border-radius: 8px; box-shadow: 0 5px 15px rgba(0,0,0,0.15); margin: 0 3px; max-width: 220px;">
<img src="docx/assets/d7580a42ae03c723121bd172e1f9e7d.jpg" width="22%" alt="Operit预览图4" style="display: inline-block; border-radius: 8px; box-shadow: 0 5px 15px rgba(0,0,0,0.15); margin: 0 3px; max-width: 220px;">
</div>
<p><b>🚀 我们非常需要各位去推广这个软件来获取更高的关注度 🚀</b></p>
</div>
## 🌟 项目简介
**Operit AI** 是移动端首个功能完备的 AI 智能助手应用,它**完全独立运行**(除了外部api调用)于您的 Android 设备上,拥有强大的**工具调用能力**。它不仅仅是一个聊天界面,更是一个和安卓权限和各种工具深度融合的**全能助手**。
## 🛠️ 丰富的内置工具
Operit内置超过40种强大工具,使AI助手能够与您的设备深度交互:
- **文件系统工具**:读写文件、搜索文件、解压缩、文件转换等
- **HTTP工具**:网络请求、网页访问、文件上传下载等
- **系统操作工具**:管理系统设置、安装应用、控制应用运行等
- **UI自动化工具**:屏幕点击、滑动、元素查找、表单填写等
- **媒体处理工具**:视频转换、编解码、帧提取等
这些内置工具结合丰富的插件系统,让Operit可以完成从简单到复杂的各类任务,真正实现手机智能助手的全能体验。
## 🚀 核心功能展示
### 🎮 游戏制作功能
Operit AI 让您直接在手机上创建和玩游戏,从构思到实现一气呵成。
<div align="center">
<div style="margin: 20px 0;">
<img src="docx/assets/game_maker_chat.jpg" style="height: 300px; width: auto; border-radius: 8px; box-shadow: 0 5px 15px rgba(0,0,0,0.15); margin: 0 5px; display: inline-block;">
<img src="docx/assets/game_maker_show.jpg" style="height: 300px; width: auto; border-radius: 8px; box-shadow: 0 5px 15px rgba(0,0,0,0.15); margin: 0 5px; display: inline-block;">
<img src="docx/assets/game_maker_packer.jpg" style="height: 300px; width: auto; border-radius: 8px; box-shadow: 0 5px 15px rgba(0,0,0,0.15); margin: 0 5px; display: inline-block;">
</div>
<p>👆 只需描述您的游戏创意,AI就能帮您设计、实现并打包成可分享的游戏</p>
</div>
### 🌐 Web开发功能
在手机上设计网页并导出为独立应用,既可用于个人展示页面,也可以创建实用工具。
<div align="center">
<div style="margin: 20px 0;">
<!-- 桌面端截图 -->
<img src="docx/assets/webdev/c851e530a258bbbbf41f87dcb907b14.png" style="max-width: 90%; height: auto; border-radius: 8px; box-shadow: 0 5px 15px rgba(0,0,0,0.15); margin-bottom: 15px;">
<!-- 移动端截图 -->
<div>
<img src="docx/assets/webdev/6b0f3650dd4c5709069d2e4201d3cb9.jpg" style="height: 300px; width: auto; border-radius: 8px; box-shadow: 0 5px 15px rgba(0,0,0,0.15); margin: 0 5px; display: inline-block;">
<img src="docx/assets/webdev/9e43331c5f055b1bd82cd0f7d74704d.jpg" style="height: 300px; width: auto; border-radius: 8px; box-shadow: 0 5px 15px rgba(0,0,0,0.15); margin: 0 5px; display: inline-block;">
</div>
</div>
<p>👆 网页应用开发,支持导出为独立应用和多种交互体验</p>
</div>
### 📱 悬浮窗与附件功能
Operit AI 支持悬浮窗模式和便捷的附件上传,随时调用AI功能和共享各类文件。
<div align="center">
<div style="margin: 20px 0;">
<img src="docx/assets/floating_and_attach.jpg" style="height: 350px; width: auto; border-radius: 8px; box-shadow: 0 5px 15px rgba(0,0,0,0.15); margin: 0 10px;">
</div>
<p>👆 悬浮窗随时调用,附件功能便捷共享</p>
</div>
### 🔌 强大的插件系统
Operit AI 提供丰富的插件生态,配合内置工具可实现从日常生活工具到代码运行、地图查询、系统管理等多种功能。通过自然语言一句话,即可完成以往需要多步操作的复杂任务。
<div align="center">
<div style="margin: 20px 0;">
<img src="docx/assets/package_list.jpg" style="height: 350px; width: auto; border-radius: 8px; box-shadow: 0 5px 15px rgba(0,0,0,0.15); margin: 0 10px; display: inline-block;">
<img src="docx/assets/set_alarm_and_date.jpg" style="height: 350px; width: auto; border-radius: 8px; box-shadow: 0 5px 15px rgba(0,0,0,0.15); margin: 0 10px; display: inline-block;">
</div>
<p>👆 丰富的插件生态系统和内置工具,各种功能一触即发</p>
</div>
## 🚀 快速开始
> **详细的安装指南和丰富的使用示例,请查阅我们的 👉 [用户指南](docx/USER_GUIDE.md)**
- **系统要求**: Android 8.0+ (API 26+),建议4GB以上内存,存储空间200MB+
- **安装步骤**:
1. 从[Release页面](https://github.com/AAswordman/Operit/releases)下载最新APK
2. 安装后启动,按照软件内引导完成设置
3. 开始享受AI智能助手带来的便捷体验!
## 👨💻 开源共创
欢迎加入 Operit 开源生态!我们欢迎各种类型的贡献者,无论是开发第三方脚本、MCP插件,还是参与本体开发。
对于本仓库,你必须从`https://drive.google.com/drive/folders/1g-Q_i7cf6Ua4KX9ZM6V282EEZvTVVfF7?usp=sharing`下载一些依赖库,并放入有.keep的文件夹
**Live2D SDK说明:**
- 由于许可限制,我们不提供Live2D SDK,您需要自行下载并放入`/SDKRoot`目录
- 下载地址:[Live2D Cubism Native Samples](https://github.com/Live2D/CubismNativeSamples) 或 [Live2D官网SDK页面](https://www.live2d.com/zh-CHS/sdk/about/#native)
- 使用时请遵守Live2D官方要求,包括但不限于保留logo以及"Powered By Live2D"声明
**查看我们的 [开源共创指南](docx/CONTRIBUTING.md)** 了解如何参与项目开发。
## 📝 问题反馈 (Issues)
如果您在使用过程中遇到问题或有新功能建议,我们欢迎您提交Issue!
**提交Issue指南:**
- 清晰描述问题/建议,尽量提供详细的复现步骤
- 附上您的设备型号、系统版本等相关信息
- 如有可能,提供截图或录屏帮助我们理解问题
我们会尽力解决每一个合理的问题,但请理解开源项目维护者的时间和精力有限。同时,我们不接受任何形式的人身攻击或不尊重的言论,这样的Issue将被直接关闭。
## 📞 联系我们
- 邮箱:
[email protected]
- 问题反馈:[Issue区](https://github.com/AAswordman/Operit/issues)
## 📄 许可证
本项目采用**修改版GPLv3许可证**:
1. 本项目基于[GNU通用公共许可证v3.0](https://www.gnu.org/licenses/gpl-3.0.html)开源。
2. **附加要求**:
- 所有使用或修改本项目代码的衍生作品**必须**在GitHub、GitLab或Gitee三个平台之一上开源。
- 衍生作品的README文件中**必须**清晰标注本项目的原始地址:`https://github.com/AAswordman/Operit`
- 这些附加要求旨在确保社区能够跟踪和审查所有衍生作品,防止恶意修改,并为用户提供更高的安全保障。
完整许可证详情请查看 [LICENSE](LICENSE) 文件。如果您计划使用本项目代码,请确保您理解并遵守上述要求。
## 📝 TODO 清单
以下是我们正在计划的功能:
- 加入tts和语音识别模型。同时进一步实现对话系统。
- 实现更友好的交互界面。
- issue里面有很多不错的建议,把他们全部解决。
- 推广!推广!推广!
- 支持多语言
## 🐛 已知 BUG
请访问 [Issue区](https://github.com/AAswordman/Operit/issues) 查看最新的已知问题列表。
如果你发现了其他 bug,欢迎提交 issue 告诉我们!我们会尽快修复。
", Assign "at most 3 tags" to the expected json: {"id":"14027","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"