mofa-core


Namemofa-core JSON
Version 0.1.21 PyPI version JSON
download
home_pageNone
SummaryMoFA is a software framework for building AI agents through a composition-based approach.
upload_time2025-10-30 12:32:22
maintainerNone
docs_urlNone
authorCheng Chen, ZongHuan Wu
requires_python>=3.10
licenseNone
keywords mofa ai agents dataflow composition
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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) | 基础数据流交互示例 | ![更新时间](https://img.shields.io/github/last-commit/mofa-org/mofa?path=dataflows%2Fhello_world&label=Last%20Commit)
| LLM | [Qwen 智能体](https://github.com/nanana2002/mofa-node-hub/tree/main/node-hub/QwenAgent) | 调用 Qwen API 的对话智能体 | ![更新时间](https://img.shields.io/github/last-commit/nanana2002/mofa-node-hub?path=node-hub%2FQwenAgent&label=Last%20Commit) |
| 工具集成 | [天气查询](https://github.com/nanana2002/mofa-node-hub/tree/main/node-hub/WeatherForecastNode) | 查询ip所在地天气的智能体 | ![更新时间](https://img.shields.io/github/last-commit/nanana2002/mofa-node-hub?path=node-hub%2FWeatherForecastNode&label=Last%20Commit) |

更多文档请参考 [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/)

## 星标历史


[![Star History Chart](https://api.star-history.com/svg?repos=mofa-org/mofa&type=Date)](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 | ![\u66f4\u65b0\u65f6\u95f4](https://img.shields.io/github/last-commit/mofa-org/mofa?path=dataflows%2Fhello_world&label=Last%20Commit)\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 | ![\u66f4\u65b0\u65f6\u95f4](https://img.shields.io/github/last-commit/nanana2002/mofa-node-hub?path=node-hub%2FQwenAgent&label=Last%20Commit) |\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 | ![\u66f4\u65b0\u65f6\u95f4](https://img.shields.io/github/last-commit/nanana2002/mofa-node-hub?path=node-hub%2FWeatherForecastNode&label=Last%20Commit) |\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[![Star History Chart](https://api.star-history.com/svg?repos=mofa-org/mofa&type=Date)](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"
}
        
Elapsed time: 2.23652s