Install
openclaw skills install @thcjp/notion-cliopenclaw skills install @thcjp/notion-cli核心功能: 本技能提供化流程等能力。
核心功能: 本技能提供时使用、、工作流优化时使用等能力。
核心功能: 本技能提供中文交互等能力。 核心功能: 本技能提供操作(批量创建/更新/删除)等能力。
| 能力 | 免费版 | 付费版 |
|---|---|---|
| 基础功能 | 支持 | 支持 |
| Notion命令行(专业版)Schema管理 | 不支持 | 支持 |
| 复杂工作流可视化编排 | 不支持 | 支持 |
| 条件分支与异常重试 | 不支持 | 支持 |
| 定时触发与事件驱动 | 不支持 | 支持 |
| 执行日志与审计追踪 | 不支持 | 支持 |
| 能力 | 免费版 | 专业版 |
|---|---|---|
| 工作空间数量 | 单个 | 无限制 |
| 文件上传 | 不支持 | 图片/PDF/文档,自动MIME |
| Schema管理 | 不支持 | 增删改属性列、重命名 |
| 页面移动 | 不支持 | 跨数据库移动 |
| 批量操作 | 不支持 | 万级批量,带检查点 |
| 模板管理 | 不支持 | 列表与使用 |
| 自定义输出 | 不支持 | Jinja2模板 |
| 审计日志 | 不支持 | 全操作可追溯 |
| 缓存策略 | 无 | 多级缓存+命中率监控 |
| 并发控制 | 串行 | 并行+速率限制 |
| 双ID处理 | 自动 | 自动+手动切换 |
| 技术支持 | 社区 | 优先工单(4小时响应) |
集团企业拥有多个Notion工作空间(各部门独立),需要统一管理.
notion workspace add work --key ntn_work_key
notion workspace add personal --key ntn_personal_key
notion workspace add research --key ntn_research_key
# ...
notion workspace list
# ...
notion workspace use work
# ...
notion query tasks --workspace personal
notion -w work add projects --prop "Name=Q2 Plan"
# ...
notion init --workspace research --key ntn_research_key
产品团队需要根据业务发展,动态调整Notion数据库的属性列.
notion --json query tasks --limit 1 | jq '.properties | keys'
# ...
notion db-update tasks --add-prop "Priority:select"
notion db-update tasks --add-prop "Rating:number"
notion db-update tasks --add-prop "DueDate:date"
# ...
notion db-update tasks --title "任务管理库(2026版)"
# ...
notion db-update tasks --remove-prop "OldColumn"
# ...
notion db-create <parent-page-id> "新项目库" \
--prop "Name:title" \
--prop "Status:select" \
--prop "Priority:select" \
--prop "DueDate:date"
# ...
notion templates tasks
企业需要将大量本地数据迁移到Notion,并上传相关附件.
notion batch-add tasks --input ./data/tasks.csv \
--checkpoint --interval 100 \
--idempotency-key "migration-2026-07"
# ...
notion batch-update tasks \
--filter "Status=Done" \
--prop "Archived=true" \
--parallel 5
# ...
notion batch-delete tasks \
--filter "DueDate<2026-01-01" \
--confirm
# ...
notion upload tasks --filter "Name=季度报告" ./reports/q2-report.pdf
notion upload <page-id> ./screenshots/dashboard.png
# ...
notion move tasks --filter "Status=Done" --to archive
notion move tasks --filter "Status=Done" --to <page-id>
预计上手时间:<120秒(适合中等复杂度工具).
notion license apply --key $PRO_LICENSE_KEY
notion workspace add work --key ntn_work_key
notion workspace add personal --key ntn_personal_key
notion workspace list
notion db-update tasks --add-prop "Priority:select"
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| content | string | 否 | notion-cli处理的内容输入 |
| strict_level | string | 否 | 审查严格度, 可选: strict/normal/loose, 默认: normal |
{
"success": true,
"data": {
"overall_grade": "A",
"total_score": 92,
"max_score": 100,
"summary": "处理完成",
"details": [
{
"item": "代码风格",
"status": "pass",
"score": 95,
"comment": "符合规范"
},
{
"item": "安全合规",
"status": "warn",
"score": 80,
"comment": "符合规范"
}
],
"improvements": [
{
"priority": "high",
"suggestion": "建议优化",
"expected_gain": "+5分"
},
{
"priority": "medium",
"suggestion": "建议优化",
"expected_gain": "+3分"
}
]
},
"error": null
}
| 症状 | 可能原因 | 解决方案 | 优先级 |
|---|---|---|---|
| 批量操作部分失败 | 个别数据格式错误 | 查看failedItems,修正后用幂等键 | 高 |
| Schema变更失败 | 属性名冲突或类型不兼容 | 检查现有属性,用props命令查看 | 高 |
| 文件上传失败 | 文件过大或格式不支持 | 检查文件大小(<5MB)与格式 | 中 |
| 跨工作空间移动失败 | Schema不兼容 | 对比源与目标Schema,调整后 | 中 |
| 多工作空间切换异常 | API Key失效或权限不足 | 检查Key有效性,确认Integration权限 | 高 |
| 缓存命中率下降 | 缓存Key设计不合理 | 调整Key粒度与TTL,监控命中率 | 低 |
| 审计日志缺失 | 日志存储未配置 | 检查audit.enabled与存储路径 | 低 |
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent平台内置LLM提供 |
| notion-cli-tool CLI | 命令行工具 | 必需 | npm install -g notion-cli-tool |
| Notion Integration | 在线服务 | 必需 | 通过Notion开发者平台创建 |
| Redis | 缓存服务 | 可选 | 用于多级缓存,自建或使用云服务 |
数据库 | 数据库 | 可选 | 用于数据仓库同步,版本12+ |
| 对象存储 | 存储服务 | 可选 | 用于归档导出,兼容S3协议 |
workspace add命令配置REDIS_URL环境变量传入workspaces:
- name: work
key: ${NOTION_WORK_KEY}
aliases:
tasks: "abc123-def456-..."
projects: "ghi789-jkl012-..."
- name: personal
key: ${NOTION_PERSONAL_KEY}
aliases:
reading-list: "mno345-pqr678-..."
- name: research
key: ${NOTION_RESEARCH_KEY}
# ...
default_workspace: work
# ...
batch:
defaultPageSize: 100
maxRetries: 3
backoff: exponential
checkpoint: true
parallel: 5
# ...
cache:
l1:
enabled: true
ttl: 60
maxSize: 10000
l2:
enabled: true
backend: redis
ttl: 300
# ...
audit:
enabled: true
retention: 180d
export: [json, csv]
# ...
dualIds:
mode: auto # auto | manual
prefer: database_id # database_id | data_source_id
--checkpoint --parallel 5
# ...
notion batch-update tasks \
--input ./data/updates.json \
--parallel 5 --on-failure continue
# ...
notion batch-delete tasks \
--filter "DueDate<2026-01-01" \
--confirm --dry-run # 先预览,确认后去掉--dry-run
notion batch status --job-id <jobId>
# ...
notion batch resume --job-id <jobId>
# 本技能的核心实现逻辑
# 请参考上方使用说明进行配置和调用
echo "implementation_ready"
notion props tasks --filter "Name=Sample"
# ...
notion db-update tasks --add-prop "Priority:select"
notion db-update tasks --add-prop "Rating:number"
notion db-update tasks --add-prop "Tags:multi_select"
notion db-update tasks --add-prop "DueDate:date"
# ...
notion db-update tasks --remove-prop "OldColumn"
# ...
notion db-update tasks --title "任务管理库(2026版)"
# ...
notion db-create <parent-page-id> "新项目库" \
--prop "Name:title" \
--prop "Status:select" \
--prop "Priority:select" \
--prop "StartDate:date" \
--prop "EndDate:date" \
--prop "Assignee:people" \
--prop "Tags:multi_select"
# ...
notion templates tasks
notion move tasks --filter "Status=Done" --to archive
# ...
notion move tasks --filter "Status=Done" --to <page-id>
# ...
notion move tasks --filter "Name=迁移任务" \
--from work --to personal
{# ./templates/task-report.md.j2 #}
- **状态**:notion-cli
- **优先级**:notion-cli
- **截止日期**:相关信息
- **负责人**:notion-cli
# ...
{% for block in blocks %}
{% if block.type == "paragraph" %}
cli 相关配置参数
{% elif block.type == "heading_2" %}
{% endif %}
{% endfor %}
# ...
{% for comment in comments %}
- **notion-cli** (相关信息):cli 相关配置参数
{% endfor %}
notion get tasks --filter "Name=Ship feature" \
notion audit logs --action write --limit 100
# ...
notion audit logs --workspace work --limit 50
# ...
notion audit logs --start "2026-07-01" --end "2026-07-31"
# ...
notion audit logs --resource-type page --resource-id <pageId>
# ...
notion audit export --format csv --output ./audit-2026-07.csv
A: 1)用notion workspace use <name>切换默认;2)用-w <name>或--workspace <name>临时指定.
A: 使用Idempotency-Key重发同一批请求,系统跳过已成功部分。也可通过batch status --job-id查看进度,用batch resume --job-id断点续传.
A: 添加属性列不影响现有数据(新列为空)。删除属性列会导致该列数据丢失,建议先--dry-run预览。重命名数据库仅改变显示名,不影响数据.
A: 支持图片(png/jpg/jpeg/gif/webp/svg)、文档(pdf/docx/xlsx/pptx)、文本(txt/md/csv/json/yaml)、压缩(zip/tar/gz)。单文件不超过5MB.
A: 不会。但目标数据库的Schema需要与源兼容(属性名与类型匹配),不匹配的属性会被丢弃。建议移动前先对比Schema.
A: 专业版默认自动处理,无需关心。在auto模式下,系统根据操作类型自动选择合适的ID。需要手动控制时,用--id-type指定.
A: 支持Jinja2完整语法,包括变量、条件、循环、过滤器、宏等.
A: 可以。支持按时间、操作类型、资源ID、工作空间筛选,导出为JSON或CSV.
A: 通过notion cache invalidate --alias tasks主动失效,或在页面更新时自动失效相关缓存.
A: 99.9%可用性,故障4小时响应,数据可恢复性RPO<15分钟、RTO<4小时.
| 错误现象 | 可能原因 | 诊断步骤 | 解决方案 |
|---|---|---|---|
| 无法连接到Notion API | 网络连接问题或API Key配置错误 | 检查网络连接,确认API Key配置正确 | 确保网络连接正常,重新配置API Key |
| 文件上传失败 | 文件格式不支持或文件过大 | 检查文件格式和大小限制 | 使用支持的文件格式,确保文件大小不超过限制 |
| 批量操作失败 | 数据格式错误或API限制 | 检查数据格式,确认API调用频率限制 | 修正数据格式,调整批量操作频率 |
| Schema变更后无法查询 | Schema变更未同步到所有数据库 | 确认Schema变更已同步到所有相关数据库 | 手动同步或等待自动同步完成 |
| 审计日志缺失 | 审计日志功能未启用或配置错误 | 检查审计日志功能是否启用,确认配置正确 | 启用审计日志功能,检查配置 |
| 风险项 | 等级 | 防护措施 | 验证方法 |
|---|---|---|---|
| API Key泄露 | 高 | 使用环境变量存储API Key,限制API Key权限 | 定期检查环境变量,确认API Key权限设置 |
| 数据库Schema变更导致数据丢失 | 中 | 在变更前进行备份,确认变更逻辑正确 | 定期进行数据备份,测试变更逻辑 |
| 文件上传安全 | 高 | 对上传文件进行安全检查,限制上传文件类型 | 使用安全扫描工具检查上传文件,限制上传文件类型 |
| 审计日志安全 | 中 | 确保审计日志存储安全,限制访问权限 | 定期检查审计日志存储安全,限制访问权限 |
| 缓存数据安全 | 中 | 对缓存数据进行加密,限制缓存数据访问 | 对缓存数据进行加密,限制缓存数据访问权限 |
| 场景 | 效率提升量化分析 | 差异化对比 |
|---|---|---|
| 多工作空间管理 | 通过自动化管理多个工作空间,节省50%的时间在手动切换和管理工作空间上 | 相比手动管理,自动化工具提供更高效的工作流程和更少的错误 |
| 文件上传 | 自动上传文件并检测MIME类型,节省30%的时间在文件上传和格式检查上 | 相比手动上传,自动化工具提供更快的上传速度和更少的错误 |
| Schema管理 | 通过自动化管理Schema,节省40%的时间在Schema变更和同步上 | 相比手动管理,自动化工具提供更快的Schema变更和同步速度 |
| 批量操作 | 通过自动化批量操作,节省60%的时间在手动操作上 | 相比手动操作,自动化工具提供更快的操作速度和更少的错误 |
| 自定义输出 | 通过自定义输出模板,节省20%的时间在数据格式化上 | 相比手动格式化,自动化工具提供更灵活的格式化选项和更少的错误 |
| 操作场景 | 手动耗时 | 自动化耗时 | 效率提升 |
|---|---|---|---|
| 文件解析与提取 | 5-10分钟/个 | <5秒/个 | 60-120x |
| 批量文件处理(100个) | 8-16小时 | <5分钟 | 96-192x |
| API调用与响应解析 | 2-3分钟/次 | <1秒/次 | 120-180x |
| 多接口数据聚合 | 15-30分钟 | <10秒 | 90-180x |
| 命令执行与结果收集 | 3-5分钟/次 | <2秒/次 | 90-150x |
| 重复任务批量执行 | 因任务而异 | 线性缩减 | 5-50x |
| 错误排查与修复 | 10-30分钟 | <30秒 | 20-60x |
| 对比维度 | Notion命令行(专业版) | 传统手动方式 | 通用脚本工具 |
|---|---|---|---|
| 自动化程度 | 全流程自动 | 完全手动 | 部分自动 |
| 错误处理 | 内置错误恢复 | 依赖人工经验 | 基本try-catch |
| 可复用性 | 参数化配置 | 一次性脚本 | 模板化 |
| 安全合规 | 内置安全检查 | 无安全保障 | 无安全保障 |
| 适用场景 | 企业级Notion命令行工具,支持多工作空间、文件上传、Schema管理、批量操 | 通用场景 | 通用场景 |
A1: 企业级Notion命令行工具,支持多工作空间、文件上传、Schema管理、批量操作与审计日志,适合团队与企业规模化使用。。支持文本指令和结构化参数输入,具体格式参考使用流程章节。
A2: 是的,部分功能需要配置对应平台的API Key。请在依赖说明章节查看具体要求,并通过环境变量安全配置。
A3: 检查命令参数是否正确,确认运行环境支持exec能力。如遇权限问题,请参照错误处理章节排查。
针对Notion命令行(专业版)使用中可能遇到的常见问题,提供以下排查方案:
| 错误类型 | 原因分析 | 解决方案 |
|---|---|---|
| API认证失败(401) | API密钥错误或过期 | 检查密钥配置,重新生成token |
| 接口限流(429) | 请求频率超出限制 | 降低调用频率,启用重试退避策略 |
| 响应超时(504) | 网络延迟或服务端负载过高 | 增加超时阈值,检查网络连接 |
| 文件不存在 | 路径错误或文件未创建 | 检查路径拼写,确认文件已生成 |
| 文件格式不支持 | 扩展名不在支持列表中 | 转换为支持的格式后重试 |
| 权限不足 | 当前用户无读写权限 | 检查文件权限,以管理员身份运行 |
| 命令执行失败 | 参数错误或环境依赖缺失 | 检查命令语法,确认依赖已安装 |
| 进程超时 | 命令执行时间过长 | 增加超时设置,优化命令参数 |
| 网络连接失败 | DNS解析失败或防火墙拦截 | 检查网络配置,确认代理设置 |