ShizuStore

Operit AI

AAswordman

1.12.2 · GitHub

Download APK
AI agents Android 8.0+ 2 weeks ago LGPL-3.0
495 ShizuStore
2.1M GitHub
8.3k Stars
404 MB Size

More about this app

The most powerful AI agent and AI chat software on Android. Can run commands using Shizuku

Operit AI

中文 | English
Last Commit Platform Latest Release GitHub Stars
User Guide Contributions Welcome
AAswordman/Operit | Trendshift AAswordman/Operit | Trendshift
Operit AI - Android's most powerful, most feature-complete, and longest-running open-source AI Agent

🚀 Operit 2: Operit's Cross-Platform Successor

This repository is Operit's Android edition. Operit 2 is a separate second-generation implementation centered on a shared Rust runtime, Flutter clients, and the operit2 CLI/TUI. It currently includes implementation or build paths for Android, iOS, Windows, macOS, Linux, and Web, with OpenHarmony support under active development. To follow the cross-platform version, visit Operit 2.

Operit 2 cross-platform open-source AI Agent

Introduction

Operit AI is an open-source AI Agent platform for Android that supports cloud and local models, connecting them to Android system capabilities, terminals, browsers, files, and project workspaces to perform real tasks such as information retrieval, file processing, code development, and device automation through tool calling, workflows, and extensions such as ToolPkg, MCP, and Skills.

Highlights

  • A task-oriented agent workspace: Work with attachments, workspace context, tool execution progress, file changes, and multi-turn tasks
  • Your choice of models and services: Connect cloud models, custom compatible endpoints, and key pools, or use MNN models and GGUF models through llama.cpp
  • Deep Android and web integration: Use system capabilities after authorization, operate app interfaces, and read or interact with pages through the built-in browser
  • Mobile development and terminal environment: Manage projects, edit code, preview web apps, and use an Ubuntu 24.04 user space, SSH, and SFTP on your phone
  • Long-term memory and characters: Manage graph-based memory, chat history, character cards, and multi-character conversations, with an independent set of capabilities assigned to each character
  • Composable extensions and automation: Combine tools through the unified marketplace, workflows, and system integrations to create repeatable task flows

Feature Showcase

Agent task execution: from request input and tool execution to live preview, debugging, and delivery Android automation demo Memory and multi-character chat demo Workspace and Ubuntu workflow demo Plugin ecosystem and agent creation demo

Main Features

AI Chat and Models
  • Add images, audio, video, documents, and workspace files to conversation context
  • Use message branches, chat-history grouping and migration, automatic summaries, context limits, and parallel conversations
  • Connect OpenAI Chat/Responses, Anthropic, Gemini, and many compatible services, with additional providers available through ToolPkg
  • Manage multiple model configurations, parameters, key pools, and connection tests
  • Assign separate models to chat, memory, summarization, UI control, and other tasks
  • Run local inference with built-in MNN support or run GGUF models with llama.cpp
  • Connect to local model services such as Ollama and LM Studio
Tools, Device Automation, and Browser Agent
  • Use built-in tools for files, networking, search, media, system operations, software management, and development
  • Choose among Allow automatically, Ask every time, and Deny for each tool; the default setting asks for permission
  • Automate Android interfaces through Accessibility, ADB-level debugging access provided by Shizuku, or Root
  • Use PhoneAgent/AutoGLM with visual screen understanding to perform actions; capabilities such as virtual displays require the appropriate permissions and device support
  • Use the built-in browser with tabs, history, bookmarks, downloads, permissions, multiple windows, and user scripts
  • Let the browser agent inspect page structure, click elements, enter text, scroll, send key presses, and capture screenshots
  • Use OCR, image understanding, the camera, FFmpeg, web access, and file transfer tools
