版本预览

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等)
- ✅ 保留原始文档结构
安装方式:
- 下载浏览器插件(.crx 文件)
- 在浏览器中打开
chrome://extensions/ - 启用"开发者模式"
- 拖拽插件文件进行安装
快速开始:
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 │
└────────────────────────────────────────────────────┘
原文链接跳转
跳转功能:
- 搜索结果中的钉钉文档显示"原文链接"按钮
- 点击按钮在新标签页打开钉钉原文
- 自动填充文档的完整 URL(https://alidocs.dingtalk.com/i/nodes/xxx)
适用条件:
- 文档包含 .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 文档。
操作步骤:
- 安装钉钉导出浏览器插件
- 打开钉钉需求文档,点击插件图标,选择导出格式(如 .docx)
- 导出工具自动下载:
-
产品需求.docx产品需求.docx.xyddjson(元数据文件)
- 将文件放到小遥搜索扫描目录(如
D:\docs\dingding) - 在小遥搜索中添加扫描路径:
D:\docs\dingding - 搜索关键词"用户登录"
- 搜索结果同时显示:
-
- 本地产品设计文档(来源:本地文件)
- 钉钉需求文档(来源:钉钉)
- 点击钉钉需求文档的"原文链接",跳转到钉钉原文查看最新版本
场景二:开发者搜索技术方案
背景:开发团队在钉钉中维护技术规范文档,需要与本地代码一起搜索。
操作步骤:
- 批量导出钉钉技术文档:
-
- 选择多个技术文档
- 点击导出,选择格式(.pdf)
- 自动生成每个文档的 .xyddjson 文件
- 将导出的文件放到小遥搜索扫描目录(如
D:\docs\tech) - 在小遥搜索中添加扫描路径:
D:\docs\tech - 搜索技术关键词"API设计"
- 快速定位到钉钉中的技术规范文档
场景三:知识库定期备份
背景:企业知识库需要定期备份到本地,防止数据丢失。
操作步骤:
- 定期使用钉钉导出工具导出知识库文档
- 将导出的文件放到指定备份目录
- 小遥搜索自动索引新增/更新的文档
- 随时搜索备份的知识库内容
❓ 常见问题
Q1: 如何使用钉钉文档搜索?
A: 使用钉钉导出工具导出钉钉文档,放到小遥搜索的扫描目录即可,系统会自动识别。
导出方式:
- 安装钉钉导出浏览器插件
- 打开钉钉文档
- 点击插件图标,选择导出格式
- 下载文件和 .xyddjson 元数据文件
- 将文件放到小遥搜索扫描目录
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: 请检查以下几点:
- 确认文档已导出到小遥搜索的扫描目录
- 确认 .xyddjson 元数据文件与文档在同一目录
- 确认元数据文件内容正确(JSON格式,source为 dingtalk-docs)
- 确认索引已构建完成(查看索引管理页面)
- 尝试重新索引该目录
Q7: 与飞书文档搜索有什么区别?
A: 主要区别如下:
|-------|--------|-----------|
| 对比项 | 飞书 | 钉钉 |
| 导出方式 | 用户手动导出 | 浏览器插件自动导出 |
| 元数据位置 | 文件内容末尾 | 独立JSON文件 |
| 解析方式 | 正则表达式 | JSON解析 |
| 解析性能 | ~1ms | <1ms |
| 可扩展性 | 仅限飞书 | 可用于其他平台 |
钉钉方案优势:
- 元数据独立存储,更易维护
- JSON格式更可靠、更易解析
- 性能更好(直接读取元数据文件)
- 格式可扩展到其他平台
Q8: 元数据文件会占用很多空间吗?
A: 不会,每个 .xyddjson 文件约 1KB,对存储空间影响很小。
空间占用:
- 100个文档 → 约 100KB(0.1MB)
- 1000个文档 → 约 1MB
- 10000个文档 → 约 10MB
存储建议:
- 元数据文件很小,建议保留
- 可以与原文件一起管理
- 删除不影响原文件使用
🙏 致谢
感谢以下开源项目的支持:
- Python ABC - 抽象基类
- 钉钉开放平台 - API 支持
- 浏览器扩展API - 导出工具运行环境
特别感谢所有贡献者和用户的支持!
让我们一起打造更好的本地搜索体验! 🚀
小遥项目:https://project.xiaoyaosai.com/
📝 版本历史
|--------|------------|------------------------|
| 版本 | 日期 | 主要更新 |
| 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