FederatedScope

GitHub
1.5k 259 中等 1 次阅读 6天前Apache-2.0开发框架
AI 解读 由 AI 自动生成,仅供参考

FederatedScope 是一款由阿里巴巴开源的联邦学习平台,旨在让数据隐私保护下的协同建模变得简单高效。在数据孤岛日益严重且隐私法规趋严的背景下,它解决了多方在不共享原始数据的前提下,如何安全、灵活地联合训练人工智能模型的难题。

该平台特别适合人工智能研究人员、算法工程师以及希望探索隐私计算技术的开发者使用。无论是学术界的理论验证,还是工业界的实际落地,FederatedScope 都能提供强有力的支持。其核心亮点在于采用了“事件驱动”的系统架构,这不仅赋予了系统极高的灵活性,方便用户根据需求定制复杂的联邦学习流程,还内置了丰富的功能模块,涵盖了从个性化联邦学习到超参数优化、甚至防御后门攻击等多种前沿场景。

此外,FederatedScope 拥有完善的文档和在线试玩环境(Playground),用户无需繁琐的配置即可通过 JupyterLab 或 Google Colab 快速上手。凭借其在顶会论文中的技术积淀和对易用性的极致追求,FederatedScope 正成为连接联邦学习理论与实践的重要桥梁,帮助用户更安全、有效地挖掘数据价值。

使用场景

某大型连锁医疗机构希望联合多家分院的数据训练疾病预测模型,但受限于患者隐私法规,原始数据无法集中上传至云端。

没有 FederatedScope 时

  • 开发门槛极高:团队需从零搭建通信架构,手动处理各分院间的网络同步与断点重连,耗费数周仅完成基础框架。
  • 隐私保护难落地:自行实现差分隐私或安全聚合算法容易出错,难以通过严格的合规审计,存在数据泄露风险。
  • 异构适配困难:各分院设备算力与数据分布差异巨大,缺乏现成策略处理非独立同分布(Non-IID)数据,导致模型收敛极慢甚至失败。
  • 实验复现成本高:缺乏统一的基准测试集与评估工具,调整超参数或对比新算法时,每次都需要重新配置复杂的环境。

使用 FederatedScope 后

  • 快速启动项目:利用其事件驱动架构和预置模板,开发人员仅需修改少量配置文件即可在几天内部署跨院区的联邦学习任务。
  • 内置安全机制:直接调用平台集成的差分隐私与安全聚合模块,无需重复造轮子,轻松满足医疗行业的高标准隐私合规要求。
  • 智能应对异构:借助内置的个性化联邦学习(pFL)算法和自动调优工具(FedHPO),有效解决数据分布不均问题,显著提升模型在各分院的准确率。
  • 高效迭代验证:依托丰富的基准测试库(如 pFL-Bench),团队可一键复现前沿论文算法,快速对比不同策略效果,大幅缩短研发周期。

FederatedScope 将复杂的联邦学习底层技术封装为易用的标准化流程,让机构能在严守数据隐私的前提下,高效释放多方数据的联合价值。

运行环境要求

操作系统
  • Linux
  • macOS
GPU
  • 可选
  • 若使用 GPU 加速,需 NVIDIA GPU 并预装 NVIDIA 驱动及 nvidia-docker2
  • 支持 CUDA 10 (对应 Torch 1.8) 或 CUDA 11 (对应 Torch 1.10/1.13)
  • Apple M1 芯片可使用 CPU/MPS 后端
内存

未说明

依赖
notes1. 推荐使用 Conda 创建虚拟环境或 Docker 进行部署。2. Apple M1 用户安装 torchvision 后需降级至 0.11.3 以避免段错误。3. 若运行图联邦学习、NLP 等下游任务,需额外安装应用版依赖包。4. 单机模式可在单设备上模拟多参与方,无需多台机器即可运行联邦学习任务。
python>=3.9
torch>=1.8
torchvision
torchaudio
torchtext
FederatedScope hero image

