Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计提醒

recall-from-notionrecall from Notion 搜索

Agent Skill

用于处理 Notion 页面、数据库、工作区内容和结构化记录。它适合让 Agent 查询知识库、整理页面内容、创建记录或把外部信息同步到 Notion。使用时需要确认集成是否已被授权到目标页面或数据库,并区分读取、追加和覆盖更新;涉及批量写入或修改数据库属性时,应先核对字段名称、属性类型和目标页面。

总安装

11,268

周安装

484

GitHub Stars

公开资料未说明

下载量

3,949
OpenClaw

安装说明

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

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

ClawHubOpenClaw
openclaw skills install recall-from-notion

简介

从 Notion 知识库检索用户历史笔记与偏好信息,增强对话连续性。

  • 主动触发以了解背景,辅助提供个性化回复与行动建议。
  • 支持全文搜索与数据库筛选,快速定位相关页面内容。recall-from-notion 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 需授权访问指定工作区,并区分只读与编辑权限边界。
  • 批量读取大量页面时建议分页加载,避免性能过载问题。

SKILL.md

name
recall-from-notion
description
>
user-invocable
true

Recall from Notion

Read the user's memories from the Memory Store Notion Database and use them as context for the current conversation.

Database Discovery

This skill uses a zero-config convention: the database is always named "Memory Store".

Step 1: Locate the database

POST /v1/search
{
  "query": "Memory Store"
}

From the results, find the item with object: "data_source" whose title is "Memory Store". Extract both:

  • data_source_id -- for querying (POST /v1/data_sources/{id}/query)
  • database_id -- for reference
  • If found -> use data_source_id for all subsequent queries.
  • If not found -> silently skip recall. Do NOT prompt the user to create anything.

Platform Adaptation

This skill describes operations using generic Notion REST API format. Each platform's AI should translate to its available tools using the fixed mappings below. Do NOT guess -- follow these mappings exactly.

Claude Code / Claude.ai (Notion MCP Tools)

OperationSKILL.md DescribesUse MCP ToolKey Parameters
Discover databasePOST /v1/searchnotion-searchquery: "Memory Store", content_search_mode: "workspace_search"
Get data_source_id--notion-fetchFetch the database, extract from <data-source url="collection://..."> tag
Structured queryPOST /v1/data_sources/{id}/queryNot availableSkip Path 1, use Path 2 only
Semantic search in DBPOST /v1/search + data_source_urlnotion-searchdata_source_url: "collection://<data_source_id>"
Fetch page detailsGET /v1/pages/{id}notion-fetchid: "<page_id>"

Critical notes:

  • Discovery MUST use content_search_mode: "workspace_search" (default ai_search mode may not return databases)
  • Structured database query (Path 1) is not available in MCP. Dual-path recall degrades to semantic search only. This is acceptable for <500 memories.
  • Do NOT parallel-call multiple notion-search against the same data_source_url -- MCP will error. Run searches sequentially, or combine into one query.
  • Semantic search results lack full properties. Use notion-fetch per result to get Category, Status, Scope, etc.
  • Multiple notion-fetch calls can run in parallel within one response to minimize latency.

OpenClaw

OpenClaw accesses Notion through a separately installed "notion" skill (clawhub.ai/steipete/notion). This skill must be installed before using recall-from-notion.

When executing, first read the notion skill's SKILL.md to learn the Notion API access patterns (API key setup, curl commands, endpoints). Then follow this workflow using those patterns.

  • All operations described in this skill (search, query, fetch page)

map directly to the notion skill's REST API patterns

  • All operations including structured query (Path 1) are fully supported

Important: This skill (recall-from-notion) is a workflow skill that depends on Notion connectivity. It does NOT provide Notion access itself -- it relies on the platform's Notion integration (MCP tools on Claude Code/Claude.ai, notion skill on OpenClaw).

When to Trigger

Always trigger when:

  • User references past conversations or shared context ("we discussed before", "you know my setup")
  • User starts a task where personal context matters (coding, writing, planning, recommendations)
  • User asks about their own preferences, decisions, or project details
  • User says "recall", "remember", or similar

Consider triggering when:

  • A new conversation starts with a domain-specific task (coding, architecture, DevOps, etc.)
  • User mentions a project name, tool, or technology that might have stored context
  • User asks for recommendations or opinions where past preferences would help

Skip when:

  • Pure factual Q&A with no personal dimension ("What is Python's GIL")
  • User explicitly says they want a fresh start or generic advice

Recall Strategy

Step 1: Discover Database

See Database Discovery above. If not found, silently skip all remaining steps.

Step 2: Analyze Conversation Topic

From the user's message or conversation context, extract:

  1. Keywords: Specific nouns, technologies, tools, project names

- e.g., "Notion", "Claude Code", "orchestrator", "Python"

  1. Semantic query: A natural language summary of the user's intent

- e.g., "CI configuration preferences", "Python project architecture decisions"

  1. Current project (if in Claude Code): Detect from the working directory

- e.g., "OpenClaw", "skills", "claude_world"

