9f29194180
重构知识库目录结构,代码逻辑完全不变
├── embeddings
│ ├── Embeddings.ts
│ ├── EmbeddingsFactory.ts
│ └── VoyageEmbeddings.ts
├── loader
│ ├── draftsExportLoader.ts
│ ├── epubLoader.ts
│ ├── index.ts
│ ├── noteLoader.ts
│ └── odLoader.ts
└── reranker
├── BaseReranker.ts
├── GeneralReranker.ts
└── Reranker.ts
4 directories, 11 files
23 lines
662 B
TypeScript
23 lines
662 B
TypeScript
import * as fs from 'node:fs'
|
|
|
|
import { JsonLoader } from '@cherrystudio/embedjs'
|
|
|
|
/**
|
|
* Drafts 应用导出的笔记文件加载器
|
|
* 原始文件是一个 JSON 数组。每条笔记只保留 content、tags、modified_at 三个字段
|
|
*/
|
|
export class DraftsExportLoader extends JsonLoader {
|
|
constructor(filePath: string) {
|
|
const fileContent = fs.readFileSync(filePath, 'utf-8')
|
|
const rawJson = JSON.parse(fileContent) as any[]
|
|
const json = rawJson.map((item) => {
|
|
return {
|
|
content: item.content?.replace(/\n/g, '<br>'),
|
|
tags: item.tags,
|
|
modified_at: item.created_at
|
|
}
|
|
})
|
|
super({ object: json })
|
|
}
|
|
}
|