返回指南
程式設計代理程式·2026年9月21日·更新於 2026年10月1日·閱讀約 10 分鐘

PicoClaw model not found 404:模型 ID 與 Anthropic 協定

PicoClaw 四種「找不到」錯誤中,有三種根本不會離開你的電腦。在變更協定或金鑰前,先確認是哪一層失敗。

最後審核於 。

在 PicoClaw 中,「找不到模型」和 404 是四種不同的失敗,而且只有其中一種發生在您的機器之外。 其中三種是本機問題——無法解析的別名、PicoClaw 自己的網頁後端回應 404,以及未知的通訊協定字串;第四種是上游 404,其本文會告訴您錯誤出在路由還是模型 ID。先閱讀錯誤文字,才能避免為了修正拼字錯誤而切換通訊協定。

本頁假設您已經有可運作的 model_list 項目和金鑰;設定本身以及 PicoClaw 的費用,請參閱 PicoClaw 定價與 API 設定。以下所有內容都是在已發布的 v0.3.1 標籤上讀取;releases API 於 2026 年 9 月 21 日確認該版本為最新版本,發布日期為 2026 年 7 月 3 日。儲存庫最後一次推送為 2026 年 9 月 17 日,因此 main 領先於該標籤——如有影響,文中會加以說明。2026 年 10 月 1 日,v0.3.1 仍是最新版本;接著使用其發布二進位檔對本機記錄端點執行測試,並使用刻意無效的金鑰對 Kunavo 執行測試;測試結果記錄如下。

四種失敗,一句話

層級你看到的情況字串所在位置它不是什麼
請求前的設定解析model "X" not found in model_list or providers、model "X" not found in model_list(其呼叫端會加上 error creating provider:),或 cannot found model 'X' in configpkg/config/config.go, pkg/providers/legacy_provider.go, cmd/picoclaw/internal/model/command.go不是 HTTP 狀態碼。不是金鑰、餘額或供應問題
PicoClaw 自己的網頁 UI 後端HTTP 404,本文 Model "X" not found in model_listweb/backend/api/models.go,即 set-default-model 處理常式不是來自任何模型 API——這個 404 來自 localhost
通訊協定解析unknown protocol "X" in model "Y"pkg/providers/factory_provider.go 中通訊協定 switch 的預設分支不是 404。只有在 provider 明確設定為目錄以外的值時才會到達此處
上游回應供應商自己的 404 本文,由 PicoClaw 包裝anthropic_messages/provider.go 或 pkg/providers/common/common.go四種情況中唯一與端點有關的一種

因此,首先要確認請求是否離開您的機器,而單靠字串就能判定。別名不相符是已有記錄的案例,而非假設:PicoClaw 議題 #958 回報 error creating provider: model "llama3.2" not found in model_list,同時 picoclaw status 顯示 Ollama 端點可連線,且存在名為 llama3.2:latest 的模型。該議題於 2026 年 3 月 25 日由儲存庫的過期議題機器人關閉。請注意,在此儲存庫中,標示為 completed 的已關閉議題不代表已修正——同一個機器人以相同文字關閉了 #1624。

包裝文字會指出實際執行的通訊協定

因為帶有 api key 的 anthropic 和 anthropic-messages 會建立不同的供應商,它們的 404 包裝文字也不同——因此錯誤字串本身就是免費的診斷資訊。

您看到的包裝文字產生該文字的供應商它告訴您 URL 的什麼資訊
endpoint not found (404): <body>原生 Messages 供應商請求已使用 X-API-Key 傳送至 <base>/v1/messages
先出現 API request failed:,接著是 Status: 和 Body: 行OpenAI 相容供應商——帶有 api key 的 anthropic 也使用它請求已傳送至結尾為 /chat/completions 的 URL,並使用 Authorization: Bearer
相同內容,另加上 returned HTML instead of JSON (content-type: ...); check api_base or proxy configuration.OpenAI 相容供應商您到達的是網頁伺服器或代理伺服器錯誤頁面,而不是 API。只會讀取前 256 個位元組,且預覽最多截短為 128 個字元

