← 返回
未分类 Key 中文

Notes Know You

Sync Evernote notebooks to local Markdown, analyze your notes, and update USER.md + Memory files so the AI truly understands who you are
将Evernote笔记本同步至本地Markdown,分析笔记并更新USER.md和Memory文件,使AI更了解用户。
hxiaom
未分类 clawhub v1.0.0 1 版本 100000 Key: 需要
★ 0
Stars
📥 335
下载
💾 0
安装
1
版本
#latest

概述

notes-know-you

通过你的印象笔记,让 AI 真正了解你。

This skill syncs your Evernote/Yinxiang notebooks to local Markdown files, analyzes

the content, and updates the agent's USER.md and Memory files with structured insights —

so your AI assistant always has the right context about who you are.


Configuration

Set the following environment variables before using this skill:

VariableRequiredDescription
---------
NOTES_DB_PATHYesAbsolute path to your evernote-backup database file (e.g., F:\notes\en_backup.db)
NOTES_BACKENDNochina for Yinxiang (default), evernote for international
NOTES_TOKENNoDeveloper token (use if password auth fails)
NOTES_EXPORT_DIRNoWhere to write exported Markdown files (default: same directory as db, under evernote/markdown/)
NOTES_MEMORY_DIRNoWhere to write memory files (default: auto-detected)

Usage

/notes-know-you              — full sync: pull → convert → analyze → update memory
/notes-know-you sync         — same as above
/notes-know-you analyze      — skip sync, re-analyze existing Markdown files only
/notes-know-you setup-cron [interval]  — set up recurring auto-sync (e.g., setup-cron 24h)

Step-by-Step Instructions

Step 0 — Check Configuration

  1. Verify NOTES_DB_PATH is set and the file exists.
  2. If not set, ask the user:
    • "Where is your evernote-backup database file?"
    • "Are you using Yinxiang (China) or international Evernote?"
    • "Do you have a developer token?"
  3. If the database doesn't exist yet, guide them through first-time setup (see references/setup.md).
  4. Determine:
    • db_path = $NOTES_DB_PATH
    • db_dir = parent directory of db_path
    • enex_dir = $NOTES_EXPORT_DIR/../enex or {db_dir}/evernote/
    • markdown_dir = $NOTES_EXPORT_DIR or {db_dir}/evernote/markdown/
    • backend = $NOTES_BACKEND or china
    • skill_scripts_dir = directory containing this skill's scripts/

Step 1 — Sync from Evernote

Run:

python -m evernote_backup sync -d "{db_path}"

If rate limited (CRITICAL: Rate limit reached): stop and tell the user to wait 25–30 minutes before retrying.

If auth fails: guide the user to get a developer token:

  • Yinxiang: visit https://app.yinxiang.com/api/DeveloperToken.action while logged in
  • International: visit https://www.evernote.com/api/DeveloperToken.action

Then update auth:

python -m evernote_backup reauth -d "{db_path}" -t "{token}"

Step 2 — Export to ENEX

python -m evernote_backup export -d "{db_path}" "{enex_dir}"

This creates one .enex file per notebook under enex_dir.

Step 3 — Convert ENEX to Markdown

For every .enex file found recursively under enex_dir, run:

python "{skill_scripts_dir}/enex_to_markdown_bundle.py" "{enex_file}" "{markdown_dir}"

This produces one merged Markdown file per notebook (e.g., Daily.md, Books.md).

Keep a list of all generated Markdown files and their notebook names.

Step 4 — Analyze Notes Content

Read the generated Markdown files. Notes can be large — skim for structure first, then read

recent entries (last 60 days) in full and older entries at a summary level.

Extract insights by notebook type:

Diary / Daily notes (filenames containing: Daily, Diary, Journal, 日记, 每日, 每天):

  • Daily routines and recurring habits
  • Emotional patterns and frequent concerns
  • Goals and aspirations mentioned
  • Recent life events (last 30 days) — record with approximate dates