快速开始

federatedscope-logo

Website Playground Contributing

FederatedScope 是一个全面的联邦学习平台,为学术界和工业界的各类联邦学习任务提供便捷的使用方式和灵活的定制能力。基于事件驱动架构,FederatedScope 集成了丰富的功能模块,以满足联邦学习领域日益增长的需求,并致力于打造一个易于使用的平台,推动安全、高效的联邦学习实践。

详细的教程请访问我们的官网:federatedscope.io

您可以通过 FederatedScope PlaygroundGoogle Colab 体验 FederatedScope。

| 代码结构 | 快速入门 | 进阶指南 | 文档 | 相关论文 | 贡献指南 |

新闻

  • new [2023年5月17日] 我们的论文 FS-REAL 已被 KDD'2023 接受!
  • new [2023年5月17日] 我们关于 FL 后门攻击的基准研究论文 Backdoor Attacks Bench 已被 KDD'2023 接受!
  • new [2023年5月17日] 我们的论文 分布式环境下的通信高效且差分隐私逻辑回归 已被 KDD'2023 接受!
  • new [2023年4月25日] 我们的论文 pFedGate 已被 ICML'2023 接受!
  • new [2023年4月25日] 我们关于 FedHPO 的基准研究论文 FedHPO-Bench 已被 ICML'2023 接受!
  • new [2023年4月3日] 我们发布了 FederatedScope v0.3.0!
  • [2022年2月10日] 我们阐述 FederatedScope 的论文 论文 被 VLDB'23 接受!
  • [2022年10月5日] 我们关于个性化联邦学习的基准研究论文 pFL-Bench 被 NeurIPS'22 数据集与基准赛道接受!
  • [2022年8月18日] 我们在 KDD 2022 上发表的关于联邦图学习的论文 论文 获得了 ADS 赛道的最佳论文奖!
  • [2022年7月30日] 我们发布了 FederatedScope v0.2.0!
  • [2022年6月17日] 我们发布了 pFL-Bench,这是一个针对个性化联邦学习(pFL)的综合性基准,包含 10 多个数据集和 20 多个基线。[代码, pdf]
  • [2022年6月17日] 我们发布了 FedHPO-Bench,一套用于研究联邦超参数优化的基准工具。[代码, pdf]
  • [2022年6月17日] 我们发布了 B-FHTL,一套用于研究联邦异构任务学习的基准工具。[代码, pdf]
  • [2022年6月13日] 我们的项目曾遭受攻击,现已解决。详情.
  • [2022年5月25日] 我们的论文 FederatedScope-GNN 已被 KDD'2022 接受!
  • [2022年5月6日] 我们发布了 FederatedScope v0.1.0!

代码结构

FederatedScope
├── federatedscope
│   ├── core           
│   |   ├── workers              # 参与者的具体行为(即服务器和客户端)
│   |   ├── trainers             # 本地训练的详细实现
│   |   ├── aggregators          # 联邦聚合的具体实现
│   |   ├── configs              # 可配置的参数设置
│   |   ├── monitors             # 日志记录与可视化模块
│   |   ├── communication.py     # 参与者之间的通信实现   
│   |   ├── fed_runner.py        # 用于构建和运行联邦学习流程的主程序
│   |   ├── ... ..
│   ├── cv                       # 计算机视觉领域的联邦学习        
│   ├── nlp                      # 自然语言处理领域的联邦学习          
│   ├── gfl                      # 图联邦学习          
│   ├── autotune                 # 联邦学习中的自动调参         
│   ├── vertical_fl              # 垂直联邦学习         
│   ├── contrib                          
│   ├── main.py           
│   ├── ... ...          
├── scripts                      # 用于复现现有算法的脚本
├── benchmark                    # 我们发布了一些基准,便于公平比较
├── doc                          # 用于自动生成文档
├── environment                  # 安装要求及提供的 Docker 文件
├── materials                    # 相关主题的资料(如论文列表)
│   ├── notebook                        
│   ├── paper_list                                        
│   ├── tutorial                                       
│   ├── ... ...                                      
├── tests                        # 用于持续集成的单元测试模块
├── LICENSE
└── setup.py

