feat(memory): implement OpenRouter + pgvector memory pipeline
This commit is contained in:
Executable
+36
@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
VAULT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
||||
HOOK_FILE="$VAULT_DIR/.git/hooks/post-commit"
|
||||
|
||||
mkdir -p "$(dirname "$HOOK_FILE")"
|
||||
touch "$HOOK_FILE"
|
||||
chmod +x "$HOOK_FILE"
|
||||
|
||||
if grep -q "memory async index hook begin" "$HOOK_FILE"; then
|
||||
echo "[memory] post-commit hook 已存在,跳过。"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
cat >> "$HOOK_FILE" <<'HOOK'
|
||||
# --- memory async index hook begin ---
|
||||
run_memory_async_index() {
|
||||
local vault_dir changes_file log_file
|
||||
vault_dir="$(git rev-parse --show-toplevel 2>/dev/null || true)"
|
||||
[[ -n "$vault_dir" ]] || return 0
|
||||
|
||||
log_file="$vault_dir/.memory-sync.log"
|
||||
changes_file="$vault_dir/.memory-changes-$(date +%s)-$$.txt"
|
||||
|
||||
git diff-tree --no-commit-id --name-status -r -M --diff-filter=ACDMRT HEAD -- '*.md' > "$changes_file" 2>/dev/null || true
|
||||
[[ -s "$changes_file" ]] || { rm -f "$changes_file"; return 0; }
|
||||
|
||||
nohup uv run --project "$vault_dir/.scripts/memory" python "$vault_dir/.scripts/memory/incremental_ingest.py" \
|
||||
--changes-file "$changes_file" >> "$log_file" 2>&1 &
|
||||
}
|
||||
run_memory_async_index
|
||||
# --- memory async index hook end ---
|
||||
HOOK
|
||||
|
||||
echo "[memory] post-commit hook 已安装。"
|
||||
Reference in New Issue
Block a user