Windows 用 WSL + Ollama 本地部署 Hermes Agent,並接入 Telegram

整理一套適合 Windows 使用者的 Hermes Agent 本地部署流程:先安裝 WSL 和 Ubuntu,再裝 Ollama、Gemma 4,並完成 Hermes Agent 與 Telegram 的基礎接入。

如果你想在 Windows 上盡量低門檻地跑 Hermes Agent,一個比較順手的路徑是:

  • 宿主系統繼續用 Windows
  • WSL 裡跑 Ubuntu
  • Ollama 提供本地模型
  • Hermes Agent 直接連接本地 Ollama 介面

這樣做的好處是環境相對乾淨,命令大多按 Linux 方式執行,同時又不需要單獨準備一台 Linux 機器。

整體流程

這套部署可以拆成 4 步:

  1. 啟用 WSL 並安裝 Ubuntu
  2. 在 Ubuntu 裡補齊 Python、Node.js、Git 等執行環境
  3. 安裝 Ollama 並拉取本地模型
  4. 安裝 Hermes Agent,再接入 Telegram

如果你只想先把 Hermes Agent 跑起來,其實做到第 3 步就已經很接近完成了。

1. 安裝 WSL 和 Ubuntu

在管理員權限的 PowerShell 裡執行:

1
wsl --install

安裝完成後重新啟動電腦,然後繼續安裝 Ubuntu:

1
wsl --install -d Ubuntu

之後打開 WSL 裡的 Ubuntu,後續命令基本都在這裡執行。

2. 更新 Ubuntu,並安裝基礎環境

先更新系統:

1
2
sudo apt update
sudo apt upgrade -y

然後安裝 Python、解壓工具、Node.js 和 Git。

安裝 Python

1
sudo apt install python3-pip python3-venv -y

安裝 zstd

1
sudo apt install -y zstd

安裝 Node.js

1
2
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs

安裝 Git

1
2
sudo apt update
sudo apt install -y git

安裝完成後可以順手檢查一下:

1
2
3
node -v
npm -v
git --version

3. 安裝 Ollama,並拉取 Gemma 4

安裝 Ollama:

1
curl -fsSL https://ollama.com/install.sh | sh

如果你打算給 Hermes Agent 配一個本地模型,可以直接從 Gemma 4 開始。

例如:

1
ollama run gemma4:e4b

如果機器資源更弱,也可以試:

1
ollama run gemma4:e2b

更大的版本還有:

1
2
ollama run gemma4:26b
ollama run gemma4:31b

對大多數 Windows + WSL 的普通機器來說,gemma4:e4b 通常是更實際的起點。

4. 安裝並配置 Hermes Agent

安裝命令:

1
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

安裝完成後,給它指定 Ollama 的本地介面:

1
http://127.0.0.1:11434

模型名填你本地實際在用的那個,例如:

1
gemma4:e4b

如果安裝腳本要求刷新 shell,可以執行:

1
source ~/.bashrc

Hermes Agent 常用命令

平時最常用的是下面幾個:

啟動

1
hermes

重新進入配置

1
hermes setup

配置聊天平台閘道

1
hermes setup gateway

更新

1
hermes update

接入 Telegram 的基礎步驟

如果你要讓 Hermes Agent 透過 Telegram 收發訊息,核心還是先跑一遍:

1
hermes setup gateway

然後準備 Telegram 端需要的兩個東西:

  • BotFather 建立機器人
  • @userinfobot 取得你的 User ID

拿到這些基礎資訊後,再按 Hermes Agent 的閘道配置繼續填入即可。

這套方案適合什麼人

這套方式比較適合下面幾類使用者:

  • 平時主力系統就是 Windows
  • 不想單獨折騰完整 Linux 主機
  • 想先把本地 Agent 跑通,再慢慢擴展聊天平台接入
  • 希望優先用本地模型,不依賴雲端 API

如果你只是想本地體驗一個 Agent,而不是一開始就做複雜生產部署,這條路線已經足夠實用。

需要注意的幾個點

  • WSL 本質上還是一層相容環境,極端場景下穩定性未必和原生 Linux 完全一樣
  • 大模型能不能跑得順,最終還是取決於你的記憶體、顯存和 CPU / GPU 條件
  • gemma4:e4b 雖然是比較現實的起點,但具體體驗還是要看機器配置
  • Hermes Agent 的聊天平台接入屬於「能力擴展」,先把本地模型鏈路跑通,再加 Telegram,會更穩

原文參考

本文根據下列頁面內容整理並改寫:

在 WSL 中接入 Ollama 與 Codex OSS 本機 Agent

在 Windows 上部署本地 Agent,最省心的結構通常不是把模型服務、Docker、終端和代碼工具散落在 Windows、WSL 與多個虛擬環境裏,而是把它們放進同一個 WSL2 Ubuntu 發行版:

1
2
3
4
5
6
Windows
└─ WSL2 Ubuntu
   ├─ Ollama:本地模型服务
   ├─ 本地模型:聊天、代码、Embedding
   ├─ Codex OSS:Agent 客户端
   └─ 项目目录:代码、Git、测试命令

這樣 Ollama 和 Agent 直接通過 WSL 內的 localhost 通信,路徑、權限和日誌都在 Linux 環境內。Windows 端可以繼續用 Windows Terminal、VS Code Remote WSL 或資源管理器訪問項目。

先說結論

最小可用路線是:

1
2
3
4
5
6
安装 WSL2 Ubuntu
-> 在 Ubuntu 安装 Ollama 和一个小模型
-> 在 Ubuntu 内验证 ollama run
-> 用 codex --oss --local-provider ollama 启动 Agent
-> 先执行只读任务
-> 再逐步允许修改、测试和工具调用

不要一開始就讓本地 Agent 獲得全盤權限,也不要先追求最大的模型。先用能穩定運行的模型驗證流程,比先折騰複雜代理、遠程端口和多 Agent 編排更重要。

第一步:安裝 WSL2 和 Ubuntu

在 Windows 的管理員 PowerShell 中執行:

1
wsl --install

重啓後,默認會安裝 Ubuntu。首次打開 Ubuntu 時,按提示創建 Linux 用戶名和密碼。

確認發行版使用 WSL2:

1
wsl -l -v

如果舊發行版仍是版本 1,可轉換:

1
wsl --set-version Ubuntu 2

進入 Ubuntu:

1
wsl

後續大部分命令都在 Ubuntu 終端裏執行,而不是 PowerShell。

第二步:準備 Ubuntu 基礎環境

進入 WSL 後先更新系統:

1
2
3
sudo apt update
sudo apt upgrade -y
sudo apt install -y curl git ca-certificates

確認環境:

1
2
3
uname -a
pwd
git --version

項目建議放在 Linux 文件系統內,例如:

1
2
mkdir -p ~/projects
cd ~/projects

不要把高頻 Git、Node.js、Python 虛擬環境和大規模依賴都放在 /mnt/c/... 下運行。跨文件系統訪問在某些開發任務裏會更慢,也更容易遇到權限和文件監聽差異。需要從 Windows 打開項目時,可使用 VS Code 的 Remote WSL 功能。

第三步:在 WSL 內安裝並驗證 Ollama

按 Ollama Linux 安裝方式執行:

1
curl -fsSL https://ollama.com/install.sh | sh

先在當前終端啓動服務:

1
ollama serve

另開一個 WSL 終端,下載並測試一個模型:

1
2
ollama pull qwen3:8b
ollama run qwen3:8b

模型選擇必須按你的 GPU 顯存或 CPU/內存決定。沒有可用 GPU 時,先用更小模型驗證流程;不要把“大模型文件能下載”誤認爲“本機能流暢推理”。

確認服務和模型狀態:

1
2
ollama ls
ollama ps

如果 ollama run 本身不能穩定輸出,先解決模型、顯存、驅動或內存問題,再接 Agent。

第四步:檢查 WSL GPU 是否真的可用

有 NVIDIA GPU 時,在 WSL 內執行:

1
nvidia-smi

能顯示顯卡不等於 Ollama 已經使用 GPU,但它至少證明 WSL 看到了驅動。啓動模型後,再執行:

1
2
ollama ps
nvidia-smi

觀察模型是否使用 GPU、顯存是否增長。

如果 nvidia-smi 不存在或報錯,先檢查 Windows 的 NVIDIA 驅動、WSL 版本和 GPU 支持,不要急着在 Ubuntu 內反覆安裝桌面 Linux 驅動。WSL 的 GPU 支持有自己的驅動鏈路。

第五步:讓 Codex 使用本地 Ollama

Codex 提供 OSS 模式,可選擇 Ollama 或 LM Studio 作爲本地提供方。在 WSL 內安裝並可運行 Codex 後,進入你的項目目錄:

1
cd ~/projects/your-project

首次建議使用只讀權限啓動:

1
codex --oss --local-provider ollama --sandbox read-only

先給一個不修改文件的任務:

1
阅读当前仓库的 README 和目录结构,说明启动、测试和构建命令。不要修改任何文件。

確認本地模型能讀懂倉庫、回答穩定後,再按需使用 workspace 寫入權限。不要因爲它是本地模型,就跳過 Git、測試和權限控制。

如果想把 Ollama 作爲默認本地提供方,在用戶級 Codex 配置 ~/.codex/config.toml 加入:

1
oss_provider = "ollama"

之後用下面命令即可:

1
codex --oss

注意,提供方相關配置應放在用戶級配置中,而不是項目裏的 .codex/config.toml。項目配置不應偷偷改變你機器的模型提供方。

第六步:需要常駐服務時啓用 systemd