Project Workspaces and Terminal
  • Start from Web, Android, Flutter, Node.js, TypeScript, Python, Java, Go, and other project templates
  • Use a file tree, code editor, syntax highlighting, live previews, change tracking, backups, and export tools
  • Bind a workspace to a chat so the AI can read project rules, reference files, and modify code
  • Access app-internal directories, SAF, SFTP, and SSH file systems as workspaces
  • Run an Ubuntu 24.04 ARM64 user space through PRoot by default, with chroot available on supported setups
  • Use multiple terminal sessions, Python, Node.js, vim, SSH, tmux, custom keys, and custom package sources
  • Work with development tools including Logcat, SQLite, Git, APKTool, and HTML packaging
Memory, Characters, and Chat Management
  • Manage multiple memory spaces, imported and chunked documents, editable node relationships, and hybrid search
  • Extract information from conversations and attachments, then use temporal, semantic, and relational retrieval for long-term memory
  • Import, export, back up, and share character cards by QR code, including Tavern JSON/PNG formats
  • Bind separate models, memory spaces, tool packages, Skills, and MCP services to each character
  • Run multi-character group chats with mentions, separate histories, and collaboration between characters
  • Import, export, lock, branch, migrate in bulk, back up, and restore chat records
Extension Marketplace and Workflows
  • Search, install, and manage scripts, ToolPkg, Skills, and MCP services through one unified marketplace
  • Use the separate prompt and tag marketplace, along with project and Artifact management and publishing flows
  • Extend tools, interfaces, model providers, hooks, and runtime behavior through ToolPkg
  • Run local or remote MCP services, including launch methods such as uvx and npx
  • Build visual workflows from trigger, execution, condition, logic, and data extraction nodes
  • Trigger workflows manually, on schedules, through Tasker, intents, voice, or app startup
  • Inspect workflow logs and statistics, cancel runs, and manage workflows in batches
Voice, Avatars, and Interface
  • Use local Chinese and English speech recognition or cloud STT interfaces such as OpenAI and Deepgram
  • Use Android system TTS, local ONNX VITS, custom HTTP services, and multiple cloud TTS providers
  • Enable continuous voice conversations, background wake-up, custom wake templates, automatic read-aloud, and music queues
  • Open Operit from a floating window, chat bubble, home-screen widget, or the Android default assistant entry point
  • Use virtual avatars in DragonBones, WebP, MP4, MMD, glTF/GLB, and FBX formats
  • Customize themes, fonts, chat bubbles, backgrounds, toolbars, Markdown rendering, and layouts
  • Choose Chinese, English, Korean, Spanish, Malay, Indonesian, Brazilian Portuguese, or Romanian, or follow the system language
  • Optionally enable the LAN Web Chat and HTTP API, which are disabled by default; configure a bearer token and assess the risks of LAN exposure before enabling them

Quick Start

Item Description
System Requirements Android 8.0 (API 26) or newer; ARM64 (arm64-v8a) devices only
Resource Usage Memory and storage usage depend on the terminal environment, installed tool packages, and local models; reserve space according to each model's documentation
Download Get the latest APK from the Releases page
User Guide Visit the Operit website for tutorials and examples

Security notice: Only download installation packages from the official Releases page or the Operit website. Packages from unknown sources may be modified and may put your data or device at risk.

Installation: Download the APK → Install and launch → Follow the setup flow to configure models and permissions → Start using Operit

Data and network boundaries: Chats, characters, memories, and model configurations are stored locally by the app. Cloud-model requests are sent from your device to the provider endpoint you configure; Operit does not host chat inference. Marketplace, MCP, Skill, speech, and drawing features may connect to third-party services. Web Chat/HTTP API are disabled by default; review network exposure and bearer-token settings before enabling them, and use Android intent/broadcast integrations only with trusted apps.

Project Evolution

  • April to August 2025 · From AI chat to tool execution: Added tool calling, MCP, voice, floating windows, web development, and character cards
  • September to December 2025 · Deeper device and development integration: Added the Ubuntu terminal, memory system, MNN, SSH workspaces, GUI automation, and the Skill ecosystem
  • 2026 to present · A mobile agent platform: Expanded workflows, GGUF local inference, the browser agent, character group chat, Web Chat, ToolPkg, and the unified marketplace
