{"id":34911561,"url":"https://github.com/chaomixian/vflow","last_synced_at":"2026-04-07T12:01:16.784Z","repository":{"id":313146985,"uuid":"1050214845","full_name":"ChaoMixian/vFlow","owner":"ChaoMixian","description":"vFlow 是一款为 Android 平台设计的、强大且高度可扩展的自动化工具。它允许你通过图形化界面，将一系列“动作模块”自由组合成强大的“工作流”，从而自动完成各种日常的、重复性的屏幕操作任务。","archived":false,"fork":false,"pushed_at":"2026-04-05T17:05:34.000Z","size":7011,"stargazers_count":966,"open_issues_count":38,"forks_count":75,"subscribers_count":6,"default_branch":"master","last_synced_at":"2026-04-05T18:22:53.059Z","etag":null,"topics":["android","automation","automator-workflow","shortcuts-app","workflow"],"latest_commit_sha":null,"homepage":"https://chaomixian.github.io/vFlow-Docs/","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ChaoMixian.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-04T05:44:52.000Z","updated_at":"2026-04-05T17:05:40.000Z","dependencies_parsed_at":"2025-12-17T11:07:38.976Z","dependency_job_id":null,"html_url":"https://github.com/ChaoMixian/vFlow","commit_stats":null,"previous_names":["chaomixian/vflow"],"tags_count":35,"template":false,"template_full_name":null,"purl":"pkg:github/ChaoMixian/vFlow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChaoMixian%2FvFlow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChaoMixian%2FvFlow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChaoMixian%2FvFlow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChaoMixian%2FvFlow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChaoMixian","download_url":"https://codeload.github.com/ChaoMixian/vFlow/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChaoMixian%2FvFlow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31511784,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","automation","automator-workflow","shortcuts-app","workflow"],"created_at":"2025-12-26T11:23:23.095Z","updated_at":"2026-04-07T12:01:16.778Z","avatar_url":"https://github.com/ChaoMixian.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vFlow - 强大的 Android 可视化工作流自动化工具\n[English](README_EN.md) | 简体中文\n\u003cdiv\u003e\n\n  \u003ca href=\"https://discord.gg/WkuUcSWB\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Join%20our%20Discord-5865F2?style=for-the-badge\u0026logo=discord\u0026logoColor=white\" alt=\"Join Discord\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://qm.qq.com/q/5OhnIUNHzO\" target=\"_blank\" style=\"margin-left: 6px;\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Join%20QQ%20Group-%230366CC?style=for-the-badge\u0026logo=qq\u0026logoColor=white\" alt=\"Join QQ Group\"/\u003e\n  \u003c/a\u003e\n\n\u003c/div\u003e\n\n[![Latest Release](https://img.shields.io/github/v/release/ChaoMixian/vFlow?display_name=tag\u0026style=flat-square)](https://github.com/ChaoMixian/vFlow/releases/latest)\n[![GitHub Stars](https://img.shields.io/github/stars/ChaoMixian/vFlow?style=flat-square)](https://github.com/ChaoMixian/vFlow/stargazers)\n[![GitHub Forks](https://img.shields.io/github/forks/ChaoMixian/vFlow?style=flat-square)](https://github.com/ChaoMixian/vFlow/network/members)\n[![GitHub Issues](https://img.shields.io/github/issues/ChaoMixian/vFlow?style=flat-square)](https://github.com/ChaoMixian/vFlow/issues)\n[![License](https://img.shields.io/github/license/ChaoMixian/vFlow?style=flat-square)](LICENSE)\n[![API](https://img.shields.io/badge/API-21%2B-brightgreen?style=flat-square)](https://android-arsenal.com/api?level=21)\n[![Kotlin](https://img.shields.io/badge/Kotlin-2.2.0-blue?style=flat-square\u0026logo=kotlin)](https://kotlinlang.org)\n\n**vFlow** 是一款为 Android 平台设计的、强大且高度可扩展的自动化工具。它允许你通过图形化界面，将一系列“动作模块”自由组合成强大的“工作流”，从而自动完成各种日常的、重复性的屏幕操作任务。\n\n\u003e [!WARNING]\n\u003e **免责声明**: 使用本软件即表示您已充分理解并接受所有条款。本软件涉及自动化操作、Root权限执行等高风险功能，可能导致设备损坏、数据丢失、账号封禁等风险。**所有风险由用户自行承担，开发者不承担任何责任。** 请在使用前仔细阅读 [完整免责声明](DISCLAIMER.md)。\n\n## ✨ 项目简介\n\n**vFlow 的核心设计理念** 是将复杂的自动化逻辑分解为一个个独立、可复用、易于理解的模块。无论是简单的“每日签到”，还是包含复杂条件判断和循环的“自动化测试流程”，vFlow 都旨在提供一个直观、灵活且强大的平台。\n\n项目完全采用 Kotlin 编写，并遵循现代 Android 开发实践。其核心架构（模块注册表、动态 UI 生成器、类型安全的执行上下文）被精心设计，不仅保证了当前功能的稳定性，也为未来添加更多、更强大的自动化模块提供了无限可能。无论你是希望解放双手的普通用户，还是寻求灵感和实践的开发者，vFlow 都欢迎你的探索和贡献。\n\n## 📸 应用截图\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"docs/home_fragment.png\" width=\"200\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"docs/workflow_editor.png\" width=\"200\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"docs/module_fragment.png\" width=\"200\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e首页\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e工作流编辑\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e模块管理器\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## 🚀 主要特性\n\n- **可视化流程编辑器**: 通过拖拽和点击，像搭积木一样构建你的自动化流程。\n- **高度模块化**: 每个功能（如点击、查找文本、判断）都是一个独立的模块，易于维护和扩展。\n- **动态数据流**: 模块的输出可以作为后续模块的输入（“魔法变量”），实现复杂的逻辑联动。\n- **强大的逻辑控制**: 支持“如果/否则”条件判断和“循环”等控制流，让你的工作流更智能。\n- **动态参数编辑**: 编辑器 UI 会根据你选择的参数（例如，“如果”模块中变量的类型）动态变化，只显示相关的选项。\n- **完善的权限管理**: 在执行前清晰地请求工作流所需的权限，并提供统一的管理入口。\n- **现代 UI 设计**: 基于 Material 3 和动态取色，提供美观且个性化的用户界面。\n- **导入与导出**: 轻松备份、恢复和分享你的工作流。\n\n## 🛠️ 技术架构概览\n\nvFlow App 的核心是其高度解耦的模块化架构。\n\n1.  **模块 (Module)**\n\n    - 所有自动化动作的实现基础，每个模块都实现了 `ActionModule` 接口。\n    - 模块负责定义自身的元数据（名称、图标）、输入输出参数、UI 摘要、执行逻辑以及所需权限。\n    - **示例**: `ClickModule`, `IfModule`, `LoopModule`。\n\n2.  **模块注册表 (ModuleRegistry)**\n\n    - 一个单例对象，在应用启动时注册所有可用的模块。\n    - 为应用的其他部分（如动作选择器）提供按分类获取模块的能力。\n\n3.  **工作流编辑器 (Workflow Editor)**\n\n    - `WorkflowEditorActivity` 是核心 UI，负责展示和操作 `ActionStep` 列表。\n    - `ActionStepAdapter` 将 `ActionStep` 数据渲染为用户可见的卡片列表。\n    - `ActionEditorSheet` 是一个通用的底部表单，它能根据任何模块的 `InputDefinition` 动态生成编辑界面，实现了 UI 与模块逻辑的完全解耦。\n\n4.  **工作流执行器 (WorkflowExecutor)**\n    - 负责按顺序执行工作流中的每一个步骤。\n    - 为每个步骤创建包含上下文信息（如魔法变量值、服务实例）的 `ExecutionContext`。\n    - 处理模块返回的不同结果，如成功、失败，或跳转、循环等流程控制信号。\n\nvFlow Core 采用 Master-Worker 多进程架构，基于 TCP Socket 通信与自定义 JSON-RPC 协议，将指令动态路由至 Shell 或 Root 权限的子进程执行，实现了严格的权限隔离与高效的系统服务管控。\n\n![vFlow Core Architecture](docs/vFlow_Core_Architecture.png)\n\n## 📦 如何构建\n\n1.  克隆仓库:\n    ```bash\n    git clone https://github.com/ChaoMixian/vflow.git\n    ```\n2.  使用 Android Studio 打开项目。\n3.  等待 Gradle 同步完成。\n4.  直接运行项目到你的设备或模拟器上。\n\n## 🤝 如何贡献\n\n我们非常欢迎各种形式的贡献！无论是提交 Issue、修复 Bug、添加新功能模块还是改进文档，都对项目意义重大。\n\n1.  **Fork** 本仓库。\n2.  创建你的功能分支 (`git checkout -b feature/AmazingFeature`)。\n3.  提交你的改动 (`git commit -m 'Add some AmazingFeature'`)。\n4.  推送到你的分支 (`git push origin feature/AmazingFeature`)。\n5.  创建一个 **Pull Request**。\n\n### 💻 开发一个新模块\n\nvFlow 最常见的贡献方式就是添加新的模块。步骤如下：\n\n1.  在 `com.chaomixian.vflow.core.workflow.module` 包下的相应分类中创建一个新的 Kotlin 类。\n2.  让它继承自 `BaseModule` 或 `BaseBlockModule`。\n3.  实现 `ActionModule` 接口中的必要属性和方法（如 `id`, `metadata`, `getInputs`, `getOutputs`, `execute`）。\n4.  在 `ModuleRegistry.kt` 的 `initialize()` 方法中注册你的新模块。\n5.  就是这样！你的模块现在应该会自动出现在动作选择器中并可以正常使用了。\n\n[开发指南](docs/CONTRIBUTION.md)\n\n## 🌟来颗 Star\n\n[![Star History Chart](https://api.star-history.com/svg?repos=ChaoMixian/vFlow\u0026type=date\u0026legend=top-left)](https://www.star-history.com/#ChaoMixian/vFlow\u0026type=date\u0026legend=top-left)\n\n## 📄 许可证\n\n本项目采用 [GNU General Public License v2.0 or later (GPL-2.0-or-later)](LICENSE) 许可证。\n\n## 💰 关于赞助\n\nvFlow 还在成长，相比成熟软件，功能存在较大差距。当前保持为爱发电，**不接受赞助**，感谢。\n\n\u003cdetails\u003e\n\u003csummary\u003e赞助名单 (非通过 vFlow 项目，按时间顺序)\u003c/summary\u003e\n\n```\n鲨鱼辣椒    RMB 18.88   2026/01/29\n罗密欧的沉默  RMB 26.66   2026/02/10\n```\n\n\u003c/details\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchaomixian%2Fvflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchaomixian%2Fvflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchaomixian%2Fvflow/lists"}