LuguManus 是一款使用 Electron 和 TypeScript 构建的智能化桌面应用框架,它将先进的大型语言模型与实用工具组件深度整合,创造出一个强大的自动化和辅助系统。
- 多代理协作机制:采用基础代理、对话代理和任务导向代理三层架构,通过协同工作模式解决复杂问题
- 智能任务分解:能够自动将复杂任务拆解为多个可执行的子任务,并按顺序或依赖关系执行
- 工具链集成:内置网页搜索、文档处理、图表生成和代码执行等多种工具组件
- 响应式数据流:基于 RxJS 构建的响应式架构,提供流畅的异步消息处理能力
- 浏览器模拟交互:通过 Electron 实现的浏览器行为模拟,可执行网页浏览、内容提取、执行网页行为等操作
- 多模型支持:支持不同类型的 AI 模型(文本、长文本、代码、图像识别等)
- Electron 桌面应用框架
- TypeScript 类型安全
- Prisma ORM + SQLite 数据持久化
- RxJS 响应式编程
- OpenAI SDK 模型集成(Qwen)
LuguManus 适用于需要 AI 辅助的各类桌面应用场景,包括但不限于:
- 智能文档处理与分析
- 自动化网络信息检索与整合
- 复杂任务规划与执行
- 代码辅助与运行
- ...
我们正在不断完善这个框架,欢迎开发者参与贡献,共同打造更强大的 AI 桌面工具生态。
- 安装依赖
# 克隆项目
git clone https://github.com/electron-manus/lugumanus.git
cd lugumanus
# 安装依赖
bun install
# 构建 packages
bun run build-deps
# 运行渲染进程
bun nx run @lugu-manus/renderer:dev
# 运行主进程
bun nx run @lugu-manus/main:devlugumanus/
├── apps/ # 应用程序目录
│ ├── main/ # Electron 主进程
│ │ ├── src/ # 主进程源代码
│ │ │ ├── agent/ # 代理系统 (基础代理、对话代理、任务代理)
│ │ │ ├── model/ # 模型集成 (聊天完成等)
│ │ │ ├── toolkits/ # 工具套件集合
│ │ │ │ ├── search-toolkit/ # 搜索工具集成
│ │ │ │ ├── chart-toolkit/ # 图表生成工具
│ │ │ │ ├── document-toolkit/ # 文档处理工具 (Markdown、Excel、PPT)
│ │ │ │ └── code-toolkit/ # 代码执行工具
│ │ │ ├── routers/ # tRPC API 路由
│ │ │ ├── studio-preload/ # Studio 预加载脚本
│ │ │ ├── window.ts # 窗口管理
│ │ │ ├── main.ts # 主进程入口
│ │ │ └── preload.ts # 预加载脚本
│ │ ├── prisma/ # Prisma ORM 相关
│ │ │ └── schema.prisma # 数据库模型定义
│ │ └── scripts/ # 构建脚本
│ └── renderer/ # 渲染进程 (前端UI)
│ └── src/
│ └── components/ # React 组件
│ └── studio/ # Studio 相关组件
│
├── packages/ # 可复用模块包
│ ├── electron-browseruse/ # 浏览器自动化工具
│ │ ├── src/ # 浏览器工具源代码
│ │ └── README.md # 浏览器工具说明文档
│ ├── shrink-dom/ # DOM 处理工具
│ │ └── src/ # DOM 处理源代码
│ └── share/ # 共享工具和组件
│
├── package.json # 项目依赖和脚本
├── nx.json # Nx 配置
├── commitlint.config.js # 提交规范配置
├── .gitignore # Git 忽略配置
└── README.md # 项目说明文档-
apps/main: 包含 Electron 主进程代码和后端逻辑
- 代理系统 (
agent/): 实现多代理协同工作机制 - 工具集 (
toolkits/): 各种功能工具实现 - 数据库 (
prisma/): 使用 Prisma ORM 与 SQLite 管理数据
- 代理系统 (
-
apps/renderer: 包含前端界面代码,基于 React 实现
-
packages/electron-browseruse: 浏览器自动化工具包,支持 AI 驱动的网页交互
-
packages/shrink-dom: DOM 处理工具包,优化网页内容提取和分析
-
packages/share: 在主进程和渲染进程之间共享的代码和类型
我们非常欢迎社区成员参与LuguManus项目的开发与改进。以下是参与贡献的基本流程:
- Fork 项目仓库:在GitHub上fork本项目到您的账户下
- 克隆您的fork:
git clone https://github.com/YOUR-USERNAME/lugumanus.git - 创建功能分支:
git checkout -b feature/your-feature-name - 提交您的更改:
- 推送到您的fork:
git push origin feature/your-feature-name - 创建Pull Request:从您的分支到主仓库的main分支
- 使用TypeScript编写所有代码
- 遵循项目已有的代码风格和模式, 使用 Biome 进行代码格式化
- 为新功能编写测试
- 更新相关文档
如发现bug或有新功能建议,请通过GitHub Issues提交,并尽可能提供:
- 清晰的问题描述
- 复现步骤
- 预期行为与实际行为
- 截图或日志(如适用)
- 系统环境信息
LuguManus项目采用MIT许可证开源。
LuguManus项目得以实现,离不开以下开源项目和技术的支持:
- Electron - 提供跨平台桌面应用开发框架
- TypeScript - 增强代码类型安全
- React - 用户界面开发
- Prisma - 数据库ORM
- RxJS - 响应式编程库
- OpenAI - AI模型技术支持
- Nx - 构建系统和项目管理
- CAMEL - 大模型框架
特别感谢所有为项目做出贡献的开发者和提供宝贵反馈的社区成员。
- 项目维护者:微信(taixw2)
- 电子邮件:[email protected]
- GitHub:[https://github.com/electron-manus]
我们期待您的反馈和建议,共同打造更好的 AI 桌面工具