新安裝的 WSL Ubuntu 通常已默認使用 systemd。先檢查:

1
systemctl status

若當前發行版沒有啓用 systemd,編輯:

1
sudo nano /etc/wsl.conf

加入:

1
2
[boot]
systemd=true

然後回到 Windows PowerShell:

1
wsl --shutdown

重新進入 Ubuntu 後再檢查 systemctl status

是否把 Ollama 做成常駐服務,要看安裝方式和你是否需要後臺 API。剛開始學習時,保持一個 ollama serve 終端最容易看到日誌;確認穩定後,再用 systemd 管理服務。

WSL 內的路徑、端口和 API

默認情況下,Ollama 服務使用:

1
http://localhost:11434

如果 Agent、腳本和 Ollama 都在同一個 WSL 發行版中,優先使用這個本地地址,不需要先開放局域網端口。

測試 API:

1
curl http://localhost:11434/api/tags

需要在 Windows 程序、手機或局域網其他設備中調用時,再單獨設計網絡暴露方式、反向代理和鑑權。不要把裸露的本地模型端口直接映射到公網。

推薦的資源分級

硬件情況 建議的起步方式
無獨顯、8GB–16GB 內存 小模型、只讀分析、摘要和簡單腳本
8GB 顯存 7B/8B 量化模型,單用戶短到中等上下文
12GB–16GB 顯存 8B 更舒適,可謹慎嘗試更大量化模型
24GB+ 顯存 可考慮更大模型、長上下文或更復雜的本地 Agent 任務

模型越大不代表 Agent 越可靠。對本地 Agent 來說,命令執行穩定性、上下文、工具調用能力和任務拆分方式,同樣影響結果。

最容易踩的坑

1. Windows 和 WSL 各跑了一套 Ollama

這會讓你分不清 Agent 實際連到哪一個服務。初次部署建議只在 WSL 內運行一套 Ollama,所有測試都在同一個 WSL 終端完成。

2. 在 /mnt/c 裏跑所有開發任務

可以訪問,但依賴安裝、文件監聽、Git 性能和 Linux 權限行爲未必理想。優先把活躍項目放到 ~/projects

3. 本地模型一開始就允許寫文件

先用 --sandbox read-only 驗證模型是否理解任務。進入修改階段後,也應先讓它說明計劃,再檢查 diff、運行測試並用 Git 保留回退點。

4. 端口開放後沒有鑑權

本地 API 一旦允許局域網訪問,就不再只是“自己電腦上的服務”。至少限制防火牆來源,必要時在反向代理層增加鑑權和 HTTPS。

5. 以爲安裝成功就會自動後臺運行

WSL 關閉或發行版被停止後,前臺進程會退出。需要長期 API 時,先確認 systemd、服務狀態和 Windows/WSL 的運行策略。

結論

如果你想在 Windows 上盡量簡單地本地部署 Hermes Agent,比較順的順序就是:

WSL -> Ubuntu -> Ollama -> Gemma 4 -> Hermes Agent -> Telegram

先把本地模型跑通,再做閘道接入,成功率會高很多。對大多數使用者來說,這比一上來就堆很多元件更容易排錯,也更適合後續繼續擴展。

替代後端:Qwen3.6、llama.cpp 與本機 API

Ollama 適合快速起步;需要精確控制 GGUF 量化、GPU offload、context 與 chat template 時,可改用 llama.cpp。請從可信模型卡下載適合硬體的 Qwen3.6 GGUF 並記錄校驗值,不綁定單一第三方量化倉庫。

1
2
3
4
5
sudo apt update
sudo apt install -y git cmake build-essential
git clone https://github.com/ggml-org/llama.cpp.git
cmake -S llama.cpp -B llama.cpp/build -DGGML_CUDA=ON
cmake --build llama.cpp/build --config Release -j

先以 8K context 啟動,替換為實際模型路徑。--n-gpu-layers 99 只是盡量 offload,OOM 時請減少層數或改用較小量化。

1
2
3
4
5
6
./llama.cpp/build/bin/llama-server \
  --model ~/models/qwen3.6-model.gguf \
  --n-gpu-layers 99 \
  --ctx-size 8192 \
  --host 127.0.0.1 \
  --port 8080
1
2
curl http://127.0.0.1:8080/v1/models
curl http://127.0.0.1:8080/health

hermes setup 將自訂 endpoint 設為 http://127.0.0.1:8080/v1,模型名使用 /v1/models 的實際 ID,API Key 只填本機占位值。先測對話,再測 tool call 與檔案權限;能輸出文字但工具持續失敗,通常是模型能力或 chat template 不相容。

thinking 開關應依模型卡與已安裝 llama.cpp 版本支援的參數設定。每次只更動模型、context、GPU layers 或 template 其中一項,保留最後可工作的命令。服務維持監聽 127.0.0.1;遠端存取需由反向代理加入認證與 TLS。