mlx-vlm
mlx-vlm 是一款专为 Mac 用户打造的开源工具包,旨在让视觉语言模型(VLM)及多模态模型(支持图像、音频和视频)的推理与微调变得简单高效。它基于 Apple 的 MLX 框架开发,解决了在 macOS 本地运行大型多模态 AI 模型时常见的配置复杂、依赖繁琐及性能优化不足等痛点。
无论是希望快速体验最新多模态能力的普通用户,还是需要定制模型的研究人员与开发者,都能从中受益。普通用户可通过命令行或图形界面轻松实现“看图说话”、“听音描述”甚至图文音混合交互;开发者则能利用其提供的 Python 接口进行深度集成,或对 DeepSeek-OCR、Phi-4、Gemma 等主流模型进行微调训练。
mlx-vlm 的技术亮点在于针对 Apple Silicon 芯片的深度优化,支持激活值量化、TurboQuant KV 缓存加速以及视觉特征缓存等高级功能,显著提升了推理速度并降低了显存占用。此外,它还原生支持多轮多图对话及独特的“思考预算”控制,允许用户在处理复杂推理任务时精确管理模型的思考过程。只需一条 pip 命令即可完成安装,是 Mac 平台上探索前沿多模态 AI 的理想入口。
使用场景
一位独立开发者需要在配备 Apple Silicon 芯片的 MacBook Pro 上,快速构建一个能同时理解截图、文档照片及语音备注的多模态辅助工具,用于自动化整理每日工作日志。
没有 mlx-vlm 时
- 硬件闲置与依赖冲突:无法直接利用 Mac 强大的统一内存运行大型视觉语言模型(VLM),被迫依赖昂贵的云端 GPU 或在配置复杂的 Linux 环境中挣扎。
- 多模态处理割裂:处理图像、文本和音频需要分别调用不同的 API 或模型,难以在一个流程中实现“看图听音写总结”的连贯操作。
- 推理延迟高昂:云端请求受网络波动影响大,且按次计费成本高,导致本地实时交互体验卡顿,无法流畅进行多轮对话。
- 微调门槛极高:若想针对特定业务场景(如识别特定格式发票)优化模型,缺乏在本地高效进行微调的工具链,数据隐私也难以保障。
使用 mlx-vlm 后
- 原生性能释放:通过一行
pip install即可在 Mac 上直接运行量化后的 VLM 和 Omni 模型,充分利用 MLX 框架加速,实现低延迟的本地推理。 - 全模态一键融合:利用 CLI 或 Python 脚本,单条命令即可同时输入图像和音频(如
--image加--audio参数),让模型直接输出综合描述,流程丝滑顺畅。 - 成本归零与隐私安全:所有计算均在本地完成,无需联网发送敏感数据,彻底消除云 API 费用,且支持离线环境下的稳定运行。
- 便捷定制化能力:内置细调(Fine-tuning)功能,开发者可轻松使用私有数据集在本地优化模型,使其更精准地适应特定办公场景。
mlx-vlm 将 Mac 变成了强大的本地多模态 AI 工作站,让开发者能以零成本、高隐私的方式轻松落地复杂的视觉与听觉理解应用。
运行环境要求
- macOS
- 非必需
- 主要设计用于 Apple Silicon (M1/M2/M3 等) Mac 的统一内存架构
- 若使用 NVIDIA GPU 需配合 MLX CUDA 后端,并可能需要激活量化 (Activation Quantization)
未说明 (取决于所选模型大小,利用 macOS 统一内存)

