版本预览

v1.8.0 版本更新说明

发布日期:2026年4月13日
版本类型:重大功能更新
主题:钉钉文档+知识库支持


📋 版本概述

小遥搜索 v1.8.0 正式支持 钉钉文档数据源,配合小遥搜索钉钉导出工具(https://github.com/dtsola/xiaoyaosearch-dingding-export-md),让您能够搜索从钉钉导出的本地文档,在搜索结果中清晰标识钉钉文档来源,并支持一键跳转到钉钉原文。

核心亮点

  • 📄 钉钉文档识别:自动识别从钉钉导出的文档(支持 .docx、.pdf 等格式)

  • 🗂️ 元数据文件解析:通过 .xyddjson 元数据文件提取文档信息

  • 🔗 原文链接跳转:搜索结果支持直接跳转到钉钉原文

  • 🎨 钉钉标识展示:搜索结果中使用蓝色"钉钉"标识区分数据来源

  • 🔌 插件化架构:基于插件化框架,扩展数据源更灵活

  • 🛠️ 配套导出工具:独立的钉钉导出浏览器插件,支持批量导出


✨ 新增功能

钉钉文档数据源支持

功能定位

为小遥搜索添加钉钉文档数据源识别能力,让用户能够搜索从钉钉导出的本地文档(.docx、.pdf、.xlsx 等)。

使用流程

┌─────────────────┐      ┌──────────────────┐      ┌─────────────────┐
│  钉钉文档/知识库  │ ───▶ │  钉钉导出工具      │ ───▶ │  本地文件+.xyddjson│
└─────────────────┘      └──────────────────┘      └─────────────────┘
                                                           │
                                                           ▼
                                                    ┌─────────────────┐
                                                    │  小遥搜索        │
                                                    │  自动识别        │
                                                    └─────────────────┘
                                                           │
                                                           ▼
                                                    ┌─────────────────┐
                                                    │  搜索+跳转原文   │
                                                    └─────────────────┘

使用场景

使用场景

描述

价值

产品经理

搜索本地产品文档 + 钉钉需求文档

统一搜索入口,提升效率

开发者

搜索本地代码 + 钉钉技术方案

快速定位技术资料

团队协作

将钉钉团队知识库导出后本地搜索

知识沉淀与备份

与飞书方案对比

对比项

飞书方案

钉钉方案

钉钉优势

元数据位置

文件内容末尾

独立JSON文件

结构化、易维护

解析方式

正则表达式

JSON解析

更可靠、更快速

解析性能

~1ms

<1ms

更快

可扩展性

仅限飞书

可用于其他平台

通用性强


钉钉导出工具(配套)

小遥搜索钉钉导出工具是独立的浏览器插件,支持将钉钉文档/知识库导出为常用格式,并自动生成元数据文件。

工具特性

  • ✅ 支持浏览器插件形式(Chrome、Edge等)

  • ✅ 支持单个文档导出

  • ✅ 支持批量文档导出

  • ✅ 支持文件夹递归导出

  • ✅ 自动生成 .xyddjson 元数据文件

  • ✅ 支持多种导出格式(.docx、.pdf、.xlsx、.pptx、.txt等)

  • ✅ 保留原始文档结构

安装方式

  1. 下载浏览器插件(.crx 文件)

  2. 在浏览器中打开 chrome://extensions/

  3. 启用"开发者模式"

  4. 拖拽插件文件进行安装

快速开始

1. 安装钉钉导出浏览器插件
2. 打开钉钉文档
3. 点击插件图标,选择导出格式
4. 下载文件和 .xyddjson 元数据文件
5. 将文件放到小遥搜索扫描目录

元数据文件格式

导出的文档会自动生成同名元数据文件:

项目报告.docx              (导出文件)
项目报告.docx.xyddjson      (元数据文件)

元数据内容示例

{
  "version": "1.0.0",
  "source": "dingtalk-docs",
  "exportTool": "xiaoyaosearch-dingding-export",
  "exportToolVersion": "1.0.0",
  "exportTime": "2026-04-08T15:30:00.000Z",
  "file": {
    "fileName": "项目报告.docx",
    "originalName": "项目报告",
    "dentryUuid": "A1B2C3D4E5F6G7H8",
    "url": "https://alidocs.dingtalk.com/i/nodes/A1B2C3D4E5F6G7H8"
  }
}

小遥搜索会自动读取这些元数据文件,并将文档标记为"钉钉"数据源。

项目地址https://github.com/dtsola/xiaoyaosearch-dingding-export-md


搜索结果钉钉标识

标识样式

  • 图标:云朵图标(CloudOutlined)

  • 颜色:蓝色(#0089FF - 钉钉品牌色)

  • 文本:显示"钉钉"来源标识

搜索结果展示

┌────────────────────────────────────────────────────┐
│  🔍 搜索结果                                         │
├────────────────────────────────────────────────────┤
│  📄 产品需求文档_v1.2.docx                         │
│     ...摘要内容...                                  │
│     💾 本地文件  │  🕒 2026-04-01                   │
├────────────────────────────────────────────────────┤
│  📄 钉钉技术方案.pdf                                │
│     ...摘要内容...                                  │
│     🔵 钉钉  │  🔗 原文链接  │  🕒 2026-04-05        │
└────────────────────────────────────────────────────┘

原文链接跳转

跳转功能

适用条件

  • 文档包含 .xyddjson 元数据文件

  • 元数据文件中包含有效的 URL 字段

  • 用户有钉钉文档访问权限


📚 技术实现

插件化架构

技术栈

  • Python ABC - 插件接口定义

  • JSON - 元数据解析

  • Pathlib - 文件路径操作

  • importlib - 插件动态加载

插件实现

class DingdingDataSource(DataSourcePlugin):
    """钉钉数据源插件"""

    def get_file_source_info(self, file_path: str, content: str = None) -> Dict[str, Any]:
        """从钉钉导出的元数据文件中提取信息"""
        # 1. 检查是否存在同名 .xyddjson 文件
        # 2. 读取并解析 JSON 元数据
        # 3. 验证 source 字段是否为 'dingtalk-docs'
        # 4. 提取 dentryUuid、url、exportTime
        # 5. 返回标准化的数据源信息
        pass

元数据解析流程

检查文件路径 + '.xyddjson'
     ↓
文件是否存在?
     ↓
读取 JSON 文件
     ↓
验证 source 字段
     ↓
提取元数据(url, dentryUuid)
     ↓
返回 source_type=dingding, source_url=xxx

性能优势

性能指标

飞书

钉钉

钉钉优势

解析速度

~1ms

<1ms

更快

文件IO

需读取文件内容

仅读取元数据文件

减少IO

内存占用

中等(需缓存内容)

低(JSON文件小)

内存效率高

解析复杂度

正则匹配

JSON解析

更可靠


数据库变更

说明:数据库表结构已在 v1.2.0 插件化架构版本中完成

已有字段

  • source_type TEXT DEFAULT 'filesystem' - 数据源类型(filesystem/yuque/feishu/dingding)

  • source_url TEXT - 原文链接

  • source_id TEXT - 文档唯一ID(dentryUuid)

无需修改:本特性直接复用现有字段,无需数据库迁移。


前端支持

新增支持

  • 数据源类型映射:dingding: t('searchResult.sourceDingding')

  • 图标映射:dingding: CloudOutlined

  • 样式定义:.source-type.source-dingding 蓝色样式(#0089FF)

国际化配置

{
  "searchResult": {
    "sourceDingding": {
      "zh-CN": "钉钉",
      "en-US": "DingTalk"
    }
  }
}

🔄 升级指南

从 v1.7.0 升级到 v1.8.0:
https://www.dtsola.com/archives/a685353b-7e61-4e02-b24c-620f9e65f621


📦 下载地址

  • 小遥搜索 v1.8.0

  • 钉钉导出工具


📖 使用示例

场景一:产品经理搜索需求文档

背景:产品经理将需求文档写在钉钉中,同时本地有产品设计的 Markdown 文档。

操作步骤

  1. 安装钉钉导出浏览器插件

  2. 打开钉钉需求文档,点击插件图标,选择导出格式(如 .docx)

  3. 导出工具自动下载:

  • 产品需求.docx

  • 产品需求.docx.xyddjson(元数据文件)

  1. 将文件放到小遥搜索扫描目录(如 D:\docs\dingding

  2. 在小遥搜索中添加扫描路径:D:\docs\dingding

  3. 搜索关键词"用户登录"

  4. 搜索结果同时显示:

  • 本地产品设计文档(来源:本地文件)

  • 钉钉需求文档(来源:钉钉)

  1. 点击钉钉需求文档的"原文链接",跳转到钉钉原文查看最新版本


场景二:开发者搜索技术方案

背景:开发团队在钉钉中维护技术规范文档,需要与本地代码一起搜索。

操作步骤

  1. 批量导出钉钉技术文档:

  • 选择多个技术文档

  • 点击导出,选择格式(.pdf)

  • 自动生成每个文档的 .xyddjson 文件

  1. 将导出的文件放到小遥搜索扫描目录(如 D:\docs\tech

  2. 在小遥搜索中添加扫描路径:D:\docs\tech

  3. 搜索技术关键词"API设计"

  4. 快速定位到钉钉中的技术规范文档


场景三:知识库定期备份

背景:企业知识库需要定期备份到本地,防止数据丢失。

操作步骤

  1. 定期使用钉钉导出工具导出知识库文档

  2. 将导出的文件放到指定备份目录

  3. 小遥搜索自动索引新增/更新的文档

  4. 随时搜索备份的知识库内容


❓ 常见问题

Q1: 如何使用钉钉文档搜索?

A: 使用钉钉导出工具导出钉钉文档,放到小遥搜索的扫描目录即可,系统会自动识别。

导出方式:

  1. 安装钉钉导出浏览器插件

  2. 打开钉钉文档

  3. 点击插件图标,选择导出格式

  4. 下载文件和 .xyddjson 元数据文件

  5. 将文件放到小遥搜索扫描目录


Q2: .xyddjson 文件是什么?

A: .xyddjson 是钉钉导出工具自动生成的元数据文件,包含文档的原始信息。

文件作用

  • 标识文档来源(钉钉)

  • 存储原文链接

  • 记录导出时间

  • 保存文档唯一ID(dentryUuid)

文件格式

  • 标准 JSON 格式

  • 与原文件同名,扩展名为 .xyddjson

  • 文件大小约 1KB


Q3: 可以删除 .xyddjson 文件吗?

A: 可以删除,但删除后文档将无法被识别为钉钉数据源。

影响说明

  • 删除后文档仍可被搜索

  • 但会被标记为"本地文件"而非"钉钉"

  • 无法跳转到钉钉原文

  • 建议保留元数据文件


Q4: 钉钉原文链接会过期吗?

A: 如果您有钉钉文档的访问权限,原文链接长期有效。

权限要求

  • 文档对您可见(公开或您有访问权限)

  • 钉钉账号正常登录

  • 文档未被删除


Q5: 支持哪些导出格式?

A: 钉钉导出工具支持多种格式:

格式

扩展名

说明

Word文档

.docx

推荐格式,保留格式

PDF文档

.pdf

适合只读文档

Excel表格

.xlsx

保留表格格式

PPT演示

.pptx

保留演示格式

纯文本

.txt

纯文本格式

所有格式都会生成对应的 .xyddjson 元数据文件。


Q6: 搜索不到钉钉文档怎么办?

A: 请检查以下几点:

  1. 确认文档已导出到小遥搜索的扫描目录

  2. 确认 .xyddjson 元数据文件与文档在同一目录

  3. 确认元数据文件内容正确(JSON格式,source为 dingtalk-docs)

  4. 确认索引已构建完成(查看索引管理页面)

  5. 尝试重新索引该目录


Q7: 与飞书文档搜索有什么区别?

A: 主要区别如下:

对比项

飞书

钉钉

导出方式

用户手动导出

浏览器插件自动导出

元数据位置

文件内容末尾

独立JSON文件

解析方式

正则表达式

JSON解析

解析性能

~1ms

<1ms

可扩展性

仅限飞书

可用于其他平台

钉钉方案优势

  1. 元数据独立存储,更易维护

  2. JSON格式更可靠、更易解析

  3. 性能更好(直接读取元数据文件)

  4. 格式可扩展到其他平台


Q8: 元数据文件会占用很多空间吗?

A: 不会,每个 .xyddjson 文件约 1KB,对存储空间影响很小。

空间占用

  • 100个文档 → 约 100KB(0.1MB)

  • 1000个文档 → 约 1MB

  • 10000个文档 → 约 10MB

存储建议

  • 元数据文件很小,建议保留

  • 可以与原文件一起管理

  • 删除不影响原文件使用


🙏 致谢

感谢以下开源项目的支持:

特别感谢所有贡献者和用户的支持!


让我们一起打造更好的本地搜索体验! 🚀

加入用户交流 ↓


📝 版本历史

版本

日期

主要更新

v1.8.0

2026-04-13

钉钉文档数据源支持

v1.7.0

2026-03-31

飞书文档数据源支持

v1.6.0

2026-03-26

云端嵌入模型支持 + Bug 修复

v1.5.0

2026-03-20

Agent Skills 支持

v1.4.0

2026-03-15

MCP 服务器支持

v1.3.0

2026-03-10

OpenAI 云端模型支持 + Bug 修复

v1.2.0

2026-03-05

插件化架构 + 语雀数据源

v1.1.0

2026-02-28

i18n 国际化支持

v1.0.0

2026-02-20

MVP 版本发布


#独立开发者 #知识工作者 #知识库 #AI工具 #内容创作者 #一人公司 #ai搜索 #dify #ragflow #vibecoding

Work Less, Earn More, Enjoy Life.