backgroundremover

GitHub
7.8k 647 中等 1 次阅读 今天MIT开发框架Agent视频图像
AI 解读 由 AI 自动生成,仅供参考

backgroundremover 是一款免费开源的命令行工具,利用先进的人工智能技术,帮助用户轻松从图片或视频中移除背景。它有效解决了传统抠图流程繁琐、专业软件昂贵以及处理视频帧效率低下的痛点,让用户只需输入简单指令即可快速获得透明背景的素材。

这款工具特别适合开发者集成到自动化工作流中,也深受设计师、视频创作者及技术爱好者的欢迎。对于熟悉终端操作的普通用户,它同样提供了高效便捷的本地处理方案,无需依赖云端服务即可保护数据隐私。

其核心技术亮点在于内置了高精度的 U2Net 模型,能够智能识别主体并保留复杂边缘细节。更值得一提的是,backgroundremover 不仅支持静态图片,还具备强大的视频处理能力,能自动利用 GPU 加速,将处理速度提升 5 到 10 倍。此外,项目提供了完善的 Docker 支持,极大简化了环境配置过程,确保在不同系统上都能稳定运行,是实现高质量批量抠图的理想选择。

使用场景

某电商运营团队需要为数百款新品快速制作去背商品图与动态展示视频,以适配多平台营销素材。

没有 backgroundremover 时

  • 设计师必须逐张在 Photoshop 中手动抠图,处理几百张高清图需耗费数天时间,人力成本极高。
  • 面对产品演示视频,传统工具难以逐帧精准分离前景与背景,往往只能放弃视频素材或花费巨资外包。
  • 缺乏统一的命令行自动化流程,无法将去背任务集成到现有的批量处理脚本中,工作流断裂且低效。
  • 商业 API 服务按次收费,处理海量图片与视频时费用高昂,且存在数据上传隐私泄露的风险。

使用 backgroundremover 后

  • 通过简单的命令行指令即可批量处理所有图片,利用 GPU 加速将原本几天的工作量缩短至几十分钟。
  • 直接支持视频文件输入,AI 自动逐帧识别并移除背景,轻松生成高质量的商品动态展示素材。
  • 提供标准的 CLI 接口与 Docker 支持,可无缝嵌入自动化运维脚本,实现从上传到输出的全流程无人值守。
  • 作为免费开源工具,本地部署运行彻底消除了按量计费成本,同时确保原始素材数据完全保留在本地服务器。

backgroundremover 将繁琐的视觉素材预处理转化为高效的自动化流程,让中小团队也能以零成本拥有电影级的去背生产能力。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU
  • 非必需(支持 CPU 模式)
  • 若使用 GPU 加速,需 NVIDIA 显卡并安装匹配的 CUDA 版本(文档示例提及 CUDA 11.8 和 12.1),显存不足时可通过参数减少批次大小
内存

未说明(视频处理多进程模式建议增加共享内存,Docker 环境下推荐 --shm-size=2g)

依赖
notes1. 必须同时安装 Python 及其对应的 dev 开发包(如 python3.10 配 python3.10-dev)。2. 首次运行会自动下载 u2net 系列模型文件。3. 视频处理依赖 ffmpeg 4.4+ 版本。4. Docker 运行视频任务时需设置共享内存大小(--shm-size=2g)以避免多进程错误。5. 透明视频输出默认为 ProRes 4444 编码,部分播放器(如 VLC)可能无法正确显示透明度。
python3.6+
torch
torchvision
ffmpeg>=4.4
python-dev (对应 Python 版本的开发包)
pillow-heif (可选,用于 HEIC/HEIF 格式)
backgroundremover hero image

快速开始

背景移除工具

背景移除工具 背景移除视频
BackgroundRemover 是一款基于 AI 的命令行工具,可用于从 图片视频 中移除背景。该工具由 nadermx 开发,旨在为 https://BackgroundRemoverAI.com 提供支持。如果您想知道为何开发此工具,请阅读这篇 简短博客文章

