moondream-vision-zc:用本地 Ollama 跑 Moondream,给 Agent 接图像理解

前言

在聊天里让 Agent「看图说话」,常见做法是走云端多模态 API:要配 Key、有费用,图片还会出网。若你已经在本机用 Ollama 跑模型,更希望图像理解留在 127.0.0.1:11434,再把文字结果交给对话里的主模型,就需要一套固定的环境步骤、调用方式和 Agent 注册方式。下面介绍 SkillHub 上的社区 Skill moondream-vision-zc(@user_543d2acf/moondream-vision-zc,v1.0.0),它按通用 SKILL.md 约定,把本地 Moondream 通过 Ollama REST API 接到 OpenClaw 2026 的多模态插件机制,并说明如何与文本大模型串联。

这是什么

moondream-vision-zc 是一条 command 型 Skill:用本地 Ollama 部署的 Moondream 做图像理解,把自然语言描述返回给 OpenClaw;在聊天里可直接发图,或引用本地图片路径。发布者为 SkillHub 用户 user_543d2acf(页面标注作者 zhangchong),来源为 community,分类 design-media,标签 requires_api_key=false(Skill 说明本身不要求第三方 API Key;推理依赖本机 Ollama)。SkillHub 页面统计(以抓取资料为准):评分 100000,下载 941,安装 0。

官方入口:

  • API:https://api.skillhub.cn/user_543d2acf/moondream-vision-zc
  • 页面:https://www.skillhub.cn/skills/user_543d2acf/moondream-vision-zc

当前从 SkillHub 安装得到的包仅含 SKILL.md,脚本需按文档自行落到 scripts/ 目录(见下文「安装与启用」)。

核心功能

依据 SKILL.md 可核实的能力如下:

  1. 本地推理:通过 Ollama 的 /api/generate,向 moondream 模型提交 base64 图片与可选 prompt,取回 response 字段中的文本。
  2. OpenClaw 命令:在 ~/.openclaw/config/skills.json 注册后,聊天内用 !moondream <image_path> [prompt] 调用。
  3. 与文本模型串联:可将 Moondream 输出作为后续文本模型(文档示例为 GPT‑OSS‑120B)的上下文,做摘要、改写等;示例为 !moondream img.png 得到描述后再 !gpt "基于以下描述…"。
  4. 性能说明(文档自述):普通笔记本 CPU 约 1–2 秒/图;GPU 可加速。单图约 5 MB 上限(Ollama 侧限制,过大需先压缩)。

安装与启用

1、安装 SkillHub CLI(若尚未安装)

command -v skillhub && skillhub --version