快速入门

我们提供了一个端到端的示例,帮助用户使用 FederatedScope 开始运行一个标准的联邦学习流程。

第1步:安装

首先,用户需要克隆源代码并安装所需的软件包(建议使用Python 3.9及以上版本)。您可以选择以下两种安装方式(通过Docker或Conda)来安装FederatedScope。

git clone https://github.com/alibaba/FederatedScope.git
cd FederatedScope

使用 Docker

您可以构建Docker镜像,并在带有CUDA 11和PyTorch 1.10的Docker环境中运行:

docker build -f environment/docker_files/federatedscope-torch1.10.Dockerfile -t alibaba/federatedscope:base-env-torch1.10 .
docker run --gpus device=all --rm -it --name "fedscope" -w $(pwd) alibaba/federatedscope:base-env-torch1.10 /bin/bash

如果您需要运行下游任务,例如图联邦学习,在执行上述命令时,请将依赖文件和Docker文件名更改为相应的文件:

# environment/requirements-torch1.10.txt -> 
environment/requirements-torch1.10-application.txt

# environment/docker_files/federatedscope-torch1.10.Dockerfile ->
environment/docker_files/federatedscope-torch1.10-application.Dockerfile

注意:您可以通过将torch1.10替换为torch1.8来选择使用CUDA 10和PyTorch 1.8。这些Docker镜像基于nvidia-docker。请提前在宿主机上安装NVIDIA驱动程序和nvidia-docker2。更多详细信息请参阅此处

使用 Conda

我们建议使用一个新的虚拟环境来安装FederatedScope:

conda create -n fs python=3.9
conda activate fs

如果您的后端是PyTorch,请提前安装PyTorch(PyTorch入门)。例如,如果您的CUDA版本是11.3,请执行以下命令:

conda install -y pytorch=1.10.1 torchvision=0.11.2 torchaudio=0.10.1 torchtext=0.11.1 cudatoolkit=11.3 -c pytorch -c conda-forge

对于配备Apple M1芯片的用户:

conda install pytorch torchvision torchaudio -c pytorch
# 降级torchvision以避免段错误
python -m pip install torchvision==0.11.3

最后,在安装好后端之后,您可以从源代码安装FederatedScope:

从源代码安装
# 可编辑模式
pip install -e .

# 或者(开发者用于开发模式)
pip install -e .[dev]
pre-commit install

现在,您已成功安装了FederatedScope的最小版本。(可选)对于包含图、NLP和语音等应用的版本,请运行:

bash environment/extra_dependencies_torch1.10-application.sh

第2步:准备数据集

要运行一个联邦学习任务,用户需要准备一个数据集。FederatedScope提供的DataZoo可以帮助自动下载和预处理广泛使用的公共数据集,适用于各种联邦学习应用场景,包括计算机视觉、自然语言处理、图学习、推荐系统等。用户可以直接在配置中指定cfg.data.type = DATASET_NAME。例如:

cfg.data.type = 'femnist'

如果要使用自定义数据集,您需要按照特定格式准备数据集并进行注册。更多详情请参阅自定义数据集

第3步:准备模型

接下来,用户应指定将在联邦学习过程中训练的模型架构。FederatedScope提供了一个ModelZoo,其中包含了各种联邦学习应用中广泛采用的模型架构实现。用户可以通过设置cfg.model.type = MODEL_NAME来在联邦学习任务中应用特定的模型架构。例如:

cfg.model.type = 'convnet2'

FederatedScope还允许用户通过注册的方式使用自定义模型。有关如何自定义模型架构的更多信息,请参阅自定义模型

第4步:开始运行联邦学习任务

请注意,FederatedScope同时支持单机模式和分布式模式,并且用户可以通过配置轻松切换。

单机模式

FederatedScope中的单机模式是指在一台设备上模拟多个参与者(服务器和客户端),参与者的数据彼此隔离,但他们的模型可以通过消息传递共享。

下面我们演示如何使用FederatedScope运行一个标准的联邦学习任务,设置cfg.data.type = 'FEMNIST'cfg.model.type = 'ConvNet2',以运行针对图像分类任务的Vanilla FedAvg算法。用户可以在配置文件(.yaml文件)中自定义训练参数,如cfg.federated.total_round_numcfg.dataloader.batch_sizecfg.train.optimizer.lr,然后按如下方式运行标准联邦学习任务:

# 使用默认配置运行
python federatedscope/main.py --cfg scripts/example_configs/femnist.yaml

# 或者使用自定义配置
python federatedscope/main.py --cfg scripts/example_configs/femnist.yaml federate.total_round_num 50 dataloader.batch_size 128

然后,您可以在训练过程中观察到一些监控指标,如下所示:

INFO: 服务器已启动 ...
INFO: 模型元信息:`<class 'federatedscope.cv.model.cnn.ConvNet2'>`。
... ...
INFO: 客户端已启动 ...
INFO: 模型元信息:`<class 'federatedscope.cv.model.cnn.ConvNet2'>`。
... ...
INFO: {'角色': '客户端 #5', '轮次': 0, '原始结果': {'train_loss': 207.6341676712036, 'train_acc': 0.02, 'train_total': 50, 'train_loss_regular': 0.0, 'train_avg_loss': 4.152683353424072}}
INFO: {'角色': '客户端 #1', '轮次': 0, '原始结果': {'train_loss': 209.0940284729004, 'train_acc': 0.02, 'train_total': 50, 'train_loss_regular': 0.0, 'train_avg_loss': 4.1818805694580075}}
INFO: {'角色': '客户端 #8', '轮次': 0, '原始结果': {'train_loss': 202.24929332733154, 'train_acc': 0.04, 'train_total': 50, 'train_loss_regular': 0.0, 'train_avg_loss': 4.0449858665466305}}
INFO: {'角色': '客户端 #6', '轮次': 0, '原始结果': {'train_loss': 209.43883895874023, 'train_acc': 0.06, 'train_total': 50, 'train_loss_regular': 0.0, 'train_avg_loss': 4.1887767791748045}}
INFO: {'角色': '客户端 #9', '轮次': 0, '原始结果': {'train_loss': 208.83140087127686, 'train_acc': 0.0, 'train_total': 50, 'train_loss_regular': 0.0, 'train_avg_loss': 4.1766280174255375}}
INFO: ----------- 开始新一轮训练(第1轮) -------------
... ...
INFO: 服务器:训练结束!开始评估。
INFO: 客户端 #1:(第20轮测试集评估)test_loss 为 163.029045
... ...
INFO: 服务器:最终评估结束!开始合并结果。
... ...

分布式模式

FederatedScope 中的分布式模式是指通过运行多个进程来构建一个联邦学习流程,其中每个进程充当参与者(服务器或客户端),实例化其模型并加载数据。参与者之间的通信已经由 FederatedScope 的通信模块提供。

