返回 Skill 列表
extension
分类: 开发与工程无需 API Key

searching-messages

搜索过去的聊天记录以回忆上下文。当你需要记住之前的讨论、找到之前提到的特定主题、从早期的对话历史中提取上下文,或者确定哪个代理讨论了某个话题时使用。

person作者: jakexiaohubgithub

Searching Messages

This skill helps you search through past conversations to recall context that may have fallen out of your context window.

When to Use This Skill

  • User asks "do you remember when we discussed X?"
  • You need context from an earlier conversation
  • User references something from the past that you don't have in context
  • You want to verify what was said before about a topic
  • You need to find which agent discussed a specific topic (use with finding-agents skill)

CLI Usage

letta messages search --query <text> [options]

Options

| Option | Description | |--------|-------------| | --query <text> | Search query (required) | | --mode <mode> | Search mode: vector, fts, hybrid (default: hybrid) | | --start-date <date> | Filter messages after this date (ISO format) | | --end-date <date> | Filter messages before this date (ISO format) | | --limit <n> | Max results (default: 10) | | --all-agents | Search all agents, not just current agent | | --agent <id> | Explicit agent ID (overrides LETTA_AGENT_ID) | | --agent-id <id> | Alias for --agent |

Search Modes

  • hybrid (default): Combines vector similarity + full-text search with RRF scoring
  • vector: Semantic similarity search (good for conceptual matches)
  • fts: Full-text search (good for exact phrases)

Companion Command: messages list

Use this to expand around a found needle by message ID cursor:

letta messages list [options]

| Option | Description | |--------|-------------| | --after <message-id> | Get messages after this ID (cursor) | | --before <message-id> | Get messages before this ID (cursor) | | --order <asc\|desc> | Sort order (default: desc = newest first) | | --limit <n> | Max results (default: 20) | | --agent <id> | Explicit agent ID (overrides LETTA_AGENT_ID) | | --agent-id <id> | Alias for --agent |

Search Strategies

Strategy 1: Needle + Expand (Recommended)

Use when you need full conversation context around a specific topic:

  1. Find the needle - Search with keywords to discover relevant messages:

    letta messages search --query "flicker inline approval" --limit 5
    
  2. Note the message_id - Find the most relevant result and copy its message_id

  3. Expand before - Get messages leading up to the needle:

    letta messages list --before "message-xyz" --limit 10
    
  4. Expand after - Get messages following the needle (use --order asc for chronological):

    letta messages list --after "message-xyz" --order asc --limit 10
    

Strategy 2: Date-Bounded Search

Use when you know approximately when something was discussed:

letta messages search --query "topic" --start-date "2025-12-31T00:00:00Z" --end-date "2025-12-31T23:59:59Z" --limit 15

Results are sorted by relevance within the date window.

Strategy 3: Broad Discovery

Use when you're not sure what you're looking for:

letta messages search --query "vague topic" --mode vector --limit 10

Vector mode finds semantically similar messages even without exact keyword matches.

Strategy 4: Find Which Agent Discussed Something

Use with --all-agents to search across all agents and identify which one discussed a topic:

letta messages search --query "authentication refactor" --all-agents --limit 10

Results include agent_id for each message. Use this to:

  1. Find the agent that worked on a specific feature
  2. Identify the right agent to ask follow-up questions
  3. Cross-reference with the finding-agents skill to get agent details

Tip: Load both searching-messages and finding-agents skills together when you need to find and identify agents by topic.

Search Output

Returns search results with:

  • message_id - Use this for cursor-based expansion
  • message_type - user_message, assistant_message, reasoning_message
  • content or reasoning - The actual message text
  • created_at - When the message was sent (ISO format)
  • agent_id - Which agent the message belongs to