用途:帮助写作者把 .scriv 项目中的内容导出为纯文本或 Markdown,可针对单个文档、子树、Draft 或整个 binder。提取为只读操作,不会修改项目。
主要能力:extract 命令把文档的 content.rtf 转换为 Markdown(--to md,默认)或纯文本(--to txt)。目标可以是 UUID、标题、draft 或 all。默认输出 JSON 数组,每项含 {uuid, title, content};加 --format text 可得到人类可读输出。没有 content.rtf 的条目(文件夹、空文档、图片项)会被跳过,属正常现象。
用法示例: python3 ${CLAUDE_PLUGIN_ROOT}/tools/scrivener/cli.py extract <uuid> --project "<path.scriv>" python3 ${CLAUDE_PLUGIN_ROOT}/tools/scrivener/cli.py extract draft --project "<path.scriv>" python3 ${CLAUDE_PLUGIN_ROOT}/tools/scrivener/cli.py extract all --to md --project "<path.scriv>"
限制:标题不唯一,按标题提取前应先用 find 解析为 UUID。v0.1.0 的 RTF→Markdown 转换较简单,只生成以空行分隔的段落,不还原标题、粗体、斜体或列表标记;需要结构化 Markdown(标题按 binder 深度转为 #/##)应改用 scrivener-compile。提取只读取可见正文,会丢弃注释、脚注、内联批注、Scrivener 占位符、嵌入图片和样式标记,表格仅尽力保留单元格文本。建议在 Scrivener 中关闭项目并等云同步完成后再读取。export-files、--include synopsis/notes/comments/footnotes、OPML/CSV 导出等能力暂未提供。