v0.6.0

HTTP API

最後更新


daemon 在 127.0.0.1 提供的唯讀 JSON 端點,包含參數、回應與錯誤碼。

基礎 URL


daemon 只監聽 127.0.0.1,並把位址寫入 ~/.config/kuradb/endpoint(例如 http://localhost:21182)。除非用 kura port set <port> 固定,連接埠為隨機;見設定。
  1. BASE="$(cat ~/.config/kuradb/endpoint)"

Method路徑用途
GET/api/health存活檢查,回傳純文字 OK
GET/api/list已載入與已註冊的資料庫
GET/api/search在單一資料庫做關鍵字搜尋
GET/api/keyword/api/search 的舊版別名,target 固定為 keyword
任意/mcp以 streamable HTTP 提供 MCP,僅在啟用遠端 MCP 時掛載(MCP 伺服器)

GET /api/list


  1. curl "$BASE/api/list"

  1. {
  2. "loaded": ["notes"],
  3. "registered": [{ "db": "notes", "createAt": "2026-10-21T07:13:55Z" }]
  4. }

欄位意義
loaded此 daemon 啟動時開啟、因此可搜尋的資料庫
registereddb.json 的所有項目,包含啟動後才新增或因開啟失敗而被略過的資料庫

GET /api/search


  1. curl "$BASE/api/search?db=notes&q=sqlite%20wal&limit=5"

參數必填值
db是loaded 中的名稱
q是以空白分隔的關鍵字
limit否1 到 100 個 chunk;其他值改用 10
target否keyword 或省略

回應為 {"keyword": [...]},chunk 依來源檔分組;比對與排序規則見關鍵字搜尋。/api/keyword 接受相同的 db、q、limit 參數,保留它是為了讓既有的 Agenvoy 版本不中斷,並標記於 v1 棄用。

錯誤


錯誤回傳 JSON {"error": "<message>"}。
狀態碼訊息原因
400db is required缺少 db
400"<name>" not existdb 不是已載入的資料庫
400invalid argument: q is requiredq 缺少或為空
400invalid argument: unknown target "<value>"target 不是 keyword
500資料庫錯誤訊息查詢失敗,或 /api/list 無法讀取 db.json

相關頁面


EN