Share
Embed
Transcript
12 slides
-
ローカルで完結する ナレッジ管理 CLI kura Local knowledge, hybrid search, for humans
and agents 散らばった知識を、SQLite ひとつのファイルに。人にも、AI にも引けるように。 -
AI 時代に、知識はどこへ行くのか AI と対話するほど、調べたこと・決めたこと・試したことがたまって いきます。でも、その大半はチャット履歴の奥に沈んだまま、次の セッションには受け継がれません。 人が書くメモも同じです。増えるほどフォルダは深くなり、 「どこに置いたっけ」と探す時間ばかりが延びていきます。 知識が増える →
どこかに仕舞う → 見つからない 溜めるより、引き出すほうがずっと難しい。 本当の課題は、そこにあります。 kura — Local knowledge, hybrid search, for humans and agents 2 -
そこで kura を作りました kura は、Markdown や HTML のドキュメントを手元の SQLite ひとつに収め、
人からも AI からも引き出せるようにする CLI です。 置き場所を強制しない — Bucket ・階層タグ・相互リンク(+任意のパス)で整 理 日本語に強いハイブリッド検索 — 形態素解析+ベクトル+リランク まるごとローカル — データは ~/.kura/kura.db ただ 1 つ AI エージェント連携 — MCP サーバーと、全コマンドの --json 出力 クラウドも、アカウントも、テレメトリーもいりません。 kura — Local knowledge, hybrid search, for humans and agents 3 -
自己組織化: 仕舞わずに、つなぐ フォルダは、置き場所を 1 つに決めろと迫ってきます。でも、メモが 2 つの 場所にまたがった瞬間、その決断は破綻します。だから kura は、置き場所を
強制するフォルダをやめました。パスを添えることもできますが、フォルダと 違って必須ではありません。bucket 直下が、そのまま未整理の受け皿になります。 仕組み 役割 Bucket フラットな最上位のグループ(main など) 階層タグ #tech/db/sqlite は 3 階層すべてに同時に現れる 相互リンク [[タイトル]] 。先に書けば、後から自動でつながる ドキュメントパス clips/技術 の任意の名前空間。フォルダではなく、強制もされない 相互リンクは「先に書ける」のが強みです。まだ無いページへのリンクでも、 書いておけばそのページを作った瞬間につながります。バックリンクも、 2 ホップ先のつながりも、あとから勝手に見えてきます。 kura — Local knowledge, hybrid search, for humans and agents 4 -
中核: 日本語のためのハイブリッド検索 この「引き出しにくさ」に、kura は検索で正面から応えます。 3 つのステージを、1 つの SQLite の中だけで回します。 キーワード
FTS5 + sqlite-vaporetto の形態素解析。日本語を単語の単位で切って探す(trigram フォールバックあり) セマンティッ ク sqlite-vec のベクトル KNN 。ローカル embedding で、語ではなく意味で手繰る リランク 両者を束ね、ローカル LLM で並べ替え。いちばん効く順に返す 検索は、kura search (キーワード)/ kura vsearch (セマンティック)/ kura query (ハイブリッド)の 3 つを使い分けるだけです。 kura — Local knowledge, hybrid search, for humans and agents 5 -
CLI: 溜めて、引く # 追加 kura add notes/sqlite-wal.md --tags tech/db/sqlite echo
"# 今日のメモ" | kura add - --title "今日のメモ" kura clip https://example.com/article # Web ページを LLM で整形して取り込み # 検索(3 モード) kura search "WAL チェックポイント" # キーワード(< 100ms) kura vsearch "書き込み中も読める仕組み" # セマンティック kura query "SQLite の並行性" # ハイブリッド + リランク # つながりを辿る kura link ls "今日のメモ" # アウトリンク / バックリンク / 2 ホップ # 移動・整理([[リンク]] も貼り替わる) kura mv "今日のメモ" --path db/sqlite # パス名前空間へ移動 kura mv suggest # 未整理ドキュメントに置き場所を提案 コミットは待ちません。書いたそばから、インデックスに乗ります。 読み取り系のコマンドは、どれも --json を返せます。 kura — Local knowledge, hybrid search, for humans and agents 6 -
ブラウザでも、読んで・書いて・整える kura browser でローカルサーバを起動。同じコアを、今度はブラウザから。 バケットでスコープ — サイドバーで選んだ 1 つに、一覧も検索もツリーも揃う その場で編集
— 読んでいる画面のまま手を入れられる。Markdown ショートカッ トと自動保存 お気に入り — ★ を付けたドキュメントをサイドバーに固定 検索モーダル — Ctrl + P で打ちながら絞り込み。キーボードだけで動く 統計と気づき — 未整理・未タグ・孤立・壊れたリンクを、直すコマンドつきで教 えてくれる ドキュメントツリー・タグツリー・バックリンク・知識グラフも、そのまま。 kura — Local knowledge, hybrid search, for humans and agents 7 -
AI エージェントの「長期記憶」になる kura は MCP サーバーにもなります。検索も読み書きも、エージェントの道具 として差し出す。エージェントはいつものツール操作のまま、過去の知識を 思い出し、気づいたことを書き足していけます。 claude mcp
add kura -- kura mcp # Claude Code に接続 公開ツール: kura_query (ハイブリッド検索), kura_search , kura_get , kura_add , kura_update , kura_list_tags , kura_related , kura_status セッションをまたいで積み上がっていく記憶。それが、kura のもう 1 つの顔です。 kura — Local knowledge, hybrid search, for humans and agents 8 -
ローカル LLM で、もっと強力に キーワード検索・CRUD ・リンク・タグは、モデルなしでいつでも動きます。 キーワード検索 CRUD リンク タグ ここに
Ollama や LM Studio をつなぐと、kura はさらに賢くなります。 セマンティック検索 — 語ではなく意味で手繰る(ローカル embedding ) ハイブリッドのリランク — いちばん効く順に並べ替え clip 整形 — Web ページを読みやすい Markdown に タグ提案 / クエリ展開 — 既存タグ優先の付与と、検索語の言い換え・拡張 mv suggest — 未整理ドキュメントに、理由つきで置き場所を提案 プロバイダは自動検出。無ければそっと警告して代替へ切り替わるので、 飛行機の中でも止まりません。 kura — Local knowledge, hybrid search, for humans and agents 9 -
内部アーキテクチャ 中身は、SQLite ファイル 1 つにすべて収まります。SQL トリガーは使いません。 派生テーブルの整合は、リポジトリ層が 1 トランザクションでまとめて取ります。 CLI
/ Browser / MCP — 3 つのフロントエンド。同じコアを再利用 ↓ core — ドキュメント・検索・リンク・タグのドメインロジック ↓ SQLite + 拡張 — FTS5 / sqlite-vec / sqlite-vaporetto 配布は、bun build --compile で作るプラットフォームごとの単一バイナリ。 SPA アセットも sqlite-vec 拡張も、その中に埋め込み済みです。 kura — Local knowledge, hybrid search, for humans and agents 10 -
ぜひ使ってみてください brew install kechol/tap/kura https://github.com/kechol/kura https://kechol.github.io/kura/ja/ kura — Local knowledge,
hybrid search, for humans and agents 11 -
Appendix: コマンド早見表 分類 コマンド セットアップ kura init / kura doctor
/ kura status / kura config ドキュメント kura add / kura get / kura edit / kura rm / kura mv / kura ls / kura clip 検索 kura search / kura vsearch / kura query / kura embed 整理 kura bucket / kura tag / kura link 入出力 kura export / kura import サーバー kura browser / kura mcp 前提(macOS ): brew install sqlite (拡張のロードに Homebrew 版の SQLite が要ります) 。LLM (任意): Ollama / LM Studio 。 kura — Local knowledge, hybrid search, for humans and agents 12