需求

  • python >= 3.6

  • python3.6-dev # 或您使用的任何 Python 版本

  • 稳定版的 torch 和 torchvision (https://pytorch.org)

  • ffmpeg 4.4+

  • 需要说明的是,您必须同时安装 Python 和您所安装的 Python 开发版本。例如:python3.10-dev 与 python3.10,或 python3.8-dev 与 python3.8。

如何安装 torch 和 ffmpeg

访问 https://pytorch.org,向下滚动至 INSTALL PYTORCH 部分,并按照说明操作。

仅使用 CPU(默认):

pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cpu

支持 GPU(CUDA):

# 对于 CUDA 11.8
pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu118

# 对于 CUDA 12.1
pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu121

请访问 https://pytorch.org/get-started/locally/ 查找适合您 CUDA 版本的正确命令。

安装 ffmpeg 和 python-dev:

sudo apt install ffmpeg python3.6-dev

安装

要安装 backgroundremover,请从 pypi 安装:

pip install --upgrade pip
pip install backgroundremover

请注意,首次运行程序时,它会检查您是否已安装 u2net 模型;如果未安装,它将从该仓库中下载这些模型。

此外,您也可以不通过 pip 安装而直接运行该工具:只需克隆 git 仓库到本地,启动虚拟环境,安装依赖项并运行:

python -m backgroundremover.cmd.cli -i "video.mp4" -mk -o "output.mov"

对于 Windows 系统:

python.exe -m backgroundremover.cmd.cli -i "video.mp4" -mk -o "output.mov"

使用 Docker 安装

git clone https://github.com/nadermx/backgroundremover.git
cd backgroundremover
docker build -t bgremover .
# 基本用法(每次运行都会下载模型)
alias backgroundremover='docker run -it --rm -v "$(pwd):/tmp" bgremover:latest'

# 推荐:在多次运行之间保留模型,以避免重复下载
mkdir -p ~/.u2net
alias backgroundremover='docker run -it --rm -v "$(pwd):/tmp" -v "$HOME/.u2net:/root/.u2net" bgremover:latest'

# 处理视频时:增加共享内存以避免多进程错误
alias backgroundremover='docker run -it --rm --shm-size=2g -v "$(pwd):/tmp" -v "$HOME/.u2net:/root/.u2net" bgremover:latest'

Docker 视频处理注意事项: 视频处理使用多进程,需要足够的共享内存。如果您遇到类似 OSError: [Errno 95] Operation not supported 的错误,请在运行容器时使用 --shm-size=2g(或更高)选项,或使用 --ipc=host

GPU 加速

BackgroundRemover 会自动检测并使用您的 GPU(如果可用),从而显著提升速度(通常比 CPU 快 5–10 倍)。

验证 GPU 是否正在使用:

python3 -c "import torch; print('GPU 可用:', torch.cuda.is_available()); print('GPU 名称:', torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'N/A')"

GPU 问题排查:

  1. 未检测到 GPU:请确保您已安装兼容 CUDA 的 PyTorch 版本(参见上述安装说明)。
  2. 显存不足错误:使用 -gb 1 标志降低 GPU 批量大小。
  3. CPU 性能缓慢:安装兼容 CUDA 的 PyTorch 以实现 GPU 加速。
  4. CUDA 版本不匹配:请确保您的 PyTorch CUDA 版本与系统中的 CUDA 安装版本一致。

如果 GPU 不可用或出现错误,该工具将自动回退到 CPU。

命令行使用

图片

移除本地文件图片的背景:

backgroundremover -i "/path/to/image.jpeg" -o "output.png"

支持的图片格式:.jpg, .jpeg, .png, .heic, .heif(HEIC/HEIF 支持需要 pillow-heif)。

处理文件夹中的所有图片

现在您可以使用 --input-folder (-if) 选项,一次性移除文件夹中所有支持的图片或视频文件的背景。您还可以选择性地使用 --output-folder (-of) 设置输出文件夹。如果未提供 --output-folder,输出文件将保存在输入文件夹中,并在文件名前加上 output_ 前缀。

示例:图片文件夹

backgroundremover -if "/path/to/image-folder" -of "/path/to/output-folder"

这将处理文件夹中的所有 .jpg, .jpeg, .png, .heic.heif 图片,并将结果保存到输出文件夹中。

图片背景移除的高级用法

Alpha 蒙版以获得更好的边缘质量:

默认情况下,backgroundremover 会生成柔和自然的边缘。但在某些情况下(如卡通、图形或具有清晰边缘的对象),您可能希望获得更锐利的边缘或更好的边缘细化效果。

# 启用 alpha 蒙版以获得更精细的边缘
backgroundremover -i "/path/to/image.jpeg" -a -o "output.png"

# 调整侵蚀大小以获得更锐利或更柔和的边缘(默认值:10)
# 较小的值(1–5)= 更锐利、更硬朗的边缘(适用于卡通/图形)
# 较大的值(15–25)= 更柔和、更自然的边缘(适用于人像)
backgroundremover -i "/path/to/image.jpeg" -a -ae 5 -o "output.png"

Alpha 蒙版参数:

  • -a - 启用 alpha 蒙版
  • -af - 前景阈值(默认值:240)
  • -ab - 背景阈值(默认值:10)
  • -ae - 侵蚀大小(1–25,默认值:10)——控制边缘的锐度
  • -az - 基础尺寸(默认值:1000)——影响处理分辨率

针对不同主题更改模型:

# 用于人类/人物——对人类主题最准确
backgroundremover -i "/path/to/image.jpeg" -m "u2net_human_seg" -o "output.png"

# 用于一般物体——通用且表现良好的模型(默认)
backgroundremover -i "/path/to/image.jpeg" -m "u2net" -o "output.png"

# 更快的处理速度——准确性较低但速度更快
backgroundremover -i "/path/to/image.jpeg" -m "u2netp" -o "output.png"

仅输出掩码(二值掩码/遮罩)

backgroundremover -i "/path/to/image.jpeg" -om -o "mask.png"

将背景替换为自定义颜色

# 替换为红色背景
backgroundremover -i "/path/to/image.jpeg" -bc "255,0,0" -o "output.png"

# 替换为绿色背景
backgroundremover -i "/path/to/image.jpeg" -bc "0,255,0" -o "output.png"

# 替换为蓝色背景
backgroundremover -i "/path/to/image.jpeg" -bc "0,0,255" -o "output.png"

用自定义图片替换背景

# 用另一张图片替换背景
backgroundremover -i "/path/to/image.jpeg" -bi "/path/to/background.jpg" -o "output.png"

与管道结合使用(stdin/stdout)

您可以在 Unix 管道中使用 backgroundremover,通过从 stdin 读取并写入 stdout:

# 从 stdin 读取,写入 stdout
cat input.jpg | backgroundremover > output.png

# 在管道中与其他工具结合使用
curl https://example.com/image.jpg | backgroundremover | convert - -resize 50% smaller.png

# 等效的显式语法
backgroundremover -i - -o - < input.jpg > output.png

注意:管道模式假定输入为图像(而非视频)。

作为 HTTP API 服务器运行

您可以将 backgroundremover 作为 HTTP API 服务器运行:

# 在默认端口 5000 上启动服务器
backgroundremover-server

# 指定自定义主机和端口
backgroundremover-server --addr 0.0.0.0 --port 8080

API 使用方法:

# 通过 POST 上传图片
curl -X POST -F "file=@image.jpg" http://localhost:5000/ -o output.png

# 通过 GET 从 URL 处理
curl "http://localhost:5000/?url=https://example.com/image.jpg" -o output.png

# 带有 Alpha 蒙版处理
curl "http://localhost:5000/?url=https://example.com/image.jpg&a=true&af=240" -o output.png

# 选择模型
curl "http://localhost:5000/?url=https://example.com/image.jpg&model=u2net_human_seg" -o output.png

参数说明:

  • a - 启用 Alpha 蒙版处理
  • af - Alpha 蒙版前景阈值(默认:240)
  • ab - Alpha 蒙版背景阈值(默认:10)
  • ae - Alpha 蒙版侵蚀大小(默认:10)
  • az - Alpha 蒙版基础尺寸(默认:1000)
  • model - 模型选择:u2netu2netpu2net_human_seg

视频

从视频中移除背景并制作透明 MOV 文件

backgroundremover -i "/path/to/video.mp4" -tv -o "output.mov"

处理文件夹中的所有视频

现在您可以使用 --input-folder-if)选项,从文件夹中的所有支持的图像或视频文件中移除背景。您还可以选择性地使用 --output-folder-of)指定输出文件夹。如果未提供 --output-folder,输出文件将保存在输入文件夹中,并以 output_ 为前缀。

示例:将视频文件夹中的视频转换为透明 .mov 文件

backgroundremover -if "/path/to/video-folder" -of "/path/to/output-folder" -tv

您也可以结合其他选项:

backgroundremover -if "videos" -of "processed" -m "u2net_human_seg" -fr 30 -tv
  • 使用 u2net_human_seg 模型
  • 将视频帧率覆盖为 30 fps
  • 输出透明 .mov 文件到 processed/ 文件夹
  • 支持的视频格式:.mp4.mov.webm.ogg.gif
  • 输出文件将在输出文件夹中命名为 output_filename.ext

从本地视频中移除背景并叠加到其他视频上

backgroundremover -i "/path/to/video.mp4" -tov -bv "/path/to/background_video.mp4" -o "output.mov"

从本地视频中移除背景并叠加到图片上

backgroundremover -i "/path/to/video.mp4" -toi -bi "/path/to/background_image.png" -o "output.mov"

从视频中移除背景并制作透明 GIF

backgroundremover -i "/path/to/video.mp4" -tg -o "output.gif"

制作遮罩文件(绿幕叠加)

为 Premiere 制作遮罩文件

backgroundremover -i "/path/to/video.mp4" -mk -o "output.matte.mp4"

视频播放与兼容性

重要提示: 透明 .mov 输出默认采用 ProRes 4444 编码(prores_ks,使用 yuva444p10le),该编码提供 10 位色彩和 Alpha 通道,并与专业视频编辑软件(DaVinci Resolve、Premiere、Final Cut Pro)具有极佳的兼容性。如有需要,您可以通过 --alpha-codec 更改编解码器。

