前言¶
DeepSeek Harness 的插件生态允许开发者扩展模型能力。对于纯文本模型而言,缺乏视觉理解能力是常见的限制。opencode-eyes-nvidia 插件通过 NVIDIA NIM 为 Harness 提供了视觉推理能力,使文本模型能够“看见”并处理图像。
插件定位¶
- 名称:
opencode-eyes-nvidia - 维护者:bauerelizabeth07139
- 协议:MIT
- 核心价值:为不具备多模态能力的模型提供视觉接口,默认通过 MiniMax-M3 模型进行图像描述。
安装与启用¶
在终端中执行以下命令将插件安装到 web 配置文件:
dsh plugin --profile web add bauerelizabeth07139/opencode-eyes-nvidia
如果系统未安装 Git,可以使用 tarball 地址进行安装:
dsh plugin --profile web add https://codeload.github.com/bauerelizabeth07139/opencode-eyes-nvidia/tar.gz/main
卸载时执行:
dsh plugin --profile web remove dsh-opencode-eyes-nvidia
前置条件¶
- Python:版本需 ≥ 3.8,且在
PATH环境变量中可用。 - Pillow:Python 环境中需安装该库(
pip install Pillow)。 - NVIDIA API Key:至少需要一个有效的 NVIDIA API 密钥。
核心功能¶
该插件主要提供以下能力:
1. 多模型支持:集成 7 个 NVIDIA 托管的视觉模型,默认为 minimaxai/minimax-m3。
2. 密钥轮换:当 API Key 遇到限流或失败时,自动切换到下一个 Key,无需人工干预。
3. MCP 服务器:插件内部打包了 MCP 服务器,安装即用,无需手动配置 mcpServers 文件。
4. 工具集:暴露两个工具,自动注册为 mcp__opencode_eyes_nvidia__<tool>。
工具使用¶
插件注册了两个工具,调用时需注意 DSH 的命名空间前缀。
describe_image¶
向选定的视觉模型发送图像并获取描述。参数包括:
- image_path(必填):本地图像路径。
- prompt(可选):描述提示词。
- model(可选):指定模型 ID。
list_vision_models¶
返回当前可用的视觉模型列表,当配置了有效的 API Key 时,会查询 /models 接口。
配置说明¶
插件通过 cordis.patch.yml 加载。以下是关键配置项:
| 配置项 | 环境变量 | 默认值 | 说明 |
|---|---|---|---|
model |
NVIDIA_MODEL |
minimaxai/minimax-m3 |
默认使用的视觉模型 ID |
apiKey |
NVIDIA_API_KEY |
(空) | 轮换密钥环中的第一个 Key |
env |
— | {} |
用于透传多个 Key 或其他环境变量 |
timeoutSeconds |
NVIDIA_TIMEOUT |
120 |
服务器自身的 HTTP 超时时间 |
maxDimension |
NVIDIA_MAX_DIMENSION |
2048 |
图像边缘缩放的最大尺寸 |
jpegQuality |
NVIDIA_JPEG_QUALITY |
85 |
重编码图像的 JPEG 质量 |
thinkingMode |
NVIDIA_THINKING_MODE |
(未设置) | 仅对包含 minimax 的模型生效,取值 enabled / disabled / adaptive |
toolCallTimeoutMs |
— | 300000 |
DSH 单次调用的预算时间 |
配置示例(多 Key 轮换):
- id: dsh-opencode-eyes-nvidia
name: 'dsh-opencode-eyes-nvidia'
config:
apiKey: 'nvapi-first-key'
model: 'minimaxai/minimax-m3'
env:
NVIDIA_API_KEYS: 'nvapi-first-key,nvapi-second-key'
NVIDIA_ROTATION_BACKOFF: '2'
注意事项¶
- ThinkingMode 限制:
thinkingMode配置仅在模型 ID 包含minimax时才会生效,否则会被忽略。 - 凭证安全:DeepSeek Harness 会自动过滤子进程继承环境变量中的凭证类变量(如 KEY, TOKEN 等)。因此,建议通过插件的
config.apiKey或config.env显式传递密钥,而非直接在全局环境变量中设置。 - 独立运行:该插件仅是 opencode-eyes-nvidia 项目的 DSH 封装,其核心服务器本身是一个标准的 stdio MCP 服务器,可在其他支持 MCP 的环境中独立运行。
结语¶
opencode-eyes-nvidia 插件通过封装 NVIDIA NIM,为 Harness 提供了低成本、高兼容性的视觉接入方案。它解决了多 Key 轮换和配置复杂的问题,适合需要在文本流中集成图像理解的场景。