View selected release summaries
  • v1.12.0 · 2026-07-01: Introduced a unified marketplace and Artifact workflows, enhanced project workspaces and the ToolPkg runtime, expanded language, voice, and media support, and improved crash recovery
  • v1.11.0 · 2026-05-16: Added Web Chat, the Artifact marketplace, ToolPkg AI providers and hooks, and improvements to memory, context, and browser automation
  • v1.10.1 · 2026-04-17: Upgraded the built-in browser and web automation, added FBX avatars, liquid-glass themes, and a local HTTP chat entry point
  • v1.10.0 · 2026-03-18: Added character group chat, AI self-configuration, Ollama/NVIDIA/OpenAI Responses modes, and more development tools
  • v1.9.1 · 2026-02-20: Focused fixes for terminals, strict tool calling, remote MCP, memory, and workflows
  • v1.9.0 · 2026-02-17: Added mobile web automation, Windows terminal control, the SQLite viewer, and Android workspace templates
  • v1.8.1 · 2026-02-03: Added llama.cpp GGUF local inference and expanded interface, backup, Skill, and workspace capabilities
  • v1.8.0 · 2026-01-13: Introduced workflows, voice wake triggers, parallel conversations, and automatic backups
  • v1.7.1 · 2025-12-31: Added Root virtual displays, the Skill protocol and marketplace, region-based screen recognition, and chat locking
  • v1.7.0 · 2025-12-19: Introduced AutoGLM GUI automation and virtual displays
  • v1.6.4 · 2025-12-12: Integrated AutoGLM and improved automation status indicators, tool-package environment variables, and debug logs
  • v1.6.3 · 2025-12-07: Added native tool calling, multi-model configurations, SSH file systems, and workspace project templates
  • v1.6.2 · 2025-11-22: Expanded chat branching and migration, context binding, and academic search
  • v1.6.1 · 2025-11-16: Refactored UI rendering and added visual understanding, SSH terminals, automatic summaries, and Deep Search
  • v1.6.0 · 2025-10-21: Added MNN local models, intelligent memory, Tasker integration, and desktop pets
  • v1.5.2 · 2025-10-05: Improved MCP, workspace .gitignore support, camera tools, HTML rendering, and regex filters
  • v1.5.1 · 2025-09-25: Added the MCP marketplace, key pools, workspace rollback on chat resend, and manual memory refresh
  • v1.5.0 · 2025-09-20: Integrated the Ubuntu 24.04 terminal and Deep Search mode
  • v1.4.0 · 2025-09-01: Added parallel tool execution, the character card system, and PNG character card import
  • v1.3.0 · 2025-08-04: Added web development, the theme selector, and Anthropic Claude support
  • v1.2.x · 2025-07: Added voice conversations, the knowledge base, and DragonBones animation
  • v1.1.x · 2025-05 to 06: Added MCP, OCR, floating windows, and Gemini support
  • v1.0.0 · 2025-04-11: Released basic AI chat, tool calling, and Shizuku/Root integration

See the Releases page for complete release notes.

Open Source and Collaboration

Contributions to Operit's scripts, extensions, documentation, and core features are welcome.

Contributors

Operit Contributors

Support Development

If Operit is useful to you, you can voluntarily support ongoing development and basic project operations:

  • International support: Patreon
  • Mainland China: Afdian
  • Support is entirely voluntary and does not unlock features, quotas, updates, answers to questions, or other benefits
  • Choosing not to support does not affect normal use, updates, or access to the source code

License

The main code in this repository is licensed under GNU LGPL v3 (LGPL-3.0-only). Tools, examples, templates, and third-party dependencies may use other licenses; refer to LICENSE, the license files in their respective directories, and package metadata for their terms.

Star History


Made with ❤️ by the Operit Team
Close

How Shizuku is used

Can run arbitrary shell commands, manage files, automate UI and control apps via `Shizuku shell`

This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.

How this app uses Shizuku

