有道云笔记 读取 / 搜索 / 新建 助手
封装 youdaonote CLI 最常用的三步能力:读(read)、查(search/list)、建(save)。
前置:本机已安装 youdaonote CLI(单文件 exe,位于 C:\WINDOWS\youdaonote),且已配置 API Key。
验证环境就绪:直接运行 youdaonote list,若能返回顶层目录列表即 OK(无需 -s 参数)。
⚠️ 重要实测约束(本机 / 当前沙箱)
- CLI 版本 1.3.1 不支持全局
-s参数:官方 youdaonote skill 要求每条命令加-s ydn(用于网易后台统计),但本机版本会报error: unknown option '-s'。所有命令去掉-s ydn即可正常工作。若坚持要统计参数,需按官方指南把 CLI 升级到 ≥1.3.3:Windows 不支持自动upgrade,需从 https://note.youdao.com/help-center/cli-install-guide.html 下载新版 exe 覆盖C:\WINDOWS\youdaonote。 - 必须沙箱绕过运行:youdaonote 涉及网络与文件写入,在本 WorkBuddy 沙箱中必须用 Bash 工具的
dangerouslyDisableSandbox: true运行,否则会Failed to open file/ 网络错误(curl 写盘、youdaonote联网均失败)。 update仅支持.md文件,不支持.note:修改.note富文本笔记有格式损坏/覆盖风险。稳妥做法是在同目录新建一篇.md补充笔记,不碰原笔记。
能力一:读取笔记
youdaonote read <fileId>
返回纯文本正文。list / search 输出的 id 即 read 的 fileId。
能力二:搜索 / 浏览目录
youdaonote search "<关键词>" # 跨层搜索笔记与文件夹(最常用,定位未知路径的文件夹)
youdaonote list # 顶层目录
youdaonote list -f <目录ID> # 某文件夹下的子项
- 输出中 📄 为笔记、📁 为文件夹,ID 紧跟在图标后。
- 目标文件夹不在顶层时:先
search "<文件夹名>"拿到它的 ID,再list -f <ID>,不要盲目逐层枚举。
能力三:新建笔记(必须走 save,不要 create)
新建一律用 save + contentFormat: "md",支持 Markdown 富文本。
禁止用 create(create 仅纯文本,含 Markdown 语法会静默丢格式)。
# Step 1:用 Write 工具把正文写到 /tmp/note-content.md(避免 JSON 转义问题)
# Step 2:管道传入 JSON 调用 save
printf '%s\n' '{"title":"标题.md","type":"md","contentFile":"/tmp/note-content.md","parentId":"<目录ID>"}' | youdaonote save
parentId可选:填list返回的文件夹 ID 即存到该目录;不填默认「我的资源 / 收藏笔记」。- 短内容也可内联:
printf '%s\n' '{"title":"标题.md","type":"md","content":"# 标题\n\n内容"}' | youdaonote save
用户笔记目录结构参考(GTD 式)
顶层 7 个文件夹:
| 文件夹 | 说明 |
|---|---|
| 我的资源(根) | 含「收藏笔记」等子项 |
| C1=收集箱 | 存储 / 模板 / 收集目录 |
| C2=等待处理 | 日记本 / 沉思录 / 清单 / 备忘录 / 日程 |
| C3=将来可能 | 复盘 / 点子 / 规划 / 策划 / 总结 |
| C4=归档资料 | 学习类 / 工作类 / 生活类 / 工具技巧 |
| C5=专题研究 | 大量 5.x 专题(AI / Python / 数据分析 / 投资理财 等) |
| C0=过去整理 | 技术相关 / 课外知识积累 / 情感 等历史归档 |
- 命名风格:笔记标题带
#标签(如#日常-#软件),子文件夹常以 🛠 / 📌 等 emoji 前缀。 - 示例定位:「🛠 软件应用篇」ID =
WEBc6a2ef6af1816e55b4af6603d6bfb2b5,内含 OneNote / 飞书 / Beyond Compare / B站剪辑 / PPT 等软件技巧笔记。
典型对话流程
- 用户「进 XX 文件夹看看」→ 先
search "XX"定位 ID,再list -f <ID>。 - 用户「读某篇」→
read <fileId>输出全文。 - 用户「新建 / 补充内容」→ 用
save新建.md笔记到目标parentId;若要改.note原笔记,改用「同目录新建 .md 补充笔记」方案并征得用户同意。