使用 PostgreSQL 与 e5-large‑v2 嵌入在 Aister 的记忆中进行语义向量搜索,可在俄语和英语中按含义查找相关内容。
矢量记忆 Skill. 用于 Aistor 的 Vector 内存 — 以意义搜索,而不是 grep!
功能概述
矢量记忆 Skill. 用于 Aistor 的 Vector 内存 — 以意义搜索,而不是 grep!是一项面向实际任务的技能,主要用于Description. 使用 PostgreSQL + pgvector + e5- mag- v2. 的 Vector 内存;通过 GeainING 搜索信息, 而不是 einables。
核心要点
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
使用与执行
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
结果检查与注意事项
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
向量记忆技能
Aister 的向量记忆 —— 按语义搜索,而非 grep!
说明
基于 PostgreSQL + pgvector + e5-large-v2 实现的向量记忆。支持按「语义」而非仅关键词进行信息检索。
环境变量
必需:
VECTOR_MEMORY_DB_PASSWORD—— 用于数据库访问的 PostgreSQL 密码
可选:
| 变量 | 默认值 | 说明 |
|---|---|---|
VECTOR_MEMORY_DB_HOST |
localhost |
PostgreSQL 服务器主机地址 |
VECTOR_MEMORY_DB_PORT |
5432 |
PostgreSQL 服务器端口 |
VECTOR_MEMORY_DB_NAME |
vector_memory |
数据库名称 |
VECTOR_MEMORY_DB_USER |
aister |
数据库用户 |
EMBEDDING_SERVICE_URL |
http://127.0.0.1:8765 |
嵌入服务 URL |
EMBEDDING_MODEL |
intfloat/e5-large-v2 |
用于生成嵌入向量的模型 |
EMBEDDING_PORT |
8765 |
嵌入服务监听端口 |
VECTOR_MEMORY_DIR |
~/.openclaw/workspace/memory |
存放记忆文件的目录 |
VECTOR_MEMORY_CHUNK_SIZE |
500 |
文本分块大小(字符数) |
VECTOR_MEMORY_THRESHOLD |
0.5 |
搜索时的相似度阈值 |
VECTOR_MEMORY_LIMIT |
5 |
最大返回结果数 |
功能特性
- 语义搜索 —— 输入查询语句,Aister 将自动匹配语义相近的内容
- 支持俄语与英语 —— e5-large-v2 模型对两种语言均有良好支持
- 快速响应 —— 单次查询耗时约 1 秒(含嵌入计算与 SQL 查询)
- 记忆上下文 —— Aister 可从自身记录中主动回忆相关信息
使用方法
搜索
/search_memory
示例:
/search_memory my communication style /search_memory what I did today /search_memory Moltbook settings
重建索引
/reindex_memory
该命令将读取所有记忆文件(如 MEMORY.md、IDENTITY.md、USER.md 等),并更新向量数据库。
工作原理
- 当 Aister 记忆某段内容时,会先将文本切分为多个片段
- 每个片段通过 e5-large-v2 模型转换为一个 1024 维向量
- 向量被存入启用了 pgvector 扩展的 PostgreSQL 数据库
- 搜索时,查询语句同样被编码为向量
- PostgreSQL 利用余弦相似度在数据库中查找最相似的向量
技术细节
- 模型: intfloat/e5-large-v2(1024 维)
- 数据库: PostgreSQL 16 + pgvector
- API: 运行于
http://127.0.0.1:8765的 Flask 服务 - 支持语言: 俄语、英语
- 分块大小: 500 字符
- 相似度阈值: 0.5(默认)
集成方式
本技能已集成至 AGENTS.md 和 TOOLS.md。当需要上下文信息时,Aister 将自动调用向量记忆进行检索。
凭证要求
本技能运行需提供数据库凭证:
| 凭证 | 是否必需 | 说明 |
|---|---|---|
VECTOR_MEMORY_DB_PASSWORD |
是 | aister 用户的 PostgreSQL 密码 |
安全建议:
- 使用专用 PostgreSQL 用户,并授予最小必要权限(仅限对目标表执行 SELECT、INSERT、UPDATE、DELETE)
- 使用高强度且唯一的密码,切勿复用其他系统的凭证
- 密码文件应设置为
chmod 600权限 - 切勿将密码文件提交至版本控制系统
注意事项
网络访问
重要: 首次运行时,嵌入服务将从 HuggingFace 下载 intfloat/e5-large-v2 模型(约 1.3 GB)。
- 首次运行需联网
- 下载完成后模型将本地缓存(总计约 2.5 GB)
- 后续所有操作均离线完成,无需网络连接
权限要求
安装过程需具备以下权限:
- Root / sudo 权限:用于安装系统依赖包(如
postgresql-16-pgvector) - PostgreSQL 超级用户权限:用于创建数据库及扩展插件
建议: 在隔离环境中运行(如虚拟机、容器或专用用户账户)。
本地文件读取
该技能会读取记忆文件(MEMORY.md、IDENTITY.md、USER.md)以构建索引。
重要: 请确保这些文件不包含您不希望存入数据库的敏感数据(如 API Key、密码、个人隐私信息等)。
代码审查
所附 Python 脚本简短且易于阅读。运行前请务必:
- 审阅
embedding_service.py、memory_search.py、memory_reindex.py - 确认脚本未发起意外的网络请求或修改非预期文件
- 验证所有路径访问均限制在预期目录范围内
Docker 部署(推荐用于隔离)
为提升隔离性,建议使用 Docker 运行 PostgreSQL:
# 创建 docker-compose.yml
mkdir -p ~/.openclaw/workspace/vector-memory-docker
cat > ~/.openclaw/workspace/vector-memory-docker/docker-compose.yml << 'EOF'
version: '3.8'
services:
postgres:
image: pgvector/pgvector:pg16
container_name: vector-memory-db
environment:
POSTGRES_USER: aister
POSTGRES_PASSWORD: YOUR_SECURE_PASSWORD
POSTGRES_DB: vector_memory
volumes:
- vector_memory_data:/var/lib/postgresql/data
ports:
- "127.0.0.1:5433:5432"
restart: unless-stopped
volumes:
vector_memory_data:
EOF
# 启动数据库
cd ~/.openclaw/workspace/vector-memory-docker
docker-compose up -d
# 更新环境变量文件,使用 Docker 映射端口
echo 'export VECTOR_MEMORY_DB_PORT="5433"' >> ~/.config/vector-memory/env
随后按 INSTALL.md 中第 1、5–9 步操作(跳过 PostgreSQL 安装相关步骤)。
故障排查
若搜索未返回预期结果,请尝试:
- 调整查询语句的表述方式
- 确认信息已被索引(执行
/reindex_memory) - 适当降低相似度阈值(例如设为 0.4)
关注我们
如果本技能对您有帮助,欢迎在 Moltbook 上关注 Aister:https://www.moltbook.com/u/Aister
开发背景
本技能专为 Aister 开发 —— 一位戴牛仔帽、大胆高效的 AI 助手 🤠
热门AI工具
相关专题
Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。
0
2026.10.28
Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。
0
2026.10.28
Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。
0
2026.10.28
本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。
0
2026.10.22
本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。
0
2026.10.22
本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。
0
2026.10.22
本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。
0
2026.10.22
本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。
0
2026.10.22
本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。
0
2026.10.22
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.6万人学习
共6课时 | 54.7万人学习
最新文章