Token导航 LogoToken导航TokenDH.com
研究检索执行命令clawhub未标认证来源可访问clear审计提醒

memory-hybrid-stack内存混合堆栈

Agent Skill

memory-hybrid-stack 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

6,897

周安装

279

GitHub Stars

公开资料未说明

下载量

2,165
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:memory-hybrid-stack(内存混合堆栈)
来源仓库:https://github.com/vegabai/memory-hybrid-stack
安装命令:
openclaw skills install memory-hybrid-stack
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install memory-hybrid-stack

简介

memory-hybrid-stack 管理混合内存堆栈,支持 Postgres、Redis 和 Qdrant 的多层存取。

  • 适用于需同时处理事实型数据、实时状态和向量检索的任务场景。
  • 通过统一接口读写 infra/memory-stack 下的各类持久化存储。
  • 安装命令为 openclaw skills install memory-hybrid-stack,需数据库连接权限。
  • 使用前应确认各后端服务的可用性,避免因单点故障导致操作失败。

SKILL.md

name
memory-hybrid-stack
description
Use this skill to read/write the hybrid memory stack (Postgres facts, Redis realtime state, Qdrant vector recall) that lives under infra/memory-stack. Provides shell helpers for SQL, key-value, and Qdrant HTTP calls plus schema/usage guidance. Trigger when the assistant needs durable facts, volatile status, or semantic recall beyond Markdown memory.

Memory Hybrid Stack

Overview

This stack splits agent memory across three stores:

  1. Postgres + pgvector (facts) — structured, durable knowledge with optional embeddings.
  2. Redis (state) — low-latency values that expire (locks, session flags, device status).
  3. Qdrant (vectors) — semantic recall for long-form text chunks, keyed by collection oc_memory.

All services run via Docker Compose (infra/memory-stack/docker-compose.yml). Connection defaults live in infra/memory-stack/.env; scripts in this skill auto-source that file unless you override MEMORY_STACK_ENV / MEMORY_STACK_ROOT.

Quick Start

  1. Ensure the stack is running: cd infra/memory-stack && docker compose ps (all three should be healthy).
  2. cd skills/memory-hybrid-stack/scripts or call scripts via absolute path.
  3. Use the helper scripts listed below (they inject host/port/user from .env).
  4. For schema/endpoint details, open references/connection-map.md when needed.
LayerScriptPurpose
Postgres factsscripts/facts_sql.shRun SQL/psql with pgvector enabled
Redis statescripts/state_kv.shGet/Set/Delete simple keys with optional TTL
Qdrant vectorsscripts/qdrant_request.shMake raw HTTP calls (GET/POST/PUT/DELETE) with inline JSON or @file payloads

Facts Layer (Postgres + pgvector)

  • Use when: recording validated facts, relationships, high-confidence summaries, or when you need SQL joins/filtering.
  • Connection: postgres://oc_memory:…@localhost:55432/oc_facts. Credentials auto-loaded from .env.

Common operations

# Run ad-hoc SQL (string argument)
./scripts/facts_sql.sh "SELECT subject, object->>'value' AS value FROM facts WHERE tags @> ARRAY['preference'];"

# Pipe a multiline query
cat <<'SQL' | ./scripts/facts_sql.sh
INSERT INTO facts (subject, predicate, object, source, confidence, tags)
VALUES (
  'user:xiaobai',
  'prefers_language',
  jsonb_build_object('value', 'zh-CN'),
  'chat/2026-03-18',
  0.92,
  ARRAY['preference','language']
)
ON CONFLICT (subject, predicate)
DO UPDATE SET object = EXCLUDED.object, updated_at = now();
SQL

Tips:

  • Store raw text inside object JSON, e.g. { "value": "...", "summary": "..." }.
  • Use embedding column when you already have a 1536-d vector (set via UPDATE facts SET embedding = '[...]'::vector WHERE id = ...).
  • Always tag rows (tags text[]) so downstream filters are cheap.

State Layer (Redis)

  • Use when: caching short-lived context (current task, device status, throttles, locks).
  • Key pattern: state:<entity>:<attribute>; keep payloads as JSON strings for readability.

Commands

# Fetch
./scripts/state_kv.sh get state:user:xiaobai:current-task

# Set with 10-minute TTL
./scripts/state_kv.sh set state:user:xiaobai:current-task '{"summary":"researching", "started_at":"2026-03-18T19:00:00Z"}' 600

# Delete
./scripts/state_kv.sh del state:user:xiaobai:current-task

Guidelines:

  • Keep TTLs short (seconds/minutes) unless the value is truly session-scoped.
  • Use Redis for coordination (e.g., state:lock:calendar-sync) with low TTL to avoid deadlocks.

Vector Layer (Qdrant)

  • Use when: storing or retrieving semantic chunks that exceed Markdown recall.
  • Endpoints: HTTP http://localhost:6335, gRPC http://localhost:6336.
  • Default collection: oc_memory (1536-d cosine). Created via scripts/init_qdrant.sh.

Helper usage

# Check collections
./scripts/qdrant_request.sh GET /collections

# Upsert points from a file
cat > /tmp/points.json <<'JSON'
{
  "points": [
    {
      "id": "memo-001",
      "vector": [/* 1536 floats */],
      "payload": {
        "subject": "user:xiaobai",
        "text": "Prefers in-depth, sourced answers.",
        "tags": ["preference"],
        "timestamp": "2026-03-18T19:05:00Z"
      }
    }
  ]
}
JSON
./scripts/qdrant_request.sh PUT /collections/oc_memory/points @/tmp/points.json

# Semantic search (vector or filter payload inline)
./scripts/qdrant_request.sh POST /collections/oc_memory/points/search '{
  "vector": [/* query vector */],
  "limit": 5,
  "with_payload": true,
  "filter": {"must": [{"key": "subject", "match": {"value": "user:xiaobai"}}]}
}'

Notes:

  • The script accepts raw JSON strings or @/path/file.json.
  • Generate embeddings via your preferred model (e.g., OpenAI text-embedding-3-small); ensure dimension = 1536.
  • Keep payload timestamps (timestamp) to enforce recency filtering.

Workflow Recommendations

  1. Ephemeral -> Durable: log immediate events in Redis, then promote confirmed facts into Postgres/Qdrant.
  2. Fan-out writes: when capturing a new preference, update Postgres (structured) and Qdrant (semantic search) in the same turn.
  3. Read order: Redis (latest state) → Postgres (authoritative fact) → Qdrant (related context) → Markdown fallback.
  4. Tags & filters: align tags (Postgres) with Qdrant payload keys so cross-store correlation is simple.

Troubleshooting

  • docker compose ps shows unhealthy containers → check host ports (stack uses 55432/56379/6335/6336 to avoid clashes with ai-stack-*).
  • Scripts complain about missing .env → copy .env.example.env, or set env vars manually.
  • Qdrant health stuck on "starting" → ensure you rebuilt using memory-qdrant:local (curl installed) or adjust healthcheck.

References

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

72.96%
按下载量换算1,580

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 openclaw skills install memory-hybrid-stack 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills