mcpField
L
local-memory-search

local-memory-search

github.com/blackbasiliskAgent 工作流073 次安装38 周前更新
代码仓库

关于 local-memory-search

为 OpenClaw memory 文件提供离线本地语义搜索,可按查询定位相关片段并回到原文核对。支持轻量 LSA 与 sentence-transformers 两种索引后端。

主要功能

  1. 01为 MEMORY.md 和 memory/*.md 建立本地索引
  2. 02支持 LSA 与 sentence-transformers 后端
  3. 03按查询检索相关记忆片段
  4. 04跳转至来源文件并显示行号和上下文

适用场景

  1. 01离线查找 OpenClaw 记忆中的配置
  2. 02定位匹配片段并核对原文行
  3. 03编辑记忆文件后刷新搜索索引

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/blackbasilisk/local-memory-search --skill local-memory-search

安装后在 Claude Code 中输入/local-memory-search确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE
README.md
.gitignore
scripts/
jump_memory.py
index_memory.py
requirements-fastembed.txt
embed_backends.py
requirements-sentence-transformers.txt
requirements-core.txt
requirements-lsa.txt
requirements.txt
search_memory.py

详细介绍

本地记忆搜索(离线)

此技能为 OpenClaw 记忆文件添加本地语义搜索工作流:

  • MEMORY.md
  • memory/*.md

它使用一个小型 sentence-transformers 嵌入模型构建本地向量索引(FAISS)。

要求

  • PATH 中有 Python 3.10+(python --version)

选择后端(由用户选择)

A)轻量(推荐):lsa(TF‑IDF + SVD)
  • 无需神经网络模型
  • 无需从 HuggingFace 下载
  • 匹配效果不错,具有一定“语义”能力(优于纯关键词搜索)
cd $env:USERPROFILE\.openclaw\workspace\skills\local-memory-search
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -U pip
.\.venv\Scripts\python.exe -m pip install -r .\scripts\requirements-lsa.txt
B)重量级(语义效果最佳):sentence-transformers(Torch)
  • 真正的神经网络嵌入
  • 安装包较大(torch),且需要下载模型
cd $env:USERPROFILE\.openclaw\workspace\skills\local-memory-search
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -U pip
.\.venv\Scripts\python.exe -m pip install -r .\scripts\requirements-sentence-transformers.txt

构建/刷新索引

默认(轻量 LSA 后端):

.\.venv\Scripts\python.exe .\scripts\index_memory.py --workspace "$env:USERPROFILE\.openclaw\workspace" --backend lsa

重量级后端示例:

.\.venv\Scripts\python.exe .\scripts\index_memory.py --workspace "$env:USERPROFILE\.openclaw\workspace" --backend sentence-transformers --model "sentence-transformers/all-MiniLM-L6-v2"

默认工作流:跳转 + 引用(推荐)

此工作流符合推荐的操作模式:

  1. 语义跳转到最佳文本块
  2. 打开源文件
  3. 输出确切行(附带少量上下文)
# Minimal output (default): prints just the best-matching lines
.\.venv\Scripts\python.exe .\scripts\jump_memory.py --query "o365 timezone config" --top 1

# If you want provenance:
.\.venv\Scripts\python.exe .\scripts\jump_memory.py --query "o365 timezone config" --top 1 --show-source --show-line-numbers --context 2

Tip: for cleaner quotes, re-index with default overlap 0 (the default).

搜索(仅语义搜索)

.\.venv\Scripts\python.exe .\scripts\search_memory.py --query "o365 timezone config" --top 5

如果索引是使用其他后端/模型构建的,search_memory.py 会自动使用索引元数据。你也可以覆盖:

.\.venv\Scripts\python.exe .\scripts\search_memory.py --backend fastembed --model "BAAI/bge-small-en-v1.5" --query "..."

注意事项

  • 索引存储在:~/.openclaw/credentials/local-memory-search/
  • 编辑记忆文件后,请重新运行索引。
  • 这是 OpenClaw 内置 memory_search 工具的本地替代方案。

评论

支持 Markdown