示例:

# 较小的带 Alpha 通道 WebM 文件(如果您的工具支持)
backgroundremover -i "video.mp4" -tv --alpha-codec libvpx-vp9 -o "output.webm"

# 旧版 qtrle 编码(无损但文件非常大)
backgroundremover -i "video.mp4" -tv --alpha-codec qtrle -o "output.mov"

推荐的视频播放器:

  • mpvhttps://mpv.io)- 对透明视频的支持最佳(Linux、Mac、Windows)
  • QuickTime Player(Mac)- macOS 原生支持
  • DaVinci Resolve / Adobe Premiere - 视频编辑软件中完全支持(可能需要在属性中启用 Alpha 通道)

常见问题:

  • VLC:可能无法正确显示透明效果,会出现颜色失真或绿色/紫色色调。
  • Windows Media Player:对透明度的支持有限。
  • 网页浏览器:对 ProRes 编码的支持有限。

如果您的播放器不支持透明度的解决方法:

  1. 转换为 VP9 编码的 WebM 格式(兼容性更好):

    ffmpeg -i output.mov -c:v libvpx-vp9 -pix_fmt yuva420p output.webm
    
  2. 添加彩色背景(用于测试):

    ffmpeg -f lavfi -i color=white:s=1920x1080 -i output.mov -filter_complex 'overlay=0:0' -c:v libx264 output_with_bg.mp4
    
  3. 直接使用透明 GIF 输出代替(更简单但画质较低):

    backgroundremover -i "video.mp4" -tg -o "output.gif"
    

视频高级用法

更改视频帧率(默认设置为 30)

backgroundremover -i "/path/to/video.mp4" -fr 30 -tv -o "output.mov"

设置视频总帧数(默认设置为 -1,即移除整个视频的背景)

backgroundremover -i "/path/to/video.mp4" -fl 150 -tv -o "output.mov"

更改视频的 GPU 批量大小(默认设置为 1)

backgroundremover -i "/path/to/video.mp4" -gb 4 -tv -o "output.mov"

更改处理视频的工作线程数量(默认设置为 1)

backgroundremover -i "/path/to/video.mp4" -wn 4 -tv -o "output.mov"

注意: 在某些系统上,使用较高的工作线程数(>4)可能会导致 ConnectionResetError 或崩溃,这是由于多进程限制所致。如果遇到错误,请减少工作线程数或使用 -wn 1。最佳线程数取决于您的 CPU 核心数和可用内存。 更改模型以使用不同的背景移除方法,可在 u2netpu2netu2net_human_seg 之间切换,并将帧数限制为 150

backgroundremover -i "/path/to/video.mp4" -m "u2net_human_seg" -fl 150 -tv -o "output.mov"

作为库使用

移除背景图像

