YoudaoNote CLI 快速上手
YoudaoNote CLI(命令行工具)让你无需打开客户端,在终端中直接操作有道云笔记——列出、读取、创建、更新、删除、重命名、移动笔记,以及搜索、剪藏网页、管理待办,适合脚本自动化和 AI 工具链集成。
1. 三步开始使用
macOS / Linux
# 第一步:安装
curl -fsSL https://artifact.lx.netease.com/download/youdaonote-cli/install.sh | bash
# 第二步:配置 API Key(将 YOUR_API_KEY 替换为你的密钥,获取方式见下方说明)
youdaonote config set apiKey YOUR_API_KEY
# 第三步:验证
youdaonote list
Windows
一键安装脚本 不支持 Windows。
第一步: 安装
请先打开 安装指南 · 1.2 Windows(手动下载):下载
youdaonote-cli-windows-x64或windows-arm64压缩包,解压出youdaonote.exe并配置 PATH。第二步:配置 API Key
在 CMD 或 PowerShell 中执行:
# 第二步:配置 API Key(将 YOUR_API_KEY 替换为你的密钥,获取方式见下方说明) youdaonote config set apiKey YOUR_API_KEY配置文件路径为
%USERPROFILE%\.youdaonote.json。第三步:验证
# 第三步:验证 youdaonote list
若在 WSL 中使用,可按 macOS / Linux 方式在 WSL 终端内安装,与 Windows 原生环境相互独立。
如何获取 API Key?
- 确保你的有道云笔记账号已绑定手机号(可在有道云笔记客户端账号设置中绑定)
- 打开 MCP 控制台,登录后创建 API Key
- 复制 API Key,替换上方命令中的
YOUR_API_KEY
安装遇到问题?请参阅 安装指南。
2. 常用命令
以下示例以 bash 为主;在 Windows CMD / PowerShell 中命令名相同,将 youdaonote 换为已加入 PATH 的 youdaonote.exe 即可(通常可直接输入 youdaonote)。
列出笔记
youdaonote list # 列出根目录
youdaonote list -f <目录ID> # 列出指定目录
读取笔记内容
youdaonote read <fileId>
fileId 可从 list 或 search 结果中获取。
创建笔记
youdaonote create -n "标题" -c "内容"
youdaonote create -n "空笔记" # 省略 -c 则创建空笔记
youdaonote create -n "标题" -f <目录ID> # 保存到指定目录
更新笔记内容
仅支持 Markdown 笔记(
.md格式)。fileId可从list或search结果中获取。
youdaonote update <fileId> -c "新内容" # 更新内容
youdaonote update <fileId> --file content.md # 大内容从文件读取(推荐 >10KB)
youdaonote update <fileId> -c "新内容" -n "新标题" # 同时更新标题
删除笔记
youdaonote delete <fileId>
仅支持删除笔记文件,不支持删除文件夹。
重命名与移动笔记
youdaonote rename <fileId> "新标题" # 重命名笔记
youdaonote move <fileId> <目录ID> # 移动笔记到指定目录
rename和move均只支持笔记文件,不支持文件夹。目录 ID 可通过youdaonote list获取。
搜索笔记
youdaonote search 关键词
获取最近收藏的笔记
youdaonote recent # 默认返回 15 条
youdaonote recent -l 30 # 返回 30 条
youdaonote recent -c # 同时输出正文
网页剪藏
youdaonote clip "https://example.com/article"
youdaonote clip "https://example.com/article" -f <目录ID>
Windows CMD 用户:URL 中含
&符号时(如?a=1&b=2),必须用英文双引号括起整个 URL,否则&会被 CMD 识别为命令分隔符,导致:
- URL 被截断(只保留第一个
&之前的部分),剪藏内容不完整&后的参数被当作命令执行,出现「不是内部或外部命令」错误正确写法:
youdaonote clip "https://example.com/article?a=1&b=2"
保存剪藏数据(clip-save)
接收外部生成的 HTML 剪藏 JSON(如浏览器插件输出),保存到有道云笔记。
{
"title": "笔记标题",
"bodyHtml": "<p>正文内容</p>",
"sourceUrl": "https://example.com",
"images": []
}
youdaonote clip-save --file result.json
Windows 编码说明:CLI 已自动处理文件和管道输入的 GBK/UTF-8 编码转换。但
echo {...} > file.json在 CMD 中写出的是 GBK 文件,建议改用以下方式之一:
- 在 CMD 中先执行
chcp 65001(切换为 UTF-8 代码页),再写入文件- 用记事本或 VS Code 另存为 UTF-8 格式
- 若仍有乱码(极少见),会有 stderr 提示
保存任意类型笔记(save)
支持 Markdown、思维导图等类型:
{
"title": "笔记.md",
"type": "md",
"content": "# 标题\n\n正文内容"
}
youdaonote save --file note.json
待办管理
列出待办
youdaonote todo list # 列出全部待办
youdaonote todo list -g <分组ID> # 按分组筛选
youdaonote todo list --json # 输出 JSON 格式
创建待办
youdaonote todo create -t "买牛奶"
youdaonote todo create -t "写周报" -d 2026-04-04 # 设置截止日期
youdaonote todo create -t "修 Bug" -c "详情..." -g <分组ID> # 带内容和分组
更新待办
youdaonote todo update <todoId> --done # 标记完成
youdaonote todo update <todoId> --undone # 取消完成
youdaonote todo update <todoId> -t "新标题" # 修改标题
youdaonote todo update <todoId> -d 2026-05-01 # 修改截止日期
youdaonote todo update <todoId> -g <分组ID> # 移动到其他分组
todoId 可从 todo list --json 结果中获取。
删除待办
youdaonote todo delete <todoId>
待办分组
youdaonote todo groups # 列出所有分组
youdaonote todo groups --json # 输出 JSON 格式
youdaonote todo group-create "工作" # 创建分组
youdaonote todo group-rename <分组ID> "生活" # 重命名分组
youdaonote todo group-delete <分组ID> # 删除分组(⚠️ 会同时删除该分组下所有待办)
3. 常见使用场景
用脚本批量查看笔记
youdaonote list
youdaonote list -f <目录ID>
在 CI/脚本中创建笔记
cat > note.json << 'EOF'
{
"title": "构建报告.md",
"type": "md",
"content": "# 构建成功\n\n时间:2026-03-12"
}
EOF
youdaonote save --file note.json
剪藏网页到指定目录
youdaonote clip "https://example.com/article" -f <目录ID>
脚本中搜索并读取笔记
FILE_ID=$(youdaonote search "关键词" --json | jq -r '.[0].id')
youdaonote read "$FILE_ID"
管理每日待办
# 创建今天的待办
youdaonote todo create -t "写周报" -d 2026-04-04
# 查看待办列表
youdaonote todo list
# 完成后打勾
youdaonote todo update <todoId> --done
用分组整理待办
# 创建分组
youdaonote todo group-create "工作"
youdaonote todo group-create "生活"
# 创建待办时指定分组
GROUP_ID=$(youdaonote todo groups --json | jq -r '.[] | select(.name=="工作") | .id')
youdaonote todo create -t "准备会议材料" -g "$GROUP_ID"
# 按分组查看
youdaonote todo list -g "$GROUP_ID"
4. 常见问题
| 现象 | 解决方案 |
|---|---|
Windows 下提示找不到 youdaonote | 未完成解压或未将 youdaonote.exe 所在目录加入 Path;修改环境变量后需重新打开终端。详见 安装指南 - Windows |
API Key 未配置 | 执行 youdaonote config set apiKey YOUR_KEY |
update 报「当前 backend 不支持更新笔记」 | 确认笔记为 .md 格式;非 Markdown 笔记需先导出再重新保存 |
update 报「--content 或 --file 至少传一个」 | -c 和 --file 必须传其一 |
clip-save 报「缺少必填字段」 | 确保 JSON 包含 title、bodyHtml、sourceUrl |
save 报「缺少必填字段」 | 确保 JSON 包含 title、content |
JSON 解析失败(Unterminated string) | 改用 printf '%s\n' '...',或用 --file 从文件读取 |
Windows 下 JSON Parse error | 使用 --file 从文件读取;或改用 PowerShell |
Windows clip 后出现「'pc' 不是内部或外部命令」等错误 | CMD 把 URL 中的 & 识别为命令分隔符,& 后的参数被当作命令执行;用英文双引号括起 URL:youdaonote clip "https://..." |
| Windows 保存笔记后标题/内容乱码 | echo > file.json 在 CMD 中写出 GBK 文件(CLI 会自动尝试 GBK 解码,若仍乱码说明环境不支持);先执行 chcp 65001 再写文件,或用 UTF-8 编辑器保存 JSON |