mcpField
S
searching-messages

searching-messages

github.com/letta-aiAgent 工作流3.7k55 次安装今天更新
代码仓库

关于 searching-messages

这项技能使用 `letta` 命令行搜索过往对话,支持语义、全文和混合搜索,并可查看相关消息上下文或查找讨论某主题的 Agent。

主要功能

  1. 01语义、全文及混合搜索
  2. 02按日期和 Agent 筛选
  3. 03按消息 ID 扩展上下文
  4. 04跨 Agent 搜索

适用场景

  1. 01找回早前对话中的背景信息
  2. 02按日期范围查找主题相关消息
  3. 03确定讨论某项功能的 Agent

安装

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

$npx skills add https://github.com/letta-ai/letta-code --skill searching-messages

安装后在 Claude Code 中输入/searching-messages确认已加载。

详细介绍

搜索消息

此技能可帮助你搜索过去的对话,找回可能已超出上下文窗口的内容。

何时使用此技能

  • 用户问“你还记得我们什么时候讨论过 X 吗?”
  • 你需要获取较早对话中的上下文
  • 用户提到了你当前上下文中没有的过往内容
  • 你想核实之前关于某个主题说过什么
  • 你需要查找讨论过某个具体主题的 Agent(与 finding-agents 技能搭配使用)

CLI 用法

letta messages search --query <text> [options]
选项
选项说明
--query <text>搜索查询(必填)
--mode <mode>搜索模式:vector、fts、hybrid(默认:hybrid)
--start-date <date>筛选此日期之后的消息(ISO 格式)
--end-date <date>筛选此日期之前的消息(ISO 格式)
--limit <n>最大结果数(默认:10)
--all-agents搜索所有 Agent,而不只是当前 Agent
--agent <id>显式指定 Agent ID(覆盖 LETTA_AGENT_ID)
--agent-id <id>--agent 的别名
搜索模式
  • hybrid(默认):结合向量相似度与全文搜索,并使用 RRF 评分
  • vector:语义相似度搜索(适合查找概念匹配)
  • fts:全文搜索(适合查找精确短语)

配套命令:messages list

使用此命令通过消息 ID 游标,展开找到的线索附近的内容:

letta messages list [options]
选项说明
--after <message-id>获取此 ID 之后的消息(游标)
--before <message-id>获取此 ID 之前的消息(游标)
--order <asc|desc>排序顺序(默认:desc = 最新优先)
--limit <n>最大结果数(默认:20)
--agent <id>显式指定 Agent ID(覆盖 LETTA_AGENT_ID)
--agent-id <id>--agent 的别名

搜索策略

策略 1:找到线索并展开(推荐)

当你需要了解某个具体主题的完整对话上下文时使用:

  1. 找到线索 - 使用关键词搜索相关消息:

    letta messages search --query "flicker inline approval" --limit 5
    
  2. 记下 message_id - 找到最相关的结果并复制其 message_id

  3. 向前展开 - 获取线索之前的消息:

    letta messages list --before "message-xyz" --limit 10
    
  4. 向后展开 - 获取线索之后的消息(使用 --order asc 按时间顺序排列):

    letta messages list --after "message-xyz" --order asc --limit 10
    
策略 2:限定日期范围搜索

当你大致知道讨论发生的时间时使用:

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

结果会在日期范围内按相关性排序。

策略 3:广泛探索

当你不确定要查找什么时使用:

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

即使没有精确匹配关键词,向量模式也能找到语义相似的消息。

策略 4:查找讨论过某事的 Agent

使用 --all-agents 搜索所有 Agent,并确定哪个 Agent 讨论过某个主题:

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

结果中包含每条消息的 agent_id。可用它来:

  1. 找到负责某项具体功能的 Agent
  2. 确定适合提出后续问题的 Agent
  3. 与 finding-agents 技能交叉参考,以获取 Agent 详细信息

提示: 如果需要按主题查找并识别 Agent,请同时加载 searching-messages 和 finding-agents 技能。

搜索输出

返回的搜索结果包括:

  • message_id - 用于基于游标展开内容
  • message_type - user_message、assistant_message、reasoning_message
  • content 或 reasoning - 实际消息文本
  • created_at - 消息发送时间(ISO 格式)
  • agent_id - 消息所属的 Agent

评论

支持 Markdown