from backgroundremover.bg import remove

def remove_bg(src_img_path, out_img_path):
    model_choices = ["u2net", "u2net_human_seg", "u2netp"]
    f = open(src_img_path, "rb")
    data = f.read()
    img = remove(data, model_name=model_choices[0],
                 alpha_matting=True,
                 alpha_matting_foreground_threshold=240,
                 alpha_matting_background_threshold=10,
                 alpha_matting_erode_structure_size=10,
                 alpha_matting_base_size=1000)
    f.close()
    f = open(out_img_path, "wb")
    f.write(img)
    f.close()

仅生成二值掩码

from backgroundremover.bg import remove

f = open("input.jpg", "rb")
data = f.read()
mask = remove(data, model_name="u2net", only_mask=True)
f.close()

f = open("mask.png", "wb")
f.write(mask)
f.close()

将背景替换为自定义颜色

from backgroundremover.bg import remove

f = open("input.jpg", "rb")
data = f.read()
# 使用 RGB 元组指定背景颜色 (255, 0, 0) = 红色
img = remove(data, model_name="u2net", background_color=(255, 0, 0))
f.close()

f = open("output.png", "wb")
f.write(img)
f.close()

将背景替换为自定义图片

from backgroundremover.bg import remove

# 读取输入图像
with open("input.jpg", "rb") as f:
    input_data = f.read()

# 读取背景图像
with open("background.jpg", "rb") as f:
    bg_data = f.read()

# 移除背景并合成到背景图像上
result = remove(input_data, model_name="u2net", background_image=bg_data)

# 保存结果
with open("output.png", "wb") as f:
    f.write(result)

故障排除

“EOFError: 输入已用尽”或模型加载错误

如果出现类似 EOFError: 输入已用尽 或模型加载失败的错误:

原因: 模型文件下载过程中发生损坏或中断。

解决方案:

# 删除损坏的模型文件
rm ~/.u2net/u2net.pth
# 或对于其他模型:
rm ~/.u2net/u2netp.pth
rm ~/.u2net/u2net_human_seg.pth

# 再次运行 backgroundremover,它会重新下载模型
backgroundremover -i "your-image.jpg" -o "output.png"

预防措施: 该工具现在会自动验证并重试失败的下载,但如果您使用的是旧版本中损坏的模型,则需要手动删除。

背景未移除或部分缺失

如果背景未能正确移除,或者主体的部分区域消失:

  1. 尝试使用不同的模型:

    • 对于人物/肖像,使用 u2net_human_seg
    • 对于一般物体,使用默认的 u2net
    • 模型的选择会显著影响结果。
  2. 调整 alpha matting 参数:

    • 使用 -a 标志启用以获得更好的边缘检测效果。
    • 如果某些部分被错误分类,请调整阈值参数 -af-ab
  3. 检查输入图像:

    • 确保主体与背景之间有良好的光照和对比度。
    • 避免背景颜色与主体颜色相近的情况。
    • 可考虑手动裁剪,以包含更明显的背景信息。

透明度问题或颜色异常

如果输出视频显示颜色失真、绿色/紫色色调,或透明度无法正常工作:

  1. 检查您的视频播放器 - 请参阅上述“视频播放与兼容性”部分。
  2. 使用推荐的播放器,如 mpv 或 QuickTime Player。
  3. 必要时转换为其他格式(参见 WebM 转换示例)。

输出文件过大

透明 .mov 文件采用 ProRes 4444 编码,文件大小会大于输入文件。ProRes 4444 在保持 10 位色彩和透明通道的同时,比之前的 qtrle 编码提供了更好的压缩效果:

  • 文件大小明显小于 qtrle,但仍比普通视频大。
  • 这是高质量透明度保留的预期结果。
  • 如果您的工具支持,可以使用 --alpha-codec libvpx-vp9 生成较小的 .webm 文件。

质量较差或结果不准确

背景移除的质量取决于以下因素:

  1. 输入质量 - 更高的分辨率和更好的光照条件有助于提高效果。
  2. 主体复杂度 - 简单且轮廓清晰的主体效果最佳。
  3. 模型局限性 - AI 模型可能难以处理以下情况:
    • 主体与背景颜色非常接近。
    • 复杂的头发或毛发细节。
    • 透明或反光物体。
    • 模型未训练过的特殊主体。