未安装时可按 SkillHub 安装文档执行完整安装或仅 CLI(见 https://skillhub.cn/install/skillhub.md)。

2、把 Skill 装到当前 Agent 的 skills 目录

安装时必须用 --dir 指向当前环境会被识别的 skills 目录,否则默认落在 ./skills/ 且 Agent 可能读不到。常用路径示例:

  • Cursor:~/.cursor/skills/
  • Codex:~/.codex/skills/ 或项目下的 .agents/skills/
  • Claude Code:~/.claude/skills/
skillhub install @user_543d2acf/moondream-vision-zc --dir ~/.cursor/skills/

将 ~/.cursor/skills/ 换成你实际使用的目录。安装后目录形如 …/moondream-vision-zc/SKILL.md(坐标 @user_543d2acf/moondream-vision-zc)。

3、准备 Ollama 与 Moondream 模型

文档以 Windows 为例;核心是本地 Ollama 在 11434 端口提供服务。

  1. 安装 Ollama(Windows 示例:winget install ollama,或从 https://ollama.com/download 安装)。
  2. 启动服务(示例:ollama serve)。
  3. 拉取模型:
ollama pull moondream
  1. 验证:
ollama run moondream "一张猫的图片"

能返回文字描述即表示模型可用。

4、补齐脚本与 Python 依赖

SKILL.md 约定目录结构为:

~/.openclaw/skills/moondream-vision/
├─ SKILL.md
└─ scripts/
   └─ moondream_vision.py

将文档中的 moondream_vision.py 保存到对应 scripts/ 路径(内容与 Skill 内嵌代码一致:读本地图片、POST 到 http://127.0.0.1:11434/api/generate、model 为 moondream)。使用脚本时需:

pip install requests

若你通过 SkillHub 装到 Cursor 等目录,请把 scripts/moondream_vision.py 放在该 Skill 根目录下,并在 OpenClaw 配置里把 command 中的 ${skill_dir} 指向实际绝对路径。

5、在 OpenClaw 中注册命令

在 ~/.openclaw/config/skills.json(不存在则创建)增加:

{
  "name": "moondream-vision",
  "command": "python ${skill_dir}/scripts/moondream_vision.py",
  "description": "本地 Moondream 图像理解",
  "usage": "!moondream <image_path> [prompt]",
  "args": ["image_path", "prompt?"],
  "output": "text"
}

${skill_dir} 由 OpenClaw 在运行时替换为本 Skill 目录的绝对路径。修改配置后按你所用 OpenClaw 版本要求重启或重载 Agent。

典型用法

命令行脚本

python moondream_vision.py <image_path> [prompt]

第二个参数为可选提示词;省略时 prompt 为空字符串。

OpenClaw 聊天示例(摘自 SKILL.md)

用户:!moondream C:\Users\Administrator\Pictures\dog.jpg
Assistant: 这是一只棕色的狗,正坐在草地上,注视着镜头。

用户:!moondream C:\Users\Administrator\Pictures\dog.jpg "请把这张图的内容写成一段简短的广告文案"
Assistant: 「爱犬的欢笑,尽在自然」——让您的宠物在绿意盎然的草地上自由奔跑,感受生活的活力。

与文本模型组合(文档工作流)

  1. !moondream img.png 得到图片描述 desc。
  2. !gpt "基于以下描述,写一段新闻稿:\n${desc}"(命令名以你 OpenClaw 里实际注册的 GPT Skill 为准)。

适用场景与注意

适合谁

  • 已在或愿意在本机部署 Ollama,希望图像理解不出网、不依赖云端视觉 API Key。
  • 使用 OpenClaw 2026 多模态/命令插件,需要在对话里用 !moondream 触发本地视觉模型。
  • 需要轻量 VLM(Moondream)先出描述,再由大参数量文本模型做二次推理或文案生成。

限制与坑

  • 平台与路径:示例路径为 Windows;Linux/macOS 需自行换成本机图片路径,Ollama 安装方式以官方文档为准(Skill 正文主要写 Windows)。
  • 包内容:SkillHub 分发包目前只有 SKILL.md,moondream_vision.py 需按文档自建,否则 skills.json 里的 python …/moondream_vision.py 无法执行。
  • 服务与网络:须保证 ollama serve 运行且 11434 未被防火墙拦截;Ollama 未启动会直接导致 HTTP 调用失败。
  • 空返回:文档建议检查 prompt 是否为空,或在 payload 中加 "system": "" 以避免模型误判。
  • Cursor 等客户端:通过 skillhub install 可把说明装进 Cursor skills 目录,但 OpenClaw 的 skills.json 与 !moondream 语法 仍以 OpenClaw 为准;纯 Cursor 用户需自行让 Agent 按 SKILL.md 执行脚本或等价 HTTP 调用,官方资料未单独给出 Cursor 内置命令名。

结尾

moondream-vision-zc 把「Ollama + Moondream + base64 调 /api/generate」写成可复制的 Skill 说明,并对接 OpenClaw 的 !moondream 命令与多模态工作流;适合要本地看图、再把结果交给主对话模型的场景。安装与详情见 SkillHub:https://www.skillhub.cn/skills/user_543d2acf/moondream-vision-zc,坐标 @user_543d2acf/moondream-vision-zc。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