导入与导出
WesCraft 支持多种格式的内容导入导出,以及整个 Cell 的打包迁移。
导入功能
Markdown 导入
将 .md 文件导入为 WesCraft 页面:
- 点击侧边栏 新建页面
- 选择 从文件导入
- 选择
.md文件 - 系统自动解析 Markdown 结构,转换为 Block
支持的 Markdown 元素:
| 元素 | 转换结果 |
|---|---|
# 标题 | 标题 Block |
| 段落文本 | 段落 Block |
- 列表 | 列表 Block |
> 引用 | 引用 Block |
`代码` | 代码 Block |
| 表格 | | 表格 Block |
![图片]() | 图片 Block |
文件导入
除了 Markdown,还支持其他格式的文件导入:
- 纯文本(
.txt):转换为段落 Block - HTML(
.html):解析 DOM 结构转换为 Block - 富文本:粘贴时自动识别格式
知识库文件导入
将文件导入到知识库,经过 6-Stage 知识管线处理:
# 上传文件到知识库
POST /cells/{cellID}/knowledge/ingest
Content-Type: application/octet-stream
Body: <文件内容>
# 导入本地路径文件
POST /cells/{cellID}/knowledge/ingest-local
{
"path": "/path/to/document.pdf"
}
知识库支持更多文件格式(PDF、Word、PPT 等),文件经过分块、索引后可被 AI 语义检索。
导出格式
PDF 导出
# 在 Sidebar Chat 中
请把这个页面导出为 PDF
→ AI 调用 export_pdf 工具
→ 生成 PDF 文件
PDF 导出特点:
- 保留页面排版和样式
- 支持目录生成
- 支持页眉页脚
- 适合打印和分享
Word 导出
# 在 Sidebar Chat 中
请把这个页面导出为 Word
→ AI 调用 export_docx 工具
→ 生成 .docx 文件
Word 导出特点:
- 生成标准
.docx格式 - 保留标题层级
- 表格和列表正确转换
- 可继续在 Word 中编辑
Markdown 导出
页面可直接导出为 Markdown 格式:
- 打开页面菜单
- 选择 导出 → Markdown
- 保存
.md文件
公众号格式导出
# 在 Sidebar Chat 中
请把这个页面导出为公众号格式
→ AI 调用 export_wxpub 工具
→ 生成适合微信公众号的 HTML
公众号格式特点:
- 适配公众号编辑器
- 内联样式(公众号不支持外部 CSS)
- 图片处理(自动上传或转 base64)
- 复制粘贴到公众号编辑器即可
Cell Export / Import
导出整个 Cell
Cell Export 可以将整个 Cell 打包成 .tar.gz 文件,包含所有数据:
# API 方式导出
GET /cells/{cellID}/export
→ 返回 tar.gz 流
# 或通过管理端点
GET /admin/cells/{cellID}/export
→ 返回 tar.gz 流
导出包含的内容
| 数据类别 | 包含 | 说明 |
|---|---|---|
| workspace | ✅ | 工作区文件 |
| sessions | ✅ | 会话历史 |
| memory | ✅ | 记忆条目 |
| knowledge | ✅ | 知识库数据 |
| skills | ✅ | 已安装技能 |
| agents | ✅ | Agent 配置 |
| state | ✅ | 运行时状态 |
| .scratch | ❌ | 临时计算域(不导出) |
导入 Cell
# 从 tar.gz 恢复
POST /admin/cells/import
Content-Type: application/gzip
Body: <tar.gz 文件>
# 可选参数
?overwrite=1 # 覆盖已存在的同名 Cell
ImportOpts 支持的选项:
| 选项 | 说明 |
|---|---|
| 覆盖模式 | 是否覆盖已存在的 Cell |
| 跳过 workspace | ExportOpts{SkipWorkspace: true} |
| 重命名 | 导入时使用不同的 Cell ID |
使用场景
- 设备迁移:从旧电脑迁移到新电脑
- 备份恢复:定期备份,故障时恢复
- 团队分发:管理员配置好后分发给团队成员
- 环境复制:复制一套完整的工作环境
知识库导入导出
导入到知识库
# 上传文件
POST /cells/{cellID}/knowledge/ingest
# Body: raw file bytes
# 导入本地路径
POST /cells/{cellID}/knowledge/ingest-local
{
"path": "/path/to/file"
}
查看知识库文件
# 文件列表
GET /cells/{cellID}/knowledge/files?status=ready&limit=20
# 获取原始内容
GET /cells/{cellID}/knowledge/files/{id}/content
# 分段读取
GET /cells/{cellID}/knowledge/files/{id}/read?offset=0&limit=10
知识库搜索
# 语义搜索
POST /cells/{cellID}/knowledge/search
{
"query": "搜索内容",
"limit": 10
}
批量操作
多文件导入
- 在知识库页面点击 批量导入
- 选择多个文件(支持拖拽)
- 系统逐个处理,显示进度
- 处理完成后显示结果摘要
选择性导出
- 在页面列表中勾选要导出的页面
- 选择导出格式(PDF / Word / Markdown)
- 打包下载或逐个下载
格式转换
在导出时可以选择不同格式,实现格式转换:
页面内容 → export_pdf → PDF
页面内容 → export_docx → Word
页面内容 → Markdown 导出 → .md
页面内容 → export_wxpub → 公众号 HTML
注意事项
大文件处理
- 单文件导入上限取决于系统配置
- 大文件导入可能需要较长时间(知识管线需要分块处理)
- 建议大文件先分割再导入
格式兼容性
| 源格式 | 导入效果 | 注意事项 |
|---|---|---|
| Markdown | ⭐⭐⭐ 完美 | 标准 MD 语法完整支持 |
| HTML | ⭐⭐ 良好 | 复杂样式可能丢失 |
| 纯文本 | ⭐⭐⭐ 完美 | 无格式损失 |
| ⭐⭐ 良好 | 仅知识库,布局可能变化 | |
| Word | ⭐⭐ 良好 | 仅知识库,复杂格式可能丢失 |
元数据保留
- 导出:标题、创建时间、标签等元数据保留在导出文件中
- Cell Export:完整保留所有元数据
- Markdown 导出:元数据作为 YAML frontmatter 保留
- PDF/Word 导出:元数据作为文档属性保留