提升效果的建议:

  • 对于人像主体,专门使用 u2net_human_seg
  • 对于复杂边缘,启用 alpha matting 参数 -a
  • 拍摄时确保主体与背景之间有足够的对比度。
  • 尝试不同的 alpha matting 参数(-ae-af-ab)。

测试

目前该项目尚未实现自动化测试用例。测试均通过手动方式,使用示例图像和视频进行。

手动测试

测试 backgroundremover 功能的方法如下:

测试图像背景移除:

# 基本测试
backgroundremover -i "test_image.jpg" -o "output.png"

# 启用 alpha matting 的测试
backgroundremover -i "test_image.jpg" -a -ae 15 -o "output.png"

# 测试掩码生成
backgroundremover -i "test_image.jpg" -om -o "mask.png"

# 测试自定义背景颜色
backgroundremover -i "test_image.jpg" -bc "0,255,0" -o "output.png"

测试视频处理:

# 测试透明视频
backgroundremover -i "test_video.mp4" -tv -o "output.mov"

# 测试抠像
backgroundremover -i "test_video.mp4" -mk -o "matte.mov"

# 测试透明 GIF
backgroundremover -i "test_video.mp4" -tg -o "output.gif"

测试 HTTP 服务器:

# 启动服务器
backgroundremover-server --port 5000

# 使用 curl 测试(在另一个终端)
curl -X POST -F "file=@test_image.jpg" http://localhost:5000/ -o output.png

贡献测试

使用 pytest 或 unittest 实现自动化测试将是对该项目的重要贡献。测试用例应涵盖:

  • 不同格式图像的处理(JPG、PNG、HEIC)
  • 不同编解码器的视频处理
  • CLI 参数验证
  • HTTP API 端点
  • 模型加载与推理
  • 错误处理

待办事项

已完成

  • ✅ HTTP API 服务器(使用 backgroundremover-server
  • ✅ 全面的文档和故障排除指南
  • ✅ Docker 支持及模型持久化
  • ✅ HEIC/HEIF 图像格式支持
  • ✅ 管道支持(stdin/stdout)
  • ✅ 自定义背景颜色和图片
  • ✅ 二值掩码输出
  • ✅ 文件夹批量处理

进行中 / 未来功能

  • 支持更多模型(ISNet、BiRefNet、U2Net 衣物分割)
  • CoreML 支持,用于 Apple Silicon 加速
  • 独立可执行文件(无需安装 Python)
  • 自动化测试套件
  • 视频流实时背景移除
  • 将视频处理逻辑迁移到图像处理,以更好地利用 GPU
  • 提供结果反馈以改进训练数据集
  • 支持自定义/用户提供的模型
  • Google Colab 笔记本

欢迎贡献!详情请查看公开议题。

拉取请求

已接受

如果你喜欢这个库

请分享我们的项目链接 BackgroundRemoverAI.com 或本仓库,并告诉大家你很喜欢它或正在使用它。

项目背景

我们在整合了其他项目的部分代码后,通过在 Superuser 等平台上发布悬赏问题来添加了一些自定义功能。此外,我们还曾在 HackerNews 上呼吁将图像处理部分开源,因此决定进一步扩展到视频处理,并增加了一些额外的功能。

参考资料

许可证

代码采用 MIT 许可证 授权
模型采用 Apache 2.0 许可证 授权

版本历史

v0.4.12026/02/17
v0.3.82025/12/21
v0.3.72025/12/10
0.3.62025/12/10
v0.3.52025/10/28
v0.3.42025/04/08
v0.3.22025/04/08
v0.3.12025/04/08
v0.3.02025/04/04
v0.2.92024/12/26
v0.2.82024/05/01
v0.2.72024/04/12
v0.2.62023/12/06
v0.2.52023/08/15
v0.2.42023/07/18
v0.2.32023/05/29
v0.2.22023/05/16
v0.2.12023/05/05
v0.1.92021/08/13
v0.1.82021/08/13

常见问题

相似工具推荐

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|★★★☆☆|1周前
开发框架图像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 真正成长为懂上

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

opencode

OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信

144.3k|★☆☆☆☆|今天
Agent插件

ComfyUI

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

108.3k|★★☆☆☆|6天前
开发框架图像Agent

gemini-cli

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

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