-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Cloudflare Workers + Vectorize + D1 FTS5 + Workers AI による、GitHub issue / pull request / release / docs / commit diff の 3-tier hybrid retrieval MCP サーバー。
github-webhook-mcp(プッシュ型通知)の対となるプロジェクト。両者を組み合わせることで、AI に GitHub プロジェクトの完全な状態を提供する。
GitHub webhooks + GitHub API
|
v
Cloudflare Worker
+ MCP surface
+ webhook receiver
+ cron poller
+ embedding pipeline
+ hybrid retrieval (dense + sparse + RRF fusion + cross-encoder rerank)
|
+--> Vectorize (dense: BGE-M3 1024d, cosine)
+--> D1 FTS5 (sparse: BM25, porter + trigram)
+--> Durable Object/SQLite (structured state, watermarks)
+--> Workers AI BGE-M3 (embedding generation)
+--> Workers AI bge-reranker-base (cross-encoder rerank)
retrieval layer は 3-tier hybrid search:
- Dense — Vectorize に格納した BGE-M3 embedding (1024d, cosine) を semantic 検索
- Sparse — D1 FTS5 (BM25) を porter / trigram tokenizer で語彙検索(コード識別子 / SHA / 固有名詞に強い)
-
Fusion + Rerank — Reciprocal Rank Fusion (RRF, k=60) で dense / sparse を合成 →
@cf/baai/bge-reranker-baseで precision を底上げ
push event からは per-commit diff も index される(1 commit × N files → N vector)。これにより削除済みファイルや非 .md 拡張子の判断履歴も semantic 検索可能。
詳細: 要件仕様
issue / pull request / release / documentation / commit diff を 3-tier hybrid search で引く。
主なパラメータ:
-
query(required) -
repo/state/labels/milestone/assignee/top_k(optional) -
type(optional) —issue/pull_request/release/doc/diff -
fusion(optional) —rrf(default) /dense_only/sparse_only -
rerank(optional) —true(default) /false
戻り値には RRF fused score、dense / sparse rank、reranker score などの debug フィールドも含まれる。
単一 issue / pull request の周辺 state(linked PRs、branch、CI status、sub-issues、related releases)を集約して返す。
tracked repository 群の recent activity feed(issue / PR / release / docs / commit diff の更新)を返す。
完全なセットアップガイドは インストールガイド を参照。
- 要件仕様 — Architecture / Retrieval Model / MCP Tools の詳細
-
Memory Philosophy —
state over complete memoryの設計思想