為什麼 PicoClaw 自己的 404 建議可能把您引向錯誤方向

PicoClaw 的 供應商指南 告訴您,當「現有的 anthropic 通訊協定傳回 404 錯誤(表示端點不支援 OpenAI 相容格式)」時,切換至 anthropic-messages,並補充一則解決命名問題的說明:「anthropic 通訊協定使用 OpenAI 相容格式(/v1/chat/completions),而 anthropic-messages 使用 Anthropic 的原生格式(/v1/messages)。」兩段引文均於 2026 年 9 月 21 日在 v0.3.1 上重新讀取。

該建議對路由 404 是正確的,對模型 404 則是錯誤的。同一檔案中,該建議位於一個表格下方 294 行,而表格的 Protocol 欄在 anthropic 列讀作 Anthropic,結論正好相反。程式碼以不明顯的方式解決這項矛盾:anthropic 會依據 auth_method 成為兩種通訊協定。 使用 oauth 或 token 時,它會建立原生 Anthropic SDK 供應商,表格的說法正確;使用 api key 時,它會退回與 openai 及其整個系列相同的 OpenAI 相容供應商,而說明的說法正確。

provider 與驗證最終請求 URL驗證標頭/v1 處理
openai 與 OpenAI 相容系列<api_base>/chat/completionsAuthorization: Bearer逐字使用 api_base,移除結尾斜線——您必須自行提供 /v1
帶有 api key 的 anthropic<base>/v1/chat/completionsAuthorization: Bearer強制處理:移除結尾斜線,去除一個末尾 /v1,然後重新附加 /v1
anthropic-messages<base>/v1/messagesX-API-Key 加上寫死的 Anthropic-Version: 2023-06-01同樣強制使用 /v1
anthropic 搭配 auth_method:oauth 或 token由原生 SDK 供應商處理來自驗證儲存區的憑證工廠在此分支不會正規化基底 URL

這直接帶來兩個結果。在 openai 系列中,若填入 https://api.kunavo.com 而非 https://api.kunavo.com/v1,就會組合出 https://api.kunavo.com/chat/completions——這是由你自己的設定造成的路由 404,也是最常見的一種。在兩種 Anthropic 協定中,都不可能發生這個錯誤,因為無論使用哪一種,都會強制加上 /v1;但同樣因為這項強制行為,如果某個閘道的路徑必須不以 /v1 結尾,就完全無法透過這兩種協定設定,而必須改用 openai 協定。PicoClaw 自己的文件也採用這個替代方式,來處理某家供應商的基底網址以不同版本路徑區段結尾的情況。

有一項說法仍應視為未定論。PicoClaw 議題 #269 中唯一的留言聲稱,在 Anthropic 對 /v1/chat/completions 發送 POST 請求會得到 404,因為正確端點是 /v1/messages。Anthropic 自己的文件與此矛盾:它發布了 OpenAI SDK 相容層,使用的 base_url 為 https://api.anthropic.com/v1/,並將 authorization 標頭標為「Fully supported」(已於 2026 年 9 月 21 日查核);同一頁面也提醒,該相容層「對大多數使用情境而言,不被視為長期或可用於生產環境的解決方案」。議題 #269 於 2026 年 3 月 13 日關閉,沒有關閉留言——issues API 顯示其中有一則留言,即上述分析,來自一個沒有儲存庫關聯的帳戶——因此實際解決方式未知。比起上述兩種說法,請更相信您自己收到的 404 回應本文。

當 404 是由模型 ID 造成時

PicoClaw 議題 #1624——於 2026 年 3 月 16 日開啟、2026 年 3 月 31 日關閉——記錄了帶點號 Claude ID 設定為 "model": "anthropic/claude-sonnet-4.6" 時的實際回應本文:Status: 404,並包含 {"error":{"code":"not_found_error","message":"model: claude-sonnet-4.6 was not found. Did you mean claude-sonnet-4-6?"…。其標題及唯一留言於 2026 年 9 月 21 日從 issues API 重新讀取:留言來自過期機器人,因此議題雖已關閉,卻沒有修正證據。

