C++ 课程 PDF 转 Evernote 笔记

将课程 PDF 转换为条理清晰的 Evernote 笔记,包含原生标题、语法高亮代码块和表格。

lonelypatientsk
2026年10月11日
0 收藏
56 下载

安装与下载

1 ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install cpp-yingxiangnote

2 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/
工作区 {'/skills/'}

优先级:工作区 › 全局 › 内置

3 提示词安装

将此提示词复制到 Openclaw 即可自动安装。

请帮我使用 Clawhub 安装 skill-cpp-yingxiangnote。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

更倾向于下载?

获取包含原生技能文件的ZIP压缩包。

下载技能 (.zip)

基本信息

名称 C++ 课程 PDF 转 Evernote 笔记
Slug cpp-yingxiangnote
创建者 lonelypatientsk
创建时间 2026-10-11 05:50:41
更新时间 2026-10-11 05:50:41
收藏数 0
使用量 56
浏览量 5

安装指南

  1. ClawHub CLI 从源直接安装技能的最快方式。
    npx clawhub@latest install cpp-yingxiangnote
  2. 手动安装 将技能文件夹复制到以下位置之一
    全局模式
    ~/.openclaw/skills/
    工作区
    /skills/
    优先级:工作区 > 本地 > 内置
  3. 提示词安装 将此提示词复制到 OpenClaw 即可自动安装。
    请帮我使用 Clawhub 安装 cpp-yingxiangnote。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
    更倾向于下载?
    获取包含原生技能文件的ZIP压缩包。
    下载技能 (.zip)

什么是

此 skill 可从 C++ 课程 PDF 及其他课程 PDF 中提取和整理内容,然后以 Evernote 原生 Supernote 格式发布到指定的 Evernote 笔记本。它会将提取的材料转换为便于浏览的笔记,其中包含可折叠标题、原生代码块、表格和格式统一的提示框。
Openclaw Skills 用户也可以使用它将准备好的 Markdown 转换为适用于 Evernote 的笔记。它使用 PyMuPDF 处理文本和表格提取,并将扫描页面渲染为图像以进行视觉识别,因此无需额外安装 PDF 图像文本提取器。

应用场景

将 C++ 讲义幻灯片、课程讲义或教程 PDF 转换为 Evernote 笔记本。
从课程资料中提取并整理文本、代码示例和表格,以便日后学习。
将扫描的 PDF 页面渲染为图像,以进行视觉识别。
使用原生标题、代码块和表格将准备好的 Markdown 发布到 Evernote。
创建新笔记,或使用处理后的内容更新现有 Evernote 笔记。

工作原理

提取 PDF 内容:运行 PDF 转 Markdown 脚本,以识别标题级别、代码块和表格;删除重复的页脚和代码行号列;并在需要时将扫描页面渲染为图像。
检查并整理:修复断开的段落、还原代码缩进和注释、分类提示与注意事项,并为代码块添加描述性标题。将整理后的内容保存为 work/note.md。
转换为原生格式:将 Markdown 转换为 Evernote ENML,选择代码语言,并在需要时调整标题级别或提供标题列表。检查报告中的代码块、标题和表格数量。
写入 Evernote:使用推送脚本在指定笔记本中创建笔记,或更新现有笔记。该脚本会设置 Supernote 功能所需的原生笔记属性。
验证结果:请用户同步 Evernote 客户端,并确认标题、代码块、表格、提示和注意事项均能正确显示。如果格式存在差异,请读取笔记内容,并将其 ENML 与生成的内容进行比较。

配置指南

