Skip to content

Releases: pardnchiu/KuraDB

v0.4.2

Choose a tag to compare

@pardnchiu pardnchiu released this 07 Jul 11:16
caecb3e

v0.4.1 -> v0.4.2

Summary

Lets the server pin to a fixed port across restarts instead of always picking a random one. Worker footer links get a small update alongside it.

翻譯

伺服器現在可固定在指定連接埠上重啟,不再每次隨機挑選。同時更新 worker 頁尾連結。

Changes

FEAT

翻譯
  • 新增固定連接埠控制並更新頁尾連結

Scope

  • cmd/app/ — FEAT (commands.go, http.go, main.go)
  • internal/api/router.go — FEAT
  • internal/config/config.go — FEAT
  • Makefile — FEAT
  • worker/public/ — FEAT (index.html, zh/index.html)

Generated by SKILL

v0.4.1

Choose a tag to compare

@pardnchiu pardnchiu released this 05 Jul 14:18
b179948

v0.4.0 -> v0.4.1

Summary

Hotfixes make build so it no longer installs the binary to the system PATH as a side effect, restoring the contract expected by the release installer script.

翻譯

修正 make build 誤將二進位檔安裝至系統路徑的副作用,恢復安裝腳本原本預期的建置契約。

Changes

FIX

翻譯
  • 修正 make build 誤將二進位檔安裝至系統路徑

Scope

  • Makefile — FIX

Generated by SKILL

v0.4.0

Choose a tag to compare

@pardnchiu pardnchiu released this 05 Jul 13:42
1bee51b

v0.3.1 -> v0.4.0

Summary

Adds a daemon mode with background forking and a stop subcommand, and consolidates keyword and semantic search into a single API handler. The worker landing site is rebuilt with internationalization after a brief removal, alongside a new bilingual documentation set.

翻譯

新增背景常駐模式與 stop 子指令,並將關鍵字與語意搜尋整合進單一 API handler。官網於短暫下架後以多語系重新上線,同時新增雙語文件。

Changes

FEAT

翻譯
  • 伺服器新增背景常駐模式與 stop 子指令
  • 新增支援多語系的 KuraDB 官網靜態站
  • 新增 KuraDB 官網作為 Cloudflare Worker 並附安裝腳本

REFACTOR

  • Consolidate keyword and semantic search into unified /api/search handler (@pardnchiu) [9f79291]
翻譯
  • 將關鍵字與語意搜尋整合為統一的 /api/search handler

CHORE

翻譯
  • 升級 go-pkg 相依套件

DOC

  • Add bilingual README, architecture, and technical documentation (@pardnchiu) [995d620]
翻譯
  • 新增雙語 README、架構與技術文件

Scope

  • cmd/app/, internal/runtime/, Makefile — FEAT
  • internal/api/handler/, internal/api/router.go — REFACTOR
  • worker/ — FEAT, REMOVE
  • doc/, README.md — DOC
  • go.mod, go.sum — CHORE

Generated by SKILL

v0.3.1

Choose a tag to compare

@pardnchiu pardnchiu released this 30 Jun 13:14

v0.3.0 -> v0.3.1

Summary

Modernizes the SQLite layer with a read/write-split connection pool and guards oversized embedding input. Prunes dead weight by deleting unreferenced functions and a fully-commented integration package. Tests realign with the new connection split.

翻譯

將 SQLite 連線層改為讀寫分離連線池,並對過長的 embedding 輸入加上保護。移除無引用函式與整檔註解的整合套件以清理死碼。測試同步對齊新的連線分流。

Changes

REFACTOR

  • Swap DB connection layer to go-sqlkit and guard embedding input length (@pardnchiu) [3eaa08c]
翻譯
  • 連線層改用 go-sqlkit 讀寫分離池,並限制 embedding 輸入長度

REMOVE

翻譯
  • 移除無引用函式與整檔註解的 agenvoy package

TEST

  • Align database handler tests with go-sqlkit read/write split (@pardnchiu) [5a133fb]
翻譯
  • 對齊資料庫 handler 測試至 go-sqlkit 讀寫分離

Scope

  • internal/database/ — REFACTOR, REMOVE
  • internal/openai/ — REFACTOR, REMOVE
  • internal/agenvoy/ — REMOVE
  • internal/vector/setAndGet.go — REMOVE
  • cmd/app/http.go — REMOVE
  • tests/internal/database/handler/ — TEST
  • go.mod, go.sum — REFACTOR

