🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

图像描述桥 bauerelizabeth07139/opencode-eyes

DeepSeek Harness
bauerelizabeth0713931 天前有提交已提供中文文档扫描:含敏感能力

让纯文本模型调用视觉模型读懂图片内容

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/4 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add bauerelizabeth07139/opencode-eyes
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · vision
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 31 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 1 处,展示前 1 条)
  • 读取本地文件
    index.js:64
    return (await stat(path)).isFile();
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-mcp-client
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 纯文本模型调用视觉模型
  • 描述图片内容
  • 提供图片描述接口
展开完整介绍(121 字)↓

DeepSeek Harness 插件兼 OpenCode MCP 服务器:用 StepFun step-3.7-flash 描述图片,让纯文本模型也能「看见」,对外提供 mcp__opencode_eyes__describe_image。

README

由 DeepSeek 最新模型翻译生成
opencode-eyes 给看不见的模型一双眼睛。 图片交给 StepFun 的 step-3.7-flash 视觉模型,描述作为工具输出返回。 给不具备多模态能力的模型一双眼睛:把图片交给 StepFun 多模态模型,拿回文字描述。 作为 DeepSeek Harness 插件:MCP 服务器打包在 bundle 里,所以装一个插件就完成全部配置——不用手动编辑 mcpServers 文件。 安装 DeepSeek Harness Desktop —— 打开侧边栏的 Plugins,选择 Add plugin,输入: https://github.com/bauerelizabeth07139/opencode-eyes 然后打开新的 dsh-opencode-eyes bundle 开关。Desktop 应用启动的是预留的 desktop 配置档,所以必须在这里启用。 dsh 命令行 —— 装进你实际启动的配置档: dsh plugin --profile web add bauerelizabeth07139/opencode-eyes 机器上没有 git? pnpm 用 git ls-remote 解析 git 简写,缺 git 时会报 'git' is not recognized。
展开完整文档(README 剩余 1 节)
opencode-eyes

给看不见的模型一双眼睛。 图片交给 StepFun 的 step-3.7-flash 视觉模型,描述作为工具输出返回。

给不具备多模态能力的模型一双眼睛:把图片交给 StepFun 多模态模型,拿回文字描述。

作为 DeepSeek Harness 插件:MCP 服务器打包在 bundle 里,所以装一个插件就完成全部配置——不用手动编辑 mcpServers 文件。

安装

DeepSeek Harness Desktop —— 打开侧边栏的 Plugins,选择 Add plugin,输入:

https://github.com/bauerelizabeth07139/opencode-eyes

然后打开新的 dsh-opencode-eyes bundle 开关。Desktop 应用启动的是预留的 desktop 配置档,所以必须在这里启用。

dsh 命令行 —— 装进你实际启动的配置档:

dsh plugin --profile web add bauerelizabeth07139/opencode-eyes

机器上没有 git? pnpm 用 git ls-remote 解析 git 简写,缺 git 时会报 'git' is not recognized。改用 tarball——那条路径走的是纯 HTTPS:

dsh plugin --profile web add https://codeload.github.com/bauerelizabeth07139/opencode-eyes/tar.gz/main

同一个地址在 Desktop 的 Add plugin 对话框里也能用。把 main 换成 commit SHA 就能锁定确切版本(/tar.gz/<sha>)。

卸载用 dsh plugin --profile web remove dsh-opencode-eyes。

要求

- PATH 里有 Python ≥ 3.8,或者用 python 指向它。
- 那个解释器里要有 Pillow——服务器唯一的第三方导入(pip install Pillow)。
- STEP_API_KEY 里有 StepFun API key(或 config.apiKey)。没有它服务器照样启动,describe_image 会返回明确的错误。

工具

服务器注册 1 个工具。DSH 自动给它们加命名空间,所以模型调用时写作 mcp__opencode_eyes__<tool>:

| 工具 | 作用 |
| describe_image | 读取图片文件,base64 编码成 JPEG(可选降采样),然后让视觉模型描述它。参数:image_path(必填)、prompt(可选)。 |

配置