安装此 skill 所需的 Python 依赖项:
pip install pymupdf evernote3 thrift
在 YINXIANG_TOKEN 环境变量中设置 Evernote 正式环境开发者令牌,或通过 --token 将其传递给推送命令。请从 Evernote 开发者令牌页面获取正式环境令牌;沙盒令牌无法写入真实账户。请将令牌视为敏感凭据,不要将其存储在持久化文件中,也不要将其提交到代码仓库。
创建笔记前,请检查令牌和账户:
python scripts/yinxiang_push.py check --token "S=..."
在转换或发布内容前,请阅读 references/native-format.md。该文件记录了通过 Evernote 客户端同步保留标题、代码块和表格所需的原生 ENML 结构。需要时,请将用户的 Evernote 昵称作为作者提供。
C++ 课程 PDF 转 Evernote 笔记 数据架构与分类体系
work/raw.md:从源 PDF 提取的 Markdown;可选的 JSON 输出包含提取详情和 ocr_images 列表。
ocr_pages/:扫描 PDF 页面渲染后的图像,用于视觉识别。
work/note.md:整理后的结构化 Markdown,包含标题、正文、带标题的代码围栏、表格和提示框。
work/note.enml:根据整理后的 Markdown 生成的 Evernote ENML,用作笔记内容载荷。
内容 组织方式或表示形式
标题 将 Markdown 标题级别转换为 Evernote 原生的可折叠大纲标题
代码 使用带描述性标题并指定语言(例如 C++)的围栏代码块;Evernote 客户端会呈现语法高亮
表格 使用 PyMuPDF 表格检测功能提取,并在生成 ENML 前转换为 Markdown
提示和注意事项 将 Markdown 引用块约定转换为预期的 Evernote 强调样式
笔记元数据 笔记本、标题、作者和原生来源属性,例如 source=yinxiang.superNote
OCR 页面跟踪 渲染后的页面图像会列在提取输出中,以便识别和报告扫描页面
PDF 提取脚本支持 --scan-dir、--dpi、--no-tables、--no-render 和 --json 等选项。Markdown 转 ENML 脚本支持 --lang、--drop-first-title、--promote 和 --titles。

高级特性

扫描页面处理:
将扫描页面渲染为图像,并返回图像列表以供视觉识别;无需单独安装 PDF 图像文本提取器软件包。
Evernote 原生格式:
生成 ENML,以支持可折叠标题导航、带行号和标题的紧凑语法高亮代码块,以及原生表格。
Markdown 转换控制:
设置代码语言、移除重复的首个标题、提升标题级别,或提供自定义标题列表。
创建和更新操作:
推送新笔记,或通过 GUID 替换现有笔记的内容;推送工具还可检查账户并列出笔记本。
格式诊断:
将从 Evernote 读回的笔记内容与提交的 ENML 进行比较,以识别客户端规范化处理或格式扁平化问题。
凭据和文件管理:
不要将令牌存储在持久化文件或代码仓库中;完成后删除可能包含凭据的临时脚本。
语言灵活性:
此工作流虽针对 C++ 课程资料设计,但通过选择合适的代码语言并调整强调约定,也可处理其他课程 PDF。


name: cpp-yingxiangnote slug: cpp-yingxiangnote
version: 1.0.0
displayName: C++课件 → 印象笔记
description: 把 C++ 课件 / 讲义类 PDF 提取整理成结构化笔记,并以「印象笔记超级笔记原生格式」写入指定笔记本。当用户提供 C++ 课件 PDF(或其它课程 PDF)并说「整理到印象笔记」「存到印象笔记的 XX 笔记本」「做成笔记放进印象笔记」「pdf 转印象笔记笔记」时使用。也适用于需要把已整理好的 Markdown 转成印象笔记原生格式(可折叠标题大纲 + 原生代码块 + 原生表格)的场景。本 skill 内含 PDF 文字/表格提取能力(pymupdf),扫描版页面会自动渲染为图片交由视觉识别,因此无需额外安装 pdf-image-text-extractor。别名 c++yingxiangnote、c++印象笔记笔记。关键词:课件、讲义、pdf、提取文字、整理笔记、印象笔记、超级笔记、string、C++。 trigger:
command: "/cppnote"