recall

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Recall — Find What Was Said

召回功能——查找过往对话内容

When Joel references something vaguely, don't guess — fan out across all memory sources and find it.
当Joel模糊引用某些内容时,不要猜测——要在所有记忆源中进行扇出式搜索并找到对应内容。

Trigger Detection

触发检测

Phrases that indicate a recall is needed (case-insensitive):
  • "from earlier", "earlier today", "earlier this week"
  • "remember when", "remember that", "you mentioned"
  • "what we discussed", "what we talked about", "the conversation about"
  • "that thing with", "the thing about", "what was that"
  • "did we ever", "have we", "wasn't there"
  • "last session", "the other day", "yesterday"
  • "correlate with", "connect to what we"
  • Any vague pronoun reference to past context ("those photos", "that idea", "the notes")
Key principle: If you'd have to guess what "earlier" or "that" refers to, you need recall.
表明需要执行召回的短语(不区分大小写):
  • "from earlier"、"earlier today"、"earlier this week"
  • "remember when"、"remember that"、"you mentioned"
  • "what we discussed"、"what we talked about"、"the conversation about"
  • "that thing with"、"the thing about"、"what was that"
  • "did we ever"、"have we"、"wasn't there"
  • "last session"、"the other day"、"yesterday"
  • "correlate with"、"connect to what we"
  • 任何指代过往上下文的模糊代词("those photos"、"that idea"、"the notes")
核心原则:如果你需要猜测"earlier"或"that"指代的内容,就需要执行召回操作。

Fan-Out Search Pattern

扇出式搜索模式

Search these sources in parallel where possible, with timeouts on each:
尽可能并行搜索以下这些源,每个搜索都要设置超时时间:

1. Today's Daily Log (fastest, most likely)

1. 今日日志(速度最快,最有可能找到)

bash
undefined
bash
undefined

Always check first — most "from earlier" references are same-day

总是先检查这里——大多数"from earlier"的引用都是当天的内容

cat ~/.joelclaw/workspace/memory/$(date +%Y-%m-%d).md
undefined
cat ~/.joelclaw/workspace/memory/$(date +%Y-%m-%d).md
undefined

2. Recent Daily Logs (if today's doesn't have it)

2. 近期日志(如果今日日志中没有找到)

bash
undefined
bash
undefined

Yesterday and day before

昨天和前天的日志

cat ~/.joelclaw/workspace/memory/$(date -v-1d +%Y-%m-%d).md cat ~/.joelclaw/workspace/memory/$(date -v-2d +%Y-%m-%d).md
undefined
cat ~/.joelclaw/workspace/memory/$(date -v-1d +%Y-%m-%d).md cat ~/.joelclaw/workspace/memory/$(date -v-2d +%Y-%m-%d).md
undefined

3. Curated Memory

3. 整理后的记忆库

bash
cat ~/.joelclaw/workspace/MEMORY.md
Search for keywords from the vague reference.
bash
cat ~/.joelclaw/workspace/MEMORY.md
根据模糊引用中的关键词进行搜索。

4. Session Transcripts

4. 会话记录

Use the
session_context
tool to search recent sessions:
sessions(limit: 10)  # find recent session IDs
session_context(session_id: "...", query: "what was discussed about <topic>")
使用
session_context
工具搜索近期会话:
sessions(limit: 10)  # 查找近期会话ID
session_context(session_id: "...", query: "what was discussed about <topic>")

5. Vault Notes

5. 笔记库

bash
undefined
bash
undefined

Keyword search across Vault

在笔记库中进行关键词搜索

grep -ri "<keywords>" ~/Vault/ --include="*.md" -l | head -10
undefined
grep -ri "<keywords>" ~/Vault/ --include="*.md" -l | head -10
undefined

6. System Log

6. 系统日志

bash
slog tail --count 20  # recent infrastructure changes
bash
slog tail --count 20  # 近期基础设施变更记录

7. Processed Media

7. 已处理媒体文件

bash
undefined
bash
undefined

Check for images/audio that were processed

检查已处理的图片/音频文件

ls /tmp/joelclaw-media/ 2>/dev/null
undefined
ls /tmp/joelclaw-media/ 2>/dev/null
undefined

8. Redis State

8. Redis状态存储

bash
undefined
bash
undefined

Memory proposals, loop state, etc.

记忆提案、循环状态等

redis-cli LRANGE memory:review:pending 0 -1 2>/dev/null
undefined
redis-cli LRANGE memory:review:pending 0 -1 2>/dev/null
undefined

Workflow

工作流程

  1. Extract keywords from the vague reference. "Those photos from earlier" → keywords: photos, images, media, telegram.
  2. Fan out across sources 1-8 above. Use
    timeout 5
    on any command that might hang.
  3. Synthesize — combine findings into a coherent summary of what was found.
  4. Present context — show Joel what you found, then continue with the original task.
  5. If nothing found — say so honestly. Don't fabricate. Ask Joel to clarify.
  1. 提取关键词:从模糊引用中提取关键词。例如“Those photos from earlier” → 关键词:photos、images、media、telegram。
  2. 扇出搜索:在上述1-8号源中执行搜索。对任何可能卡顿的命令使用
    timeout 5
  3. 整合结果:将搜索结果整合成连贯的总结内容。
  4. 呈现上下文:向Joel展示找到的内容,然后继续执行原始任务。
  5. 未找到内容时:如实告知。不要编造内容。请Joel进行澄清。

Timeouts Are Mandatory

必须设置超时时间

Every external call (Redis, grep over large dirs, session reads) MUST have a timeout. The gateway session cannot hang on a recall operation.
bash
undefined
所有外部调用(Redis、大目录下的grep、会话记录读取)都必须设置超时时间。网关会话不能因召回操作而卡顿。
bash
undefined

Good

正确示例

timeout 5 grep -ri "keyword" ~/Vault/ --include="*.md" -l | head -10
timeout 5 grep -ri "keyword" ~/Vault/ --include="*.md" -l | head -10

Bad — can hang indefinitely

错误示例——可能无限期卡顿

grep -ri "keyword" ~/Vault/ --include="*.md"
undefined
grep -ri "keyword" ~/Vault/ --include="*.md"
undefined

Anti-Patterns

反模式

  • Don't grep one file and call it done. The whole point is fan-out.
  • Don't guess when recall fails. Say "I couldn't find it" and ask.
  • Don't read entire session transcripts. Use
    session_context
    with a focused query.
  • Don't skip media. Photos, audio, processed images in
    /tmp/joelclaw-media/
    are often what "from earlier" refers to.
  • 不要只搜索一个文件就结束:扇出式搜索的核心是多源搜索。
  • 召回失败时不要猜测:直接说“我未找到相关内容”并请求澄清。
  • 不要读取完整的会话记录:使用带聚焦查询的
    session_context
    工具。
  • 不要忽略媒体文件
    /tmp/joelclaw-media/
    中的图片、音频、已处理图片通常是"from earlier"所指代的内容。