discoart
DiscoArt 是一个专为生成艺术爱好者和开发者打造的开源工具,旨在通过一行代码轻松创建高质量的 Disco Diffusion 艺术作品。它基于 CLIP 引导的扩散模型,将原本复杂的图像生成流程简化为直观的 Python 接口,让用户能专注于创意表达而非繁琐的代码调试。
针对原始 Disco Diffusion 项目中存在的依赖冲突、环境配置困难以及 Google Colab 会话易中断等痛点,DiscoArt 提供了工业级的工程优化。它不仅具备更小的内存占用和更快的运行速度,还支持结果自动保存与恢复,有效避免了因网络波动或会话超时导致的工作丢失。此外,其内置的 gRPC/HTTP 服务化能力,使得模型部署和横向扩展变得异常简单。
DiscoArt 非常适合希望快速验证创意的 AI 艺术家、需要稳定集成多模态能力的开发人员,以及想要在本机或云端自由探索参数的研究者。无论是通过命令行、Python 脚本还是 Docker 容器,用户都能获得流畅的使用体验。凭借对 DocArray 数据结构的原生支持,它还能无缝对接 Jina 等生态工具,为构建更大规模的跨模态应用奠定坚实基础。
使用场景
一位生成式艺术家需要在本地 GPU 服务器上批量创作一系列高分辨率的 Disco Diffusion 艺术作品,并计划将这些图像集成到现有的多模态检索系统中。
没有 discoart 时
- 环境配置痛苦:手动部署原版 Disco Diffusion 常陷入依赖冲突和 CUDA 版本不匹配的“地狱”,耗费数小时仍无法运行。
- 创作中断风险:在 Google Colab 免费层运行时,一旦会话超时或网络波动,未保存的中间结果和复杂参数设置即刻丢失。
- 工程集成困难:生成的图片仅是静态文件,缺乏结构化元数据,难以直接对接 Jina 或 CLIP-as-service 进行后续的多模态分析。
- 调参效率低下:每次调整提示词或初始化状态都需要修改冗长的笔记本代码,无法通过简洁的 API 快速验证创意。
使用 discoart 后
- 一键极速启动:通过
pip install discoart即可在自托管环境或 Colab 中平滑安装,彻底消除依赖报错,开箱即用。 - 状态持久化保障:利用内置的结果恢复与持久化功能,即使会话意外中断,也能随时 fetch 实时结果,确保创作进度零丢失。
- 原生生态集成:基于 DocArray 数据结构构建,生成的作品自带丰富元数据,可无缝流入 Jina 生态系统进行跨模态检索与服务化部署。
- 专注创意本身:仅需一行 Pythonic 代码
create()即可完成创作,支持 IDE 自动补全,让艺术家将精力完全集中在提示词打磨而非调试代码上。
discoart 将繁琐的底层工程复杂度封装为优雅的单行调用,让 AI 艺术创作从“配置环境”真正回归到“创造美”本身。
运行环境要求
- Linux
- macOS
- Windows
- 必需
- 需要支持 CUDA 的 NVIDIA GPU(具体型号和显存大小未明确说明,但提到具有较小的 VRAM 占用)
未说明(仅提及具有较小的 RAM 占用)

快速开始