Generated by SKILL

v0.3.0

Choose a tag to compare

@pardnchiu pardnchiu released this 02 Jun 03:41

v0.2.0 -> v0.3.0

Summary

Aligns the keychain service identifier to lowercase, breaking existing keychain lookups that stored secrets under the old casing.

翻譯 將 keychain service 名稱統一為小寫,既有以舊大小寫儲存的 secret 需重新設定。

⚠️ Breaking Changes

Keychain service name changed from "KuraDB" to "kuradb"

Before:

go_pkg_keychain.Init("KuraDB", configDir)

After:

go_pkg_keychain.Init("kuradb", configDir)

Migration:

macOS — re-add the secret under the new service name:

security add-generic-password -s "kuradb" -a "OPENAI_API_KEY" -w "<your-key>" -U

Linux (secret-tool) — store under the new service:

echo -n "<your-key>" | secret-tool store --label="kuradb OPENAI_API_KEY" service kuradb username OPENAI_API_KEY

Alternatively, set the environment variable OPENAI_API_KEY directly — the keychain fallback chain still reads os.Getenv as last resort.

翻譯

Keychain service 名稱從 "KuraDB" 改為 "kuradb"。既有 keychain 條目需以新 service 名稱重新儲存,或改用環境變數 OPENAI_API_KEY 作為 fallback。

Changes

BREAKING

  • Change keychain service name from "KuraDB" to "kuradb" for lowercase consistency [921354f]
翻譯
  • Keychain service 名稱從 "KuraDB" 改為 "kuradb",對齊小寫慣例

Scope

  • cmd/app/main.go — BREAKING

Generated by SKILL

v0.2.0

Choose a tag to compare

@pardnchiu pardnchiu released this 24 May 07:19

v0.1.0 -> v0.2.0

Summary

Rewires the server bootstrap so OpenAI secrets live in the OS keychain instead of a plaintext dotfile, lowercases the config directory to align with Unix conventions, and persists the listening URL to a fixed path for downstream consumers. Agenvoy tool manifest registration is paused while the surface stabilizes.

翻譯 重整 server 啟動流程:OpenAI 密鑰改由作業系統 keychain 讀取而非明文 dotfile、配置目錄改為小寫對齊 Unix 慣例、並將監聽 URL 寫入固定路徑供下游消費者取用。Agenvoy tool manifest 註冊在介面穩定前暫時停用。

⚠️ Breaking Changes

Config directory renamed to lowercase

Before: ~/.config/KuraDB/

After: ~/.config/kuradb/

Migration:

mv ~/.config/KuraDB ~/.config/kuradb
翻譯

配置目錄全小寫化以對齊 Unix 慣例與 ~/.config/agenvoy/。symlink ~/Kura_<db> 與品牌名 KuraDB 不變。

.env no longer auto-loaded by the binary

The joho/godotenv dependency was removed. .env is now sourced via the Makefile's include .env + export block. Running ./bin/kura directly no longer picks up .env.

Migration (pick one):

  • Run through make app so .env is loaded by Make.
  • Or move the API key into the OS keychain (now the primary lookup):
    # macOS
    security add-generic-password -s KuraDB -a OPENAI_API_KEY -w sk-...
    # Linux
    echo -n "sk-..." | secret-tool store --label "KuraDB/OPENAI_API_KEY" \
      service KuraDB account OPENAI_API_KEY
  • Or export the key in the parent shell before invoking the binary.
翻譯

OPENAI_API_KEY 優先從 OS keychain 讀取(macOS security / Linux secret-tool),找不到才退回 os.Getenv.env 載入由 Makefile 接手,binary 直接呼叫時不再自動套用。

Agenvoy tool manifest registration paused

runHTTP no longer writes ~/.config/agenvoy/tools/api/rag_*.json on startup or removes them on shutdown. Existing manifests from prior versions are not cleaned up automatically.

Migration:

rm -f ~/.config/agenvoy/tools/api/rag_search_keyword.json
rm -f ~/.config/agenvoy/tools/api/rag_search_semantic.json
rm -f ~/.config/agenvoy/tools/api/rag_list_db.json

Consumers should read the new endpoint file (~/.config/kuradb/endpoint) for the current server URL instead.

翻譯