Operit AI uses Shizuku as its debugger level shell to let the AI agent run device commands and automation on the user's behalf.

  • Run custom commands: the agent can run any shell command typed or generated in chat through Shizuku, with pipes, redirection and background execution supported.
  • Manage files: the agent can list folders, read files, write files, copy, move, delete, make folders, find, zip, unzip and inspect file info using shell file commands through Shizuku.
  • Automate touch input: the agent can tap, long press, swipe, type text, paste and press keys with the input shell command through Shizuku.
  • Capture screen and UI: the agent can take screenshots with the screencap shell command and read the current screen layout with the uiautomator dump plus cat shell commands through Shizuku.
  • Change system settings: the agent can read and change system, secure and global settings with the settings get and settings put shell commands through Shizuku.
  • Install and manage apps: the agent can install packages with the pm install shell command, remove them with the pm uninstall shell command, launch them with the am start shell command and force stop them with the am force-stop shell command through Shizuku.
  • Monitor system state: the agent can watch focused windows and activity stacks with dumpsys window and dumpsys activity shell commands and read notifications with the dumpsys notification shell command through Shizuku.

Android APIs or commands used

  • sh -c
  • cat
  • ls -la
  • stat
  • head
  • mkdir -p
  • mv
  • cp
  • rmdir
  • input tap
  • input swipe
  • input keyevent
  • screencap -p
  • uiautomator dump
  • settings put
  • settings get
  • pm install
  • pm uninstall
  • pm list packages
  • am start
  • am force-stop
  • cmd package resolve-activity
  • dumpsys window
  • dumpsys activity
  • dumpsys notification

Notable details

The custom command tool blocks commands containing rm -rf or format. Some UI actions prefer accessibility when enabled and use the Shizuku shell path otherwise.

Close

Changelog

What's new for version 1.12.2

本次更新重点围绕模型兼容性、工具调用、聊天稳定性和数据管理展开,同时补充 ToolPkg、统计、恢复与性能监控能力。

增加

  • 新增 Token 用量账本、统计看板、活动视图、价格覆盖、缓存命中率、生成速度和安全删除能力
  • 新增独立 TTS/STT 服务档案,支持创建、复制、切换、删除和旧配置迁移
  • 新增按窗口或指定日期范围重建聊天记忆
  • Compose DSL 文件选择器新增文档、图片、视频、媒体、目录和相机模式
  • 新增 AiChat、AdaptiveSidePanel、Compose DSL 对话框和聊天消息长按菜单
  • 新增 DeepSeek Harness 运行时侧栏和完整 ToolPkg 运行时支持
  • 新增 MiniMax、OpenCode Zen/Go、xAI Grok 和 OpenAI Codex OAuth 提供商,并支持 Codex 配额查询和 PDF 输入
  • 新增按提供商和模型动态配置思考深度,补充 DeepSeek Responses、Qwen、Gemini 等端点规则
  • 新增 DeepSeek Responses Web Search、服务端工具记录和 reasoning 回放
  • ToolPkg 新增版本化 API、包依赖、加载顺序、运行态 Hook、消息持久化 Hook 和聊天消息菜单
  • 新增数据库、DataStore 配置健康检查和手动修复流程,并在修复前归档原始文件
  • 新增主进程、插件 QuickJS、终端和设备 CPU/内存/网络性能监控
  • 新增日语本地化、xAI 绘图自定义 API 地址、ToolPkg Logo 和已选聊天记录导出

修复

  • 修复并行或分段工具结果在流式展示、历史记录和下一轮请求中的顺序不一致问题
  • 修复 Claude、DeepSeek、Gemini、Kimi、OpenAI 等 Provider 的工具调用与结果配对问题
  • 修复未匹配工具结果被误报为“用户取消”,并补充缺失结果的诊断信息
  • 修复 DeepSeek Responses commentary/reasoning 回放、工具历史和正文流式输出问题
  • 修复 OpenAI Responses 中 video_url/input_video 内容丢失问题
  • 修复长工具结果、超大聊天导出、被中断的流式回复和多工具结果被提前丢弃的问题
  • 修复群聊编排重复发送用户消息,以及消息变体事件使用旧快照的问题
  • 修复 Compose DSL 文本框光标跳动、复制预览回弹、输入法遮挡和 Markdown 表格链接点击问题
  • 修复 MCP 工具发现成功后未及时注册,以及并发权限描述注册的数据竞争
  • 修复媒体能力测试把“已连通”误判为“能力已验证”的问题
  • 修复浏览器桌面 viewport、截图尺寸、Provider 历史图片和模型列表刷新问题
  • 修复悬浮窗非法尺寸、初始化竞态和连续崩溃保护问题
  • 修复 Web Chat JavaScript 模块 MIME 类型错误
  • 修复备份恢复、SQLite 参数数量限制、偏好迁移和 ToolPkg manifest 解析问题
  • 修复 OpenCode、Codex、DeepSeek 和 OpenAI 的思考参数映射与历史兼容问题

