Skip to content

底層端點參考 ​

WARNING

以下端點僅供進階除錯和無法使用 Luker.getContext() 的整合場景參考。它們是同源 Web 應用路由,不是主要的外掛 API 契約。正常外掛開發應使用其他擴充 API 子頁面所述的 Context API。

外掛也可以透過 context API 讀寫世界書條目;下面列出世界書的原始 HTTP 路由。

角色聊天 ​

方法路徑說明
POST/api/chats/save儲存聊天(patch-first)
POST/api/chats/get取得聊天列表
POST/api/chats/delete刪除聊天
POST/api/chats/rename重新命名聊天
POST/api/chats/export匯出聊天

群組聊天 ​

方法路徑說明
POST/api/chats/group/save儲存群組聊天
POST/api/chats/group/get取得群組聊天列表
POST/api/chats/group/delete刪除群組聊天

聊天狀態 ​

方法路徑說明
POST/api/chats/state/get批次讀取狀態
POST/api/chats/state/patch增量更新狀態
POST/api/chats/state/delete刪除狀態

設定 ​

方法路徑說明
POST/api/settings/save儲存設定(patch-first)
POST/api/settings/get取得設定

世界書 ​

方法路徑說明
POST/api/worldinfo/save儲存世界書(patch-first)
POST/api/worldinfo/get取得世界書

搜尋 ​

方法路徑說明
POST/api/search/query統一搜尋。外掛推薦使用此路徑。
POST/api/search/serpapi上游:SerpApi(原始供應商 JSON)
POST/api/search/searxng上游:SearXNG(原始 HTML)
POST/api/search/tavily上游:Tavily(原始供應商 JSON)
POST/api/search/koboldcpp上游:KoboldCpp(原始供應商 JSON)
POST/api/search/serper上游:Serper(原始供應商 JSON)
POST/api/search/zai上游:Z.AI(原始供應商 JSON)
POST/api/search/ddg抓取 DuckDuckGo
POST/api/search/braveBrave Search
POST/api/search/visit存取 URL 並提取內容
POST/api/search/transcriptYouTube 字幕

/api/search/query 接收 { provider, query, max_results, safe_search, time_range, region, options } 並回傳 { provider, query, result_count, results: [{ title, url, snippet }] }。供應商:ddg、searxng、brave、tavily、exa、serper、serpapi、zai。/api/search/query、/api/search/ddg 和 /api/search/brave 回傳上述統一結構。Upstream 路由回傳原始供應商回應。

Patch 操作格式 ​

訊息 patch 使用 RFC 6902 JSON Patch 格式:

json
[
  { "op": "replace", "path": "/4/mes", "value": "新內容" },
  { "op": "add", "path": "/4/extra/note", "value": "備註" },
  { "op": "remove", "path": "/4/extra/old_field" }
]

物件 patch(meta/patch、state/patch、settings/patch、worldinfo/patch)也使用相同的 RFC 6902 格式。

Patch 衝突與完整性語義 ​

  • 伺服端會驗證 patch 操作的路徑是否存在
  • replace 操作要求目標路徑已存在
  • add 操作會建立不存在的路徑
  • 衝突時回傳錯誤,用戶端應重試或回退到全量儲存

Chat-Completions 請求體 ​

json
{
  "messages": [...],
  "model": "gpt-4o",
  "secret_id": "optional-override"
}

secret_id 欄位允許在請求級別覆蓋使用的 API 金鑰,適用於多 Agent 編排等需要不同金鑰的場景。

基於 SillyTavern 建構