🔧 服务器没有外网?两步让 Linux 连上 Gemini 并实现一键识图
实验室服务器只能访问内网,想调用 Gemini 做识图分析?教你把 Windows 本机的梯子"借"给服务器,再用 Gemini Flash 做多模态识别。
一、先看最终效果
服务器本来是这样的:
❌ api.openai.com → 超时 ❌ generativelanguage... → 超时 ✅ api.deepseek.com → 正常
一番操作之后:
$ gemini-vision figures/boxplot.png "描述这张图" 📷 Analyzing: figures/boxplot.png ... 这是一张带数据点重叠的箱线图,展示了五种抑制性神经元 亚型中 CRABP1 的表达量差异,配色高级,排版规范…
8 秒出结果,中英文 prompt 都支持。
二、原理:SSH 反向隧道
核心思路很简单——Windows 有梯子,服务器没有。用 SSH 把 Windows 的梯子端口"映射"到服务器上,服务器设个环境变量就蹭上了:
Windows (V2rayN, SOCKS5:10808) ──SSH隧道──► Linux 服务器 (127.0.0.1:1080) 有外网 通过隧道用本机梯子
三、动手配置
第 1 步:Windows 端 — 开一条隧道
打开 PowerShell,执行:
ssh -R 1080:127.0.0.1:10808 -N wangwk1@你的服务器IP
⚠️ 注意:这条命令没有输出就是正常的。窗口开着别关,关了代理就断。前提:Windows 已安装 OpenSSH 客户端(Win10/11 自带)。
第 2 步:Linux 端 — 写环境变量
cat >> ~/.bashrc << 'EOF'export HTTPS_PROXY=socks5h://127.0.0.1:1080export HTTP_PROXY=socks5h://127.0.0.1:1080EOFsource ~/.bashrc
💡 socks5h 不是 socks5!多个 h 表示 DNS 解析也走代理,否则域名可能还是被墙。
第 3 步:验证
curl -s -o /dev/null -w "%{http_code}"--connect-timeout 5https://api.openai.com/v1/models# 输出:401 ✅ # 说明连上了,只是没带 key
四、接入 Gemini 多模态
拿 API Key
去 aistudio.google.com/apikey 创建 Key。建议绑信用卡上 Tier 2,或充值预付(Tier 1),免费层有严格速率限制。
配置 OpenCode
~/.config/opencode/opencode.jsonc 新增 provider:
"google": {"npm": "@ai-sdk/google","options": { "apiKey": "你的API_KEY" },"models": {"gemini-3.6-flash": { "name": "gemini-3.6-flash" }, }
五、一键识图脚本
OpenCode 自带的 multimodal-looker subagent 太慢(30-60 秒),写了个 shell 脚本绕过框架直接调 Gemini API:
# 路径:~/bin/gemini-visiongemini-vision 图片路径 "你的问题"
速度:8-10 秒(vs subagent 的 30-60 秒)。
六、成本参考
一张论文截图约 1-2K token,Flash 模式下大约 0.001 美元一张图,随便用不心疼。
总结
服务器没外网不是死结。一条 SSH 隧道 + 一个 shell 脚本,你的 Linux 服务器就能调用 Gemini 多模态做识图分析,全程 10 秒级响应,成本忽略不计。
— END —