要以分布式模式运行,您只需:

  • 为每个参与者准备独立的数据文件,并设置 cfg.data.file_path = PATH/TO/DATA
  • cfg.federate.model = 'distributed',并通过 cfg.distributed.role = 'server'/'client' 指定每个参与者的角色;
  • 通过 cfg.distribute.server_host/client_host = x.x.x.xcfg.distribute.server_port/client_port = xxxx 设置有效的地址。(请注意,对于服务器,您需要设置 server_hostserver_port 来监听消息;而对于客户端,除了需要设置用于监听的 client_hostclient_port 外,还需要设置用于加入联邦学习流程的 server_hostserver_port

我们准备了一个使用分布式模式运行的合成示例:

# 对于服务器
python federatedscope/main.py --cfg scripts/distributed_scripts/distributed_configs/distributed_server.yaml data.file_path 'PATH/TO/DATA' distribute.server_host x.x.x.x distribute.server_port xxxx

# 对于客户端
python federatedscope/main.py --cfg scripts/distributed_scripts/distributed_configs/distributed_client_1.yaml data.file_path 'PATH/TO/DATA' distribute.server_host x.x.x.x distribute.server_port xxxx distribute.client_host x.x.x.x distribute.client_port xxxx
python federatedscope/main.py --cfg scripts/distributed_scripts/distributed_configs/distributed_client_2.yaml data.file_path 'PATH/TO/DATA' distribute.server_host x.x.x.x distribute.server_port xxxx distribute.client_host x.x.x.x distribute.client_port xxxx
python federatedscope/main.py --cfg scripts/distributed_scripts/distributed_configs/distributed_client_3.yaml data.file_path 'PATH/TO/DATA' distribute.server_host x.x.x.x distribute.server_port xxxx distribute.client_host x.x.x.x distribute.client_port xxxx

使用生成的玩具数据的可执行示例可以这样运行(脚本可在 scripts/run_distributed_lr.sh 中找到):

# 生成玩具数据
python scripts/distributed_scripts/gen_data.py

# 首先启动等待客户端加入的服务器
python federatedscope/main.py --cfg scripts/distributed_scripts/distributed_configs/distributed_server.yaml data.file_path toy_data/server_data distribute.server_host 127.0.0.1 distribute.server_port 50051

# 启动客户端 #1(通过另一个进程)
python federatedscope/main.py --cfg scripts/distributed_scripts/distributed_configs/distributed_client_1.yaml data.file_path toy_data/client_1_data distribute.server_host 127.0.0.1 distribute.server_port 50051 distribute.client_host 127.0.0.1 distribute.client_port 50052
# 启动客户端 #2(通过另一个进程)
python federatedscope/main.py --cfg scripts/distributed_scripts/distributed_configs/distributed_client_2.yaml data.file_path toy_data/client_2_data distribute.server_host 127.0.0.1 distribute.server_port 50051 distribute.client_host 127.0.0.1 distribute.client_port 50053
# 启动客户端 #3(通过另一个进程)
python federatedscope/main.py --cfg scripts/distributed_scripts/distributed_configs/distributed_client_3.yaml data.file_path toy_data/client_3_data distribute.server_host 127.0.0.1 distribute.server_port 50051 distribute.client_host 127.0.0.1 distribute.client_port 50054

您可以观察到以下结果(IP 地址已用 'x.x.x.x' 匿名化):

INFO: 服务器:正在监听 x.x.x.x:xxxx...
INFO: 服务器已启动 ...
模型元信息:`<class 'federatedscope.core.lr.LogisticRegression'>`。
... ...
INFO: 客户端:正在监听 x.x.x.x:xxxx...
INFO: 客户端(地址 x.x.x.x:xxxx)已启动 ...
客户端(地址 x.x.x.x:xxxx)被分配为 #1。
INFO: 模型元信息:`<class 'federatedscope.core.lr.LogisticRegression'>`。
... ...
{'角色': '客户端 #2', '轮次': 0, '原始结果': {'train_avg_loss': 5.215108394622803, 'train_loss': 333.7669372558594, 'train_total': 64}}
{'角色': '客户端 #1', '轮次': 0, '原始结果': {'train_total': 64, 'train_loss': 290.9668884277344, 'train_avg_loss': 4.54635763168335}}
----------- 开始新一轮训练(第1轮) -------------
... ...
INFO: 服务器:训练结束!开始评估。
INFO: 客户端 #1:(第20轮测试集评估)test_loss 为 30.387419
... ...
INFO: 服务器:最终评估结束!开始合并结果。
... ...

高级功能

作为一款全面的联邦学习平台,FederatedScope 提供了支持各类联邦学习应用及前沿研究需求的基础实现,在易用性和灵活性扩展方面均表现出色,具体包括:

  • 个性化联邦学习:通过为不同客户端定制模型架构和训练配置,有效应对由数据分布不独立同分布(non-IID)及系统资源异构性带来的挑战。
  • 联邦超参数优化:在联邦学习场景下进行超参数优化(HPO)时,由于需要跨参与方进行多轮通信,每次尝试的成本极高。值得注意的是,联邦学习环境下的超参数优化具有独特性,亟需推广低精度 HPO 等技术。
  • 隐私攻击者:隐私攻击算法是验证联邦学习系统与算法隐私保护强度的重要工具,随着联邦学习的发展,其重要性日益凸显。
  • 图联邦学习:针对无处不在的图数据,图联邦学习旨在利用分散的子图数据联合学习全局模型,近年来受到广泛关注。
  • 推荐系统:随着全球范围内一系列法律法规的实施,隐私保护的重要性愈发受到重视,这促使推荐系统必须以隐私友好的方式从用户数据中学习。
  • 差分隐私:与需要大量计算资源的加密算法不同,差分隐私是一种经济高效且灵活的隐私保护技术,在数据库领域已取得显著成效,并在联邦学习中不断发展壮大。

更多支持即将推出!我们准备了一份教程,详细介绍如何使用 FederatedScope 开启您的联邦学习之旅!

相关主题资料正在持续更新,请参阅 FL-RecommendationFederated-HPOPersonalized FLFederated Graph LearningFL-NLPFL-AttackerFL-Incentive-MechanismFL-Fairness 等。

文档

FederatedScope 的类和方法均已完善文档化,用户可通过以下步骤生成 API 参考文档:

cd doc
pip install -r requirements.txt
make html

注意:

  • doc/requirements.txt 仅用于通过 Sphinx 生成 API 文档,该过程可由 GitHub Actions 中的 .github/workflows/sphinx.yml 自动触发。(标题中包含 DOC 时会触发构建。)
  • 文档也可通过 GitHub Actions 中的 Artifacts 下载。

我们已将 API 参考文档部署至我们的官网

此外,我们还提供了可执行脚本可定制配置的相关文档。

许可证

FederatedScope 采用 Apache License 2.0 许可协议发布。

出版物

如果您在研究或开发中使用了 FederatedScope,请引用以下论文:论文

@article{federatedscope,
  title = {FederatedScope: A Flexible Federated Learning Platform for Heterogeneity},
  author = {Xie, Yuexiang and Wang, Zhen and Gao, Dawei and Chen, Daoyuan and Yao, Liuyi and Kuang, Weirui and Li, Yaliang and Ding, Bolin and Zhou, Jingren},
  journal={Proceedings of the VLDB Endowment},
  volume={16},
  number={5},
  pages={1059--1072},
  year={2023}
}

更多出版物请访问FederatedScope 出版物页面

贡献

我们非常欢迎对 FederatedScope 的任何贡献!我们提供开发者版本的 FederatedScope,其中包含额外的 pre-commit 钩子,用于比官方版本更严格的提交检查:

# 安装开发者版本
pip install -e .[dev]
pre-commit install

# 或从官方版本切换到开发者版本
pip install pre-commit
pre-commit install
pre-commit run --all-files

更多详情请参阅FederatedScope 贡献指南

欢迎加入我们的Slack 社区,或钉钉群(请扫描下方二维码)进行讨论。

federatedscope-logo

版本历史

v0.3.02023/04/03
v0.2.02022/07/30
v0.1.02022/05/06

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|2周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

160.8k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

109.2k|★★☆☆☆|昨天
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|1周前
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|1周前
插件开发框架