「您是不是要」提示就是判斷依據。它只會由已解析請求的端點傳回,因此路由正常,切換通訊協定不會有幫助。PicoClaw 不替您修正拼字的原因很明確且可查核:strings.ReplaceAll(model, ".", "-") 在儲存庫中只出現一次,位於 pkg/providers/anthropic/provider.go 第 219 行——也就是 OAuth 和權杖路徑使用的 SDK 供應商。anthropic_messages/provider.go 和 openai_compat/provider.go 都不包含它。這兩項陳述均於 2026 年 9 月 21 日在 v0.3.1 重新查核;本頁撰寫前進行的研究也在同日從 main 重新取得相同檔案,結果一致。2026 年 10 月 1 日執行 v0.3.1 二進位檔,在兩條 API 金鑰路徑上確認了這一點:帶點號的 ID 完全照原樣抵達端點,並回傳端點自己的 404(請參閱執行 v0.3.1 的結果)。唯一具有改寫功能的 OAuth 和權杖路徑未執行。

PicoClaw 自己的檔案對拼寫也不一致:provider_metadata.go 為兩個 Anthropic 項目列出帶連字號的 ID,供應商指南中的 anthropic 範例使用帶點號的 ID,而 anthropic-messages 透過 GetDefaultModel 回傳帶點號的預設值——這正是 #1624 顯示遭拒的拼寫。Anthropic 的 模型總覽列出的每個 Claude API ID 都使用連字號,而且該頁面將 Claude Sonnet 4.6 和 Claude Opus 4.6 列在「Legacy models (still available)」下,因此目前在 Anthropic 上,4.6 ID 收到 404 的原因不是已退役。這排除了一個原因,但不是所有原因:不支援該模型的閘道仍可能拒絕帶連字號的 ID。請從您呼叫的端點複製 ID,而不是從 README 複製。

明確寫入兩個項目,並保留帶連字號的 ID。金鑰不屬於此檔案——PicoClaw 會從 ~/.picoclaw/.security.yml 讀取金鑰,詳情請參閱 設定指南。

~/.picoclaw/config.json
{
  "agents": {
    "defaults": {
      "model_name": "kunavo-sonnet"
    }
  },
  "model_list": [
    {
      "model_name": "kunavo-sonnet",
      "provider": "openai",
      "model": "claude-sonnet-4-6",
      "api_base": "https://api.kunavo.com/v1"
    },
    {
      "model_name": "kunavo-sonnet-native",
      "provider": "anthropic-messages",
      "model": "claude-sonnet-4-6",
      "api_base": "https://api.kunavo.com"
    }
  ]
}

第一個項目自行提供 /v1,因為 OpenAI 相容系列會將 /chat/completions 逐字串接到 api_base 上。第二個項目刻意省略它,以顯示在 anthropic-messages 中兩種拼寫會正規化為相同的基底。Kunavo 發布的基底 URL 是 https://api.kunavo.com/v1,用於 聊天完成,而 https://api.kunavo.com/v1/messages 用於 Messages 路由。兩組 URL 算術結果相符,是對兩組文件進行算術運算的結果;2026 年 10 月 1 日,兩個項目都從 v0.3.1 對 Kunavo 執行測試,並使用刻意無效的金鑰:openai 項目到達 /v1/chat/completions,anthropic-messages 項目到達 /v1/messages,兩者都收到 Kunavo 的 401 回應。這證明 URL 正確,並不代表請求已完成:本頁沒有任何地方聲稱測試過整合。關於基底 URL 問題的一般形式,請參閱Anthropic 基底 URL 文件。