优化

  • ToolPkg 发布、API 版本展示、依赖检查、包排序、manifest 选择和隐藏目录排除更加可靠
  • 摘要支持分区配置、独立标题、启用状态和对话回顾设置
  • Token 统计的迁移、恢复、重试、价格计算和长时间运行稳定性得到提升
  • 状态卡片改用内置完整 Material Symbols 字体,离线环境下也能正常显示
  • APK 逆向工具升级至 1.1.0,JADX 支持隔离进程、串行任务和更完整的错误诊断
  • 改进聊天复制、长历史浏览、流式滚动、LaTeX 渲染和大消息处理
  • CI 拆分 Android/JVM 检查并优化缓存、原生依赖和 Nightly 构建流程
  • 市场贡献者内容、Logo、包来源、版本信息和审核流程更加完整
  • README 默认切换为英文,并保留 README.zh-CN.md 中文版本
  • 补充日语及多种语言的模型、市场、ToolPkg、统计和设置文案

特别致谢

感谢所有参与本版本开发、审查、测试、文档和本地化工作的贡献者。特别感谢 @AAswordman、@luojiaping、@CATMIAOZHI、@3316891527、@yoruuuchan、@YunXi-Aurora、@tuxKOH、@AikingChoice、@AnxForever、@nailuoGG 和 @okker24。

This update focuses on model compatibility, tool execution, chat stability, and data management, while also improving ToolPkg, statistics, recovery, and performance monitoring.

Added

  • Added token usage ledgers, dashboards, activity views, pricing overrides, cache hit rates, generation speed, and safe deletion
  • Added independent TTS/STT service profiles with migration from the previous configuration
  • Added chat-memory rebuilding by window or selected date range
  • Added document, image, video, media, directory, and camera modes to the Compose DSL file picker
  • Added AiChat, AdaptiveSidePanel, Compose DSL dialogs, and chat-message long-press menus
  • Added the DeepSeek Harness runtime sidebar and complete ToolPkg runtime support
  • Added MiniMax, OpenCode Zen/Go, xAI Grok, and OpenAI Codex OAuth providers, including Codex quota and PDF input
  • Added provider-aware and per-model thinking controls for DeepSeek Responses, Qwen, Gemini, and related endpoints
  • Added DeepSeek Responses Web Search, server-side tool records, and reasoning replay
  • Added versioned ToolPkg APIs, package dependencies, load ordering, runtime hooks, message-persisted hooks, and chat menus
  • Added database and DataStore health checks with manual repair and original-file archiving
  • Added CPU, memory, and network monitoring for the app, QuickJS plugins, terminals, and the device
  • Added Japanese localization, configurable xAI drawing base URLs, ToolPkg logos, and selected chat exports

Fixed

  • Fixed parallel and multi-part tool results appearing in different orders across streaming output, history, and follow-up requests
  • Fixed tool-call/result pairing across Claude, DeepSeek, Gemini, Kimi, OpenAI, and proxy tool histories
  • Fixed unmatched tool results being reported as user cancellation and added clearer missing-result diagnostics
  • Fixed DeepSeek Responses commentary/reasoning replay, tool history, and normal-text streaming
  • Fixed video_url/input_video content being dropped during OpenAI Responses conversion
  • Fixed large tool results, oversized exports, interrupted streaming replies, and multi-tool results being discarded prematurely
  • Fixed duplicate user-message delivery in group orchestration and stale snapshots in variant events
  • Fixed Compose DSL cursor jumps, copy-preview rebound, IME overlap, and Markdown table-link gestures
  • Fixed remote MCP tools not being registered after successful discovery and synchronized concurrent permission registration
  • Fixed media capability checks confusing connectivity with verified support
  • Fixed desktop browser viewport and screenshot sizing, provider-history images, and model-list refresh
  • Fixed invalid floating-window state, initialization races, and repeated-crash protection
  • Fixed JavaScript module MIME types in Web Chat
  • Fixed backup restore, SQLite bind limits, preference migration, and ToolPkg manifest resolution
  • Fixed thinking-parameter mapping and history compatibility for OpenCode, Codex, DeepSeek, and OpenAI

