- 拖拽式界面: 基于ReactFlow的直观可视化编辑器
- 实时预览: 工作流执行状态实时监控
- 节点管理: 丰富的预置节点库,支持自定义节点
- 多模型支持: 集成主流AI模型和服务
- 智能代理: 支持自定义AI代理和路由
- CopilotKit集成: 内置AI助手功能
- 数据库: MySQL、PostgreSQL、MongoDB、Redis、Oracle、SQL Server等
- 社交平台: 钉钉、飞书、企业微信等
- 文件处理: S3、FTP、文件转换、Markdown处理
- 通用工具: HTTP请求、邮件发送、加密解密、正则表达式等
- Model Context Protocol: 支持外部工具集成
- 扩展性: 通过MCP协议轻松扩展功能
- 标准化: 遵循MCP标准,确保兼容性
- 用户管理: 完整的用户认证和权限系统
- 团队功能: 支持团队协作和工作流共享
- 版本控制: 工作流版本管理和回滚
cofly/
├── apps/ # 应用程序
│ ├── web/ # 主Web应用 (端口3000)
│ └── docs/ # 文档站点 (端口3001)
├── packages/ # 共享包
│ ├── common/ # 通用工具库
│ ├── database/ # 数据库层 (Prisma)
│ ├── engine/ # 工作流执行引擎
│ ├── interfaces/ # TypeScript接口定义
│ ├── mcp-workflow-tools/ # MCP协议工具
│ ├── node-set/ # 工作流节点定义
│ └── ui/ # 共享UI组件
└── examples/ # 示例实现
- 前端: Next.js 15 + React 19 + TypeScript
- 后端: Next.js API Routes + Express.js
- 数据库: Prisma ORM + MySQL/SQLite
- UI: styled CSS + Styled Components
- 构建: Turborepo + pnpm
- 认证: NextAuth.js
- Node.js >= 18
- pnpm >= 10.14.0
- MySQL (可选,默认使用SQLite)
- 克隆仓库
git clone https://github.com/your-org/cofly.git
cd cofly- 安装依赖
pnpm install- 环境配置
# 复制环境变量模板
cp apps/web/.env.example apps/web/.env.local
# 编辑环境变量
# DATABASE_URL="sqlite:./dev.db" # 或使用MySQL
# NEXTAUTH_SECRET="your-secret-key"
# NEXTAUTH_URL="http://localhost:3000"- 数据库初始化
pnpm db:generate
pnpm db:push- 启动开发服务器
# 启动所有服务
pnpm dev
# 或单独启动Web应用
pnpm dev:web- 访问应用
- Web应用: http://localhost:3000
- 文档站点: http://localhost:3001
- 登录系统: 访问 http://localhost:3000 并注册/登录
- 进入工作台: 点击"工作台"进入主界面
- 创建工作流:
- 点击"流程"标签
- 从左侧节点面板拖拽节点到画布
- 连接节点创建工作流
- 配置节点: 双击节点进行详细配置
- 测试运行: 点击"运行"按钮测试工作流
- 触发器: 手动触发、定时任务、Webhook、事件监听
- AI节点: 自定义代理、系统代理、路由代理
- 数据库: 各种数据库的增删改查操作
- 文件处理: 文件读写、格式转换、云存储
- 流程控制: 条件判断、循环、合并、开关
- 通用工具: HTTP请求、邮件、加密、正则等
- 社交集成: 钉钉、飞书、企业微信消息推送
# 开发
pnpm dev # 启动所有应用
pnpm dev:web # 仅启动Web应用
pnpm dev:docs # 仅启动文档站点
# 构建
pnpm build # 构建所有包和应用
pnpm start # 启动生产版本
# 数据库
pnpm db:generate # 生成Prisma客户端
pnpm db:push # 推送数据库变更
pnpm db:studio # 打开Prisma Studio
# 代码质量
pnpm lint # 代码检查
pnpm format # 代码格式化
pnpm check-types # TypeScript类型检查
# 清理
pnpm clean # 清理构建产物- 在
packages/node-set/src/nodes/下创建节点目录 - 实现节点逻辑和配置
- 添加节点图标和描述
- 在
packages/node-set/src/nodes/index.ts中导出 - 运行
pnpm build重新构建
- 在
packages/mcp-workflow-tools/中添加MCP工具 - 实现MCP协议接口
- 在工作流中通过MCP节点调用
我们欢迎所有形式的贡献!
- 🐛 报告Bug
- 💡 提出新功能建议
- 📝 改进文档
- 🔧 提交代码修复
- 🎨 设计改进
- Fork本仓库
- 创建功能分支:
git checkout -b feature/amazing-feature - 提交更改:
git commit -m 'Add amazing feature' - 推送分支:
git push origin feature/amazing-feature - 提交Pull Request
- 使用TypeScript进行类型安全开发
- 遵循ESLint和Prettier配置
- 编写单元测试
- 更新相关文档
本项目采用 Apache 2.0 许可证。
感谢所有为Cofly项目做出贡献的开发者和用户!
特别感谢以下开源项目:
- 📧 邮箱: [your-email@example.com]
- 💬 讨论: GitHub Discussions
- 🐛 问题反馈: GitHub Issues
Made with ❤️ by the Cofly Team