# ai工作流 **Repository Path**: me860/html-ai-work-flow ## Basic Information - **Project Name**: ai工作流 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-01 - **Last Updated**: 2025-09-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FuYu 服务配置管理系统 这是一个基于 React 和 ReactFlow 的工作流可视化编辑器,专门用于管理 FuYu 平台的各种服务配置。 ## 🚀 项目特性 ### 核心功能 - 🎯 **可视化工作流编辑** - 拖拽式节点编辑器 - 🔄 **面向对象架构** - 模块化、可维护的代码结构 - 📊 **实时数据可视化** - 节点关系图表展示 - 💾 **多格式支持** - JSON导入导出,本地存储 - 🎨 **智能节点识别** - 自动识别Skill/Ctrl节点类型 - 🔍 **子流程支持** - SubFlow节点可视化查看 ### 架构版本对比 | 特性 | 原版 (index.html) | 面向对象版本 (index-oop.html) | |------|------------------|--------------------------------| | 代码结构 | 单体文件 (2668行) | 模块化类设计 (1174行) | | 可维护性 | ⚠️ 难以维护 | ✅ 高度模块化 | | 扩展性 | ⚠️ 耦合严重 | ✅ 松耦合设计 | | 测试友好 | ❌ 难以测试 | ✅ 可独立测试 | | 性能 | 68KB | 50KB (优化30%) | ## 📁 文件说明 ### 主要文件 - **`index.html`** - 原始版本工作流编辑器 - 功能完整的可视化编辑器 - 支持所有节点类型和连接操作 - 单体架构,适合快速原型 - **`index-oop.html`** - 面向对象版本编辑器 ⭐ **推荐使用** - 采用面向对象设计模式 - 模块化架构,易于维护和扩展 - 事件驱动的松耦合设计 - 所有原版功能完整保留 - **`services-index.html`** - 服务配置管理界面 - 浏览所有服务配置文件 - 按分类筛选(音频、闹钟、语音等) - 搜索功能和统计信息 - 直接在编辑器中打开特定服务 - **`service-scanner.html`** - 服务扫描工具 - 自动扫描 services 文件夹 - 提取服务元数据 - 生成服务配置代码 ### 核心架构类 (面向对象版本) ```javascript Constants // 常量配置管理 Utils // 通用工具方法 NodeManager // 节点生命周期管理 EdgeManager // 连接线管理 FlowDataManager // 数据格式转换 UIManager // 界面消息提示 SubFlowManager // 子流程管理 WorkflowApp // 主应用控制器 ``` ### 服务配置文件夹 **`services/`** 文件夹包含 336+ 个服务配置文件,按功能分类: #### 🎵 音频服务 (6个) - `audio-point-read.json` - 音频点读 - `audio-listen.json` - 音频监听 - `audio-oss.json` - 音频OSS存储 - `audio-volume-set.json` - 音量设置 - `audio-volume-get.json` - 音量获取 - `audio-play.json` - 音频播放 #### ⏰ 闹钟服务 (3个) - `alarm-clock-set.json` - 闹钟设置 - `alarm-clock-close.json` - 闹钟关闭 - `alarm-clock-delete.json` - 闹钟删除 #### 🎤 语音服务 (2个) - `voice-call.json` - 语音呼叫 - `voice-clone.json` - 语音克隆 #### 📝 文本服务 (2个) - `text-audio.json` - 文本转语音 - `text-optimizer.json` - 文本优化 #### 🎮 控制服务 (ctrl文件夹) - 系统控制相关的配置文件 - 自动标识为Ctrl节点类型 #### 🔧 技能服务 (skill文件夹) - 技能相关的配置文件 - 自动标识为Skill节点类型 ## 🛠️ 技术栈 - **前端框架**: React 18 - **流程图库**: ReactFlow - **构建工具**: Babel (浏览器端编译) - **样式**: CSS3 + 内联样式 - **数据格式**: JSON - **存储**: LocalStorage + 文件导入导出 ## 🚀 快速开始 ### 1. 环境准备 ```bash # 克隆仓库 git clone https://github.com/your-username/fuyu-workflow-editor.git cd fuyu-workflow-editor # 启动本地服务器 python -m http.server 8000 # 或者使用其他静态服务器 ``` ### 2. 访问应用 - 主编辑器: `http://localhost:8000/index-oop.html` (推荐) - 原版编辑器: `http://localhost:8000/index.html` - 服务管理: `http://localhost:8000/services-index.html` ### 3. 使用说明 #### 基本操作 1. **加载文件**: 点击"加载文件"按钮导入JSON配置 2. **节点编辑**: 点击节点查看属性,拖拽调整位置 3. **连接操作**: 从输出点拖拽到输入点创建连接 4. **子流程查看**: 点击SubFlow节点查看详细内容 5. **数据导出**: 点击"导出数据"保存为JSON文件 #### 节点类型识别 - 🟢 **开始节点**: 名称包含"开始"或"start" - 🔴 **结束节点**: 名称包含"结束"或"end" - 🟡 **条件节点**: 名称包含"判断"或"条件" - 🔷 **SubFlow节点**: Args.Type === 'SubFlow' - 🟣 **Skill节点**: 命令包含"skill" - 🟠 **Ctrl节点**: 命令以"ctrl"开头 ## 📊 项目统计 - **总文件数**: 350+ - **服务配置**: 336+ 个JSON文件 - **代码行数**: 4000+ 行 - **支持节点类型**: 6种 - **可视化功能**: 完整的流程图编辑 ## 🔄 版本历史 ### v2.0.0 - 面向对象重构版本 (2025-09-01) - ✨ 完全重构为面向对象架构 - 🏗️ 模块化设计,职责分离 - 🎯 事件驱动系统 - ⚡ 性能优化,文件大小减少30% - 🧪 提高可测试性和可维护性 ### v1.5.0 - 功能增强版本 - ✨ 添加SubFlow节点支持 - 🎨 Skill/Ctrl节点自动识别 - 🔄 条件判断节点多分支优化 - 📊 服务管理界面 ### v1.0.0 - 基础版本 - 🎯 基础工作流可视化编辑 - 📝 JSON数据导入导出 - 💾 本地存储功能 ## 🤝 贡献指南 1. Fork 项目 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 打开 Pull Request ## 📄 许可证 本项目采用 MIT 许可证。详见 [LICENSE](LICENSE) 文件。 ## 📞 联系方式 - 项目地址: https://github.com/your-username/fuyu-workflow-editor - 问题反馈: https://github.com/your-username/fuyu-workflow-editor/issues --- ⭐ 如果这个项目对您有帮助,请给它一个星标! #### 🗣️ 语音识别 (2个) - `speech-to-text.json` - 语音转文本 - `speech-eval.json` - 语音评测 #### 🔧 其他服务 - `add-friend.json` - 添加好友 - `story.json` - 听故事 - `send-message.json` - 发消息 - 等... ## 使用方法 ### 1. 启动服务管理 打开 `services-index.html`,浏览所有可用的服务配置。 ### 2. 编辑工作流 - 点击任何服务卡片直接在编辑器中打开 - 或者直接打开 `index.html` 进行自由编辑 ### 3. 服务配置结构 每个服务配置文件包含: ```json { "Name": "服务名称", "Dispatcher": "Route", "CmdFailEndCmdName": "FailSound", "Cmds": [ { "Name": "节点名称", "Cmd": "命令类型", "Args": { "Type": "Normal|Start|End|Condition", "Next.0": "下一个节点" }, "InParams": {}, "OutParams": [] } ] } ``` ### 4. 常用命令类型 - **DeviceIntentionVoice** - 设备意图语音 - **AsrStream** - 流式语音识别 - **TtsStream** - 文本转语音 - **Condition** - 条件判断 - **skill-*** - 技能命令 - **AiRoleChat** - AI角色聊天 - 等... ## 功能特性 ### 编辑器功能 - ✅ 可视化节点编辑 - ✅ 拖拽连接线 - ✅ 条件分支支持 - ✅ 自动布局 - ✅ 右键菜单操作 - ✅ 实时配置预览 - ✅ JSON导入导出 - ✅ 本地存储 ### 管理界面功能 - ✅ 服务分类浏览 - ✅ 全文搜索 - ✅ 批量管理 - ✅ 统计信息 - ✅ 编辑器集成 ## 技术架构 - **Frontend**: React 18 + ReactFlow - **Build**: Babel Standalone (无需编译) - **Storage**: LocalStorage + JSON文件 - **UI**: 纯CSS + 现代响应式设计 ## 本地开发 1. 下载所有文件到本地目录 2. 确保 `js/` 文件夹包含所有依赖库 3. 确保 `services/` 文件夹包含服务配置文件 4. 用现代浏览器打开任何 HTML 文件即可 ## 浏览器兼容性 - Chrome 90+ - Firefox 88+ - Safari 14+ - Edge 90+ 支持现代 ES6+ 特性和模块化 JavaScript。