agenvoy.Register / Unregister 暫時註解,等介面穩定後恢復。消費者改讀 ~/.config/kuradb/endpoint 取得當前 server URL。

Changes

FEAT

  • Write http://localhost:<port> to ~/.config/kuradb/endpoint on startup, remove on shutdown (@pardnchiu) [bebdcd0]
翻譯
  • 啟動時將 server URL 寫入 ~/.config/kuradb/endpoint,shutdown 時移除

REFACTOR

  • Rework server bootstrap: keychain-first OPENAI_API_KEY lookup, lowercase config dir, paused Agenvoy registration (@pardnchiu) [bebdcd0]
翻譯
  • 重整啟動流程:OPENAI_API_KEY 改 keychain 優先、配置目錄改小寫、暫停 Agenvoy 註冊

CHORE

  • Drop github.com/joho/godotenv; delegate .env loading to Makefile (@pardnchiu) [bebdcd0]
翻譯
  • 移除 github.com/joho/godotenv 依賴,.env 載入改由 Makefile 接管

Scope

  • cmd/app/main.go — REFACTOR
  • cmd/app/http.go — FEAT, REFACTOR
  • internal/openai/openai.go — REFACTOR
  • internal/agenvoy/agenvoy.go — REFACTOR
  • Makefile — UPDATE
  • go.mod, go.sum — CHORE

Generated by SKILL

v0.1.0

Choose a tag to compare

@pardnchiu pardnchiu released this 23 May 20:55

v0.0.0 -> v0.1.0

Summary

Initial release of KuraDB, a read-only RAG database that ingests local files, embeds them, and serves semantic and keyword search to the Agenvoy ecosystem. Storage centers on a single source of truth with an in-memory vector cache rebuilt at startup. Multi-database registry, two-stage retrieval, and a persistent query embedding cache round out the surface.

翻譯 KuraDB 首版發布。一套唯讀 RAG 資料庫服務,匯入本地檔案、產生向量並向 Agenvoy 生態提供語意與關鍵字搜尋。儲存以單一資料源為核心,啟動時重建記憶體向量索引;包含多資料庫註冊、兩階段檢索與持久化 query embedding 快取。

Changes

FEAT

翻譯
  • 新增 CSV/XLSX 匯入,未知副檔名以 UTF-8 sniff 過濾,搬遷 Agenvoy manifest 目錄
  • 持久化 query embedding 快取至 SQLite
  • 新增列出運行中與已註冊資料庫的 API endpoint
  • 新增 Markdown 與純文字檔解析,含長段落保護
  • 新增 DB registry CLI 與 Agenvoy RAG tool 註冊
  • 新增語意與關鍵字搜尋 API
  • 啟動時預載 embedding 快取並重置 stale 向量
  • 新增背景 embedding pipeline 與持久化支援
  • 新增 Office 文件解析(DOCX / PPTX)與索引整合
  • 新增環境變數 workspace 設定與 snapshot 持久化
  • 新增檔案 dismiss 時間戳與遞迴 dismiss 同步
  • 新增 SQLite 檔案儲存與 PDF 匯入 pipeline
  • 新增 PDF 解析支援於檔案變動偵測流程
  • 新增檔案輪詢 worker

UPDATE

翻譯
  • 將 vector cache 傳入 embedder 並縮減 embedding 維度
  • 加入 env 忽略名單與檔案時間戳至 parser 資料

REFACTOR

翻譯
  • 模組路徑遷移至 github.com/agenvoy/kuradb,升級 go-pkg 至 v0.12.1
  • 共用 utils 與 parser 抽離至 go-pkg
  • 重構多資料庫 RAG runtime 與搜尋 pipeline
  • 模組路徑與儲存目錄改名為 KuraDB
  • database handler 移至獨立 package
  • 拆分 dismiss 與 upsert 至各自檔案

TEST

  • Add integration tests for filesystem, parser, openai, database handler packages (@pardnchiu) [a83ebc6]
翻譯
  • 新增 filesystem、parser、openai、database handler 等 package 的整合測試

Scope

  • cmd/app/ — FEAT, REFACTOR
  • internal/agenvoy/ — FEAT
  • internal/api/ — FEAT
  • internal/database/ — FEAT, REFACTOR
  • internal/filesystem/ — FEAT
  • internal/openai/ — FEAT, UPDATE
  • internal/segmenter/ — FEAT
  • internal/vector/ — FEAT, UPDATE