快速开始
MLX-VLM
MLX-VLM 是一个用于在您的 Mac 上使用 MLX 对视觉语言模型(VLM)和全能模型(支持音频和视频的 VLM)进行推理和微调的软件包。
目录
模型专用文档
部分模型提供了详细的文档,包括提示格式、示例和最佳实践:
| 模型 | 文档 |
|---|---|
| DeepSeek-OCR | 文档 |
| DeepSeek-OCR-2 | 文档 |
| DOTS-OCR | 文档 |
| DOTS-MOCR | 文档 |
| GLM-OCR | 文档 |
| Phi-4 Reasoning Vision | 文档 |
| MiniCPM-o | 文档 |
| Phi-4 多模态 | 文档 |
| MolmoPoint | 文档 |
| Moondream3 | 文档 |
| Gemma 4 | 文档 |
| Falcon-OCR | 文档 |
| Granite Vision 3.2 | 文档 |
| Granite 4.0 Vision | 文档 |
安装
开始使用的最简单方法是使用 pip 安装 mlx-vlm 包:
pip install -U mlx-vlm
使用
命令行界面 (CLI)
使用 CLI 从模型生成输出:
# 文本生成
mlx_vlm.generate --model mlx-community/Qwen2-VL-2B-Instruct-4bit --max-tokens 100 --prompt "你好,最近怎么样?"
# 图像生成
mlx_vlm.generate --model mlx-community/Qwen2-VL-2B-Instruct-4bit --max-tokens 100 --temperature 0.0 --image http://images.cocodataset.org/val2017/000000039769.jpg
# 音频生成(新功能)
mlx_vlm.generate --model mlx-community/gemma-3n-E2B-it-4bit --max-tokens 100 --prompt "描述你听到的内容" --audio /path/to/audio.wav
# 多模态生成(图像 + 音频)
mlx_vlm.generate --model mlx-community/gemma-3n-E2B-it-4bit --max-tokens 100 --prompt "描述你看到和听到的内容" --image /path/to/image.jpg --audio /path/to/audio.wav
思考预算
对于具备思考能力的模型(例如 Qwen3.5),您可以限制思考块中消耗的标记数量:
mlx_vlm.generate --model mlx-community/Qwen3.5-2B-4bit \
--thinking-budget 50 \
--thinking-start-token "<think>" \
--thinking-end-token "</think>" \
--enable-thinking \
--prompt "计算 2+2"
| 标志 | 描述 |
|---|---|
--enable-thinking |
在聊天模板中启用思考模式 |
--thinking-budget |
思考块内允许的最大标记数 |
--thinking-start-token |
打开思考块的标记(默认:<think>) |
--thinking-end-token |
关闭思考块的标记(默认:</think>) |
当超过预算时,模型会强制输出 \n</think> 并过渡到回答。如果传递了 --enable-thinking 但模型的聊天模板不支持该功能,则只有当模型自行生成起始标记时,预算才会生效。
Gradio 聊天界面
使用 Gradio 启动聊天界面:
mlx_vlm.chat_ui --model mlx-community/Qwen2-VL-2B-Instruct-4bit
Python 脚本
以下是一个在 Python 脚本中使用 MLX-VLM 的示例:
import mlx.core as mx
from mlx_vlm import load, generate
from mlx_vlm.prompt_utils import apply_chat_template
from mlx_vlm.utils import load_config
# 加载模型
model_path = "mlx-community/Qwen2-VL-2B-Instruct-4bit"
model, processor = load(model_path)
config = load_config(model_path)
# 准备输入
image = ["http://images.cocodataset.org/val2017/000000039769.jpg"]
# 也可以使用 PIL.Image.Image 对象:image = [Image.open("...")]
prompt = "请描述这张图片。"
# 应用聊天模板
formatted_prompt = apply_chat_template(
processor, config, prompt, num_images=len(image)
)
# 生成输出
output = generate(model, processor, formatted_prompt, image, verbose=False)
print(output)
音频示例
from mlx_vlm import load, generate
from mlx_vlm.prompt_utils import apply_chat_template
from mlx_vlm.utils import load_config
# 加载支持音频的模型
model_path = "mlx-community/gemma-3n-E2B-it-4bit"
model, processor = load(model_path)
config = model.config
# 准备音频输入
audio = ["/path/to/audio1.wav", "/path/to/audio2.mp3"]
prompt = "请描述这些音频文件中你听到的内容。"
# 应用包含音频的聊天模板
formatted_prompt = apply_chat_template(
processor, config, prompt, num_audios=len(audio)
)
# 生成包含音频的输出
output = generate(model, processor, formatted_prompt, audio=audio, verbose=False)
print(output)
多模态示例(图像 + 音频)
from mlx_vlm import load, generate
from mlx_vlm.prompt_utils import apply_chat_template
from mlx_vlm.utils import load_config
# 加载多模态模型
model_path = "mlx-community/gemma-3n-E2B-it-4bit"
model, processor = load(model_path)
config = model.config
# 准备输入
image = ["/path/to/image.jpg"]
audio = ["/path/to/audio.wav"]
prompt = ""
# 应用聊天模板
formatted_prompt = apply_chat_template(
processor, config, prompt,
num_images=len(image),
num_audios=len(audio)
)
# 生成输出
output = generate(model, processor, formatted_prompt, image, audio=audio, verbose=False)
print(output)
服务器 (FastAPI)
启动服务器:
mlx_vlm.server --port 8080
# 在启动时预加载模型(Hugging Face 仓库或本地路径)
mlx_vlm.server --model <hf_repo_or_local_path>
# 使用适配器预加载模型
mlx_vlm.server --model <hf_repo_or_local_path> --adapter-path <adapter_path>
# 启用信任远程代码(某些模型需要)
mlx_vlm.server --trust-remote-code
服务器选项
--model: 在服务器启动时预加载模型,接受 Hugging Face 仓库 ID 或本地路径(可选;若省略,则在首次请求时按需加载)--adapter-path: 用于与预加载模型一起使用的适配器权重路径--host: 主机地址(默认:0.0.0.0)--port: 端口号(默认:8080)--trust-remote-code: 从 Hugging Face Hub 加载模型时信任远程代码--kv-bits: KV 缓存量化位数(例如,3.5表示 TurboQuant)--kv-quant-scheme: KV 缓存量化后端(uniform或turboquant)
您也可以通过环境变量设置信任远程代码:
MLX_TRUST_REMOTE_CODE=true mlx_vlm.server
该服务器提供多个端点以满足不同使用场景,并支持动态加载和卸载模型,同时具备缓存功能(一次仅能加载一个模型)。
可用端点
/models和/v1/models:列出本地可用的模型/chat/completions和/v1/chat/completions:兼容 OpenAI 的聊天式交互端点,支持图像、音频和文本/responses和/v1/responses:兼容 OpenAI 的响应端点/health:检查服务器状态/unload:从内存中卸载当前模型
使用示例
列出可用模型
curl "http://localhost:8080/models"
文本输入
curl -X POST "http://localhost:8080/chat/completions" \
-H "Content-Type: application/json" \
-d '{
"model": "mlx-community/Qwen2-VL-2B-Instruct-4bit",
"messages": [
{
"role": "user",
"content": "你好,最近怎么样"
}
],
"stream": true,
"max_tokens": 100
}'
图像输入
curl -X POST "http://localhost:8080/chat/completions" \
-H "Content-Type: application/json" \
-d '{
"model": "mlx-community/Qwen2.5-VL-32B-Instruct-8bit",
"messages":
[
{
"role": "system",
"content": "你是一个有用的助手。"
},
{
"role": "user",
"content": [
{
"type": "text",
"text": "这是加利福尼亚州今日的能源需求图表。你能对这张图进行分析,并谈谈它对加州可再生能源的影响吗?"
},
{
"type": "input_image",
"image_url": "/path/to/repo/examples/images/renewables_california.png"
}
]
}
],
"stream": true,
"max_tokens": 1000
}'
音频支持(新增)
curl -X POST "http://localhost:8080/generate" \
-H "Content-Type: application/json" \
-d '{
"model": "mlx-community/gemma-3n-E2B-it-4bit",
"messages": [
{
"role": "user",
"content": [
{ "type": "text", "text": "请描述这些音频文件中听到的内容" },
{ "type": "input_audio", "input_audio": "/path/to/audio1.wav" },
{ "type": "input_audio", "input_audio": "https://example.com/audio2.mp3" }
]
}
],
"stream": true,
"max_tokens": 500
}'
多模态(图像 + 音频)
curl -X POST "http://localhost:8080/generate" \
-H "Content-Type: application/json" \
-d '{
"model": "mlx-community/gemma-3n-E2B-it-4bit",
"messages": [
{
"role": "user",
"content": [
{"type": "input_image", "image_url": "/path/to/image.jpg"},
{"type": "input_audio", "input_audio": "/path/to/audio.wav"}
]
}
],
"max_tokens": 100
}'
响应端点
curl -X POST "http://localhost:8080/responses" \
-H "Content-Type: application/json" \
-d '{
"model": "mlx-community/Qwen2-VL-2B-Instruct-4bit",
"messages": [
{
"role": "user",
"content": [
{"type": "input_text", "text": "这张图片里有什么?"},
{"type": "input_image", "image_url": "/path/to/image.jpg"}
]
}
],
"max_tokens": 100
}'
请求参数
model: 模型标识符(必填)messages: 用于聊天/OpenAI 兼容端点的对话消息max_tokens: 最大生成标记数temperature: 采样温度top_p: Top-p 采样参数top_k: Top-k 采样截断值min_p: Min-p 采样阈值repetition_penalty: 重复标记惩罚因子stream: 启用流式响应
激活量化(CUDA)
当在配备 MLX CUDA 的 NVIDIA GPU 上运行时,使用 mxfp8 或 nvfp4 模式量化的模型需要启用激活量化才能正常工作。这会将 QuantizedLinear 层转换为 QQLinear 层,从而对权重和激活都进行量化。
命令行
使用 -qa 或 --quantize-activations 标志:
mlx_vlm.generate --model /path/to/mxfp8-model --prompt "描述这张图片" --image /path/to/image.jpg -qa
Python API
在 load 函数中传入 quantize_activations=True:
from mlx_vlm import load, generate
# 启用激活量化后加载模型
model, processor = load(
"path/to/mxfp8-quantized-model",
quantize_activations=True
)
# 正常生成
output = generate(model, processor, "描述这张图片", image=["image.jpg"])
支持的量化模式
mxfp8:8 位 MX 浮点数nvfp4:4 位 NVIDIA 浮点数
注意:此功能是 CUDA 上 mxfp/nvfp 量化模型所必需的。而在 Apple Silicon(Metal)上,这些模型无需该标志即可正常工作。
多图像聊天支持
MLX-VLM 支持使用部分模型同时分析多张图像。此功能能够实现更复杂的视觉推理任务,并在单次对话中对多张图像进行全面分析。
使用示例
Python 脚本
from mlx_vlm import load, generate
from mlx_vlm.prompt_utils import apply_chat_template
from mlx_vlm.utils import load_config
model_path = "mlx-community/Qwen2-VL-2B-Instruct-4bit"
model, processor = load(model_path)
config = model.config
images = ["path/to/image1.jpg", "path/to/image2.jpg"]
prompt = "比较这两张图片。"
formatted_prompt = apply_chat_template(
processor, config, prompt, num_images=len(images)
)
output = generate(model, processor, formatted_prompt, images, verbose=False)
print(output)
命令行
mlx_vlm.generate --model mlx-community/Qwen2-VL-2B-Instruct-4bit --max-tokens 100 --prompt "比较这些图片" --image path/to/image1.jpg path/to/image2.jpg
视频理解
MLX-VLM 还支持视频分析,例如字幕生成、摘要提取等,适用于部分模型。
支持的模型
以下模型支持视频聊天:
- Qwen2-VL
- Qwen2.5-VL
- Idefics3
- LLaVA
更多模型即将推出。
使用示例
命令行
mlx_vlm.video_generate --model mlx-community/Qwen2-VL-2B-Instruct-4bit --max-tokens 100 --prompt "描述这段视频" --video path/to/video.mp4 --max-pixels 224 224 --fps 1.0
这些示例展示了如何使用 MLX-VLM 处理多张图片,以完成更复杂的视觉推理任务。
视觉特征缓存
在关于同一张图片的多轮对话中,即使图片没有变化,视觉编码器也会在每一轮都运行。VisionFeatureCache 会将投影后的视觉特征存储在一个基于图片路径的 LRU 缓存中,这样昂贵的视觉编码器就只需对每张唯一图片调用一次。
工作原理
- 第一轮(缓存未命中) ——
encode_image()会运行完整的视觉处理流程(视觉塔 + 投影器),并将结果存储在缓存中,然后传递给语言模型。 - 后续轮次(缓存命中) —— 直接通过
cached_image_features传递缓存中的特征,完全跳过视觉编码器。 - 图片切换 —— 当图片发生变化时,会生成一个新的缓存键,因此需要重新计算并缓存特征。如果再次切换回之前的图片,则会命中缓存。
缓存最多可容纳 8 个条目(可配置),并采用 LRU 策略进行淘汰。
命令行界面
所有聊天界面都会自动使用 VisionFeatureCache:
# Gradio 聊天界面
python -m mlx_vlm.chat_ui --model google/gemma-4-26b-a4b-it
# 带有 Rich UI 的交互式聊天(使用 /image 命令加载图片)
python -m mlx_vlm.chat --model google/gemma-4-26b-a4b-it
# 内联聊天模式
python -m mlx_vlm.generate \
--model google/gemma-4-26b-a4b-it \
--image path/to/image.jpg \
--chat \
--max-tokens 200
Python 示例
from mlx_vlm import load, stream_generate, VisionFeatureCache
from mlx_vlm.prompt_utils import apply_chat_template
model, processor = load("google/gemma-4-26b-a4b-it")
cache = VisionFeatureCache()
image = "path/to/image.jpg"
# 第一轮 —— 缓存未命中,编码图片
prompt1 = apply_chat_template(processor, model.config, "请描述这张图片。", num_images=1)
for chunk in stream_generate(model, processor, prompt1, image=[image],
max_tokens=200, vision_cache=cache):
print(chunk.text, end="")
# 第二轮 —— 缓存命中,跳过视觉编码器
prompt2 = apply_chat_template(processor, model.config, "你看到了哪些颜色?", num_images=1)
for chunk in stream_generate(model, processor, prompt2, image=[image],
max_tokens=200, vision_cache=cache):
print(chunk.text, end="")
服务器端
服务器会自动为同一张图片的多个请求缓存视觉特征。无需任何配置——缓存会在模型加载时创建,并在卸载时清空。
mlx_vlm.server --model google/gemma-4-26b-a4b-it
通过 /v1/chat/completions(流式和非流式)以及 /responses 接口进行的多轮对话都将受益于这一功能。同一张图片在多个请求中只会被编码一次。
性能
在 google/gemma-4-26b-a4b-it 模型上进行了 10 轮多轮对话测试:
| 指标 | 无缓存 | 有缓存 |
|---|---|---|
| 提示词 TPS | ~48 | ~550-825 |
| 加速倍数 | -- | 11 倍以上 |
| 峰值内存 | 52.66 GB | 52.66 GB(持平) |
生成速度(约 31 tok/s)和内存占用不受影响——只有提示词的处理速度得到了提升。
TurboQuant KV 缓存
TurboQuant 在生成过程中压缩 KV 缓存,从而在保持质量的同时,以更少的内存实现更长的上下文长度。
快速入门
# 3.5 位 KV 缓存量化(3 位键 + 4 位值)
mlx_vlm generate \
--model mlx-community/Qwen3.5-4B-4bit \
--kv-bits 3.5 \
--kv-quant-scheme turboquant \
--prompt "您的长提示在这里..."
from mlx_vlm import generate
result = generate(
model, processor, prompt,
kv_bits=3.5,
kv_quant_scheme="turboquant",
max_tokens=256,
)
# 启用 TurboQuant 的服务器
mlx_vlm server \
--model google/gemma-4-26b-a4b-it \
--kv-bits 3.5 \
--kv-quant-scheme turboquant
工作原理
TurboQuant 使用随机旋转 + 码本量化(arXiv:2504.19874)将 KV 缓存条目从 16 位压缩到每维 2–4 位:
- 键与值:采用 Hadamard 旋转的 MSE 码本量化
- 分数位(如 3.5 位):使用较低的位数表示键,较高的位数表示值(3 位键 + 4 位值)
自定义 Metal 内核可以直接在打包的量化数据上融合打分计算和值聚合,避免在解码过程中进行完全的反量化。
性能
在 Qwen3.5-4B-4bit 模型上,使用 128k 上下文长度进行测试:
| 指标 | 基线 | TurboQuant 3.5 位 |
|---|---|---|
| KV 内存 | 4.1 GB | 0.97 GB(减少 76%) |
| 峰值内存 | 18.3 GB | 17.3 GB(减少 1.0 GB) |
在 512k+ 上下文长度下,由于减少了内存带宽需求,TurboQuant 的逐层注意力计算速度比 FP16 SDPA 更快。
在 gemma-4-31b-it 模型上,使用 128k 上下文长度进行测试:
| 指标 | 基线 | TurboQuant 3.5 位 |
|---|---|---|
| KV 内存 | 13.3 GB | 4.9 GB(减少 63%) |
| 峰值内存 | 75.2 GB | 65.8 GB(减少 9.4 GB) |
支持的位宽
| 位数 | 压缩比 | 最佳用途 |
|---|---|---|
| 2 | ~8x | 最大压缩,质量略有损失 |
| 3 | ~5x | 质量与压缩之间的良好平衡 |
| 3.5 | ~4.5x | 推荐默认设置(3 位键 + 4 位值) |
| 4 | ~4x | 质量最佳,压缩适度 |
兼容性
TurboQuant 会自动量化 KVCache 层(全局注意力)。对于具有 RotatingKVCache(滑动窗口)或 ArraysCache(MLA/吸收键)的模型,它们的原生缓存格式将保持不变,因为这些层本身已经非常高效地利用了内存。
微调
MLX-VLM 支持使用 LoRA 和 QLoRA 对模型进行微调。
LoRA 和 QLoRA
要了解更多关于 LoRA 的信息,请参阅 LoRA.md 文件。
版本历史
v0.4.42026/04/04v0.4.32026/04/02v0.4.22026/03/28v0.4.12026/03/21v0.4.02026/03/07v0.3.122026/02/16v0.3.112026/02/04v0.3.102026/01/28v0.3.92025/12/03v0.3.82025/11/27v0.3.72025/11/17v0.3.62025/11/14v0.3.52025/10/26v0.3.42025/10/14v0.3.32025/08/20v0.3.22025/07/22v0.3.12025/07/12v0.3.02025/07/05v0.2.02025/06/26v0.1.272025/06/08常见问题
相似工具推荐
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 艺术创作变得触手可及。
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 真正成长为懂上
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 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器