2026 年 4 月 24 日 · 6 分钟

让 Ollama 走 SSH,配上真正的智能体循环

每篇「Ollama over SSH」教程都止步于端口转发。那是最容易的部分。 有意思的是让隧道对接一个真的能在远程执行工具调用的智能体。

标准配方(回顾)

你家里有台跑着 Ollama 的强力机器,想在笔记本上用它。经典端口转发:

ssh -L 11434:localhost:11434 you@homebox

现在笔记本上的 localhost:11434 通向服务器上的 Ollama, 任何 OpenAI 兼容客户端都能用。大多数教程到这里就结束了。

配方缺了什么

如果你是拿它写代码,光聊天不够 —— 你需要工具调用。模型应该能:

而关键在于,这些工具调用应该发生在远程那台机器上 —— 代码所在的地方 —— 而不是你的笔记本。单纯的端口转发只搬运了推理流量。

能跑通完整循环的搭法

两个选项,取决于你想让界面在哪边。

方案 A:Tron 跑在远程,浏览器打开

最简单。把 Tron 装在跑 Ollama 的那台机器上。Tron 的智能体循环调用 localhost:11434 的 Ollama,工具调用也在同一台机器上执行。 你从笔记本打开 http://homebox:3888(或者 Tailscale 地址、 Cloudflare 隧道)。

# 在服务器上
git clone https://github.com/Shadowhusky/Tron.git
cd Tron
npm install
npm run build:web
npm run start:web

Settings > AI 里:提供商选 Ollama,base URL http://localhost:11434,模型 qwen2.5-coder:7b (或你拉取的任何模型)。智能体就跑起来了。shell、文件、网页搜索 —— 全在服务器上。

Tron 的智能体循环规划并执行命令,终端输出实时可见
智能体循环:规划、执行、读取输出、继续

方案 B:Tron 跑在本地,通过 SSH 适配器连远程

通过 Tron 的 SSH 配置弹窗连接远程服务器
SSH 配置 —— 智能体在远程的行为和本地一模一样

把 Tron 装在笔记本上,给服务器加一个 SSH 配置。开启会话时 Tron 打开一个 SSH shell —— 关键是,它的文件操作和 execute_command 工具会自动降级为通过同一个 SSH 会话执行的 shell 命令。 所以智能体的工具调用仍然落在远程机器上。

模型这边,把 Ollama 端口转发过来,Tron 指向 localhost:11434

ssh -L 11434:localhost:11434 you@homebox

推理快(到达服务器后走本地回环),工具在 SSH 的主机上执行。 两条隧道,同一个会话。

慢链路下选哪个模型做工具调用

实际跑下来的几点经验:

延迟的现实

如果 Ollama 在家用宽带的上行后面,每次工具调用的首 token 延迟大约 1–3 秒。 Tron 的自动压缩(上下文到 90% 时总结旧的工具输出)能让往返保持轻量。 把 Ollama 放到和开发服务器同区域、或者干脆同一台机器,差别很大。

为什么不直接用云端?

常规理由都成立:提示词和代码不离开你的硬件、没有速率限制、没有按 token 计费、离线可用。还有个不那么明显的:当智能体的工具调用和模型在同一台机器上时, 它的每一个动作都省掉了走你家上行的往返。瓶颈变成 GPU 吞吐,而不是你的运营商。

跑一遍这个循环

装上,指向 Ollama,看它执行。