# MoFA 开发框架
<p align="center">
<img src="documents/images/mofa-logo.png" width="30%"/>
</p>
<h2 align="center">
<a href="https://mofa.ai/">官网</a>
|
<a href="https://mofa.ai/docs/0overview/">快速入门</a>
|
<a href="https://github.com/mofa-org/mofa">GitHub</a>
|
<a href="https://hackathon.mofa.ai/">比赛</a>
|
<a href="https://discord.com/invite/hKJZzDMMm9">社区</a>
</h2>
<div align="center">
<a href="https://pypi.org/project/mofa-core/">
<img src="https://img.shields.io/pypi/v/mofa-core.svg" alt="PyPI 最新版本"/>
</a>
<a href="https://github.com/mofa-org/mofa/blob/main/LICENSE">
<img src="https://img.shields.io/github/license/mofa-org/mofa" alt="许可证"/>
</a>
<a href="https://github.com/mofa-org/mofa/stargazers">
<img src="https://img.shields.io/github/stars/mofa-org/mofa" alt="GitHub 星标数"/>
</a>
</div>
## 核心特性
- 🚀 **composable AI 架构**:通过模块化 Agent 堆叠组合,快速构建复杂智能体系统,支持多模型、多工具协同工作。
- 🔄**数据流驱动**:采用直观的数据流(DataFlow)模式替代传统工作流(Workflow),实现 Agent 间灵活解耦与动态重组。
- 🐍**全栈 Python 支持**:从 Agent 开发到数据流配置均提供 Python 友好接口,同时兼容 Rust 高性能节点扩展。
- 🧩**丰富的节点生态**:内置终端交互、LLM 调用、工具集成等基础节点,支持自定义节点快速接入。
- 🔌**多框架兼容**:基于 Dora-rs runtime 构建,支持与 ROS2、OpenTelemetry 等系统无缝集成。
- 🖥️**MoFA Stage 可视化工具**:提供图形化界面,支持 Dataflow 和 Node 的可视化创建、管理与调试。
## 支持矩阵
| 特性 | 支持程度 |
|------|----------|
| **API 支持** | Python 3.10+ ✅ <br> Rust 扩展 📐 |
| **操作系统** | Linux (Ubuntu 22.04) ✅ <br> macOS (ARM/x86) ✅ <br> WSL2 ✅ <br> Windows ❌ |
| **通信方式** | 共享内存(本地)✅ <br> TCP 网络(分布式)📐 |
| **消息格式** | JSON ✅ <br> Apache Arrow 📐 |
| **LLM 集成** | OpenAI 系列 ✅ <br> Qwen 系列 ✅ <br> 本地模型(llama.cpp)📐 |
| **配置方式** | YAML 数据流定义 ✅ <br> Python 代码生成 📐 <br> MoFA Stage 图形化配置 ✅ |
| **包管理** | pip(Python 节点)✅ <br> cargo(Rust 节点)📐 |
> - ✅ = 完全支持
> - 📐 = 实验性支持(需贡献)
> - ❌ = 暂不支持
## 快速开始指南
### 1. 开发环境配置
#### 1.1 Python 环境
首先需构建隔离的 Python 运行环境:
```bash
# 创建虚拟环境
python3 -m venv .mofa
# 激活虚拟环境
source .mofa/bin/activate
```
#### **环境要求**
- Python 版本需为 3.10 或 3.11
- 兼容系统:WSL(Ubuntu 22.04)、macOS
- 暂不支持 Windows 系统
#### 1.2 Rust 环境配置
```bash
# 安装 Rust 工具链
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 安装过程中保持默认配置(直接按 Enter 确认)
# 安装 Dora 命令行工具(MoFA 依赖的 runtime)
cargo install dora-cli
# 验证安装结果
rustc --version
cargo --version
dora --version
```
### 2. 安装 MoFA 框架
```bash
# 从 PyPI 安装(推荐)
pip install mofa-core
# 或从源码安装最新开发版
pip install git+https://github.com/mofa-org/mofa.git
# 验证安装
pip show mofa-core
mofa --help
```
### 3. 运行 Hello World 示例
```bash
# 克隆代码仓库
git clone git@github.com:mofa-org/mofa.git
```
#### 3.1 启动数据流
```bash
cd mofa/dataflows/hello_world
mofa run hello_world_dataflow.yml
```
示例输出:
```
Send Your Task : 你好
-------------hello_world_result---------------
你好
```
## 设计理念
MoFA 是一个用于构建可组合 AI 智能体的软件框架。通过 MoFA,开发者可以通过模板创建智能体(Agent),并以堆叠方式组合形成更强大的超级智能体(Super Agent)。
核心设计哲学:
- **让普通人做非凡事**:AI 不应是精英专属,MoFA 让每个人都能开发和应用 AI,将不可能变为可能。
- **组合式 AI**:受 Unix 哲学启发,以"组合"为核心,像搭积木一样构建、连接智能体与工具,让 AI 简单、灵活且强大。
- **万物皆智能体**:在 MoFA 生态中,智能体是 AI 时代的应用载体——不仅是大语言模型,还可以是代码、脚本、API 甚至 MoFA 本身。
- **数据流驱动**:摒弃复杂工作流,采用更直观的数据流模式,使智能体可自由组合、拆解与复用。
### 技术架构图
<p align="center">
<img src="documents/images/Organizational_Chart_cn.png" width="60%">
</p>
## MoFA Stage 可视化工具
MoFA Stage 是 MoFA 生态的图形化控制中心,支持在可视化界面中快速创建、管理和调试 Dataflow 与 Node:
### 核心功能
- **node/dataflow 模板库**:提供丰富的智能体模板,一键生成 node 项目。
- **Dataflow 可视化创建**:通过拖拽式界面定义数据流,直观配置节点间的消息传递关系。
- **Node 管理**:统一管理自定义节点与官方节点,支持快速接入新功能。
- **智能体生命周期管理**:在图形化界面中启动、停止、监控智能体运行状态。
### 界面预览
<p align="center">
<img src="documents/images/mofastage-hub.png" alt="MoFA Hub 界面" width="80%"/>
<br/>
<i>Node Hub 界面</i>
</p>
<p align="center">
<img src="documents/images/mofastage-dataflow.png" alt="创建 Agent 界面" width="80%"/>
<br/>
<i>Dataflow界面</i>
</p>
## 开发指南
### 6 分钟开发首个应用
参考[6分钟开发指南](https://github.com/nanana2002/mofa-org.github.io/blob/main/mofa-website/src/content/docs/2.%20getting-started/your-first-application.md),快速构建基于大语言模型的智能体,包含环境变量配置、项目初始化、逻辑实现、数据流定义全流程。
## 示例与文档
| 类型 | 名称 | 描述 | 最后更新 |
|------|------|------|----------|
| 入门 | [Hello World](https://github.com/mofa-org/mofa/tree/main/dataflows/hello_world) | 基础数据流交互示例 | 
| LLM | [Qwen 智能体](https://github.com/nanana2002/mofa-node-hub/tree/main/node-hub/QwenAgent) | 调用 Qwen API 的对话智能体 |  |
| 工具集成 | [天气查询](https://github.com/nanana2002/mofa-node-hub/tree/main/node-hub/WeatherForecastNode) | 查询ip所在地天气的智能体 |  |
更多文档请参考 [MoFA 官方文档](https://docs.mofa-org.com)。
## 贡献指南
我们欢迎所有开发者参与贡献,无论您的经验水平如何。请参考[贡献指南](https://github.com/mofa-org/mofa/tree/main/documents)了解如何参与项目开发。
## 社区交流
- [GitHub Discussions](https://github.com/mofa-org/mofa/discussions)
- [Discord 服务器](https://discord.com/invite/hKJZzDMMm9)
## 许可证
本项目采用 Apache-2.0 许可证,详情参见 [LICENSE](LICENSE)。
## 相关资源 📚
- [Dora-rs 文档](https://dora-rs.ai/docs/guides/)
## 星标历史
[](https://www.star-history.com/#mofa-org/mofa&Date)
=======
History
=======
0.1.21 (2025-10-30)
------------------
* Auto-release: fix: fix yolo crash
0.1.20 (2025-10-30)
------------------
* Auto-release: feat: huge improvements on mofa vibe
0.1.19 (2025-10-30)
------------------
* Auto-release: enhance: optimize mofa-run command, allow user to run without install
0.1.18 (2025-10-29)
------------------
* Auto-release: Merge pull request #93 from yangrudan/enhance/mofa-unit-test
0.1.17 (2025-10-28)
------------------
* Auto-release: fix: run-flow
0.1.16 (2025-10-28)
------------------
* Auto-release: fix: run-flow
0.1.15 (2025-10-28)
------------------
* Auto-release: fix: run-flow
0.1.14 (2025-10-28)
------------------
* Auto-release: fix: run-flow
0.1.13 (2025-10-28)
------------------
* Auto-release: fix: run
0.1.12 (2025-10-28)
------------------
* Auto-release: fix: run-agent on ubnutu
0.1.11 (2025-10-28)
------------------
* Auto-release: fix: path
0.1.10 (2025-10-28)
------------------
* Auto-release: fix: ubuntu dependency error
0.1.9 (2025-10-28)
------------------
* Auto-release: fix: packaging
0.1.8 (2025-10-28)
------------------
* Auto-release: fix: init
0.1.7 (2025-10-28)
------------------
* Auto-release: fix: run-agent
0.1.6 (2025-10-27)
------------------
* Auto-release: fix: rust install
0.1.5 (2025-10-27)
------------------
* Auto-release: update: readme.md
0.1.4 (2025-10-27)
------------------
* Auto-release: fix: dir error
0.1.3 (2025-10-27)
------------------
* Auto-release: Fix: mofa vibe
0.1.2 (2025-10-27)
------------------
* Auto-release: feat: major update on cli
0.1.1 (2025-10-27)
------------------
* Auto-release: Fix: HEREDOC
0.1.0 (2025-10-27)
------------------
* First release of mofa-core (renamed from mofa-ai)
* mofa vibe command - AI-powered agent generator with automatic testing and optimization
* mofa debug command - Unit testing and debugging for individual nodes with test case support
* mofa run command - Run dataflows in isolated virtual environments with automatic dependency management
* mofa new-agent command - Create new agents from templates
* Interactive input support for better user experience
* Optimized package installation with uv support
* Python 3.10, 3.11, and 3.12 support
* Full integration with dora-rs dataflow runtime
Raw data
{
"_id": null,
"home_page": null,
"name": "mofa-core",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "mofa ai agents dataflow composition",
"author": "Cheng Chen, ZongHuan Wu",
"author_email": "chenzi00103@gmail.com, zonghuan.wu@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/bc/96/bc19565213a0872f0a2c9cda0dcc2d89f41b4dc4d397994e0d070c616dc3/mofa_core-0.1.21.tar.gz",
"platform": null,
"description": "# MoFA \u5f00\u53d1\u6846\u67b6\n\n<p align=\"center\">\n <img src=\"documents/images/mofa-logo.png\" width=\"30%\"/>\n</p>\n\n<h2 align=\"center\">\n <a href=\"https://mofa.ai/\">\u5b98\u7f51</a>\n |\n <a href=\"https://mofa.ai/docs/0overview/\">\u5feb\u901f\u5165\u95e8</a>\n |\n <a href=\"https://github.com/mofa-org/mofa\">GitHub</a>\n |\n <a href=\"https://hackathon.mofa.ai/\">\u6bd4\u8d5b</a>\n |\n <a href=\"https://discord.com/invite/hKJZzDMMm9\">\u793e\u533a</a>\n</h2>\n\n<div align=\"center\">\n <a href=\"https://pypi.org/project/mofa-core/\">\n <img src=\"https://img.shields.io/pypi/v/mofa-core.svg\" alt=\"PyPI \u6700\u65b0\u7248\u672c\"/>\n </a>\n <a href=\"https://github.com/mofa-org/mofa/blob/main/LICENSE\">\n <img src=\"https://img.shields.io/github/license/mofa-org/mofa\" alt=\"\u8bb8\u53ef\u8bc1\"/>\n </a>\n <a href=\"https://github.com/mofa-org/mofa/stargazers\">\n <img src=\"https://img.shields.io/github/stars/mofa-org/mofa\" alt=\"GitHub \u661f\u6807\u6570\"/>\n </a>\n</div>\n\n\n## \u6838\u5fc3\u7279\u6027\n\n- \ud83d\ude80 **composable AI \u67b6\u6784**\uff1a\u901a\u8fc7\u6a21\u5757\u5316 Agent \u5806\u53e0\u7ec4\u5408\uff0c\u5feb\u901f\u6784\u5efa\u590d\u6742\u667a\u80fd\u4f53\u7cfb\u7edf\uff0c\u652f\u6301\u591a\u6a21\u578b\u3001\u591a\u5de5\u5177\u534f\u540c\u5de5\u4f5c\u3002\n- \ud83d\udd04**\u6570\u636e\u6d41\u9a71\u52a8**\uff1a\u91c7\u7528\u76f4\u89c2\u7684\u6570\u636e\u6d41\uff08DataFlow\uff09\u6a21\u5f0f\u66ff\u4ee3\u4f20\u7edf\u5de5\u4f5c\u6d41\uff08Workflow\uff09\uff0c\u5b9e\u73b0 Agent \u95f4\u7075\u6d3b\u89e3\u8026\u4e0e\u52a8\u6001\u91cd\u7ec4\u3002\n- \ud83d\udc0d**\u5168\u6808 Python \u652f\u6301**\uff1a\u4ece Agent \u5f00\u53d1\u5230\u6570\u636e\u6d41\u914d\u7f6e\u5747\u63d0\u4f9b Python \u53cb\u597d\u63a5\u53e3\uff0c\u540c\u65f6\u517c\u5bb9 Rust \u9ad8\u6027\u80fd\u8282\u70b9\u6269\u5c55\u3002\n- \ud83e\udde9**\u4e30\u5bcc\u7684\u8282\u70b9\u751f\u6001**\uff1a\u5185\u7f6e\u7ec8\u7aef\u4ea4\u4e92\u3001LLM \u8c03\u7528\u3001\u5de5\u5177\u96c6\u6210\u7b49\u57fa\u7840\u8282\u70b9\uff0c\u652f\u6301\u81ea\u5b9a\u4e49\u8282\u70b9\u5feb\u901f\u63a5\u5165\u3002\n- \ud83d\udd0c**\u591a\u6846\u67b6\u517c\u5bb9**\uff1a\u57fa\u4e8e Dora-rs runtime \u6784\u5efa\uff0c\u652f\u6301\u4e0e ROS2\u3001OpenTelemetry \u7b49\u7cfb\u7edf\u65e0\u7f1d\u96c6\u6210\u3002\n- \ud83d\udda5\ufe0f**MoFA Stage \u53ef\u89c6\u5316\u5de5\u5177**\uff1a\u63d0\u4f9b\u56fe\u5f62\u5316\u754c\u9762\uff0c\u652f\u6301 Dataflow \u548c Node \u7684\u53ef\u89c6\u5316\u521b\u5efa\u3001\u7ba1\u7406\u4e0e\u8c03\u8bd5\u3002\n\n## \u652f\u6301\u77e9\u9635\n\n| \u7279\u6027 | \u652f\u6301\u7a0b\u5ea6 |\n|------|----------|\n| **API \u652f\u6301** | Python 3.10+ \u2705 <br> Rust \u6269\u5c55 \ud83d\udcd0 |\n| **\u64cd\u4f5c\u7cfb\u7edf** | Linux (Ubuntu 22.04) \u2705 <br> macOS (ARM/x86) \u2705 <br> WSL2 \u2705 <br> Windows \u274c |\n| **\u901a\u4fe1\u65b9\u5f0f** | \u5171\u4eab\u5185\u5b58\uff08\u672c\u5730\uff09\u2705 <br> TCP \u7f51\u7edc\uff08\u5206\u5e03\u5f0f\uff09\ud83d\udcd0 |\n| **\u6d88\u606f\u683c\u5f0f** | JSON \u2705 <br> Apache Arrow \ud83d\udcd0 |\n| **LLM \u96c6\u6210** | OpenAI \u7cfb\u5217 \u2705 <br> Qwen \u7cfb\u5217 \u2705 <br> \u672c\u5730\u6a21\u578b\uff08llama.cpp\uff09\ud83d\udcd0 |\n| **\u914d\u7f6e\u65b9\u5f0f** | YAML \u6570\u636e\u6d41\u5b9a\u4e49 \u2705 <br> Python \u4ee3\u7801\u751f\u6210 \ud83d\udcd0 <br> MoFA Stage \u56fe\u5f62\u5316\u914d\u7f6e \u2705 |\n| **\u5305\u7ba1\u7406** | pip\uff08Python \u8282\u70b9\uff09\u2705 <br> cargo\uff08Rust \u8282\u70b9\uff09\ud83d\udcd0 |\n\n> - \u2705 = \u5b8c\u5168\u652f\u6301\n> - \ud83d\udcd0 = \u5b9e\u9a8c\u6027\u652f\u6301\uff08\u9700\u8d21\u732e\uff09\n> - \u274c = \u6682\u4e0d\u652f\u6301\n\n\n## \u5feb\u901f\u5f00\u59cb\u6307\u5357\n\n### 1. \u5f00\u53d1\u73af\u5883\u914d\u7f6e\n\n#### 1.1 Python \u73af\u5883\n\n\u9996\u5148\u9700\u6784\u5efa\u9694\u79bb\u7684 Python \u8fd0\u884c\u73af\u5883\uff1a\n\n```bash\n# \u521b\u5efa\u865a\u62df\u73af\u5883\npython3 -m venv .mofa\n# \u6fc0\u6d3b\u865a\u62df\u73af\u5883\nsource .mofa/bin/activate\n```\n\n#### **\u73af\u5883\u8981\u6c42**\n- Python \u7248\u672c\u9700\u4e3a 3.10 \u6216 3.11\n- \u517c\u5bb9\u7cfb\u7edf\uff1aWSL\uff08Ubuntu 22.04\uff09\u3001macOS \n- \u6682\u4e0d\u652f\u6301 Windows \u7cfb\u7edf\n\n#### 1.2 Rust \u73af\u5883\u914d\u7f6e\n```bash\n# \u5b89\u88c5 Rust \u5de5\u5177\u94fe\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n# \u5b89\u88c5\u8fc7\u7a0b\u4e2d\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e\uff08\u76f4\u63a5\u6309 Enter \u786e\u8ba4\uff09\n# \u5b89\u88c5 Dora \u547d\u4ee4\u884c\u5de5\u5177\uff08MoFA \u4f9d\u8d56\u7684 runtime\uff09\ncargo install dora-cli\n\n# \u9a8c\u8bc1\u5b89\u88c5\u7ed3\u679c\nrustc --version\ncargo --version\ndora --version\n```\n\n### 2. \u5b89\u88c5 MoFA \u6846\u67b6\n```bash\n# \u4ece PyPI \u5b89\u88c5\uff08\u63a8\u8350\uff09\npip install mofa-core\n\n# \u6216\u4ece\u6e90\u7801\u5b89\u88c5\u6700\u65b0\u5f00\u53d1\u7248\npip install git+https://github.com/mofa-org/mofa.git\n\n# \u9a8c\u8bc1\u5b89\u88c5\npip show mofa-core\nmofa --help\n```\n\n### 3. \u8fd0\u884c Hello World \u793a\u4f8b\n```bash\n# \u514b\u9686\u4ee3\u7801\u4ed3\u5e93\ngit clone git@github.com:mofa-org/mofa.git\n```\n\n#### 3.1 \u542f\u52a8\u6570\u636e\u6d41\n```bash\ncd mofa/dataflows/hello_world\nmofa run hello_world_dataflow.yml\n```\n\n\u793a\u4f8b\u8f93\u51fa\uff1a\n```\n Send Your Task : \u4f60\u597d\n-------------hello_world_result---------------\n\u4f60\u597d\n```\n\n## \u8bbe\u8ba1\u7406\u5ff5\n\nMoFA \u662f\u4e00\u4e2a\u7528\u4e8e\u6784\u5efa\u53ef\u7ec4\u5408 AI \u667a\u80fd\u4f53\u7684\u8f6f\u4ef6\u6846\u67b6\u3002\u901a\u8fc7 MoFA\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u901a\u8fc7\u6a21\u677f\u521b\u5efa\u667a\u80fd\u4f53\uff08Agent\uff09\uff0c\u5e76\u4ee5\u5806\u53e0\u65b9\u5f0f\u7ec4\u5408\u5f62\u6210\u66f4\u5f3a\u5927\u7684\u8d85\u7ea7\u667a\u80fd\u4f53\uff08Super Agent\uff09\u3002\n\n\u6838\u5fc3\u8bbe\u8ba1\u54f2\u5b66\uff1a\n- **\u8ba9\u666e\u901a\u4eba\u505a\u975e\u51e1\u4e8b**\uff1aAI \u4e0d\u5e94\u662f\u7cbe\u82f1\u4e13\u5c5e\uff0cMoFA \u8ba9\u6bcf\u4e2a\u4eba\u90fd\u80fd\u5f00\u53d1\u548c\u5e94\u7528 AI\uff0c\u5c06\u4e0d\u53ef\u80fd\u53d8\u4e3a\u53ef\u80fd\u3002\n- **\u7ec4\u5408\u5f0f AI**\uff1a\u53d7 Unix \u54f2\u5b66\u542f\u53d1\uff0c\u4ee5\"\u7ec4\u5408\"\u4e3a\u6838\u5fc3\uff0c\u50cf\u642d\u79ef\u6728\u4e00\u6837\u6784\u5efa\u3001\u8fde\u63a5\u667a\u80fd\u4f53\u4e0e\u5de5\u5177\uff0c\u8ba9 AI \u7b80\u5355\u3001\u7075\u6d3b\u4e14\u5f3a\u5927\u3002\n- **\u4e07\u7269\u7686\u667a\u80fd\u4f53**\uff1a\u5728 MoFA \u751f\u6001\u4e2d\uff0c\u667a\u80fd\u4f53\u662f AI \u65f6\u4ee3\u7684\u5e94\u7528\u8f7d\u4f53\u2014\u2014\u4e0d\u4ec5\u662f\u5927\u8bed\u8a00\u6a21\u578b\uff0c\u8fd8\u53ef\u4ee5\u662f\u4ee3\u7801\u3001\u811a\u672c\u3001API \u751a\u81f3 MoFA \u672c\u8eab\u3002\n- **\u6570\u636e\u6d41\u9a71\u52a8**\uff1a\u6452\u5f03\u590d\u6742\u5de5\u4f5c\u6d41\uff0c\u91c7\u7528\u66f4\u76f4\u89c2\u7684\u6570\u636e\u6d41\u6a21\u5f0f\uff0c\u4f7f\u667a\u80fd\u4f53\u53ef\u81ea\u7531\u7ec4\u5408\u3001\u62c6\u89e3\u4e0e\u590d\u7528\u3002\n\n### \u6280\u672f\u67b6\u6784\u56fe\n\n<p align=\"center\">\n <img src=\"documents/images/Organizational_Chart_cn.png\" width=\"60%\">\n</p>\n\n## MoFA Stage \u53ef\u89c6\u5316\u5de5\u5177\n\nMoFA Stage \u662f MoFA \u751f\u6001\u7684\u56fe\u5f62\u5316\u63a7\u5236\u4e2d\u5fc3\uff0c\u652f\u6301\u5728\u53ef\u89c6\u5316\u754c\u9762\u4e2d\u5feb\u901f\u521b\u5efa\u3001\u7ba1\u7406\u548c\u8c03\u8bd5 Dataflow \u4e0e Node\uff1a\n\n### \u6838\u5fc3\u529f\u80fd\n- **node/dataflow \u6a21\u677f\u5e93**\uff1a\u63d0\u4f9b\u4e30\u5bcc\u7684\u667a\u80fd\u4f53\u6a21\u677f\uff0c\u4e00\u952e\u751f\u6210 node \u9879\u76ee\u3002\n- **Dataflow \u53ef\u89c6\u5316\u521b\u5efa**\uff1a\u901a\u8fc7\u62d6\u62fd\u5f0f\u754c\u9762\u5b9a\u4e49\u6570\u636e\u6d41\uff0c\u76f4\u89c2\u914d\u7f6e\u8282\u70b9\u95f4\u7684\u6d88\u606f\u4f20\u9012\u5173\u7cfb\u3002\n- **Node \u7ba1\u7406**\uff1a\u7edf\u4e00\u7ba1\u7406\u81ea\u5b9a\u4e49\u8282\u70b9\u4e0e\u5b98\u65b9\u8282\u70b9\uff0c\u652f\u6301\u5feb\u901f\u63a5\u5165\u65b0\u529f\u80fd\u3002\n- **\u667a\u80fd\u4f53\u751f\u547d\u5468\u671f\u7ba1\u7406**\uff1a\u5728\u56fe\u5f62\u5316\u754c\u9762\u4e2d\u542f\u52a8\u3001\u505c\u6b62\u3001\u76d1\u63a7\u667a\u80fd\u4f53\u8fd0\u884c\u72b6\u6001\u3002\n\n### \u754c\u9762\u9884\u89c8\n<p align=\"center\">\n <img src=\"documents/images/mofastage-hub.png\" alt=\"MoFA Hub \u754c\u9762\" width=\"80%\"/>\n <br/>\n <i>Node Hub \u754c\u9762</i>\n</p>\n\n<p align=\"center\">\n <img src=\"documents/images/mofastage-dataflow.png\" alt=\"\u521b\u5efa Agent \u754c\u9762\" width=\"80%\"/>\n <br/>\n <i>Dataflow\u754c\u9762</i>\n</p>\n\n\n## \u5f00\u53d1\u6307\u5357\n\n### 6 \u5206\u949f\u5f00\u53d1\u9996\u4e2a\u5e94\u7528\n\n\u53c2\u8003[6\u5206\u949f\u5f00\u53d1\u6307\u5357](https://github.com/nanana2002/mofa-org.github.io/blob/main/mofa-website/src/content/docs/2.%20getting-started/your-first-application.md)\uff0c\u5feb\u901f\u6784\u5efa\u57fa\u4e8e\u5927\u8bed\u8a00\u6a21\u578b\u7684\u667a\u80fd\u4f53\uff0c\u5305\u542b\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3001\u9879\u76ee\u521d\u59cb\u5316\u3001\u903b\u8f91\u5b9e\u73b0\u3001\u6570\u636e\u6d41\u5b9a\u4e49\u5168\u6d41\u7a0b\u3002\n\n## \u793a\u4f8b\u4e0e\u6587\u6863\n\n| \u7c7b\u578b | \u540d\u79f0 | \u63cf\u8ff0 | \u6700\u540e\u66f4\u65b0 |\n|------|------|------|----------|\n| \u5165\u95e8 | [Hello World](https://github.com/mofa-org/mofa/tree/main/dataflows/hello_world) | \u57fa\u7840\u6570\u636e\u6d41\u4ea4\u4e92\u793a\u4f8b | \n| LLM | [Qwen \u667a\u80fd\u4f53](https://github.com/nanana2002/mofa-node-hub/tree/main/node-hub/QwenAgent) | \u8c03\u7528 Qwen API \u7684\u5bf9\u8bdd\u667a\u80fd\u4f53 |  |\n| \u5de5\u5177\u96c6\u6210 | [\u5929\u6c14\u67e5\u8be2](https://github.com/nanana2002/mofa-node-hub/tree/main/node-hub/WeatherForecastNode) | \u67e5\u8be2ip\u6240\u5728\u5730\u5929\u6c14\u7684\u667a\u80fd\u4f53 |  |\n\n\u66f4\u591a\u6587\u6863\u8bf7\u53c2\u8003 [MoFA \u5b98\u65b9\u6587\u6863](https://docs.mofa-org.com)\u3002\n\n\n## \u8d21\u732e\u6307\u5357\n\n\u6211\u4eec\u6b22\u8fce\u6240\u6709\u5f00\u53d1\u8005\u53c2\u4e0e\u8d21\u732e\uff0c\u65e0\u8bba\u60a8\u7684\u7ecf\u9a8c\u6c34\u5e73\u5982\u4f55\u3002\u8bf7\u53c2\u8003[\u8d21\u732e\u6307\u5357](https://github.com/mofa-org/mofa/tree/main/documents)\u4e86\u89e3\u5982\u4f55\u53c2\u4e0e\u9879\u76ee\u5f00\u53d1\u3002\n\n\n## \u793e\u533a\u4ea4\u6d41\n\n- [GitHub Discussions](https://github.com/mofa-org/mofa/discussions)\n- [Discord \u670d\u52a1\u5668](https://discord.com/invite/hKJZzDMMm9)\n\n## \u8bb8\u53ef\u8bc1\n\n\u672c\u9879\u76ee\u91c7\u7528 Apache-2.0 \u8bb8\u53ef\u8bc1\uff0c\u8be6\u60c5\u53c2\u89c1 [LICENSE](LICENSE)\u3002\n\n\n## \u76f8\u5173\u8d44\u6e90 \ud83d\udcda\n\n- [Dora-rs \u6587\u6863](https://dora-rs.ai/docs/guides/)\n\n## \u661f\u6807\u5386\u53f2\n\n\n[](https://www.star-history.com/#mofa-org/mofa&Date)\n\n\n\n\n\n=======\nHistory\n=======\n\n0.1.21 (2025-10-30)\n------------------\n\n* Auto-release: fix: fix yolo crash\n\n0.1.20 (2025-10-30)\n------------------\n\n* Auto-release: feat: huge improvements on mofa vibe\n\n0.1.19 (2025-10-30)\n------------------\n\n* Auto-release: enhance: optimize mofa-run command, allow user to run without install\n\n0.1.18 (2025-10-29)\n------------------\n\n* Auto-release: Merge pull request #93 from yangrudan/enhance/mofa-unit-test\n\n0.1.17 (2025-10-28)\n------------------\n\n* Auto-release: fix: run-flow\n\n0.1.16 (2025-10-28)\n------------------\n\n* Auto-release: fix: run-flow\n\n0.1.15 (2025-10-28)\n------------------\n\n* Auto-release: fix: run-flow\n\n0.1.14 (2025-10-28)\n------------------\n\n* Auto-release: fix: run-flow\n\n0.1.13 (2025-10-28)\n------------------\n\n* Auto-release: fix: run\n\n0.1.12 (2025-10-28)\n------------------\n\n* Auto-release: fix: run-agent on ubnutu\n\n0.1.11 (2025-10-28)\n------------------\n\n* Auto-release: fix: path\n\n0.1.10 (2025-10-28)\n------------------\n\n* Auto-release: fix: ubuntu dependency error\n\n0.1.9 (2025-10-28)\n------------------\n\n* Auto-release: fix: packaging\n\n0.1.8 (2025-10-28)\n------------------\n\n* Auto-release: fix: init\n\n0.1.7 (2025-10-28)\n------------------\n\n* Auto-release: fix: run-agent\n\n0.1.6 (2025-10-27)\n------------------\n\n* Auto-release: fix: rust install\n\n0.1.5 (2025-10-27)\n------------------\n\n* Auto-release: update: readme.md\n\n0.1.4 (2025-10-27)\n------------------\n\n* Auto-release: fix: dir error\n\n0.1.3 (2025-10-27)\n------------------\n\n* Auto-release: Fix: mofa vibe\n\n0.1.2 (2025-10-27)\n------------------\n\n* Auto-release: feat: major update on cli\n\n0.1.1 (2025-10-27)\n------------------\n\n* Auto-release: Fix: HEREDOC\n\n0.1.0 (2025-10-27)\n------------------\n\n* First release of mofa-core (renamed from mofa-ai)\n* mofa vibe command - AI-powered agent generator with automatic testing and optimization\n* mofa debug command - Unit testing and debugging for individual nodes with test case support\n* mofa run command - Run dataflows in isolated virtual environments with automatic dependency management\n* mofa new-agent command - Create new agents from templates\n* Interactive input support for better user experience\n* Optimized package installation with uv support\n* Python 3.10, 3.11, and 3.12 support\n* Full integration with dora-rs dataflow runtime\n",
"bugtrack_url": null,
"license": null,
"summary": "MoFA is a software framework for building AI agents through a composition-based approach.",
"version": "0.1.21",
"project_urls": null,
"split_keywords": [
"mofa",
"ai",
"agents",
"dataflow",
"composition"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "6292de69fc553e865c163fd13ed026d8a72fc4f77bb6da3e11372eaf6377a774",
"md5": "a6e81c07a5677352de00c6d1759b0133",
"sha256": "1ae8970717302e5321f884a33df1ab7121d18263f70d199e992ff45fb8529abe"
},
"downloads": -1,
"filename": "mofa_core-0.1.21-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a6e81c07a5677352de00c6d1759b0133",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 124226,
"upload_time": "2025-10-30T12:32:20",
"upload_time_iso_8601": "2025-10-30T12:32:20.689901Z",
"url": "https://files.pythonhosted.org/packages/62/92/de69fc553e865c163fd13ed026d8a72fc4f77bb6da3e11372eaf6377a774/mofa_core-0.1.21-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "bc96bc19565213a0872f0a2c9cda0dcc2d89f41b4dc4d397994e0d070c616dc3",
"md5": "de1421a7f47b3807c6035c5c4113b981",
"sha256": "ce3bcd669bc683b5adaf88e3e54bf9dacd66e8e831b7f1140b1dad501719b6a6"
},
"downloads": -1,
"filename": "mofa_core-0.1.21.tar.gz",
"has_sig": false,
"md5_digest": "de1421a7f47b3807c6035c5c4113b981",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 101195,
"upload_time": "2025-10-30T12:32:22",
"upload_time_iso_8601": "2025-10-30T12:32:22.109049Z",
"url": "https://files.pythonhosted.org/packages/bc/96/bc19565213a0872f0a2c9cda0dcc2d89f41b4dc4d397994e0d070c616dc3/mofa_core-0.1.21.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-30 12:32:22",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "mofa-core"
}