xiaowei-system/skills/software-development/cbm-code-analysis/references/verified-queries.md

3.0 KiB
Raw Blame History

CBM 已验证查询模式

本文件记录 2026-07-30 全面测试中验证通过的查询命令,作为可复用的参考模式。

项目管理

# 列出所有已索引项目(含节点/边数)
codebase-memory-mcp cli list_projects

# 索引新项目
codebase-memory-mcp cli index_repository --repo-path /tmp/memoryweave

架构概览

# 项目结构总览(语言/包/热点)
codebase-memory-mcp cli get_architecture --project tmp-memoryweave
# → 输出: languages[], packages[], hotspots[]

# 图结构(节点类型/边类型/属性)
codebase-memory-mcp cli get_graph_schema --project tmp-memoryweave
# → 输出: node_labels[{label, count, properties[]}], edge_types[]

搜索函数

# 按正则匹配函数名
codebase-memory-mcp cli search_graph --project tmp-memoryweave \
  --name-pattern "NewRecallPipeline" --label "Function"

# 返回的关键字段
#   name, qualified_name, file_path, label
#   in_degree (调用者数), out_degree (被调用数)
#   signature, return_type, param_count
#   is_exported, is_test, is_entry_point
#   complexity, cognitive, lines

获取源码

# 使用 qualified_name必须来自 search_graph 的精确输出)
codebase-memory-mcp cli get_code_snippet --project tmp-memoryweave \
  --qualified-name "tmp-memoryweave.go.internal.storage.NewRecallPipeline"
# → 返回 source, start_line, end_line, signature, return_type

调用链追踪

# 入向追踪(谁调用我)
codebase-memory-mcp cli trace_path --project tmp-memoryweave \
  --function-name "NewRecallPipeline" --direction "inbound"

# 出向追踪(我调用谁)
codebase-memory-mcp cli trace_path --project tmp-memoryweave \
  --function-name "NewRecallPipeline" --direction "outbound"

Cypher 查询

# 统计特定语言的函数数量
codebase-memory-mcp cli query_graph --project tmp-memoryweave \
  --query "MATCH (f:Function) WHERE f.file_path CONTAINS '.go' RETURN count(f) AS go_funcs"
# → 返回 rows: [["410"]]

# 死代码检测
codebase-memory-mcp cli query_graph --project tmp-memoryweave \
  --query "MATCH (f:Function) WHERE NOT EXISTS { (f)<-[:CALLS]-() } RETURN f.name LIMIT 10"

Hermes MCP 集成

# 列出所有 MCP 服务器
hermes mcp list

# 测试连通性
hermes mcp test codebase-memory-mcp

# 添加 MCP 服务器
hermes mcp add codebase-memory-mcp --command /home/muc/.local/bin/codebase-memory-mcp
# 交互式确认echo "Y" | hermes mcp add ...

自动索引 cron

# 每日凌晨 3:00 自动刷新织忆 + ~/.hermes 索引
# cron job id: fd4fab3ddb5a
# 脚本内容git pull → index_repository 两个项目
codebase-memory-mcp cli index_repository --repo-path ~/.hermes
codebase-memory-mcp cli index_repository --repo-path /tmp/memoryweave

健康检查

# 看门狗监控每30min
# 已加入 5 关键进程zhiyid / bge-embed / new-api / hermes / cbm
# 自愈pgrep → systemctl --user start → 3s wait → verify

# 直接验证
pgrep -af "codebase-memory-mcp"