用一行代码创作引人入胜的 Disco Diffusion 艺术作品
DiscoArt 是一种优雅的方式,专为生成艺术创作者、AI 爱好者以及资深开发者打造,能够轻松创作出令人惊艳的 Disco Diffusion[*] 作品。DiscoArt 拥有现代化且专业的 API 和优美的代码库,确保了极高的易用性和可维护性。它还提供了结果恢复与持久化、无需 TLS 的 gRPC/HTTP 服务、后分析等便捷功能,从而简化了与大型跨模态或多模态应用的集成。
[*] Disco Diffusion 是一个基于 Google Colab 的 Notebook,利用 CLIP 引导的扩散模型,让用户仅通过文本提示就能生成引人入胜的精美图像。
💯 行业领先:达到工业级工程标准,代码质量一流,依赖项精简,占用内存和显存极少;相比原版 DD5.6,进行了重要的 bug 修复和功能改进 [参见 FEATURES.md]。
👼 人人可用:支持 自托管、Google Colab 免费层级、无 GUI(IPython)环境以及 CLI,安装过程流畅!没有复杂的配置,没有依赖地狱,也不需要求助 Stack Overflow。
🎨 专注创作而非编码:提供 Python 风格的一行式 create() 接口,IDE 支持自动补全,并配备强大功能。随时随地获取实时结果,再也不必担心 Google Colab 会话超时。轻松设置初始状态,以便更高效地探索参数。
🏭 适合集成与生产:基于 DocArray 数据结构构建,可与 Jina、CLIP-as-service 等跨模态或多模态应用无缝集成。
☁️ 作为服务使用:只需运行 python -m discoart serve,DiscoArt 即可成为高性能、低延迟的服务,支持 gRPC/HTTP/WebSocket 以及 TLS。扩缩容只需一行命令;云原生特性如 Kubernetes、Prometheus 和 Grafana 也只需一行配置。这一切都得益于 Jina 的强大支持,简单得令人难以置信 [参见 jina-ai/jina]。
【附带提示的图库】(https://twitter.com/hxiao/status/1542967938369687552?s=20&t=DO27EKNMADzv4WjHLQiPFA)
你是否注意到每条推文中的 discoart-id?要获取配置和提示,只需执行:
from discoart import show_config
show_config('discoart-id')
安装
需要 Python 3.7+ 和支持 CUDA 的 PyTorch。
pip install discoart
此方法适用于 自托管、Google Colab、系统集成以及无 GUI 环境。
- 自托管 Jupyter:若要在自己的 GPU 设备上运行 Jupyter Notebook,最简单的方法是使用我们预构建的 Docker 镜像 [参见 #run-in-docker]。
- 通过 CLI 使用:
python -m discoart create和python -m discoart config是 CLI 命令。 - 作为服务运行:
python -m discoart serve可以将 DiscoArt 部署为 gRPC/HTTP/WebSocket 服务。
GUI
DiscoArt 是用于创作 Disco Diffusion 艺术作品的 基础设施。内置的 Jupyter Notebook 支持提供了基础但有限的用户体验,例如不提供直观的 GUI 来进行 提示调度。需要注意的是,DiscoArt 以开发者为中心,优先考虑 API 设计,因此提升面向消费者的体验并不在其规划范围内。目前已有部分服务、平台和产品(与 Jina AI 无关)将 DiscoArt 作为服务集成,并在其之上提供了优秀的 GUI,例如 Fever Dreams、Replicate、RunPod 和 Renderflux。
点击查看第三方 GUI
- Fever Dreams:一款免费的社区驱动服务,拥有友好的 GUI 和作品展示区,用户可以在这里生成并分享他们的 DiscoArt 作品、提示和配置。
- Replicate:一个基于表单的免费 DiscoArt GUI,提供沙盒式的用户体验和可视化界面。
- RunPod:一家付费的 GPU 云服务提供商,运行 DiscoArt 容器,并配备简洁明了的 GUI,用于可视化配置和创作成果。
- Renderflux:一个付费的创意艺术平台,封装了 DiscoArt 并提供了端到端的 GUI 用于创作管理。
请注意,这些平台、产品或公司均与 Jina AI 无关联。 他们各自定义了服务条款、付费墙以及数据和隐私政策,这些内容不在 DiscoArt 的 MIT 许可证覆盖范围内。
开始使用
创作艺术作品
from discoart import create
da = create()
就这么简单!它将使用 默认的文本提示和参数 进行创作。

设置提示和参数
支持的参数已在 此处列出。你可以在 create() 中指定它们:
from discoart import create
da = create(
text_prompts='一幅狂风暴雨中海崖的画作,在 ArtStation 上热门。',
init_image='https://d2vyhzeko0lke5.cloudfront.net/2f4f6dfa5a05e078469ebe57e77b72f0.png',
skip_steps=100,
)

如果你忘记了某个参数,随时可以查看速查表:
from discoart import cheatsheet
cheatsheet()
DiscoArt 与 DD5.6 在参数上的差异 在此处说明。
可视化结果
最终结果和中间结果会创建在当前工作目录下,例如:
./{name-docarray}/{i}-done.png
./{name-docarray}/{i}-step-{j}.png
./{name-docarray}/{i}-progress.png
./{name-docarray}/{i}-progress.gif
./{name-docarray}/da.protobuf.lz4

其中:
name-docarray是运行的名称,您可以指定它,否则将使用随机名称。i-*的值取决于n_batches。*-done-*是完成后的最终图像。*-step-*是某个步骤的中间图像,实时更新。*-progress.png是迄今为止所有中间结果的拼图图像,实时更新。*-progress.gif是迄今为止所有中间结果的动画 GIF,实时更新。da.protobuf.lz4是迄今为止所有中间结果的压缩 protobuf 文件,实时更新。
保存频率由 save_rate 控制。
此外,create() 会返回一个 da 对象,它是 DocumentArray 类型的对象。它包含以下信息:
- 传递给
create()函数的所有参数,包括种子、文本提示和模型参数。 - 生成的 4 张图像及其中间步骤的图像,其中
4由n_batches决定,默认值为 4。
这使您能够使用功能强大的 DocArray API 对结果进行进一步的后处理、分析和导出。
图像以 Data URI 的形式存储在 .uri 中,要将第一张图像保存为本地文件:
da[0].save_uri_to_file('discoart-result.png')
要保存所有最终图像:
for idx, d in enumerate(da):
d.save_uri_to_file(f'discoart-result-{idx}.png')
您还可以将四张最终图像以网格形式显示:
da.plot_image_sprites(skip_empty=True, show_index=True, keep_aspect_ratio=True)

或者逐个显示它们:
for d in da:
d.display()
也可以单独查看某一次运行的结果:
da[0].display()

可视化中间步骤
您还可以放大某次运行(比如第一次运行)并查看中间步骤:
da[0].chunks.plot_image_sprites(
skip_empty=True, show_index=True, keep_aspect_ratio=True
)

您可以逐个 .display() 这些子文档,或通过 .save_uri_to_file() 保存其中一个,也可以将所有中间步骤保存为 GIF:
da[0].chunks.save_gif(
'lighthouse.gif', show_index=True, inline_display=True, size_ratio=0.5
)

请注意,从 >=0.7.14 版本开始,会生成一个包含所有中间步骤的 20 FPS GIF。
显示/保存/加载配置
要显示 Document 或 DocumentArray 的配置,
from discoart import show_config
show_config(da) # 显示第一次运行的配置
show_config(da[3]) # 显示第四次运行的配置
show_config(
'discoart-06030a0198843332edc554ffebfbf288'
) # 显示具有已知 DocArray ID 的运行的配置
要保存 Document 或 DocumentArray 的配置,
from discoart import save_config
save_config(da, 'my.yml') # 保存第一次运行的配置
save_config(da[3], 'my.yml') # 保存第四次运行的配置
要从 Document 或 DocumentArray 的 YAML 配置文件中运行 create,
from discoart import create, load_config
config = load_config('my.yml')
create(**config)
您还可以将配置导出为 SVG 图像:
from discoart.config import save_config_svg
save_config_svg(da)
您还可以直接从配置生成可运行的 Python 代码:
from discoart.config import export_python
export_python(da)
随时随地拉取结果
如果您是 Google Colab 免费版用户,最让人头疼的问题之一就是会话经常丢失。有时您可能因为第一张图像不够理想而提前停止运行,这时按下键盘中断键会导致 create() 无法返回任何结果。无论哪种情况,您都可以通过拉取上次会话的 ID 轻松恢复结果。
找到会话 ID。它显示在图像的顶部。

使用该 ID 在任何设备上随时拉取结果,不一定非得在 Google Colab 上:
from docarray import DocumentArray da = DocumentArray.pull('discoart-3205998582')
将 Document 用作初始状态
可以将 Document 视为一个自包含的数据对象,包含配置和图像,将其用作未来运行的初始状态。它的 .tags 将被用作初始参数;如果存在 .uri,则会被用作初始图像。
from discoart import create
from docarray import DocumentArray
da = DocumentArray.pull('discoart-3205998582')
create(
init_document=da[0],
cut_ic_pow=0.5,
tv_scale=600,
cut_overview='[12]*1000',
cut_innercut='[12]*1000',
use_secondary_model=False,
)
如果您只想从已知的 DocArray ID 初始化,只需:
from discoart import create
create(init_document='discoart-3205998582')
环境变量
您可以设置环境变量来控制 DiscoArt 的元行为。这些环境变量必须在导入 DiscoArt 之前设置,可以在 Bash 中设置,也可以通过 Python 中的 os.environ 设置。
DISCOART_LOG_LEVEL='DEBUG' # 更详细的日志
DISCOART_OPTOUT_CLOUD_BACKUP='1' # 关闭云备份
DISCOART_DISABLE_IPYTHON='1' # 禁用 ipython 依赖
DISCOART_DISABLE_RESULT_SUMMARY='1' # 禁用运行结束后的结果摘要
DISCOART_DEFAULT_PARAMETERS_YAML='path/to/your-default.yml' # 使用自定义默认参数文件
DISCOART_CUT_SCHEDULES_YAML='path/to/your-schedules.yml' # 使用自定义切割计划文件
DISCOART_MODELS_YAML='path/to/your-models.yml' # 使用自定义模型列表文件
DISCOART_OUTPUT_DIR='path/to/your-output-dir' # 使用自定义输出目录存放所有图像和结果
DISCOART_CACHE_DIR='path/to/your-cache-dir' # 使用自定义缓存目录存放模型和下载内容
DISCOART_DISABLE_REMOTE_MODELS='1' # 禁用 GitHub 上扩散模型的列表,远程扩散模型允许用户使用最新模型而无需更新代码库。
DISCOART_REMOTE_MODELS_URL='https://yourdomain/models.yml' # 使用自定义远程 URL 获取模型列表
DISCOART_DISABLE_CHECK_MODEL_SHA='1' # 禁用检查本地模型 SHA 是否与远程模型 SHA 匹配
DISCOART_DISABLE_TQDM='1' # 禁用扩散过程中的 tqdm 进度条
命令行界面
DiscoArt 提供了两个命令 create 和 config,允许您通过命令行运行 DiscoArt。
python -m discoart create my.yml
该命令会根据 YAML 配置文件 my.yml 生成艺术作品。您也可以这样做:
cat config.yml | python -m discoart create
那么如何创建自己的 my.yml 文件,它又是什么样子的呢?这就需要用到第二个命令:
python -m discoart config my.yml
该命令会复制 默认的 YAML 配置文件,并将其导出为 my.yml。现在您可以修改这个文件,并使用 python -m discoart create 命令来运行它。
如果未指定输出路径,python -m discoart config 将会把默认配置打印到标准输出。
要获取某个命令的帮助信息,可以在命令末尾添加 --help,例如:
python -m discoart create --help
用法: python -m discoart create [-h] [YAML_CONFIG_FILE]
位置参数:
YAML_CONFIG_FILE 要使用的 YAML 配置文件,默认为标准输入。
可选参数:
-h, --help 显示此帮助消息并退出
服务模式
运行 DiscoArt 服务非常简单。只需执行以下命令:
python -m discoart serve
您将看到:

现在可以通过 curl 或 JavaScript 向服务器发送请求,例如:
curl \
-X POST http://0.0.0.0:51001/post \
-H 'Content-Type: application/json' \
-d '{"execEndpoint":"/create", "parameters": {"text_prompts": ["A beautiful painting of a singular lighthouse", "yellow color scheme"]}}'
就是这样。当然,您也可以在 JSON 中传递 create() 函数接受的所有参数。
轮询中间结果
我们已经知道,即使在 GPU 上运行,create 函数仍然很慢,完成一幅作品可能需要 10 分钟。这意味着在发送上述请求后,客户端需要等待 10 分钟才能收到响应。由于所有操作都是同步进行的,这种行为并无不妥。然而,在实际应用中,客户端可能希望在过程中获得进度或中间结果,而不是一直等到最后。
为此设计了 /result 端点。一旦有中间结果可用,它就会立即返回。您只需要在请求参数中指定与 /create 端点相同的 name_docarray 即可。以下是一个示例:
让我们通过向 /create 端点发送以下请求来创建 mydisco-123:
curl \
-X POST http://0.0.0.0:51001/post \
-H 'Content-Type: application/json' \
-d '{"execEndpoint":"/create", "parameters": {"name_docarray": "mydisco-123", "text_prompts": ["A beautiful painting of a singular lighthouse", "yellow color scheme"]}}'
现在,当上述请求正在服务器上处理时,您可以定期通过向 /result 端点发送以下请求来检查 mydisco-123 的进度:
curl \
-X POST http://0.0.0.0:51001/post \
-H 'Content-Type: application/json' \
-d '{"execEndpoint":"/result", "parameters": {"name_docarray": "mydisco-123"}}'
服务器将返回包含最新进度的 JSON 数据,其中包括图像(以 DataURI 格式)、损失值、步骤数等。文档/DocumentArray 的 JSON Schema 在这里描述。
请注意,由于 Jina Gateway 的智能路由功能,/result 不会被 /create 阻塞。要了解更多关于这些端点的信息,您可以查看 ReDoc 或服务器内置的 Swagger UI。
跳过与取消
向 /skip 发送请求,可以跳过当前运行并进入下一个运行,具体取决于 n_batches 的设置:
curl \
-X POST http://0.0.0.0:51001/post \
-H 'Content-Type: application/json' \
-d '{"execEndpoint":"/skip"}'
向 /stop 发送请求,则会停止当前运行并取消所有 n_batches 次运行:
curl \
-X POST http://0.0.0.0:51001/post \
-H 'Content-Type: application/json' \
-d '{"execEndpoint":"/stop"}'
解除 /create 请求的阻塞
您可以启用非阻塞的 /create 端点:客户端发送的 /create 请求将被立即返回,而无需等待结果完成。此时,您需要完全依赖 /result 来轮询结果。
要启用此功能:
- 将 默认的
flow.yml文件 复制到myflow.yml; - 在
discoart执行器部分,将floating: false改为floating: true; - 运行以下命令:
python -m discoart serve myflow.yml
请注意,现在请求的速度完全由您控制。也就是说,如果客户端在一秒钟内发送 10 个 /create 请求,那么服务器将会并行启动 10 个 create()!这很容易导致内存不足。因此,建议仅在您确定客户端不会发送过多请求时才启用此功能,例如您能够控制客户端的请求速率;或者您是在 BFF(前端后端)之后使用 DiscoArt。
水平扩展
如果您有多块 GPU,并希望利用时间复用的方式并行运行多个 DiscoArt 实例,您可以复制 默认的 flow.yml 文件,并按如下方式修改:
jtype: Flow
with:
protocol: http
monitoring: true
port: 51001
port_monitoring: 51002 # prometheus 监控端口
env:
JINA_LOG_LEVEL: debug
DISCOART_DISABLE_IPYTHON: 1
DISCOART_DISABLE_RESULT_SUMMARY: 1
executors:
- name: discoart
uses: DiscoArtExecutor
env:
CUDA_VISIBLE_DEVICES: RR0:3 # 如果您有多块 GPU,请更改此设置
replicas: 3 # 如果您的显存更大,请相应调整
- name: poller
uses: ResultPoller
这里的 replicas: 3 表示将启动三个 DiscoArt 实例,CUDA_VISIBLE_DEVICES: RR0:3 则确保它们以轮询方式使用前三个 GPU。
将文件命名为 myflow.yml,然后运行:
python -m discoart serve myflow.yml
自定义
得益于 Jina,您可以自定义的内容非常多!您可以更改端口号;将协议改为 gRPC/Websockets;添加 TLS 加密;启用或禁用 Prometheus 监控;还可以通过以下命令将其导出为 Kubernetes 部署包:
jina export kubernetes myflow.yml
有关更多功能和 YAML 配置,请参阅 Jina 文档。
使用 gRPC 网关
从 HTTP 切换到 gRPC 网关非常简单:
jtype: Flow
with:
protocol: grpc
...
然后重启服务器。
使用 gRPC 网关有多种优势:
- 网络开销更小、速度更快。
- 功能丰富,如压缩、状态监控等。
一般来说,如果您是在 BFF(前端后端)之后使用 DiscoArt 服务器,或者您的 DiscoArt 服务器并不直接面向最终用户提供 HTTP 流量,那么您应该使用 gRPC 协议。
要与 gRPC DiscoArt 服务器通信,可以使用 Jina 客户端:
# !pip install jina
from jina import Client
c = Client(host='grpc://0.0.0.0:51001')
da = c.post(
'/create',
parameters={
'name_docarray': 'mydisco-123',
'text_prompts': [
'一幅美丽的灯塔画',
'黄色色调',
],
},
)
# 检查中间结果
da = c.post('/result', parameters={'name_docarray': 'mydisco-123'})
要使用现有的 Document/DocumentArray 作为 create 的初始 Document:
from jina import Client
c = Client(host='grpc://0.0.0.0:51001')
old_da = create(...)
da = c.post(
'/create',
old_da, # 这可以是 DocumentArray 或单个 Document
parameters={
'width_height': [1024, 768],
},
)
这相当于在服务器上运行 create(init_document=old_da, width_height=[1024, 768])。注意:
- 后续参数的优先级高于
init_document中的参数。 - 如果
init_document是一个 DocumentArray,则数组中的第一个 Document 将被用作初始 Document。 - 在发送之前无需进行任何序列化,Jina 会自动处理。
在 Google Colab 上托管
虽然不推荐,但也可以使用 Google Colab 来托管 DiscoArt 服务器。请查看以下教程:
在 Docker 中运行
我们提供了一个预构建的 Docker 镜像,可直接运行 DiscoArt。要将 Docker 镜像更新到最新版本:
docker pull jinaai/discoart:latest
使用 Jupyter Notebook
默认入口点是启动 Jupyter Notebook
# docker build . -t jinaai/discoart # 如果你想自己构建
docker run -p 51000:8888 -v $(pwd):/home/jovyan/ -v $HOME/.cache:/root/.cache --gpus all jinaai/discoart
现在你可以访问 http://127.0.0.1:51000 来使用笔记本。
在 Windows 上启用 Docker 中的 GPU
你可以在 Windows Subsystem for Linux (WSL) 上使用它,请参阅官方指南 这里。
# 确保你安装了 Windows 11 或 Windows 10 版本 21H2
docker run -p 8888:8888 -v $HOME/.cache:/root/.cache --gpus all jinaai/discoart
作为服务使用
# docker build . -t jinaai/discoart # 如果你想自己构建
docker run --entrypoint "python" -p 51001:51001 -v $(pwd):/home/jovyan/ -v $HOME/.cache:/root/.cache --gpus all jinaai/discoart -m discoart serve
你的 DiscoArt 服务器现在正在 http://127.0.0.1:51001 上运行。
发布周期
Docker 镜像会在每次发布时构建,因此可以锁定到特定版本,例如 0.5.1:
docker run -p 51000:8888 -v $(pwd):/home/jovyan/ -v $HOME/.cache:/root/.cache --gpus all jinaai/discoart:0.5.1
接下来是什么?
😎 如果你已经是 DD 用户:你已经准备好了!无需额外学习,DiscoArt 保留了与 DD5.6 相同的参数语义。所以尽情发挥你的创造力吧!在此处阅读更多关于它们差异的信息。
你随时可以运行 from discoart import cheatsheet; cheatsheet() 来查看所有新添加或修改的参数。
👶 如果你是 DALL·E Flow 或新用户:你可能需要循序渐进地学习,因为 Disco Diffusion 的工作方式与 DALL·E 截然不同。它更加先进和强大:例如,Disco Diffusion 可以接受加权和结构化的文本提示;可以从带有可控噪声的图像进行初始化;并且可以调整的参数也多得多。像 "armchair avocado" 这样的急躁提示只会让你感到困惑和沮丧。我强烈建议你在尝试自己的提示之前先查看以下资源:
- Zippy 的 Disco Diffusion 备忘录 v0.3
- EZ Charts - 扩散参数研究
- Disco Diffusion 70 多位艺术家研究
- 潜空间旅行者指南
- Disco Diffusion 图解设置
- Coar 的 Disco Diffusion 指南
支持
- 加入我们的 Discord 社区,与其他社区成员讨论想法。
- 参加我们的 工程全员会议,讨论你的使用场景并了解 Jina 的新功能。
- 时间? 每月第二个星期二
- 地点? Zoom (查看我们的公共活动日历/.ical) 和 YouTube 直播
- 订阅我们 YouTube 频道 上的最新视频教程。
加入我们
DiscoArt 由 Jina AI 支持,并采用 MIT 许可证 许可。我们正在积极招聘 AI 工程师和解决方案工程师,共同构建开源的下一代神经搜索生态系统。
版本历史
v0.12.12023/04/20v0.12.02022/08/09v0.11.72022/08/08v0.11.62022/08/07v0.11.52022/08/06v0.11.42022/08/05v0.11.32022/08/05v0.11.22022/08/04v0.11.12022/08/04v0.11.02022/08/04v0.10.152022/08/04v0.10.142022/08/04v0.10.132022/08/03v0.10.122022/08/03v0.10.112022/08/03v0.10.102022/08/02v0.10.92022/08/02v0.10.82022/08/02v0.10.72022/08/02v0.10.62022/08/01常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
opencode
OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
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 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器