- 協定
- OpenAI Chat Completions
- 基礎位址
https://www.realrelay.ai/v1- 官方文件
- github.com
- 已對照工具官方文件核對
- 2026-10
概覽
nanobot 是 HKUDS 推出的小型開源個人代理。它在你自己的電腦上執行,能處理檔案、記住偏好並執行排程任務;你可以透過瀏覽器、終端機或聊天應用程式與它對話。你要把 RealRelay.ai 加為自訂供應商,它使用 OpenAI Chat Completions API(/v1/chat/completions)。
一組 API 金鑰,在主控台的 API 金鑰頁面取得。
結尾要含
/v1的基礎位址。nanobot 不會替自訂供應商猜測 URL,所以這個欄位是必填的。一個模型 ID,完全依照
GET /v1/models列出的寫法,例如z-ai/glm-5.2。請挑選支援工具呼叫的模型。
nanobot 無法從 RealRelay.ai 讀取模型的上下文視窗。請依「設定」一節的說明,在模型預設集中設定。本頁介紹的是在 PyPI 上以 nanobot-ai 發布的 nanobot 代理,而非其他同名專案。
安裝
nanobot 需要 Python 3.11 或更新版本。官方安裝程式會替你選用一個獨立的 Python 環境,並在完成時開啟設定。如果你已經在使用 uv,請改為自行安裝套件。
curl -fsSL https://raw.githubusercontent.com/HKUDS/nanobot/main/scripts/install.sh | shirm https://raw.githubusercontent.com/HKUDS/nanobot/main/scripts/install.ps1 | iexuv tool install nanobot-ainanobot onboard安裝程式會印出它用來執行 nanobot 的完整指令。請把它記下來:如果 nanobot 不在你的 PATH 中,下文所有地方都請改用那個指令。
設定
你可以在瀏覽器的 Settings → Models 中設定供應商:建立新的預設集,在 Provider 選單中選擇 Add provider,再輸入連線資訊。以下步驟則是直接在檔案中編輯同樣的設定。
- 1
把金鑰存進環境變數
這樣金鑰就不會出現在設定檔中。完成後請開啟新的終端機。
~/.zshrc · ~/.bashrc export REALRELAY_API_KEY="sk-***"Windows PowerShell [Environment]::SetEnvironmentVariable("REALRELAY_API_KEY", "sk-***", "User") - 2
新增供應商與模型預設集
把這些區塊合併到
~/.nanobot/config.json,並保留檔案中既有的其他設定。如果檔案還不存在,請先執行nanobot onboard。~/.nanobot/config.json 1{2 "providers": {3 "realrelay": {4 "apiKey": "${REALRELAY_API_KEY}",5 "apiBase": "https://www.realrelay.ai/v1"6 }7 },8 "modelPresets": {9 "primary": {10 "provider": "realrelay",11 "model": "z-ai/glm-5.2",12 "maxTokens": 8192,13 "contextWindowTokens": 20000014 }15 },16 "agents": {17 "defaults": {18 "modelPreset": "primary"19 }20 }21} - 3
重新啟動 nanobot
nanobot 會在啟動時填入金鑰。如果 WebUI 或 gateway 已經在執行,請先停止再重新啟動。
realrelay是你為這個供應商取的名稱。它必須與預設集中的provider相同,而且不能是openai這類內建供應商名稱。${REALRELAY_API_KEY}會在啟動時從環境變數填入。這個值永遠不會寫回檔案。在這裡明確設定
provider很重要。設定之後,nanobot 會照原樣送出z-ai/glm-5.2。若維持auto,nanobot 可能會把斜線之前的部分當成供應商名稱。contextWindowTokens是模型的視窗大小,maxTokens限制單次回覆的長度。這裡顯示的值是安全的下限;請使用模型目錄頁面上的數字。
驗證
- 1
直接呼叫端點
用你的金鑰執行這段指令。若收到含
choices陣列的 JSON 回覆,就代表位址、金鑰與模型都沒問題。Terminal 1curl -sS "https://www.realrelay.ai/v1/chat/completions" \2 -H "Authorization: Bearer sk-***" \3 -H "content-type: application/json" \4 -d '{"model": "z-ai/glm-5.2", "max_tokens": 16, "messages": [{"role": "user", "content": "Reply with OK"}]}' - 2
檢查 nanobot 的設定並送出一則訊息
nanobot status會檢查設定,但不會呼叫模型。它應在 Config 與 Workspace 旁顯示勾號,並顯示primary預設集,以及供應商為已設定狀態。第二個指令會送出一則訊息。Terminal nanobot statusnanobot agent -m "Reply with OK" - 3
檢查回覆
只要收到正常的回答,就代表 nanobot 能載入設定並連到模型。該請求會出現在主控台的用量日誌中。接著再以
nanobot webui在 WebUI 中試一次。
模型
每個模型都是一個具名的預設集。每個 RealRelay.ai 模型新增一個預設集,並各自設定上限:
1"claude": {2 "provider": "realrelay",3 "model": "anthropic/claude-sonnet-4-6",4 "maxTokens": 8192,5 "contextWindowTokens": 2000006}以 /model 加上預設集名稱,即可把目前的工作階段切換過去。這個選擇只對該工作階段有效;新工作階段仍以 agents.defaults.modelPreset 為預設。
/model claude請不要把預設集命名為 default;這個名稱是保留字。若想在請求失敗時改用另一個預設集,請把它列在 agents.defaults.fallbackModels 中。適合代理使用的模型,列於選擇模型。
疑難排解
nanobot 在啟動時中止,並指出
REALRELAY_API_KEY。啟動 nanobot 的環境中沒有設定該變數。請設定它,開啟新的終端機後再重新啟動。401 或「invalid API key」。金鑰錯誤、頭尾多了空格,或是放在與預設集所用名稱不同的供應商底下。
404。
apiBase缺少/v1。請補上。找不到模型。模型 ID 與
GET /v1/models傳回的不完全相同,或是預設集的provider為auto,導致 nanobot 把請求送到別處。請把provider設為realrelay。「provider not found」。預設集的
provider與providers底下的鍵拼法不同。JSON 解析錯誤。合併區塊後少了逗號或大括號。這裡的範例只是檔案的片段,不是整份檔案。
修改沒有生效。你編輯檔案時 nanobot 已經在執行。請重新啟動 WebUI 或 gateway。
在
nanobot agent中可用,在聊天應用程式中卻不行。模型設定沒有問題。請以nanobot channels status檢查通道設定。
