An open API service indexing awesome lists of open source software.

https://github.com/chaomixian/vflow

vFlow 是一款为 Android 平台设计的、强大且高度可扩展的自动化工具。它允许你通过图形化界面,将一系列“动作模块”自由组合成强大的“工作流”,从而自动完成各种日常的、重复性的屏幕操作任务。
https://github.com/chaomixian/vflow

android automation automator-workflow shortcuts-app workflow

Last synced: 3 months ago
JSON representation

vFlow 是一款为 Android 平台设计的、强大且高度可扩展的自动化工具。它允许你通过图形化界面,将一系列“动作模块”自由组合成强大的“工作流”,从而自动完成各种日常的、重复性的屏幕操作任务。

Awesome Lists containing this project

README

          

# vFlow - 强大的 Android 可视化工作流自动化工具
[English](README_EN.md) | 简体中文


Join Discord


Join QQ Group

[![Latest Release](https://img.shields.io/github/v/release/ChaoMixian/vFlow?display_name=tag&style=flat-square)](https://github.com/ChaoMixian/vFlow/releases/latest)
[![GitHub Stars](https://img.shields.io/github/stars/ChaoMixian/vFlow?style=flat-square)](https://github.com/ChaoMixian/vFlow/stargazers)
[![GitHub Forks](https://img.shields.io/github/forks/ChaoMixian/vFlow?style=flat-square)](https://github.com/ChaoMixian/vFlow/network/members)
[![GitHub Issues](https://img.shields.io/github/issues/ChaoMixian/vFlow?style=flat-square)](https://github.com/ChaoMixian/vFlow/issues)
[![License](https://img.shields.io/github/license/ChaoMixian/vFlow?style=flat-square)](LICENSE)
[![API](https://img.shields.io/badge/API-21%2B-brightgreen?style=flat-square)](https://android-arsenal.com/api?level=21)
[![Kotlin](https://img.shields.io/badge/Kotlin-2.2.0-blue?style=flat-square&logo=kotlin)](https://kotlinlang.org)

**vFlow** 是一款为 Android 平台设计的、强大且高度可扩展的自动化工具。它允许你通过图形化界面,将一系列“动作模块”自由组合成强大的“工作流”,从而自动完成各种日常的、重复性的屏幕操作任务。

> [!WARNING]
> **免责声明**: 使用本软件即表示您已充分理解并接受所有条款。本软件涉及自动化操作、Root权限执行等高风险功能,可能导致设备损坏、数据丢失、账号封禁等风险。**所有风险由用户自行承担,开发者不承担任何责任。** 请在使用前仔细阅读 [完整免责声明](DISCLAIMER.md)。

## ✨ 项目简介

**vFlow 的核心设计理念** 是将复杂的自动化逻辑分解为一个个独立、可复用、易于理解的模块。无论是简单的“每日签到”,还是包含复杂条件判断和循环的“自动化测试流程”,vFlow 都旨在提供一个直观、灵活且强大的平台。

项目完全采用 Kotlin 编写,并遵循现代 Android 开发实践。其核心架构(模块注册表、动态 UI 生成器、类型安全的执行上下文)被精心设计,不仅保证了当前功能的稳定性,也为未来添加更多、更强大的自动化模块提供了无限可能。无论你是希望解放双手的普通用户,还是寻求灵感和实践的开发者,vFlow 都欢迎你的探索和贡献。

## 📸 应用截图







首页
工作流编辑
模块管理器

## 🚀 主要特性

- **可视化流程编辑器**: 通过拖拽和点击,像搭积木一样构建你的自动化流程。
- **高度模块化**: 每个功能(如点击、查找文本、判断)都是一个独立的模块,易于维护和扩展。
- **动态数据流**: 模块的输出可以作为后续模块的输入(“魔法变量”),实现复杂的逻辑联动。
- **强大的逻辑控制**: 支持“如果/否则”条件判断和“循环”等控制流,让你的工作流更智能。
- **动态参数编辑**: 编辑器 UI 会根据你选择的参数(例如,“如果”模块中变量的类型)动态变化,只显示相关的选项。
- **完善的权限管理**: 在执行前清晰地请求工作流所需的权限,并提供统一的管理入口。
- **现代 UI 设计**: 基于 Material 3 和动态取色,提供美观且个性化的用户界面。
- **导入与导出**: 轻松备份、恢复和分享你的工作流。

## 🛠️ 技术架构概览

vFlow App 的核心是其高度解耦的模块化架构。

1. **模块 (Module)**

- 所有自动化动作的实现基础,每个模块都实现了 `ActionModule` 接口。
- 模块负责定义自身的元数据(名称、图标)、输入输出参数、UI 摘要、执行逻辑以及所需权限。
- **示例**: `ClickModule`, `IfModule`, `LoopModule`。

2. **模块注册表 (ModuleRegistry)**

- 一个单例对象,在应用启动时注册所有可用的模块。
- 为应用的其他部分(如动作选择器)提供按分类获取模块的能力。

3. **工作流编辑器 (Workflow Editor)**

- `WorkflowEditorActivity` 是核心 UI,负责展示和操作 `ActionStep` 列表。
- `ActionStepAdapter` 将 `ActionStep` 数据渲染为用户可见的卡片列表。
- `ActionEditorSheet` 是一个通用的底部表单,它能根据任何模块的 `InputDefinition` 动态生成编辑界面,实现了 UI 与模块逻辑的完全解耦。

4. **工作流执行器 (WorkflowExecutor)**
- 负责按顺序执行工作流中的每一个步骤。
- 为每个步骤创建包含上下文信息(如魔法变量值、服务实例)的 `ExecutionContext`。
- 处理模块返回的不同结果,如成功、失败,或跳转、循环等流程控制信号。

vFlow Core 采用 Master-Worker 多进程架构,基于 TCP Socket 通信与自定义 JSON-RPC 协议,将指令动态路由至 Shell 或 Root 权限的子进程执行,实现了严格的权限隔离与高效的系统服务管控。

![vFlow Core Architecture](docs/vFlow_Core_Architecture.png)

## 📦 如何构建

1. 克隆仓库:
```bash
git clone https://github.com/ChaoMixian/vflow.git
```
2. 使用 Android Studio 打开项目。
3. 等待 Gradle 同步完成。
4. 直接运行项目到你的设备或模拟器上。

## 🤝 如何贡献

我们非常欢迎各种形式的贡献!无论是提交 Issue、修复 Bug、添加新功能模块还是改进文档,都对项目意义重大。

1. **Fork** 本仓库。
2. 创建你的功能分支 (`git checkout -b feature/AmazingFeature`)。
3. 提交你的改动 (`git commit -m 'Add some AmazingFeature'`)。
4. 推送到你的分支 (`git push origin feature/AmazingFeature`)。
5. 创建一个 **Pull Request**。

### 💻 开发一个新模块

vFlow 最常见的贡献方式就是添加新的模块。步骤如下:

1. 在 `com.chaomixian.vflow.core.workflow.module` 包下的相应分类中创建一个新的 Kotlin 类。
2. 让它继承自 `BaseModule` 或 `BaseBlockModule`。
3. 实现 `ActionModule` 接口中的必要属性和方法(如 `id`, `metadata`, `getInputs`, `getOutputs`, `execute`)。
4. 在 `ModuleRegistry.kt` 的 `initialize()` 方法中注册你的新模块。
5. 就是这样!你的模块现在应该会自动出现在动作选择器中并可以正常使用了。

[开发指南](docs/CONTRIBUTION.md)

## 🌟来颗 Star

[![Star History Chart](https://api.star-history.com/svg?repos=ChaoMixian/vFlow&type=date&legend=top-left)](https://www.star-history.com/#ChaoMixian/vFlow&type=date&legend=top-left)

## 📄 许可证

本项目采用 [GNU General Public License v2.0 or later (GPL-2.0-or-later)](LICENSE) 许可证。

## 💰 关于赞助

vFlow 还在成长,相比成熟软件,功能存在较大差距。当前保持为爱发电,**不接受赞助**,感谢。

赞助名单 (非通过 vFlow 项目,按时间顺序)

```
鲨鱼辣椒 RMB 18.88 2026/01/29
罗密欧的沉默 RMB 26.66 2026/02/10
```