閘道也可能刻意回應 404,而這不是 PicoClaw 的錯誤。Kunavo 會對暫時暫停的模型回傳 404,本文會命名該模型以及應改用的替代模型,並從 /v1/models 中省略暫停的模型;請比對該訊息的結構,而不是特定名稱,因為哪些模型暫停會變動。Kunavo 也不提供 embedding、文字轉語音或語音轉文字模型,因此命名其中任何一種模型的 model_list 項目無論選擇哪種通訊協定都會收到 404——請將這些項目指向其他供應商,並在 Kunavo 金鑰上只保留聊天項目。

v0.3.1 執行結果

2026 年 10 月 1 日,v0.3.1 發行二進位檔已使用發行版本自身的 checksums 檔案完成校驗,並在一次性容器中逐次執行,每次只放入一個 model_list 項目,並使用 picoclaw agent -m。端點是當時行為如 Kunavo 路由的本機記錄伺服器——/v1/* 是 API,其他任何路徑都會回傳 HTML 404 頁面(Kunavo 現在會對這些路徑以 JSON 404 回應並指出修正方式;請參閱 Kunavo 列)——它知道 claude-sonnet-5 和 claude-sonnet-4-6,但不知道帶點的 ID;最後三列使用真正的 api.kunavo.com 搭配刻意無效的金鑰,因此其中沒有任何內容產生計費。

項目PicoClaw 傳送的內容PicoClaw 列印的內容
openai、api_base,結尾為 /v1POST /v1/chat/completions, Authorization: Bearer回應
openai、api_base,不含 /v1POST /chat/completions——逐字呈現,未加入任何內容API request failed: … returned HTML instead of JSON (content-type: text/html; charset=utf-8); check api_base or proxy configuration.,接著是 Status: 404
anthropic 搭配 API 金鑰,可包含或不包含 /v1POST /v1/chat/completions、Authorization: Bearer——/v1 強制採用這兩種方式回應
anthropic-messages,可包含或不包含 /v1POST /v1/messages, X-API-Key, Anthropic-Version: 2023-06-01回應
anthropic-messages,模型為 claude-sonnet-4.6完全按照原樣的 ID,包括句點找不到端點(404):接著是端點主體,其中指出模型
openai,模型為 claude-sonnet-4.6完全按照原樣的 IDAPI request failed:,接著是 Status: 404,以及指出模型的主體內容
沒有相符項目的預設別名沒有任何內容——沒有請求error creating provider: model "…" not found in model_list: model "…" not found in model_list or providers
Kunavo、openai,基底為 https://api.kunavo.comPOST /chat/completions,位於 /v1 之外當天稍早:相同的 returned HTML instead of JSON 訊息、Status: 404。Kunavo 當天變更後重新執行:API request failed:、Status: 404,以及以 "Not found: /chat/completions. Kunavo's API lives under /v1 — set the base URL to https://api.kunavo.com/v1" 開頭的 JSON 主體
Kunavo、openai、基底為 https://api.kunavo.com/v1、無效金鑰POST /v1/chat/completionsAPI request failed:、Status: 401、Kunavo 的 Missing or invalid API key 主體
Kunavo、anthropic-messages、無效金鑰POST /v1/messagesauthentication failed (401): check your API key

這次執行確定了兩件僅靠閱讀原始碼只能預測的事。錯誤包裝器確實會指出實際執行的提供者,因此可以放心據此判讀通訊協定;而帶點的 ID 在兩條 API 金鑰路徑上都會原樣傳送,因此引用帶點 ID 的「找不到模型」錯誤,修正方式是重新拼寫 ID,而不是切換通訊協定。本次未涵蓋:OAuth 和 token 路徑、啟動器的網頁 UI、串流,以及任何透過 Kunavo 完成的請求——Kunavo 列刻意使用了無效金鑰。

最精簡的檢查順序

  1. 有任何內容離開這台機器嗎? 若終端機錯誤包含 not found in model_list 且沒有 HTTP 狀態碼,這是本機錯誤。讓 agents.defaults.model_name 等於某個 model_name 項目,然後停在這裡。
  2. 它來自 localhost 嗎? 在 PicoClaw 網頁 UI 中選取預設模型時,瀏覽器顯示的 404 是相同的不相符問題,由 PicoClaw 自己的後端提供。沒有涉及模型 API。
  3. 哪個提供者執行了? 將包裝器文字與上表比對。如果包裝器與你認為已設定的通訊協定不符,provider 欄位或模型前綴就不是你以為的內容。
  4. 是路由 404 還是模型 404? 指出你模型的主體——尤其是附有 did you mean 提示——就是模型 404:修正 ID。HTML 頁面、空主體或一般性的找不到錯誤則是路由 404:在處理其他事項前,先根據表格重新推導組合後的 URL。
  5. 詢問端點提供哪些服務。 PicoClaw 無法對任一 Anthropic 通訊協定執行此操作,因為兩個目錄項目都未設定 fetch 旗標。使用 curl 對閘道自身的 /v1/models 執行,或暫時讓同一閘道指向 openai 通訊協定。Model not found across providers 涵蓋該方法,而 Anthropic 404 model not found 涵蓋 ID 本身有問題的情況。
  6. 現在才變更通訊協定,而且只有在第 4 步指出是路由 404 時才變更。如果阻礙因素是驗證標頭而不是線上格式,auth token versus api key 會說明其中差異。
  7. 使用一輪工具重新驗證,而不是單純的聊天回合。 能回答裸訊息的設定,仍可能在第一次工具呼叫時失敗,因此用來確認修正有效的受限任務應包含一次工具呼叫。

通訊協定選擇的代價

最大的成本影響是提示快取,而且這是結構性因素,不是設定。在 PicoClaw v0.3.1 中,唯一會產生快取斷點的程式碼位於 pkg/providers/anthropic/provider.go,而且只有在 OAuth 和 token 路徑上才會到達。使用 API 金鑰——一般的自備金鑰情況——兩種 Anthropic 通訊協定都不會傳送 cache_control。對 Anthropic 自身的相容層而言,這會更加不利,因為其文件明確指出「不支援提示快取,但 Anthropic SDK 支援」。對會為 OpenAI 格式呼叫者插入斷點的閘道而言,節省的成本會改由閘道端實現;Kunavo 的 caching documentation 表示它會這樣做,且精確限定適用範圍:透過 /v1/chat/completions 或 /v1/responses 到達的 Claude 模型。同一頁也表示,在原生 Messages 路由上,cache_control 會未翻譯地傳遞——因此 anthropic-messages 項目兩端都不會取得斷點,而下方第二欄僅描述 openai 通訊協定項目。未檢查其他閘道是否會插入斷點,以上任何內容也不是在 PicoClaw 內部觀察到的。

這項價值是用於說明的 token 算術,不是測得的任務成本,也不是帳單上限。假設一次代理程式回合包含 10 輪工具操作,每一輪都重新傳送相同的 20,000 個 token 前綴(系統提示、工具結構描述、目前為止的轉錄內容),加入 1,000 個新的輸入 token,並回傳 600 個輸出 token。這些比例僅是說明用假設。第一欄以完整費率計算每一輪的輸入;第二欄則從第二輪起,以快取讀取費率計算重複的前綴。費率是即時的 Kunavo 目錄每百萬 token 價格。

模型每 1M 的輸入/輸出每 1M 的快取讀取估算,不含斷點估算,前綴已快取
Claude Haiku 4.5$0.70 / $3.50$0.07$0.168$0.055
Claude Sonnet 4.6$2.10 / $10.50$0.21$0.504$0.164
Claude Opus 5$3.50 / $17.50$0.35$0.840$0.273

在這些假設下,Claude Sonnet 4.6 會從 $0.504 變成 $0.164,完成相同的工作。請將第二欄視為樂觀估計:快取寫入會以其自身費率計費,且兩個方向都未加以建模;如果前綴每輪都變更,則完全不會成為快取命中。在將任何數字視為預算前,先按照每天的回合數進行換算。

同時將兩筆帳單分開看。PicoClaw 本身免費——該儲存庫採用 MIT 授權,而且沒有任何通訊協定(包括兩種 Anthropic 通訊協定)需要付費才能使用。持續產生的成本是依你提供者費率計算的模型 token。Kunavo 的目錄金額是計費下限而非上限:上游回報費用時,帳單金額取目錄成本與上游成本乘以適用加成兩者中的較高者。最低加值金額是 $10 的預付額度,這是資金下限,不是任務費或訂閱費——請參閱 billing details。

直接供應商、閘道、訂閱或本機

方式適用時機這裡的成本
直接供應商 API 金鑰整天使用同一供應商的模型,而您希望使用該供應商自己的快取與批次條款在 Anthropic 的相容層上,文件說明提示快取不受支援,因此 anthropic 通訊協定放棄了這項功能;anthropic-messages 保留原生路由,但 PicoClaw 使用 API 金鑰時仍不會傳送 cache_control
OpenAI 相容閘道你會依任務切換模型,並希望使用一把金鑰和一個餘額,而且需要 custom_headers、extra_body、proxy 或串流正常運作你必須自行處理 /v1 問題,因為 api_base 會逐字使用。OpenAI-compatible API 涵蓋一般形式
Anthropic 原生閘道路徑你的端點只提供 /v1/messages,或只接受 X-API-Key四個有文件說明的 model_list 欄位永遠不會到達提供者,而且它沒有實作串流方法——因此 streaming.enabled 和 custom_headers 驗證替代方案都無法使用
訂閱登入固定費率的大量使用比按權杖計費更適合您PicoClaw 不提供自己的訂閱。OAuth 和 token 分支是唯一會正規化帶點 ID 並產生快取斷點的路徑,但本頁未執行該登入流程,也未驗證它接受哪些內容
本機模型不按請求收費的小型或私人工作——ollama、lmstudio 和 vllm 都不需要金鑰相較於託管模型的能力差距,加上硬體需求。PicoClaw 未捆綁推論引擎:它透過 HTTP 連接每個模型,而這三個選項都是由你自行執行的 OpenAI 相容伺服器

是在選擇執行環境,而不是路由嗎?PicoClaw vs OpenClaw 會比較兩者的部署形式。如果你選擇閘道並想為金鑰儲值,請建立 Kunavo 帳戶,然後傳送一個包含工具呼叫的受限任務,並查看你的帳戶實際記錄的費用。

常見問題

為什麼 PicoClaw 會顯示找不到模型?

最常見的原因是別名無法在本機解析,且這發生在任何 HTTP 請求送出之前。PicoClaw v0.3.1 對此有三個不同的 HTTP 前字串:pkg/config/config.go 中的 "model %q not found in model_list or providers"、pkg/providers/legacy_provider.go 中的 "model %q not found in model_list"(其呼叫端會加上 "error creating provider:"——議題 #958 的內容和 PicoClaw 自己的疑難排解頁面都顯示了這種形式),以及 model 指令中的 "cannot found model '%s' in config"。三者都表示 agents.defaults.model_name 不等於 model_list 中任何 model_name 項目。已提交的案例是 PicoClaw 議題 #958:回報者設定模型為 "llama3.2",但 picoclaw status 顯示 Ollama 模型為 llama3.2:latest,且 Ollama 端點可連線——供應商正常,問題出在別名。留言者確認原因正是如此,回報者也確認設定變更有效;該議題後來於 2026 年 3 月 25 日由儲存庫的過期議題機器人關閉,而非透過程式碼修正。如果訊息帶有 HTTP 狀態碼,則請求確實已離開您的機器,原因在上游,而不在 model_list。

PicoClaw 的 anthropic 404 代表什麼?

先讀取回應本文再進行任何變更,因為兩種不同的 404 會呈現相同的狀態碼。路由 404 表示 PicoClaw 組出的 URL 在該主機上不存在——可能是空白或 HTML 錯誤頁面,或網頁伺服器傳回的一般找不到錯誤。模型 404 表示請求已到達真正的端點,端點解析了請求但拒絕模型 ID;Anthropic 的這類本文是命名該模型的 not_found_error,而 PicoClaw 議題 #1624 原文記錄為 "model: claude-sonnet-4.6 was not found. Did you mean claude-sonnet-4-6?"。「您是不是要」提示證明路由正常,因此切換通訊協定沒有幫助——應改正模型 ID。PicoClaw 的兩條路徑也會以不同方式包裝 404:原生 Messages 供應商會顯示 "endpoint not found (404): <body>",而 OpenAI 相容供應商會顯示 "API request failed:",接著是 Status 和 Body 行,另有本文為 HTML 時的獨立變體。內容讀取時間為 2026 年 9 月 21 日,標籤為 v0.3.1。

收到 404 時,我應該從 anthropic 切換至 anthropic-messages 嗎?

只有在 404 是路由 404 時才應切換。PicoClaw 自己的供應商文件表示,當「現有的 `anthropic` 通訊協定傳回 404 錯誤(表示端點不支援 OpenAI 相容格式)」時,應使用 anthropic-messages;對於只提供 /v1/messages 的端點,這是合理建議。對模型層級的 404 而言,這是錯誤做法,而且會犧牲一些功能:在 anthropic-messages 路徑上,PicoClaw 只會將 api key、基底 URL、使用者代理程式和請求逾時傳給供應商,因此 custom_headers、extra_body、proxy 和 max_tokens_field 都不會送達;此外,該供應商沒有實作串流方法,因此 streaming.enabled 也無法在此生效。它還會變更驗證標頭——使用 api key 的 anthropic 會傳送 Authorization: Bearer,而 anthropic-messages 會傳送 X-API-Key,並寫死 Anthropic-Version 為 2023-06-01。如果您的閘道只接受其中一種標頭,這會獨立於資料傳輸格式限制可用的通訊協定。已於 2026 年 9 月 21 日檢查 PicoClaw v0.3.1 原始碼。

PicoClaw 會照原樣傳送像 claude-sonnet-4.6 這樣帶點號的模型 ID 嗎?

在兩條 API 金鑰路徑上,原始碼表示不會改寫它。點號轉連字號的 strings.ReplaceAll(model, ".", "-") 只在儲存庫中出現一次,位於 pkg/providers/anthropic/provider.go 第 219 行——也就是 OAuth 和權杖驗證方法使用的 SDK 供應商。pkg/providers/anthropic_messages/provider.go 和 pkg/providers/openai_compat/provider.go 都沒有這段程式碼;2026 年 9 月 21 日從 main 重新取得這些檔案時,情況也相同。這很重要,因為 PicoClaw 自己的 anthropic-messages GetDefaultModel 回傳帶點號的寫法,providers.md 中 anthropic 通訊協定的範例使用帶點號的 ID,而 provider_metadata.go 目錄則為兩個項目列出帶連字號的 ID——它自己的三個檔案彼此不一致。Anthropic 模型總覽列出的每個 Claude API ID 都使用連字號。2026 年 10 月 1 日,使用 v0.3.1 發布版本對本機記錄端點執行測試,確認兩條 API 金鑰路徑的情況:在 anthropic-messages 和 openai 上,ID 都以 claude-sonnet-4.6 抵達端點,而端點的 404 分別包裝為 "endpoint not found (404)" 和 "API request failed"。未執行有改寫功能的 OAuth 和權杖路徑。

我的 api_base 看起來正確,但仍然收到 404。還有什麼會改變 URL?

是前綴規則,而且它會靜默失敗。當 model_list 項目缺少 provider 欄位時,PicoClaw 只有在以斜線分隔的第一個區段是已知供應商 ID 時,才會將 model 的第一個區段視為通訊協定;否則整個字串會維持為模型 ID,而通訊協定則退回字面值 "openai"。PicoClaw 自己的遷移文件較寬鬆地說,省略 provider 會使第一個區段成為供應商;因此,拼錯的前綴看起來應該引發錯誤,實際上卻會對無意義的模型 ID 產生上游 404。設定 provider 時,model 會完全不變地傳送至上游,包括重複的前綴;程式碼自己的註解以 Provider "openai"、Model "openai/gpt-4o" 為例,解析出的模型 ID 為 "openai/gpt-4o"。PicoClaw 自己的疑難排解頁面也對另一家供應商使用相同範例:單獨的 "model": "free" 不正確,因為未選取 OpenRouter 供應商;建議形式是 "provider": "openrouter" 搭配 "model": "free",而 "model": "openrouter/free" 也列為支援形式,正是因為 openrouter 是已知供應商 ID。該頁面本身沒有版本號;它隨 v0.3.1 樹狀版本發布,於 2026 年 9 月 21 日讀取。

PicoClaw 能列出我的端點提供哪些模型嗎?

兩種 Anthropic 通訊協定都不行。PicoClaw 啟動器網頁 UI 中的 fetch-models 按鈕取決於供應商選項表中的 SupportsFetch 旗標,而 anthropic 和 anthropic-messages 的項目都省略了它。大多數 OpenAI 相容通訊協定都設定了該旗標——openai、openrouter、litellm、ollama、lmstudio、vllm、deepseek、groq 以及另外二十個——因此這個缺口只涉及兩個 Anthropic 項目,而不是一般的自訂端點。這表示您必須使用 curl 對閘道自己的 /v1/models 路由發出請求,詢問端點提供的模型;或者暫時將同一閘道指向 openai 或 litellm 通訊協定,以借用取得模型的功能。請注意,這並不表示上游 API 是否有 /v1/models 路由;它只說明 PicoClaw 自己能呼叫什麼。內容讀取自 v0.3.1 標籤中的 pkg/providers/provider_metadata.go,時間為 2026 年 9 月 21 日。

修正這個問題需要付費嗎?

PicoClaw 本身不收費。sipeed/picoclaw 儲存庫採用 MIT 授權,其 LICENSE 檔案內容為 "MIT License / Copyright (c) 2026 PicoClaw contributors",已於 2026 年 9 月 21 日查核;沒有帳戶、方案層級或付費通訊協定,因此包括兩種 Anthropic 通訊協定在內的所有通訊協定都包含在免費二進位檔中,無需向 Sipeed 購買任何項目來解鎖自訂端點。需要付費的是模型 API 流量,費用由您設定的供應商計量,而 PicoClaw 本身沒有發布任何費率。搜尋時請注意:有一個外觀相似但無關聯的網站以 PicoClaw 名義銷售月租託管方案,但其頁尾自稱是與 Sipeed 或 PicoClaw 沒有官方關聯的獨立入口網站——因此其月費數字是該網站的託管價格,不是 PicoClaw 的價格。

已於 2026 年 9 月 21 日檢查。本次任務在 v0.3.1 標籤重新驗證:提供者指南的通訊協定備註與 Anthropic 供應商列、factory_provider.go 中的 anthropic 分支與預設分支、NormalizeBaseURL、anthropic-messages 的 URL、標頭與 404 字串、openai_compat 的 URL 串接與 Bearer 標頭、三個 HTTP 請求發出前的「not found in model_list」字串、網頁後端的 404、唯一一次的點號轉連字號替換、提供者選項表的 SupportsFetch 欄,以及 docs/operations/troubleshooting.md 中的 OpenRouter 範例;此外還檢查了 releases API(v0.3.1,於 2026 年 7 月 3 日發布),以及 issue #1624、#958 和 #269 的標題、狀態、日期與留言。Anthropic 的 OpenAI-SDK 相容性頁面也在同日閱讀。2026 年 10 月 1 日執行:在容器中對本機記錄端點執行 v0.3.1 發行二進位檔,並以無效金鑰對 Kunavo 執行——涵蓋上表的每一列。未驗證:main 中研究進行差異比對的檔案以外的任何內容、issue #269 是因何關閉、OAuth 和 token 路徑,以及任何透過 Kunavo 完成的請求。Kunavo token 費率來自即時目錄,而此處每個美元數字都是說明用的 token 算術。