Work / Project notes (Work, Project, Todo, Tasks, 工作, 项目):

  • Current active projects and their status
  • Professional skills and tools used
  • Goals and deadlines

Personal / People notes (人, People, Friends, Family, 朋友, 家人):

  • Key relationships and social context
  • Personal values and beliefs expressed

Reading / Clippings (Books, 我的剪藏, Clippings, Reading, 读书):

  • Topics and domains of sustained interest
  • Preferred content formats (books, articles, videos)

General / Other notebooks:

  • Any recurring themes or topics
  • Explicit preferences or opinions stated

Step 5 — Update USER.md

Locate the memory directory:

  1. Check $NOTES_MEMORY_DIR
  2. Check .openclaw/ in the current project root
  3. Check ~/.claude/projects/{current_project_hash}/memory/
  4. Fall back to creating .memory/ in the current directory

Read existing USER.md if it exists. Merge, do not overwrite — preserve facts not

contradicted by the notes.

Write (or update) USER.md with this structure:

# User Profile

_Last updated from notes: {today's date}_

## Identity
[Name if found, role/occupation if mentioned, location if mentioned]

## Interests & Domains
[Topics that appear frequently — be specific, e.g. "投资/财经" not just "finance"]

## Daily Habits & Routines
[Patterns from diary: sleep schedule, exercise, diet, work patterns]

## Goals
### Short-term (within 3 months)
[Specific goals with any deadlines found]
### Long-term
[Life goals, career goals, major aspirations]

## Values & Principles
[Core values or recurring philosophical themes in the notes]

## Skills & Expertise
[Professional and personal skills with rough proficiency level if inferable]

## Current Context
[What's happening in their life right now — active projects, recent events, current focus]

## Relationships
[Key people mentioned and their relationship to the user]

Step 6 — Write Memory Files

For each significant, specific insight, create a memory file in the memory directory.

Use the formats below, saved as {type}_{topic}.md:

User memory (personal attributes, preferences, background facts):

---
name: {descriptive name}
description: {one-line summary — specific enough to judge relevance}
type: user
---

{fact or insight}

Project memory (ongoing projects, goals with context):

---
name: {project name}
description: {what this project is and why it matters}
type: project
---

{fact or insight}

**Why:** {motivation behind this project}
**How to apply:** {how knowing this should shape AI responses}

Feedback memory (explicit preferences the user has expressed in notes):

---
name: {preference topic}
description: {what the user wants or doesn't want}
type: feedback
---

{the rule or preference}

**Why:** {reason given or inferred from notes}
**How to apply:** {when this guidance is relevant}

After writing all memory files, update MEMORY.md (the index file) with one line per

new or updated memory:

- [Title](file.md) — one-line hook

Step 7 — Report to User

Summarize what was done:

✅ Synced {N} notebooks, {M} notes total
📄 Converted to Markdown: {list of notebook names}
👤 USER.md updated — {N} sections changed
🧠 Memory files: {N} created, {M} updated
📌 Top insights extracted:
   1. ...
   2. ...
   3. ...

Cron Setup

When the user runs /notes-know-you setup-cron [interval]:

  1. Default interval: 24h
  2. Parse the interval (e.g., 6h, 12h, 24h, 7d)
  3. Use the agent's cron/scheduler to register a recurring job that runs /notes-know-you sync
  4. Confirm to the user: "Scheduled notes-know-you to run every {interval}. Next run: {datetime}."

Privacy Note

All note content stays local. Nothing is sent to external services beyond passing note

text through the AI model's context window for analysis. ENEX files and Markdown files

remain on your machine.

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-07 10:29 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

developer-tools

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 672 📥 324,670
security-compliance

Skill Vetter

spclaudehome
AI智能体技能安全预审工具。安装ClawdHub、GitHub等来源技能前,检查风险信号、权限范围及可疑模式。
★ 1,219 📥 267,034
ai-intelligence

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,364 📥 319,268