概要
ナレッジ化フラグが ON のブランチ内の Markdown ファイルを自動的にナレッジとして取り込む機能。
仕様
- フラグ ON のブランチ内の
.md ファイルを監視
- ファイルの追加・更新を検知して自動的にナレッジとして登録・更新
- ナレッジの保存形式は検討中(全文テキスト / チャンク / ベクトル等)
- ナレッジの保存先はローカル(完全ローカル方針を維持)
検討事項
- ナレッジ化の単位(ファイル単位 / セクション単位)
- ベクトル検索を導入するか、全文検索で十分か
- 活用できる OSS(mem0 / Chroma / LlamaIndex 等)は別途リサーチ
OSS 調査結果(2026-02-21)
mem0(推奨候補)
- コンテナ化対応済み。
server/ ディレクトリに Dockerfile + docker-compose.yaml あり
- FastAPI ベースの REST API サーバーとして起動可能
- CommandMate(TypeScript)から
fetch() で HTTP 呼び出しが可能 → Python 依存なし
- 完全ローカル動作(データは手元の Chroma / SQLite に保存)
CommandMate(TypeScript / Next.js)
↓ HTTP REST API
mem0 コンテナ(localhost:8888 等)
↓
ローカルの Chroma / SQLite にメモリ保存
利用できるエンドポイント:
| エンドポイント |
用途 |
POST /memories |
Markdown の内容をナレッジとして登録 |
GET /memories/search |
commandmate knowledge get のバックエンド |
PUT /memories/:id |
ファイル更新時のナレッジ更新 |
DELETE /memories |
ブランチ削除時のナレッジ削除 |
OSS 候補の比較
| OSS |
ライセンス |
CommandMate との相性 |
備考 |
| mem0(コンテナ) |
Apache 2.0 |
◎ |
REST API 経由で Python 依存なし。完全ローカル |
| Chroma |
Apache 2.0 |
◎ |
Node.js SDK あり。TypeScript から直接呼べる |
| LlamaIndex.TS |
MIT |
○ |
TypeScript ネイティブだが依存関係が重め |
推奨実装パス
フェーズ1(最短): BM25 キーワード検索で Markdown チャンクを返す(ベクトル DB なし)
フェーズ2: mem0 コンテナ または Chroma(Node.js SDK)を導入してセマンティック検索を追加
関連
Epic: #335
CLI: #338
概要
ナレッジ化フラグが ON のブランチ内の Markdown ファイルを自動的にナレッジとして取り込む機能。
仕様
.mdファイルを監視検討事項
OSS 調査結果(2026-02-21)
mem0(推奨候補)
server/ディレクトリに Dockerfile + docker-compose.yaml ありfetch()で HTTP 呼び出しが可能 → Python 依存なし利用できるエンドポイント:
POST /memoriesGET /memories/searchcommandmate knowledge getのバックエンドPUT /memories/:idDELETE /memoriesOSS 候補の比較
推奨実装パス
フェーズ1(最短): BM25 キーワード検索で Markdown チャンクを返す(ベクトル DB なし)
フェーズ2: mem0 コンテナ または Chroma(Node.js SDK)を導入してセマンティック検索を追加
関連
Epic: #335
CLI: #338