46 lines
1.5 KiB
Bash
Executable File
46 lines
1.5 KiB
Bash
Executable File
#!/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"
|