xiaowei-system/scripts/cbm-index-all.sh

46 lines
1.5 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# CBM 扩展索引脚本 — 每日刷新所有项目索引
# 调用: cbm-index-all.sh (no_agent 模式, 静默运行)
CBM=~/.local/bin/codebase-memory-mcp
LOG="$HOME/.hermes/cron/output/cbm-index-$(date +%Y%m%d).log"
index_project() {
local path="$1"
local name="$2"
if [ -d "$path" ]; then
# index_repository 是同步的(返回 JSON status大目录用 fast 模式避免超时
if $CBM cli index_repository --repo-path "$path" --mode fast 2>/dev/null | grep -q '"status":"indexed"'; then
echo "$name ($path)" >> "$LOG"
else
echo "⚠️ $name 索引失败" >> "$LOG"
fi
else
echo "⏭️ $name 目录不存在" >> "$LOG"
fi
}
echo "=== CBM 索引刷新 $(date '+%Y-%m-%d %H:%M') ===" > "$LOG"
# 已有项目(每日刷新)
index_project ~/.hermes "~/.hermes (配置+脚本)"
index_project /tmp/memoryweave "织忆"
# 新增项目 — mc/ 知识库
index_project ~/mc/小唯 "小唯知识库"
index_project ~/mc/牧尘 "牧尘笔记"
index_project ~/mc/AI "AI研究"
# 新增项目 — 代码仓库
index_project ~/projects "研究项目"
# 统计
echo "---" >> "$LOG"
$CBM cli list_projects 2>/dev/null | python3 -c "
import sys, json
d = json.load(sys.stdin)
projs = d.get('projects', [])
total_nodes = sum(p.get('nodes',0) for p in projs)
total_edges = sum(p.get('edges',0) for p in projs)
print(f'总计: {len(projs)}项目, {total_nodes}节点, {total_edges}边')
" 2>/dev/null >> "$LOG"