用途:从 ChromaDB 向量存储中移除已失效或孤立的分块。当某个分块的源文件在磁盘上已不存在时,该分块即为过期。删除或重命名文件后运行本技能,可保持向量索引准确,防止返回错误的搜索结果。这是写(删除)操作,务必先干跑。
适用时机:删除或重命名此前已摄取的文件后;大规模重构移动目录后;当 query.py 返回指向不存在文件的结果时;定期做日常清理。
前置条件:确认服务在运行。若未启动,参考 plugins/vector-db/skills/vector-db-launch/SKILL.md;首次安装(依赖与 profile 配置)参考 plugins/vector-db/skills/vector-db-init/SKILL.md。可用 curl -sf http://127.0.0.1:8110/api/v1/heartbeat 检查。
执行流程:1)干跑,展示将删除的内容:python3 plugins/vector-db/skills/vector-db-agent/scripts/cleanup.py --profile knowledge --dry-run,并报告“发现来自 X 个已删除文件的 N 个孤立分块”。2)确认后再应用:python3 plugins/vector-db/skills/vector-db-agent/scripts/cleanup.py --profile knowledge --apply。3)可选验证存储完整性:python3 plugins/vector-db/skills/vector-db-agent/scripts/vector_consistency_check.py --profile knowledge。4)冒烟测试搜索是否仍可用:python3 plugins/vector-db/skills/vector-db-agent/scripts/query.py "test query" --profile knowledge --limit 3。
规则与限制:始终先干跑,未向用户展示将要删除的内容前绝不应用;不要直接用 shell 操作 .vector_data/,一律通过 cleanup.py;不要用原始 shell 工具读取 .sqlite3 文件,否则会损坏上下文。来源透明声明:说明清理了哪个 profile、移除了多少分块。关于支持的文件类型、命名要求及更多细节,资料暂未提供。