本文为您介绍如何将钉钉的数据传输到数据传输服务DTS(Data Transmission Service)的RAGFlow知识库。
前提条件
已在DTS创建RAGFlow知识库并设置IP白名单。
支持的数据类型
DTS RAGFlow支持接入钉钉中的钉盘(钉钉云盘)文件和知识库,支持的类型有:
钉盘中创建的Word、Excel、PowerPoint。
钉盘中上传的文件,例如TXT、PDF、Markdown等。
知识库中所有类型的文件。
准备工作
操作步骤
步骤一:配置访问权限
步骤二:获取钉钉账号的员工UserID
使用具有企业或团队管理员权限的钉钉账号,登录钉钉管理后台。
在左侧导航栏,选择
。选择部门。
记录目标钉钉账号的员工UserID。
重要钉钉账号须具备目标文件(钉盘或知识库)的管理权限,能够查看和下载目标文件。
步骤三:运行KBSync程序
获取KBSync文件。
说明您可以添加钉钉群(群号:79690034672),联系技术支持人员以获取KBSync文件。
准备KBSync程序的运行环境。
说明运行KBSync程序需要为Linux环境,并且可以访问钉钉开放平台和RAGFlow。
若您需要接入知识库中的文档,请确保已安装Google Chrome浏览器。
准备配置文件config。
创建名为config的Linux系统文件。
将以下代码复制到config文件中。
whiteList= blackList= sinkType=RagFlow sourceType=DingDing ragflowUrl=http://XX.XX.XX.XX ragflowApiKey=Bearer ragflow-Rh******BiYWY3MDAxNj ragflowDatasetId=b2af7c4c******dbae dingDingClientId=dingz******k66u dingDingClientSecret=sa4vI******xrJT-OmEf_fgF0GpbKi4L******tzugFn-_ dingDingUserId=012******815010
替换config文件中的参数。
重要无需配置的参数,将其取值设置为空值即可。
参数
blackList
的优先级高于参数whiteList
。
参数
是否必填
说明
获取方式
whiteList
否
需要传输(白名单)和无需传输(黑名单)的路径,包含钉盘中的文件夹路径和知识库中文档所在的路径。
说明支持正则表达式,多个路径需使用空格分隔。
自行在钉钉客户端中获取。
blackList
sinkType
是
目标端的类型。
取值请保持
RagFlow
。sourceType
源端的类型。
取值请保持
DingDing
。ragflowUrl
RAGFlow的地址(API服务器)。
ragflowApiKey
RAGFlow知识库的API Key。
重要须以
Bearer
开头,例如Bearer ragflow-RhMjc0NjFhNTZmNTExZjBiYWY****
。ragflowDatasetId
RAGFlow知识库的ID。
dingDingClientId
钉钉应用的ID(Client ID)。
dingDingClientSecret
钉钉应用的密钥(Client Secret)。
dingDingUserId
导出钉盘文件的钉钉账号的用户ID(员工UserID)。
将KBSync文件和配置文件config,放在Linux环境中的同一目录中。
在Linux环境中执行
./KBSync --config config
命令,运行KBSync程序。选择目标文档来源,并运行KBSync程序。
说明KBSync程序会定时(每隔一段时间)同步目标文档的数据。
如果您的文档来源于知识库,则可能需要重新进行登录。
您可以根据需要设置间隔时间、手动暂停或重新启动KBSync程序。
知识库
输入1并按回车键。
根据实际情况,输入相应的数字并按回车键,以选择目标文档所在的知识库。
在KBSync程序将自动打开的Google Chrome浏览器页面,登录钉钉账号。
在Linux环境,按回车键。
等待KBSync程序同步数据。
若运行结果如下所示,则表示KBSync程序正常运行。
./KBSync --config config INFO config SourceType=DingDing, SinkType=RagFlow INFO config whiteList=, blackList= INFO config ragflowUrl=http:///XX.XX.XX.XX, ragflowApiKey=Bearer ragflow-RhMjc0NjFhNTZmNTExZjBiYWY**** INFO config ragflowDatasetId=b2af7c4c56f511f0a3d700163e0**** INFO config dingDingClientId=ding9nyefxviedv****, dingDingClientSecret=Kh3qQZafV9vZZIwvP****-V7f3tkmYmcYibwT7zWNXrvOm4UbETOhqEt**** INFO config dingDingUserId=012713339**** NFO Verifying RAGFlow connection... INFO Attempting to list datasets to validate the connection... INFO Successfully found matching dataset: Name='test', ID='b2af7c4c56f511f0a3d700163e****' INFO RAGFlow connection verified successfully. INFO Starting DingTalk authentication process... INFO Waiting for the initial app access token... INFO App access token refresh loop started. INFO Attempting to refresh the app access token... INFO {'headers': {'server': 'DingTalk/1.0.0', 'date': 'Tue, 29 Jul 2025 09:14:19 GMT', 'content-type': 'application/json;charset=utf-8', 'transfer-encoding': 'chunked', 'connection': 'keep-alive', 'access-control-allow-origin': '*', 'access-control-expose-headers': '*', 'x-acs-request-id': 'AD15D9B5-C47D-7C06-BCE7-03AA76A****', 'x-acs-trace-id': 'ad2c67867d7153507b9a74e399****', 'access-control-allow-headers': 'X-Requested-With, X-Sequence, _aop_secret, _aop_signature, x-acs-dingtalk-access-token', 'content-encoding': 'gzip'}, 'statusCode': 200, 'body': {'accessToken': '38a7d120903c35a7aa2e866dca****', 'expireIn': 7200}} INFO set dingding access token: 38a7d120903c35a7aa2e866dca**** INFO set dingding access token expires in: 7200 INFO App access token refreshed successfully. Next refresh scheduled in 6600 seconds. INFO Waiting 6600 seconds until the next token refresh. INFO Initial app access token acquired. INFO Fetching user UnionID... INFO set dingding union id: XYesTh9u**** INFO Successfully fetched UnionID.
钉盘
输入2并按回车键。
根据实际情况,输入相应的数字并按回车键,以选择目标文档所在的文件夹。
等待KBSync程序同步数据。
若运行结果如下所示,则表示KBSync程序正常运行。
./KBSync --config config INFO config SourceType=DingDing, SinkType=RagFlow INFO config whiteList=, blackList= INFO config ragflowUrl=http:///XX.XX.XX.XX, ragflowApiKey=Bearer ragflow-RhMjc0NjFhNTZmNTExZjBiYWY**** INFO config ragflowDatasetId=b2af7c4c56f511f0a3d700163e0**** INFO config dingDingClientId=ding9nyefxviedv****, dingDingClientSecret=Kh3qQZafV9vZZIwvP****-V7f3tkmYmcYibwT7zWNXrvOm4UbETOhqEt**** INFO config dingDingUserId=012713339**** NFO Verifying RAGFlow connection... INFO Attempting to list datasets to validate the connection... INFO Successfully found matching dataset: Name='test', ID='b2af7c4c56f511f0a3d700163e****' INFO RAGFlow connection verified successfully. INFO Starting DingTalk authentication process... INFO Waiting for the initial app access token... INFO App access token refresh loop started. INFO Attempting to refresh the app access token... INFO {'headers': {'server': 'DingTalk/1.0.0', 'date': 'Tue, 29 Jul 2025 09:14:19 GMT', 'content-type': 'application/json;charset=utf-8', 'transfer-encoding': 'chunked', 'connection': 'keep-alive', 'access-control-allow-origin': '*', 'access-control-expose-headers': '*', 'x-acs-request-id': 'AD15D9B5-C47D-7C06-BCE7-03AA76A****', 'x-acs-trace-id': 'ad2c67867d7153507b9a74e399****', 'access-control-allow-headers': 'X-Requested-With, X-Sequence, _aop_secret, _aop_signature, x-acs-dingtalk-access-token', 'content-encoding': 'gzip'}, 'statusCode': 200, 'body': {'accessToken': '38a7d120903c35a7aa2e866dca****', 'expireIn': 7200}} INFO set dingding access token: 38a7d120903c35a7aa2e866dca**** INFO set dingding access token expires in: 7200 INFO App access token refreshed successfully. Next refresh scheduled in 6600 seconds. INFO Waiting 6600 seconds until the next token refresh. INFO Initial app access token acquired. INFO Fetching user UnionID... INFO set dingding union id: XYesTh9u**** INFO Successfully fetched UnionID.
附录
获取RAGFlow知识库的API服务地址
在左侧导航栏,单击API。
获取API服务器。
获取RAGFlow知识库的API Key
在左侧导航栏,单击API。
在RAGFlow API右侧,单击API KEY。
在弹出的API KEY对话框,单击创建新密钥。
单击
,记录Token。
获取RAGFlow知识库的ID
在知识库页面,单击目标知识库。
在当前页面的URL中,记录知识库的ID。
说明id=
之后的信息即为知识库的ID。