AgentSkillsCN

memory-retrieve

具备智能记忆搜索功能,可自动选择搜索方式。支持语义(向量)搜索、关键词搜索,以及近期查询。内置回退策略,并可选择性地加入摘要内容。

SKILL.md
--- frontmatter
name: memory-retrieve
description: Intelligent memory search with automatic method selection. Supports semantic (vector), keyword, and recent queries. Includes fallback strategies and optional summary inclusion.
metadata:
  subagent: summarizer
  version: "1.0"
  category: memory-management
allowed-tools: Bash(bun:*)

Hybrid Memory Retrieval

Search memories using the optimal strategy based on query analysis.

State Machine

code
START → PARSE_QUERY → CLASSIFY
     ├→ NO_QUERY ────→ GET_RECENT ────────────────────┐
     ├→ RECENT ──────→ GET_RECENT_N ──────────────────┤
     ├→ KEYWORD ─────→ KEYWORD_SEARCH ────────────────┤
     └→ SEMANTIC ────→ VECTOR_SEARCH ──┬→ RESULTS ────┤
                                       └→ FALLBACK ───┤
                                                      ▼
                              INCLUDE_SUMMARIES? → FORMAT → END

Query Classification

PatternTypeExampleStrategy
Emptynone""Recent memories
Temporalrecent"last 5", "recent"Recent N memories
Short specifickeyword"JWT token"Keyword match
Question/conceptualsemantic"How does auth work?"Vector + fallback

Execution

Path A: Subagent (preferred)

code
Task(
  subagent_type: "summarizer",
  prompt: "Search memories in project PROJECT_ID for: QUERY"
)

Path B: Direct script

bash
bun .opencode/skills/memory-retrieve/scripts/retrieve-memories.ts PROJECT_ID [QUERY] [OPTIONS]

Commands

Main Retrieval

bash
# Recent memories (no query)
bun .opencode/skills/memory-retrieve/scripts/retrieve-memories.ts PROJECT_ID

# Semantic search
bun .opencode/skills/memory-retrieve/scripts/retrieve-memories.ts PROJECT_ID "authentication flow"

# With summaries
bun .opencode/skills/memory-retrieve/scripts/retrieve-memories.ts PROJECT_ID "JWT" --include-summaries

# JSON output
bun .opencode/skills/memory-retrieve/scripts/retrieve-memories.ts PROJECT_ID "auth" --format json --limit 10

Individual Scripts

bash
# Classify query type
bun .opencode/skills/memory-retrieve/scripts/classify-query.ts "QUERY"

# Recent only
bun .opencode/skills/memory-retrieve/scripts/get-recent-memories.ts PROJECT_ID --limit 10

# Vector search
bun .opencode/skills/memory-retrieve/scripts/search-vector.ts PROJECT_ID "QUERY" --limit 20

# Keyword fallback
bun .opencode/skills/memory-retrieve/scripts/search-keyword.ts PROJECT_ID "QUERY" --limit 20

Options

OptionDefaultDescription
--limit N20Max results
--include-summariesfalseInclude project summaries
--format json|texttextOutput format
--quietfalseJSON only, no progress

Exit Codes

CodeMeaning
0Success
1Error
2No results (search scripts only - triggers fallback)

Output

Text Format

code
## Summaries

### coding_session (1/8/2026)
OBJECTIVE: Implement authentication...

## Memories

- **fact** [0.92]: Implemented JWT verification...
- **fact** [0.89]: Added refresh token logic...

JSON Format

json
{
  "success": true,
  "memories": [...],
  "summaries": [...],
  "searchMethod": "vector",
  "totalTokens": 2340,
  "count": 8
}

Environment Variables

VariableDefaultDescription
BRAINY_API_URLhttp://localhost:3000API endpoint
BRAINY_PROJECT_ID3afb861a-...Default project if not specified
RETRIEVE_RECENT_LIMIT10Default limit for recent queries
RETRIEVE_SEARCH_LIMIT20Default limit for search queries
RETRIEVE_MIN_SIMILARITY0.5Min similarity for vector results