Search strategy guidance:

  • Prefer one well-crafted natural language query over multiple keyword-stuffed searches.

e.g., "user background preferences and development tools" is better than 3 separate searches.

  • For broad queries ("what do you know about me", "my basic info"), a single general query suffices.
  • Only add a second search if the first round clearly missed a specific topic dimension.
  • On MCP platforms, searches against the same data_source_url MUST be sequential (see Critical notes).

Step 3: Dual-Path Recall

Use two parallel paths to maximize recall coverage, then merge results.

Path 1 -- Structured query (precision, returns full properties):

Query the data source with keyword filters on Title, Content, and Project.

POST /v1/data_sources/{data_source_id}/query
{
  "filter": {
    "or": [
      { "property": "Title", "title": { "contains": "<keyword>" } },
      { "property": "Content", "rich_text": { "contains": "<keyword>" } },
      { "property": "Project", "rich_text": { "contains": "<keyword>" } }
    ]
  },
  "page_size": 50
}

For multiple keywords (e.g., "Notion" and "MCP"):

{
  "filter": {
    "or": [
      { "property": "Title", "title": { "contains": "Notion" } },
      { "property": "Content", "rich_text": { "contains": "Notion" } },
      { "property": "Title", "title": { "contains": "MCP" } },
      { "property": "Content", "rich_text": { "contains": "MCP" } }
    ]
  }
}
MCP platforms (Claude Code / Claude.ai): Path 1 is not available (no structured query tool). Skip directly to Path 2. The recall becomes single-path semantic search.

Path 2 -- Semantic search (coverage, catches what keywords miss):

Search within the Memory Store using the semantic query from Step 2.

POST /v1/search
{
  "query": "<semantic query from Step 2>",
  "data_source_url": "collection://<data_source_id>"
}

This catches memories that are semantically related but don't contain the exact keywords. For example, searching "CI configuration" might find "GitHub Actions workflow preferences" even though it doesn't contain the word "CI".

Why dual-path? Structured query is precise but only matches exact keywords -- it misses semantically related memories. Semantic search understands intent but returns incomplete properties (only id/title/highlight). Combining both gives precision + coverage.

Step 4: Merge and Enrich

  1. Merge: Combine results from both paths, deduplicate by page id.
  2. Enrich: Structured query results already have full properties. For memories found

only by semantic search, fetch their full properties:

   GET /v1/pages/{page_id}

(Only fetch the delta -- skip pages already in structured query results.)

MCP platforms: Since only Path 2 is available, ALL results need enrichment via notion-fetch. If multiple searches were performed, deduplicate by page id first, then fetch only unique results. Multiple notion-fetch calls can run in parallel to minimize latency.

Step 5: Filter

Apply these filters on the merged results:

Scope filter (most important for Claude Code):

  • Always include: Scope = Global
  • Include: Scope = Project where Project matches current project name
  • Exclude: Scope = Project for OTHER projects
  • Include: no Scope set (legacy data, treat as Global)

Status filter:

  • Contradicted: Always skip
  • Archived: Skip unless user explicitly asks

Expiry filter:

  • 30d: Source Date + 30 days < today -> skip
  • 90d: Source Date + 90 days < today -> skip
  • 1y: Source Date + 1 year < today -> skip
  • Never: Always include

Step 6: Rank

Priority scoring:

  1. Dual-path bonus: Found by both structured query and semantic search -> highest relevance
  2. Topic match: Directly relates to user's current question/task
  3. Category weight: Preference > Fact > Decision > Pattern > Skill > Context
  4. Recency: Newer Source Date > Older

Injection limit: 10-15 memories maximum.

Step 7: Inject as Context

Format recalled memories as a compact context block grouped by Category:

Recalled context from Memory Store:

[Preferences]
- User prefers Ruff for code formatting and linting
- ...

[Facts]
- User is a programmer, primarily uses Python
- Notion workspace connected via MCP
- ...

[Decisions]
- Memory Store uses Notion Database as storage backend
- ...

Rules:

  • Group by Category, keep each entry 1-2 lines
  • Include key details (IDs, commands, URLs) verbatim
  • Only show Categories with entries
  • Silently drop irrelevant memories

Handling Edge Cases

No results: Proceed without memories. Don't announce unless user explicitly asked.

Too many (>15): Rank strictly, inject top 10-15. Note more are available.

Stale/wrong memories: Flag contradictions and offer to update.

"How do you know that?": Explain it came from Memory Store, offer to show/edit.

Important Notes

  • Silent injection: Don't say "Searching memory store..." unless user explicitly asked.
  • User's language: Construct search queries in the user's primary language. Memories are stored in the user's language, so search in the same language for best recall.
  • Relevance first: When in doubt, leave it out.
  • Scope awareness: In Claude Code, detect current project and filter accordingly.
  • Cross-platform: Treat entries from all sources (Claude.ai, Claude Code, OpenClaw) equally.
  • Read-only: This skill only reads from the database, never writes.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

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

04

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

能力 5

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

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

平台分布

OpenClaw

93.44%
按下载量换算3,690

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

未展示

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

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

来源信息

继续浏览同类 Skills