SuperAPI AI 工具集

lov-search-chat

通用与其它

查看项目

更新于 10-16 00:02

技能介绍

用途:在本机已有的 AI 会话历史中检索与当前问题相关的过去记录,返回两类结果:带稳定标识(Project / Session / Message)的排序命中,以及围绕某个命中的一段原文。索引的构建与修复不属于本 Skill,由 lov-ataru-indexing 负责。

适用触发:用户问“我上次是怎么解决这个报错的”“找出讨论过会话恢复方案的那次记录”,或要求回忆某模块早前会话中的决定。不适用:重建或检查索引(交给 lov-ataru-indexing);在当前代码库中查找符号或文件(用普通 grep 与文件搜索)。

主要能力与用法:

  1. 先解析 Ataru 可执行文件并确认索引状态: export SKILL_DIR="$HOME/.claude/skills/lov-search-chat" python3 "$SKILL_DIR/scripts/ataru_recall.py" index-status 解析顺序为 --bin → ATARU_BIN → PATH → 已安装 App bundle → 从当前目录向上查找的本地 dev build,每个候选先跑 --version。低于 0.41.3 的旧版不认识 index 子命令。索引未就绪时以 ATARU_INDEX_NOT_READY 或 ATARU_INDEX_BUILDING 失败并指向 lov-ataru-indexing,不返回零结果。
  2. 选择检索粒度 level:turn(单条消息,默认)、run(一轮请求到回答)、session(整个会话)、project(一个项目)。示例: python3 "$SKILL_DIR/scripts/ataru_recall.py" search "会话恢复方案" --level turn --limit 10 限定项目时用等号形式:--project-id=-Users-me-projects-app。命中中的 projectId / sessionId / messageId / lineNumber 是稳定标识。snippet 默认截断到 600 字符,需要完整 CLI 响应时加 --full。
  3. 围绕命中读原文: python3 "$SKILL_DIR/scripts/ataru_recall.py" read --project-id=-Users-me-projects-app --session-id=<session uuid> --around=<message uuid or line number> --window 6 --window 为每侧保留消息数,--message-chars 控制单条正文截断(默认 2000)。不传 --around 时返回会话末尾 --window 条;--around 找不到时报 ATARU_MESSAGE_NOT_FOUND。
  4. 回答须带可回溯信息:会话标题、时间戳,必要时 sessionId;截断正文要说明;未命中就说明未命中及所用词与 level。

用户档案:skill.yaml 声明 user-profile/v1,运行开始读取共享的 user、brand、workspace、preferences 及 skills.lov-search-chat 命名空间。可长期保存 records.ataru_bin 与 records.default_level,用 scripts/profile_store.py record 写回;检索词、项目 ID 等一次性输入不写入。

限制:命令行检索只走关键词模式,mode 与 requestedMode 均为 keyword,semanticAvailable 通常为 false,不应承诺语义或 hybrid 排序,也不应因关键词未命中就断言历史中无此事。万级会话语料上一次 turn 级检索为数十秒量级,不要为快速失败压低 --timeout。依赖 Python 3.8+(仅标准库)与本机 Ataru 0.41.3 或更新版本且索引就绪。