Optimized

  • Improved ToolPkg publishing, API-version display, dependency checks, package ordering, manifest selection, and hidden-directory filtering
  • Added configurable summary sections, section titles, enable states, and dialogue-review settings
  • Improved token-statistics migration, recovery, retries, pricing, and long-running reliability
  • Bundled the complete Material Symbols font for reliable offline status-card rendering
  • Upgraded the APK reverse toolkit to 1.1.0 with isolated JADX execution and better diagnostics
  • Improved copy previews, long-history browsing, streaming scroll, LaTeX rendering, and oversized-message handling
  • Split Android and JVM CI checks and improved caching, native dependencies, and Nightly packaging
  • Improved marketplace contributor updates, logos, package origins, version metadata, and review flows
  • Made the English README the default while retaining README.zh-CN.md
  • Expanded Japanese and other localized resources for models, marketplace, ToolPkg, statistics, and settings

Special Thanks

Special thanks to everyone who contributed code, reviews, testing, documentation, and localization to this release, especially @AAswordman, @luojiaping, @CATMIAOZHI, @3316891527, @yoruuuchan, @YunXi-Aurora, @tuxKOH, @AikingChoice, @AnxForever, @nailuoGG, and @okker24.

What's Changed

New Contributors

Full Changelog: https://github.com/AAswordman/Operit/compare/v1.12.1...v1.12.2

Close

Permissions

40 permissions requested

  • android.permission.INTERNET
  • android.permission.ACCESS_NETWORK_STATE
  • android.permission.FOREGROUND_SERVICE
  • android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION
  • android.permission.FOREGROUND_SERVICE_SHORT_SERVICE
  • android.permission.KILL_BACKGROUND_PROCESSES
  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.WRITE_EXTERNAL_STORAGE
  • android.permission.READ_MEDIA_AUDIO
  • android.permission.MANAGE_EXTERNAL_STORAGE
  • moe.shizuku.manager.permission.API_V23
  • android.permission.REQUEST_INSTALL_PACKAGES
  • android.permission.SYSTEM_ALERT_WINDOW
  • android.permission.WRITE_SETTINGS
  • android.permission.PACKAGE_USAGE_STATS
  • android.permission.POST_NOTIFICATIONS
  • android.permission.FOREGROUND_SERVICE_MICROPHONE
  • android.permission.SUSTAINED_PERFORMANCE_MODE
  • com.android.alarm.permission.SET_ALARM
  • android.permission.CALL_PHONE
  • android.permission.SEND_SMS
  • android.permission.READ_SMS
  • android.permission.RECEIVE_SMS
  • android.permission.ACCESS_FINE_LOCATION
  • android.permission.ACCESS_COARSE_LOCATION
  • android.permission.BLUETOOTH
  • android.permission.BLUETOOTH_ADMIN
  • android.permission.BLUETOOTH_CONNECT
  • android.permission.BLUETOOTH_SCAN
  • android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
  • android.permission.WAKE_LOCK
  • android.permission.FOREGROUND_SERVICE_DATA_SYNC
  • android.permission.FOREGROUND_SERVICE_SPECIAL_USE
  • android.permission.QUERY_ALL_PACKAGES
  • android.permission.RECORD_AUDIO
  • android.permission.CAMERA
  • android.permission.BIND_VOICE_INTERACTION
  • android.permission.RECEIVE_BOOT_COMPLETED
  • android.permission.SCHEDULE_EXACT_ALARM
  • com.ai.assistance.operit.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Close