📘 CozeAgent 实现页面批量导入站点教程

本功能用于通过上传文件的方式,批量在站点中创建页面。系统会自动解析文件内容、生成任务 ID,并通过工作流在指定站点创建页面。

一、功能介绍

通过上传文件即可批量创建页面。系统支持自动识别文件内容、生成任务 ID,并通过工作流自动在目标站点创建页面。
支持的文件类型:
  • ✅ CSV
  • ✅ JSON
  • ✅ Excel(.xlsx)

二、下载导入模板

模板字段说明如下:
字段名
是否必填
说明
id
页面唯一标识,仅用于导入时上下级关联
parent_id
父级页面编号
title*
页面标题
slug
页面路径(slug)
published
是否发布(true / false)
published_at
发布时间
seo_title
SEO 标题
seo_keywords
SEO 关键字
seo_description
SEO 描述
template_name*
模板名称
template_style
模板样式
template_variables
模板变量,可采用两种写法:① 整体写为 JSON:{"content":"正文","author":"张三"}② 拆分为多列:template_variables[content]template_variables[author]
  1. template_name
  • 用于指定页面使用的模板文件名。
  • 例如:
    • 模板文件 post.liquidtemplate_name = "post"
    • 模板文件 page.video.liquidtemplate_name = "page"
  1. template_style
  • 用于指定模板的风格或变体(对应文件名中点号后的部分)。
  • 例如:
    • 模板文件 page.video.liquidtemplate_style = "video"
  1. template_variables
  • 页面模板可填写的变量,通过后台 schema 查看。
  • schema 中每个 settings.id 对应一个可设置的变量,例如下例中可以填:
    {% schema %}
    {
    "name": "channel-栏目模板",
    "description": "多层级栏目创建",
    "thumb_url": "images/theme/channel.webp",
    "sub_page_templates": ["page"],
    "settings": [
    {
    "id": "title",
    "type": "text",
    "label": "标题"
    },
    {
    "id": "description",
    "type": "textarea",
    "label": "摘要"
    }
    ]
    }
    {% endschema%}
    template_variables[title]
    template_variables[description]
⚡ 总结:
  • template_name + template_style → 系统匹配对应模板文件
  • template_variables → 根据模板 schema 中的 settings.id 填写页面内容

三、上传文件与任务 ID

上传文件后,系统会自动执行以下操作:
  1. 解析文件内容;
  2. 将解析结果保存到数据库;
  3. 为本次导入生成唯一的 task_id
你也可以在上传时手动指定 task_id,以便与已有任务合并。同一 task_id 下的数据将被视为同一批导入任务。

四、创建页面到站点

上传完成后,可提供以下参数来调用页面创建工作流。可点击对应工作流查看参数是否写入正确。
参数
说明
task_id
本次导入任务的 ID
Baklib API 密钥
用于身份验证
目标站点地址
要创建页面的目标站点
父页面 full_path
指定创建页面的父级路径
工作流会自动从数据库读取解析内容,并调用 Baklib API 创建页面。创建成功后,系统会自动发送消息提示。

五、错误与重试

文件解析失败

如果文件解析失败,可:
  • 通过系统消息获取文件访问 URL;
  • 手动重新执行“文件解析 → 存入数据库”;
  • 或在数据库中修复问题数据后再次执行创建任务。

六、数据管理与修改

可在数据库中直接查看解析后的页面内容。

支持操作

  • 手动修改单条数据;
  • 使用自然语言指令执行 SQL 操作。
示例:
把 task_id 为 1 的数据发布状态改为 true。
系统会自动执行:
UPDATE reading_notes SET published = true WHERE task_id = 1;
提示
  • 建议先用少量数据测试,确认字段映射正确。
  • 请确保 API 密钥和站点地址有效,否则页面无法创建。
  • 页面层级关系通过 idparent_id 关联。

⚙️ 执行失败的任务重试

如果某些数据执行失败(如网络中断、API 报错等),
可通过清空其 processed 字段重新标记为未处理。
示例:
把 task_id 为 1 的 processed 设为空。
系统会自动执行:
UPDATE reading_notes SET processed = NULL WHERE task_id = 1;
这类数据会在下次执行时被系统重新处理。