| 键 | 环境变量 | 默认值 | 含义 |
| python | — | 自动发现 | 运行服务器的解释器 |
| apiKey | STEP_API_KEY | (空) | StepFun 凭据;describe_image 需要它 |
| model | STEP_MODEL | step-3.7-flash | 请求里发送的模型 id |
| timeoutSeconds | STEP_TIMEOUT | 120 | 服务器自身的 HTTP 超时 |
| maxDimension | STEP_MAX_DIMENSION | 2048 | 图片降采样到这个边长 |
| jpegQuality | STEP_JPEG_QUALITY | 85 | 重新编码后图片的 JPEG 质量 |
| toolCallTimeoutMs | — | 300000 | DSH 每次调用的预算;保持它大于 timeoutSeconds |
| env | — | {} | 其他内容的原始环境变量透传 |

每个字段都是可选的,放在 loader 行里。例如在 cordis.patch.yml 中:

- id: dsh-opencode-eyes
name: 'dsh-opencode-eyes'
config:
apiKey: 'sk-...'
toolCallTimeoutMs: 300000

说明

- API base URL 已经编译进服务器(https://api.stepfun.com/step_plan/v1/chat/completions),没有 baseUrl 选项可以指向别处。这个插件只暴露服务器真正会读取的内容。
- src/ 布局。 这个包是 src/ 布局的 Python 模块,所以服务器运行时必须以仓库的 src 目录作为工作目录。插件已经帮你处理好。
- 超时。 服务器等待 StepFun 最多 STEP_TIMEOUT(120 秒),比 harness 默认的 60 秒更长,所以插件挂载时给每次调用 300 秒的预算。

如何挂载

index.js 解析出一个 Python 解释器(先看配置的 python,再看 PATH 上的 python3/python),把 argv 和工作目录交给服务器,然后通过 @deepseek-ai/dsh-mcp-client 把它挂载为 stdio MCP 服务器,并设置 failOnStartupError: true,这样服务器启动失败会变成可见的错误,而不是悄悄少一个工具。

凭据是显式转发的。harness 会把形似凭据的变量(KEY、TOKEN、SECRET、PASSWORD)从子进程继承的环境里清掉,所以 config.apiKey——回退到服务器文档里写的那个变量——由插件自己写进子进程的环境。也就是说下面两种写法都能用:

config:
apiKey: '<your key>'

export STEP_API_KEY='<your key>' # picked up at load time

开发

没有构建步骤,也没有运行时依赖——@deepseek-ai/cordis 和 @deepseek-ai/dsh-mcp-client 是 Harness 提供的 peer。

npm test # node >= 22: manifest checks + the stdio mount, both Harness-free

挂载测试会加载 index.js,把 @deepseek-ai/dsh-mcp-client 打桩,然后断言插件产出的确切 stdio 配置,包括上面的凭据转发。

仓库布局

| 路径 | 用途 |
| index.js | DSH 插件:解析解释器并挂载服务器 |
| cordis.patch.yml | 激活插件的 loader 行 |
| locale/{en,zh}.json | 插件列表里的卡片标题和描述 |
| assets/icon.svg | 卡片配图 |
| test/ | npm test:manifest 组合与挂载契约 |
| src/opencode_eyes/ | MCP 服务器,未改动 |
| pyproject.toml、requirements.txt | Python 包元数据,未改动 |

其他宿主(未改动)

这个服务器是普通的 stdio MCP 服务器,在其他任何地方照样能用。仓库原来的 README 原样保留为 README.opencode.md,里面的启动配置也依然有效:

{
"mcp": {
"opencode-eyes": {
"type": "local",
"command": ["python", "-m", "opencode_eyes"],
"enabled": true,
"timeout": 120000,
"environment": { "STEP_API_KEY": "你的StepFun API Key" }
}
}
}

在别的宿主上,从仓库的 src 目录运行服务器(或者把 src 放进 PYTHONPATH)——这是插件唯一额外做的事。

License

MIT —— 仓库在 pyproject.toml 里声明了 MIT,却没随附许可证文件;这个插件的发布版本补上了一份。
预览分享卡片长什么样 ↓bauerelizabeth07139/opencode-eyes
分享 · DeepSeek Harness Hub
bauerelizabeth07139/opencode-eyes

让纯文本模型调用视觉模型读懂图片内容

这是你的仓库?认领条目

回到顶部