# ActionFlow **Repository Path**: vegd0g/ActionFlow ## Basic Information - **Project Name**: ActionFlow - **Description**: ActionFlow--一个基于 Electron 构建的现代化桌面命令启动器,旨在提高你的工作效率。通过简洁的界面和强大的功能,让你能够快速执行各种操作,无需在复杂的菜单中寻找。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 5 - **Created**: 2026-05-13 - **Last Updated**: 2026-05-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ActionFlow Launcher
![ActionFlow Logo](resources/icon-256.png) **快速、优雅的桌面命令启动器** [![Version](https://img.shields.io/badge/version-1.0.1-blue.svg)](https://github.com/yourusername/actionflow) [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE) [![Platform](https://img.shields.io/badge/platform-Windows-lightgrey.svg)](https://www.microsoft.com/windows) [功能特性](#功能特性) • [快速开始](#快速开始) • [使用指南](#使用指南) • [开发文档](#开发文档)
--- ## 📖 简介 ActionFlow 是一个基于 Electron 构建的现代化桌面命令启动器,旨在提高你的工作效率。通过简洁的界面和强大的功能,让你能够快速执行各种操作,无需在复杂的菜单中寻找。 ### 为什么选择 ActionFlow? - 🚀 **极速启动** - 按下 `Ctrl+Space` 即可唤醒,启动时间 < 200ms - 🎯 **智能搜索** - 支持模糊搜索和中英文双语关键词 - 📋 **剪贴板历史** - 自动记录复制内容,随时查看和重用 - 🔌 **插件系统** - 轻松扩展自定义命令 - 🎨 **现代界面** - 简洁美观的深色主题设计 - ⚡ **高性能** - 基于 React + Vite 构建,响应迅速 --- ## ✨ 功能特性 ### 核心功能 #### 🎯 命令启动器 - 快速搜索和执行系统命令 - 支持参数传递和预览 - 智能排序(基于使用频率) - 模糊匹配算法 #### 📋 剪贴板历史管理 - 自动监控剪贴板变化 - 保存最近 50 条复制记录 - 支持关键词搜索历史 - 智能去重(最近 5 条) - 一键复制历史内容 #### 🔧 内置命令 - **Open Downloads** - 打开系统下载目录 - **Copy Text** - 复制文本到剪贴板 - **Search Web** - 在默认浏览器中搜索 - **Find Files and Folders** - 搜索文件和文件夹(无需额外安装) - **Show Time** - 显示当前时间 - **Open Path** - 打开文件或文件夹 - **Clipboard History** - 查看剪贴板历史 - **Clear Clipboard History** - 清空剪贴板历史 #### 🔌 自定义命令(插件) - **Open Notepad** - 快速打开记事本 - **Open Calculator** - 快速打开计算器 - **Shutdown PC** - 定时关机(默认 60 秒) - **Cancel Shutdown** - 取消计划的关机 - **Restart PC** - 定时重启(默认 30 秒) ### 技术特性 - ⚡ **快速响应** - 输入响应 < 50ms,搜索时间 < 100ms - 🔄 **自动更新** - MRU(最近使用)算法优化搜索结果 - 💾 **数据持久化** - 自动保存使用历史和剪贴板记录 - 🎨 **现代 UI** - 基于 TailwindCSS 的响应式设计 - 🔒 **单实例运行** - 防止多开,保护数据一致性 --- ## 🚀 快速开始 ### 系统要求 - Windows 10/11 - Node.js 18+ (仅开发需要) ### 安装使用 #### 方式一:直接运行(推荐) 1. 下载最新版本的 `ActionFlow Setup.exe` 2. 双击安装程序,按照提示完成安装 3. 安装完成后,程序会自动启动 4. 按 `Ctrl+Space` 唤醒命令面板 #### 方式二:从源码构建 ```bash # 克隆仓库 git clone https://github.com/yourusername/actionflow.git cd actionflow # 安装依赖 npm install # 开发模式运行 npm run dev # 构建生产版本 npm run build # 打包安装程序 npm run package ``` --- ## 📚 使用指南 ### 基本操作 #### 唤醒命令面板 按下 `Ctrl+Space` 快捷键,命令面板会出现在屏幕上方中央位置。 #### 搜索命令 在输入框中输入关键词,系统会自动搜索匹配的命令: - 支持英文命令名(如 `time`, `copy`, `shutdown`) - 支持中文关键词(如 `时间`, `复制`, `关机`) - 支持模糊匹配(如输入 `down` 可以匹配 `downloads`) #### 执行命令 - `↑` `↓` - 上下选择命令 - `Enter` - 执行选中的命令 - `Tab` - 预览命令效果 - `Esc` - 关闭命令面板 ### 命令使用示例 #### 1. 复制文本 ``` copy hello world ``` 将 "hello world" 复制到剪贴板 #### 2. 网页搜索 ``` search electron tutorial ``` 在默认浏览器中搜索 "electron tutorial" #### 3. 打开文件夹 ``` path C:\Users\Documents ``` 打开指定的文件夹 #### 4. 文件搜索 ``` find project # 搜索包含project的文件/文件夹 find *.txt files # 仅搜索txt文件 find documents folders # 仅搜索文件夹 find report both 20 # 搜索两者,最多20个结果 open 1 # 打开第一个搜索结果 open 2 folder # 打开第二个结果所在的文件夹 ``` #### 5. 定时关机 ``` shutdown 300 ``` 300 秒后关机(可以用 `cancel` 取消) #### 6. 查看剪贴板历史 ``` clipboard ``` 或 ``` clipboard password ``` 搜索包含 "password" 的历史记录 ### 剪贴板历史功能 #### 自动记录 - 程序会自动监控剪贴板变化 - 每次复制内容都会被记录 - 最多保存 50 条历史记录 - 自动过滤重复内容(最近 5 条) - 忽略超过 10000 字符的内容 #### 查看历史 输入 `clipboard` 或 `history` 打开剪贴板历史视图 #### 历史视图操作 - `↑` `↓` - 上下选择历史记录 - `Enter` - 复制选中的内容 - `Delete` - 删除选中的记录 - `Esc` - 返回主界面 - 双击 - 快速复制 #### 搜索历史 ``` clipboard 关键词 ``` 搜索包含指定关键词的历史记录 #### 清空历史 ``` clear clipboard ``` 删除所有剪贴板历史记录 ### 系统托盘 程序会在系统托盘显示图标,右键点击可以: - 显示/隐藏命令面板 - 查看关于信息 - 退出程序 --- ## 🔌 插件开发 ### 创建自定义插件 在 `plugins` 目录下创建 `.plugin.json` 文件: ```json { "name": "my-plugin", "version": "1.0.0", "actions": [ { "id": "plugin.myaction", "title": "My Action", "subtitle": "我的自定义命令", "keywords": ["my", "action", "自定义"], "risk": "low", "params": [ { "name": "arg1", "type": "string", "required": true, "description": "参数说明" } ], "supportsPreview": true } ] } ``` ### 插件字段说明 - `id` - 唯一标识符(必需) - `title` - 命令标题(必需,建议英文) - `subtitle` - 命令说明(必需,建议中文) - `keywords` - 搜索关键词数组(必需,支持中英文) - `risk` - 风险等级:`low` 或 `medium` - `params` - 参数定义数组 - `supportsPreview` - 是否支持预览 ### 实现命令逻辑 在 `electron/main/services/executor.ts` 中添加命令执行逻辑: ```typescript case 'plugin.myaction': result = await this.executeMyAction(args[0]) break ``` --- ## 🛠️ 开发文档 ### 项目结构 ``` actionflow/ ├── electron/ # Electron 主进程 │ ├── main/ # 主进程代码 │ │ ├── index.ts # 入口文件 │ │ ├── window.ts # 窗口管理 │ │ ├── tray.ts # 系统托盘 │ │ ├── shortcuts.ts # 全局快捷键 │ │ ├── builtinActions.ts # 内置命令定义 │ │ ├── services/ # 业务逻辑服务 │ │ ├── ipc/ # IPC 通信处理 │ │ └── types/ # 类型定义 │ └── preload/ # 预加载脚本 ├── src/ # React 渲染进程 │ ├── App.tsx # 根组件 │ ├── ui/ # UI 组件 │ │ └── palette/ # 命令面板组件 │ ├── store/ # 状态管理(Zustand) │ └── utils/ # 工具函数 ├── plugins/ # 插件目录 ├── resources/ # 应用资源(图标等) └── tests/ # 测试文件 ``` ### 技术栈 - **框架**: Electron 28 + Vite 5 - **UI**: React 18 + TailwindCSS 3 - **状态管理**: Zustand 4 - **搜索引擎**: Fuse.js 7 - **测试**: Vitest + fast-check - **语言**: TypeScript 5 (strict mode) ### 开发命令 ```bash # 开发模式(热重载) npm run dev # 构建项目 npm run build # 运行测试 npm test # 运行单元测试 npm run test:unit # 运行属性测试 npm run test:property # 类型检查 npm run lint # 打包应用 npm run package # 仅打包 Windows 版本 npm run package:win ``` ### 性能指标 - 启动时间: < 200ms - 输入响应: < 50ms - 搜索时间: < 100ms - 内存占用: < 100MB --- ## 🤝 贡献指南 欢迎贡献代码、报告问题或提出建议! ### 报告问题 如果你发现了 bug 或有功能建议,请: 1. 在 GitHub Issues 中搜索是否已有相关问题 2. 如果没有,创建新的 issue 3. 详细描述问题或建议,最好附上截图 ### 提交代码 1. Fork 本仓库 2. 创建你的特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交你的更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启一个 Pull Request --- ## 📝 更新日志 查看 [CHANGELOG.md](CHANGELOG.md) 了解版本更新历史。 ### 最新版本 v1.0.1 - ✨ 完整的中文界面 - 📋 剪贴板历史管理功能 - 🎨 优化 UI 设计 - 🐛 修复已知问题 --- ## 📄 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。 --- ## 🙏 致谢 - [Electron](https://www.electronjs.org/) - 跨平台桌面应用框架 - [React](https://reactjs.org/) - 用户界面库 - [Vite](https://vitejs.dev/) - 下一代前端构建工具 - [TailwindCSS](https://tailwindcss.com/) - CSS 框架 - [Fuse.js](https://fusejs.io/) - 模糊搜索库 --- ## 🔍 本地文件搜索 ActionFlow 内置本地文件搜索,不要求用户安装额外工具。 ### 功能特点 - 📁 **多驱动器支持** - 自动搜索已挂载的磁盘分区 - 🔧 **高级搜索语法** - 支持通配符、文件类型过滤等 - 🎯 **智能结果处理** - 自动打开单个结果,显示多个结果列表 ### 使用说明 - `find project` - 搜索文件和文件夹 - `find *.txt files` - 仅搜索文本文件 - `find D:\ project folders 50` - 在 D 盘搜索文件夹,最多显示 50 个结果 ### 常见问题 如果遇到搜索问题,请查看 [本地文件搜索文档](docs/file-search.md) 获取使用建议。 ## 📧 联系方式 - 作者: Carmela - 项目主页: [GitHub](https://github.com/yourusername/actionflow) - 问题反馈: [Issues](https://github.com/yourusername/actionflow/issues) ---
**如果这个项目对你有帮助,请给一个 ⭐️ Star!** Made with ❤️ by Carmela