deploy: a18d34e40a
This commit is contained in:
@@ -160,12 +160,12 @@ Table of Contents</button><nav id=toc-mobile><ul class=dropdown-menu><li><ul><li
|
||||
- OAUTH2_MEMBER_NAME_MAP=
|
||||
# OAuth2 联系方式字段映射(选填)
|
||||
- OAUTH2_CONTACT_MAP=</code>
|
||||
</pre></div><h2 id=标准接口文档>标准接口文档 <a href=#%e6%a0%87%e5%87%86%e6%8e%a5%e5%8f%a3%e6%96%87%e6%a1%a3 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><p>以下是 FastGPT-pro 中,SSO 和成员同步的标准接口文档,如果需要对接非标准系统,可以参考该章节进行开发。</p><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/sso18.png alt loading=lazy class=medium-zoom-image></p><p>FastGPT 提供如下标准接口支持:</p><ol><li><a href=https://example.com/login/oauth/getAuthURL rel=external target=_blank>https://example.com/login/oauth/getAuthURL<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentcolor" d="M14 5c-.552.0-1-.448-1-1s.448-1 1-1h6c.552.0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1V6.414l-7.293 7.293c-.391.39-1.024.39-1.414.0-.391-.391-.391-1.024.0-1.414L17.586 5H14zM5 7c-.552.0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552.0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1V19c0 1.657-1.343 3-3 3H5c-1.657.0-3-1.343-3-3V8c0-1.657 1.343-3 3-3h4.563c.552.0 1 .448 1 1s-.448 1-1 1H5z"/></svg></a> 获取鉴权重定向地址</li><li><a href="https://example.com/login/oauth/getUserInfo?code=xxxxx" rel=external target=_blank>https://example.com/login/oauth/getUserInfo?code=xxxxx<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentcolor" d="M14 5c-.552.0-1-.448-1-1s.448-1 1-1h6c.552.0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1V6.414l-7.293 7.293c-.391.39-1.024.39-1.414.0-.391-.391-.391-1.024.0-1.414L17.586 5H14zM5 7c-.552.0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552.0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1V19c0 1.657-1.343 3-3 3H5c-1.657.0-3-1.343-3-3V8c0-1.657 1.343-3 3-3h4.563c.552.0 1 .448 1 1s-.448 1-1 1H5z"/></svg></a> 消费 code,换取用户信息</li><li><a href=https://example.com/org/list rel=external target=_blank>https://example.com/org/list<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentcolor" d="M14 5c-.552.0-1-.448-1-1s.448-1 1-1h6c.552.0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1V6.414l-7.293 7.293c-.391.39-1.024.39-1.414.0-.391-.391-.391-1.024.0-1.414L17.586 5H14zM5 7c-.552.0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552.0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1V19c0 1.657-1.343 3-3 3H5c-1.657.0-3-1.343-3-3V8c0-1.657 1.343-3 3-3h4.563c.552.0 1 .448 1 1s-.448 1-1 1H5z"/></svg></a> 获取组织列表</li><li><a href=https://example.com/user/list rel=external target=_blank>https://example.com/user/list<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentcolor" d="M14 5c-.552.0-1-.448-1-1s.448-1 1-1h6c.552.0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1V6.414l-7.293 7.293c-.391.39-1.024.39-1.414.0-.391-.391-.391-1.024.0-1.414L17.586 5H14zM5 7c-.552.0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552.0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1V19c0 1.657-1.343 3-3 3H5c-1.657.0-3-1.343-3-3V8c0-1.657 1.343-3 3-3h4.563c.552.0 1 .448 1 1s-.448 1-1 1H5z"/></svg></a> 获取成员列表</li></ol><h3 id=获取-sso-登录重定向地址>获取 SSO 登录重定向地址 <a href=#%e8%8e%b7%e5%8f%96-sso-%e7%99%bb%e5%bd%95%e9%87%8d%e5%ae%9a%e5%90%91%e5%9c%b0%e5%9d%80 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>返回一个重定向登录地址,fastgpt 会自动重定向到该地址。redirect_uri 会自动拼接到该地址的 query中。</p><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=beacfdTab data-bs-toggle=tab data-bs-target=#beacfd type=button role=tab aria-controls=beacfd aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=bdcefaTab data-bs-toggle=tab data-bs-target=#bdcefa type=button role=tab aria-controls=bdcefa aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=beacfd role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=3970eeb class=language-bash>
|
||||
</pre></div><h2 id=标准接口文档>标准接口文档 <a href=#%e6%a0%87%e5%87%86%e6%8e%a5%e5%8f%a3%e6%96%87%e6%a1%a3 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><p>以下是 FastGPT-pro 中,SSO 和成员同步的标准接口文档,如果需要对接非标准系统,可以参考该章节进行开发。</p><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/sso18.png alt loading=lazy class=medium-zoom-image></p><p>FastGPT 提供如下标准接口支持:</p><ol><li><a href=https://example.com/login/oauth/getAuthURL rel=external target=_blank>https://example.com/login/oauth/getAuthURL<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentcolor" d="M14 5c-.552.0-1-.448-1-1s.448-1 1-1h6c.552.0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1V6.414l-7.293 7.293c-.391.39-1.024.39-1.414.0-.391-.391-.391-1.024.0-1.414L17.586 5H14zM5 7c-.552.0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552.0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1V19c0 1.657-1.343 3-3 3H5c-1.657.0-3-1.343-3-3V8c0-1.657 1.343-3 3-3h4.563c.552.0 1 .448 1 1s-.448 1-1 1H5z"/></svg></a> 获取鉴权重定向地址</li><li><a href="https://example.com/login/oauth/getUserInfo?code=xxxxx" rel=external target=_blank>https://example.com/login/oauth/getUserInfo?code=xxxxx<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentcolor" d="M14 5c-.552.0-1-.448-1-1s.448-1 1-1h6c.552.0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1V6.414l-7.293 7.293c-.391.39-1.024.39-1.414.0-.391-.391-.391-1.024.0-1.414L17.586 5H14zM5 7c-.552.0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552.0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1V19c0 1.657-1.343 3-3 3H5c-1.657.0-3-1.343-3-3V8c0-1.657 1.343-3 3-3h4.563c.552.0 1 .448 1 1s-.448 1-1 1H5z"/></svg></a> 消费 code,换取用户信息</li><li><a href=https://example.com/org/list rel=external target=_blank>https://example.com/org/list<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentcolor" d="M14 5c-.552.0-1-.448-1-1s.448-1 1-1h6c.552.0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1V6.414l-7.293 7.293c-.391.39-1.024.39-1.414.0-.391-.391-.391-1.024.0-1.414L17.586 5H14zM5 7c-.552.0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552.0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1V19c0 1.657-1.343 3-3 3H5c-1.657.0-3-1.343-3-3V8c0-1.657 1.343-3 3-3h4.563c.552.0 1 .448 1 1s-.448 1-1 1H5z"/></svg></a> 获取组织列表</li><li><a href=https://example.com/user/list rel=external target=_blank>https://example.com/user/list<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentcolor" d="M14 5c-.552.0-1-.448-1-1s.448-1 1-1h6c.552.0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1V6.414l-7.293 7.293c-.391.39-1.024.39-1.414.0-.391-.391-.391-1.024.0-1.414L17.586 5H14zM5 7c-.552.0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552.0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1V19c0 1.657-1.343 3-3 3H5c-1.657.0-3-1.343-3-3V8c0-1.657 1.343-3 3-3h4.563c.552.0 1 .448 1 1s-.448 1-1 1H5z"/></svg></a> 获取成员列表</li></ol><h3 id=获取-sso-登录重定向地址>获取 SSO 登录重定向地址 <a href=#%e8%8e%b7%e5%8f%96-sso-%e7%99%bb%e5%bd%95%e9%87%8d%e5%ae%9a%e5%90%91%e5%9c%b0%e5%9d%80 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>返回一个重定向登录地址,fastgpt 会自动重定向到该地址。redirect_uri 会自动拼接到该地址的 query中。</p><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=acedbfTab data-bs-toggle=tab data-bs-target=#acedbf type=button role=tab aria-controls=acedbf aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=cdaebfTab data-bs-toggle=tab data-bs-target=#cdaebf type=button role=tab aria-controls=cdaebf aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=acedbf role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=3970eeb class=language-bash>
|
||||
<code>curl -X GET "https://redict.example/login/oauth/getAuthURL?redirect_uri=xxx&state=xxxx" \
|
||||
-H "Authorization: Bearer your_token_here" \
|
||||
-H "Content-Type: application/json"</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=bdcefa role=tabpanel aria-labelledby=nav-1><p>成功:</p><div class=prism-codeblock><pre id=8296736 class=language-JSON>
|
||||
</pre></div></div><div class="tab-pane fade" id=cdaebf role=tabpanel aria-labelledby=nav-1><p>成功:</p><div class=prism-codeblock><pre id=8296736 class=language-JSON>
|
||||
<code>{
|
||||
"success": true,
|
||||
"message": "",
|
||||
@@ -177,12 +177,12 @@ Table of Contents</button><nav id=toc-mobile><ul class=dropdown-menu><li><ul><li
|
||||
"message": "错误信息",
|
||||
"authURL": ""
|
||||
}</code>
|
||||
</pre></div></div></div><h3 id=sso-获取用户信息>SSO 获取用户信息 <a href=#sso-%e8%8e%b7%e5%8f%96%e7%94%a8%e6%88%b7%e4%bf%a1%e6%81%af class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>该接口接受一个 code 参数作为鉴权,消费 code 返回用户信息。</p><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=eabcdfTab data-bs-toggle=tab data-bs-target=#eabcdf type=button role=tab aria-controls=eabcdf aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=fdacebTab data-bs-toggle=tab data-bs-target=#fdaceb type=button role=tab aria-controls=fdaceb aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=eabcdf role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=532f1a3 class=language-bash>
|
||||
</pre></div></div></div><h3 id=sso-获取用户信息>SSO 获取用户信息 <a href=#sso-%e8%8e%b7%e5%8f%96%e7%94%a8%e6%88%b7%e4%bf%a1%e6%81%af class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>该接口接受一个 code 参数作为鉴权,消费 code 返回用户信息。</p><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=bfeacdTab data-bs-toggle=tab data-bs-target=#bfeacd type=button role=tab aria-controls=bfeacd aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=eabcdfTab data-bs-toggle=tab data-bs-target=#eabcdf type=button role=tab aria-controls=eabcdf aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=bfeacd role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=532f1a3 class=language-bash>
|
||||
<code>curl -X GET "https://oauth.example/login/oauth/getUserInfo?code=xxxxxx" \
|
||||
-H "Authorization: Bearer your_token_here" \
|
||||
-H "Content-Type: application/json"</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=fdaceb role=tabpanel aria-labelledby=nav-1><p>成功:</p><div class=prism-codeblock><pre id=71afe34 class=language-JSON>
|
||||
</pre></div></div><div class="tab-pane fade" id=eabcdf role=tabpanel aria-labelledby=nav-1><p>成功:</p><div class=prism-codeblock><pre id=71afe34 class=language-JSON>
|
||||
<code>{
|
||||
"success": true,
|
||||
"message": "",
|
||||
@@ -199,12 +199,12 @@ Table of Contents</button><nav id=toc-mobile><ul class=dropdown-menu><li><ul><li
|
||||
"avatar": "",
|
||||
"contact": ""
|
||||
}</code>
|
||||
</pre></div></div></div><h3 id=获取组织>获取组织 <a href=#%e8%8e%b7%e5%8f%96%e7%bb%84%e7%bb%87 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=ecdbfaTab data-bs-toggle=tab data-bs-target=#ecdbfa type=button role=tab aria-controls=ecdbfa aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=aefbdcTab data-bs-toggle=tab data-bs-target=#aefbdc type=button role=tab aria-controls=aefbdc aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=ecdbfa role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=d289d9a class=language-bash>
|
||||
</pre></div></div></div><h3 id=获取组织>获取组织 <a href=#%e8%8e%b7%e5%8f%96%e7%bb%84%e7%bb%87 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=dfeacbTab data-bs-toggle=tab data-bs-target=#dfeacb type=button role=tab aria-controls=dfeacb aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=abcdefTab data-bs-toggle=tab data-bs-target=#abcdef type=button role=tab aria-controls=abcdef aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=dfeacb role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=d289d9a class=language-bash>
|
||||
<code>curl -X GET "https://example.com/org/list" \
|
||||
-H "Authorization: Bearer your_token_here" \
|
||||
-H "Content-Type: application/json"</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=aefbdc role=tabpanel aria-labelledby=nav-1><p>⚠️注意:只能存在一个根部门。如果你的系统中存在多个根部门,需要先进行处理,加一个虚拟的根部门。返回值类型:</p><div class=prism-codeblock><pre id=5634349 class=language-ts>
|
||||
</pre></div></div><div class="tab-pane fade" id=abcdef role=tabpanel aria-labelledby=nav-1><p>⚠️注意:只能存在一个根部门。如果你的系统中存在多个根部门,需要先进行处理,加一个虚拟的根部门。返回值类型:</p><div class=prism-codeblock><pre id=5634349 class=language-ts>
|
||||
<code>type OrgListResponseType = {
|
||||
message?: string; // 报错信息
|
||||
success: boolean;
|
||||
@@ -231,12 +231,12 @@ Table of Contents</button><nav id=toc-mobile><ul class=dropdown-menu><li><ul><li
|
||||
}
|
||||
]
|
||||
}</code>
|
||||
</pre></div></div></div><h3 id=获取成员>获取成员 <a href=#%e8%8e%b7%e5%8f%96%e6%88%90%e5%91%98 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=bdafecTab data-bs-toggle=tab data-bs-target=#bdafec type=button role=tab aria-controls=bdafec aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=bdeafcTab data-bs-toggle=tab data-bs-target=#bdeafc type=button role=tab aria-controls=bdeafc aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=bdafec role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=bc9e9ec class=language-bash>
|
||||
</pre></div></div></div><h3 id=获取成员>获取成员 <a href=#%e8%8e%b7%e5%8f%96%e6%88%90%e5%91%98 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=bfadecTab data-bs-toggle=tab data-bs-target=#bfadec type=button role=tab aria-controls=bfadec aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=dfebcaTab data-bs-toggle=tab data-bs-target=#dfebca type=button role=tab aria-controls=dfebca aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=bfadec role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=bc9e9ec class=language-bash>
|
||||
<code>curl -X GET "https://example.com/user/list" \
|
||||
-H "Authorization: Bearer your_token_here" \
|
||||
-H "Content-Type: application/json"</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=bdeafc role=tabpanel aria-labelledby=nav-1><p>返回值类型:</p><div class=prism-codeblock><pre id=3f6bc41 class=language-typescript>
|
||||
</pre></div></div><div class="tab-pane fade" id=dfebca role=tabpanel aria-labelledby=nav-1><p>返回值类型:</p><div class=prism-codeblock><pre id=3f6bc41 class=language-typescript>
|
||||
<code>type UserListResponseListType = {
|
||||
message?: string; // 报错信息
|
||||
success: boolean;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -50,8 +50,8 @@ type FileListItem = {
|
||||
updateTime: Date;
|
||||
createTime: Date;
|
||||
}</code>
|
||||
</pre></div><h3 id=1-获取文件树>1. 获取文件树 <a href=#1-%e8%8e%b7%e5%8f%96%e6%96%87%e4%bb%b6%e6%a0%91 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=ebdcfaTab data-bs-toggle=tab data-bs-target=#ebdcfa type=button role=tab aria-controls=ebdcfa aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=dfcbaeTab data-bs-toggle=tab data-bs-target=#dfcbae type=button role=tab aria-controls=dfcbae aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=ebdcfa role=tabpanel aria-labelledby=nav-1><div class="alert alert-success d-flex" role=alert><div class="flex-shrink-1 alert-icon"></div><div class=w-100><ul><li>parentId - 父级 id,可选,或者 null。</li><li>searchKey - 检索词,可选</li></ul></div></div><div class=prism-codeblock><pre id=04b20e5 class=language-bash>
|
||||
</pre></div><h3 id=1-获取文件树>1. 获取文件树 <a href=#1-%e8%8e%b7%e5%8f%96%e6%96%87%e4%bb%b6%e6%a0%91 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=acdebfTab data-bs-toggle=tab data-bs-target=#acdebf type=button role=tab aria-controls=acdebf aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=bafcdeTab data-bs-toggle=tab data-bs-target=#bafcde type=button role=tab aria-controls=bafcde aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=acdebf role=tabpanel aria-labelledby=nav-1><div class="alert alert-success d-flex" role=alert><div class="flex-shrink-1 alert-icon"></div><div class=w-100><ul><li>parentId - 父级 id,可选,或者 null。</li><li>searchKey - 检索词,可选</li></ul></div></div><div class=prism-codeblock><pre id=04b20e5 class=language-bash>
|
||||
<code>curl --location --request POST '{{baseURL}}/v1/file/list' \
|
||||
--header 'Authorization: Bearer {{authorization}}' \
|
||||
--header 'Content-Type: application/json' \
|
||||
@@ -59,7 +59,7 @@ type FileListItem = {
|
||||
"parentId": null,
|
||||
"searchKey": ""
|
||||
}'</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=dfcbae role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=ee58785 class=language-json>
|
||||
</pre></div></div><div class="tab-pane fade" id=bafcde role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=ee58785 class=language-json>
|
||||
<code>{
|
||||
"code": 200,
|
||||
"success": true,
|
||||
@@ -75,12 +75,12 @@ type FileListItem = {
|
||||
}
|
||||
]
|
||||
}</code>
|
||||
</pre></div></div></div><h3 id=2-获取单个文件内容文本内容或访问链接>2. 获取单个文件内容(文本内容或访问链接) <a href=#2-%e8%8e%b7%e5%8f%96%e5%8d%95%e4%b8%aa%e6%96%87%e4%bb%b6%e5%86%85%e5%ae%b9%e6%96%87%e6%9c%ac%e5%86%85%e5%ae%b9%e6%88%96%e8%ae%bf%e9%97%ae%e9%93%be%e6%8e%a5 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=ebdcafTab data-bs-toggle=tab data-bs-target=#ebdcaf type=button role=tab aria-controls=ebdcaf aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=aedcfbTab data-bs-toggle=tab data-bs-target=#aedcfb type=button role=tab aria-controls=aedcfb aria-selected=true>响应示例</a>
|
||||
<a class=nav-link id=Tab data-bs-toggle=tab data-bs-target=# type=button role=tab aria-controls aria-selected=true></a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=ebdcaf role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=1de88d3 class=language-bash>
|
||||
</pre></div></div></div><h3 id=2-获取单个文件内容文本内容或访问链接>2. 获取单个文件内容(文本内容或访问链接) <a href=#2-%e8%8e%b7%e5%8f%96%e5%8d%95%e4%b8%aa%e6%96%87%e4%bb%b6%e5%86%85%e5%ae%b9%e6%96%87%e6%9c%ac%e5%86%85%e5%ae%b9%e6%88%96%e8%ae%bf%e9%97%ae%e9%93%be%e6%8e%a5 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=cdfbaeTab data-bs-toggle=tab data-bs-target=#cdfbae type=button role=tab aria-controls=cdfbae aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=cafdbeTab data-bs-toggle=tab data-bs-target=#cafdbe type=button role=tab aria-controls=cafdbe aria-selected=true>响应示例</a>
|
||||
<a class=nav-link id=Tab data-bs-toggle=tab data-bs-target=# type=button role=tab aria-controls aria-selected=true></a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=cdfbae role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=1de88d3 class=language-bash>
|
||||
<code>curl --location --request GET '{{baseURL}}/v1/file/content?id=xx' \
|
||||
--header 'Authorization: Bearer {{authorization}}'</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=aedcfb role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=bcbc70a class=language-json>
|
||||
</pre></div></div><div class="tab-pane fade" id=cafdbe role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=bcbc70a class=language-json>
|
||||
<code>{
|
||||
"code": 200,
|
||||
"success": true,
|
||||
@@ -91,11 +91,11 @@ type FileListItem = {
|
||||
"previewUrl": "xxxx"
|
||||
}
|
||||
}</code>
|
||||
</pre></div><div class="alert alert-success d-flex" role=alert><div class="flex-shrink-1 alert-icon"></div><div class=w-100><ul><li>title - 文件标题。</li><li>content - 文件内容,直接拿来用。</li><li>previewUrl - 文件链接,系统会请求该地址获取文件内容。</li></ul><p><code>content</code>和<code>previewUrl</code>二选一返回,如果同时返回则 <code>content</code> 优先级更高,返回 <code>previewUrl</code>时,则会访问该链接进行文档内容读取。</p></div></div></div></div><h3 id=3-获取文件阅读链接用于查看原文>3. 获取文件阅读链接(用于查看原文) <a href=#3-%e8%8e%b7%e5%8f%96%e6%96%87%e4%bb%b6%e9%98%85%e8%af%bb%e9%93%be%e6%8e%a5%e7%94%a8%e4%ba%8e%e6%9f%a5%e7%9c%8b%e5%8e%9f%e6%96%87 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=acfedbTab data-bs-toggle=tab data-bs-target=#acfedb type=button role=tab aria-controls=acfedb aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=bcfaedTab data-bs-toggle=tab data-bs-target=#bcfaed type=button role=tab aria-controls=bcfaed aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=acfedb role=tabpanel aria-labelledby=nav-1><p>id 为文件的 id。</p><div class=prism-codeblock><pre id=3291e95 class=language-bash>
|
||||
</pre></div><div class="alert alert-success d-flex" role=alert><div class="flex-shrink-1 alert-icon"></div><div class=w-100><ul><li>title - 文件标题。</li><li>content - 文件内容,直接拿来用。</li><li>previewUrl - 文件链接,系统会请求该地址获取文件内容。</li></ul><p><code>content</code>和<code>previewUrl</code>二选一返回,如果同时返回则 <code>content</code> 优先级更高,返回 <code>previewUrl</code>时,则会访问该链接进行文档内容读取。</p></div></div></div></div><h3 id=3-获取文件阅读链接用于查看原文>3. 获取文件阅读链接(用于查看原文) <a href=#3-%e8%8e%b7%e5%8f%96%e6%96%87%e4%bb%b6%e9%98%85%e8%af%bb%e9%93%be%e6%8e%a5%e7%94%a8%e4%ba%8e%e6%9f%a5%e7%9c%8b%e5%8e%9f%e6%96%87 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=ecbdfaTab data-bs-toggle=tab data-bs-target=#ecbdfa type=button role=tab aria-controls=ecbdfa aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=cbdfeaTab data-bs-toggle=tab data-bs-target=#cbdfea type=button role=tab aria-controls=cbdfea aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=ecbdfa role=tabpanel aria-labelledby=nav-1><p>id 为文件的 id。</p><div class=prism-codeblock><pre id=3291e95 class=language-bash>
|
||||
<code>curl --location --request GET '{{baseURL}}/v1/file/read?id=xx' \
|
||||
--header 'Authorization: Bearer {{authorization}}'</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=bcfaed role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=9102b7d class=language-json>
|
||||
</pre></div></div><div class="tab-pane fade" id=cbdfea role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=9102b7d class=language-json>
|
||||
<code>{
|
||||
"code": 200,
|
||||
"success": true,
|
||||
|
||||
@@ -36,7 +36,7 @@ FAQ</button><div class=sidebar-submenu><ul><li><a class=sidebar-nested-link href
|
||||
<span class=toggle-dark><svg xmlns="http://www.w3.org/2000/svg" height="30" width="30" viewBox="0 0 48 48" fill="currentcolor"><path d="M24 42q-7.5.0-12.75-5.25T6 24t5.25-12.75T24 6q.4.0.85.025.45.025 1.15.075-1.8 1.6-2.8 3.95t-1 4.95q0 4.5 3.15 7.65Q28.5 25.8 33 25.8q2.6.0 4.95-.925T41.9 22.3q.05.6.075.975Q42 23.65 42 24q0 7.5-5.25 12.75T24 42zm0-3q5.45.0 9.5-3.375t5.05-7.925q-1.25.55-2.675.825Q34.45 28.8 33 28.8q-5.75.0-9.775-4.025T19.2 15q0-1.2.25-2.575t.9-3.125q-4.9 1.35-8.125 5.475Q9 18.9 9 24q0 6.25 4.375 10.625T24 39zm-.2-14.85z"/></svg></span><span class=toggle-light><svg xmlns="http://www.w3.org/2000/svg" height="30" width="30" viewBox="0 0 48 48" fill="currentcolor"><path d="M24 31q2.9.0 4.95-2.05T31 24t-2.05-4.95T24 17t-4.95 2.05T17 24t2.05 4.95T24 31zm0 3q-4.15.0-7.075-2.925T14 24t2.925-7.075T24 14t7.075 2.925T34 24t-2.925 7.075T24 34zM3.5 25.5q-.65.0-1.075-.425Q2 24.65 2 24t.425-1.075Q2.85 22.5 3.5 22.5h5q.65.0 1.075.425Q10 23.35 10 24t-.425 1.075T8.5 25.5zm36 0q-.65.0-1.075-.425Q38 24.65 38 24t.425-1.075T39.5 22.5h5q.65.0 1.075.425Q46 23.35 46 24t-.425 1.075-1.075.425zM24 10q-.65.0-1.075-.425Q22.5 9.15 22.5 8.5v-5q0-.65.425-1.075Q23.35 2 24 2t1.075.425T25.5 3.5v5q0 .65-.425 1.075Q24.65 10 24 10zm0 36q-.65.0-1.075-.425T22.5 44.5v-5q0-.65.425-1.075Q23.35 38 24 38t1.075.425.425 1.075v5q0 .65-.425 1.075Q24.65 46 24 46zM12 14.1l-2.85-2.8q-.45-.45-.425-1.075.025-.625.425-1.075.45-.45 1.075-.45t1.075.45L14.1 12q.4.45.4 1.05.0.6-.4 1-.4.45-1.025.45T12 14.1zm24.7 24.75L33.9 36q-.4-.45-.4-1.075t.45-1.025q.4-.45 1-.45t1.05.45l2.85 2.8q.45.45.425 1.075-.025.625-.425 1.075-.45.45-1.075.45t-1.075-.45zM33.9 14.1q-.45-.45-.45-1.05.0-.6.45-1.05l2.8-2.85q.45-.45 1.075-.425.625.025 1.075.425.45.45.45 1.075t-.45 1.075L36 14.1q-.4.4-1.025.4t-1.075-.4zM9.15 38.85q-.45-.45-.45-1.075t.45-1.075L12 33.9q.45-.45 1.05-.45.6.0 1.05.45.45.45.45 1.05.0.6-.45 1.05l-2.8 2.85q-.45.45-1.075.425-.625-.025-1.075-.425zM24 24z"/></svg></span></button></div></div></div><div class=container-fluid><div class=layout-spacing><div class="d-md-flex justify-content-between align-items-center"><nav aria-label=breadcrumb class="d-inline-block pb-2 mt-1 mt-sm-0"><ul id=breadcrumbs class="breadcrumb bg-transparent mb-0" itemscope itemtype=https://schema.org/BreadcrumbList><li class="breadcrumb-item text-capitalize active" aria-current=page itemprop=itemListElement itemscope itemtype=https://schema.org/ListItem><a itemprop=item href=/docs/><i class="material-icons size-20 align-text-bottom" itemprop=name>Home</i></a><meta itemprop=position content="1"></li><li class="breadcrumb-item text-capitalize" itemprop=itemListElement itemscope itemtype=https://schema.org/ListItem><a itemprop=item href=/docs/guide/><span itemprop=name>功能介绍</span></a><meta itemprop=position content="2"></li><li class="breadcrumb-item text-capitalize" itemprop=itemListElement itemscope itemtype=https://schema.org/ListItem><a itemprop=item href=/docs/guide/knowledge_base/><span itemprop=name>知识库</span></a><meta itemprop=position content="3"></li><li class="breadcrumb-item text-capitalize active" itemprop=itemListElement itemscope itemtype=https://schema.org/ListItem><span itemprop=name>Web 站点同步</span><meta itemprop=position content="4"></li></ul></nav></div><div class="row flex-xl-nowrap"><div class="docs-toc col-xl-3 d-xl-block"><toc><div class="fw-bold text-uppercase mb-2">Web 站点同步</div><nav id=toc><ul><li><ul><li><a href=#什么是-web-站点同步>什么是 Web 站点同步</a></li><li><a href=#如何使用>如何使用</a><ul><li><a href=#1-新建知识库选择-web-站点同步>1. 新建知识库,选择 Web 站点同步</a></li><li><a href=#2-点击配置站点信息>2. 点击配置站点信息</a></li><li><a href=#3-填写网址和选择器>3. 填写网址和选择器</a></li></ul></li><li><a href=#创建应用绑定知识库>创建应用,绑定知识库</a></li><li><a href=#选择器如何使用>选择器如何使用</a><ul><li><a href=#首先打开浏览器调试面板通常是-f12或者右键---检查>首先打开浏览器调试面板(通常是 F12,或者【右键 - 检查】)</a></li><li><a href=#输入对应元素的选择器>输入对应元素的选择器</a></li><li><a href=#多选择器使用>多选择器使用</a></li></ul></li></ul></li></ul></nav></toc></div><div class="docs-toc-mobile d-print-none d-xl-none"><button id=toc-dropdown-btn class="btn-secondary dropdown-toggle" type=button data-bs-toggle=dropdown data-bs-offset=0,0 aria-expanded=false>
|
||||
Table of Contents</button><nav id=toc-mobile><ul class=dropdown-menu><li><ul><li><a href=#什么是-web-站点同步>什么是 Web 站点同步</a></li><li><a href=#如何使用>如何使用</a><ul><li><a href=#1-新建知识库选择-web-站点同步>1. 新建知识库,选择 Web 站点同步</a></li><li><a href=#2-点击配置站点信息>2. 点击配置站点信息</a></li><li><a href=#3-填写网址和选择器>3. 填写网址和选择器</a></li></ul></li><li><a href=#创建应用绑定知识库>创建应用,绑定知识库</a></li><li><a href=#选择器如何使用>选择器如何使用</a><ul><li><a href=#首先打开浏览器调试面板通常是-f12或者右键---检查>首先打开浏览器调试面板(通常是 F12,或者【右键 - 检查】)</a></li><li><a href=#输入对应元素的选择器>输入对应元素的选择器</a></li><li><a href=#多选择器使用>多选择器使用</a></li></ul></li></ul></li></ul></nav></div><div class="docs-content col-12 col-xl-9 mt-0"><div class="mb-0 d-flex"><i class="material-icons title-icon me-2">language</i><h1 class="content-title mb-0">Web 站点同步</h1></div><p class="lead mb-3">FastGPT Web 站点同步功能介绍和使用方式</p><div id=content class=main-content data-bs-spy=scroll data-bs-root-margin="0px 0px -65%" data-bs-target=#toc-mobile><div data-prismjs-copy data-prismjs-copy-success data-prismjs-copy-error><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/webSync1.jpg alt loading=lazy class=medium-zoom-image></p><p>该功能目前仅向商业版用户开放。</p><h2 id=什么是-web-站点同步>什么是 Web 站点同步 <a href=#%e4%bb%80%e4%b9%88%e6%98%af-web-%e7%ab%99%e7%82%b9%e5%90%8c%e6%ad%a5 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><p>Web 站点同步利用爬虫的技术,可以通过一个入口网站,自动捕获<code>同域名</code>下的所有网站,目前最多支持<code>200</code>个子页面。出于合规与安全角度,FastGPT 仅支持<code>静态站点</code>的爬取,主要用于各个文档站点快速构建知识库。</p><p>Tips: 国内的媒体站点基本不可用,公众号、csdn、知乎等。可以通过终端发送<code>curl</code>请求检测是否为静态站点,例如:</p><div class=prism-codeblock><pre id=c0664f7 class=language-bash>
|
||||
<code>curl https://doc.tryfastgpt.ai/docs/intro/</code>
|
||||
</pre></div><h2 id=如何使用>如何使用 <a href=#%e5%a6%82%e4%bd%95%e4%bd%bf%e7%94%a8 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><h3 id=1-新建知识库选择-web-站点同步>1. 新建知识库,选择 Web 站点同步 <a href=#1-%e6%96%b0%e5%bb%ba%e7%9f%a5%e8%af%86%e5%ba%93%e9%80%89%e6%8b%a9-web-%e7%ab%99%e7%82%b9%e5%90%8c%e6%ad%a5 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/webSync2.png alt loading=lazy class=medium-zoom-image></p><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/webSync3.png alt loading=lazy class=medium-zoom-image></p><h3 id=2-点击配置站点信息>2. 点击配置站点信息 <a href=#2-%e7%82%b9%e5%87%bb%e9%85%8d%e7%bd%ae%e7%ab%99%e7%82%b9%e4%bf%a1%e6%81%af class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/webSync4.png alt loading=lazy class=medium-zoom-image></p><h3 id=3-填写网址和选择器>3. 填写网址和选择器 <a href=#3-%e5%a1%ab%e5%86%99%e7%bd%91%e5%9d%80%e5%92%8c%e9%80%89%e6%8b%a9%e5%99%a8 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/webSync5.jpg alt loading=lazy class=medium-zoom-image></p><p>好了, 现在点击开始同步,静等系统自动抓取网站信息即可。</p><h2 id=创建应用绑定知识库>创建应用,绑定知识库 <a href=#%e5%88%9b%e5%bb%ba%e5%ba%94%e7%94%a8%e7%bb%91%e5%ae%9a%e7%9f%a5%e8%af%86%e5%ba%93 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/webSync6.webp alt loading=lazy class=medium-zoom-image></p><h2 id=选择器如何使用>选择器如何使用 <a href=#%e9%80%89%e6%8b%a9%e5%99%a8%e5%a6%82%e4%bd%95%e4%bd%bf%e7%94%a8 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><p>选择器是 HTML CSS JS 的产物,你可以通过选择器来定位到你需要抓取的具体内容,而不是整个站点。使用方式为:</p><h3 id=首先打开浏览器调试面板通常是-f12或者右键---检查>首先打开浏览器调试面板(通常是 F12,或者【右键 - 检查】) <a href=#%e9%a6%96%e5%85%88%e6%89%93%e5%bc%80%e6%b5%8f%e8%a7%88%e5%99%a8%e8%b0%83%e8%af%95%e9%9d%a2%e6%9d%bf%e9%80%9a%e5%b8%b8%e6%98%af-f12%e6%88%96%e8%80%85%e5%8f%b3%e9%94%ae---%e6%a3%80%e6%9f%a5 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/webSync7.webp alt loading=lazy class=medium-zoom-image></p><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/webSync8.webp alt loading=lazy class=medium-zoom-image></p><h3 id=输入对应元素的选择器>输入对应元素的选择器 <a href=#%e8%be%93%e5%85%a5%e5%af%b9%e5%ba%94%e5%85%83%e7%b4%a0%e7%9a%84%e9%80%89%e6%8b%a9%e5%99%a8 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p><a href=https://www.runoob.com/cssref/css-selectors.html rel=external target=_blank>菜鸟教程 css 选择器<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentcolor" d="M14 5c-.552.0-1-.448-1-1s.448-1 1-1h6c.552.0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1V6.414l-7.293 7.293c-.391.39-1.024.39-1.414.0-.391-.391-.391-1.024.0-1.414L17.586 5H14zM5 7c-.552.0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552.0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1V19c0 1.657-1.343 3-3 3H5c-1.657.0-3-1.343-3-3V8c0-1.657 1.343-3 3-3h4.563c.552.0 1 .448 1 1s-.448 1-1 1H5z"/></svg></a>,具体选择器的使用方式可以参考菜鸟教程。</p><p>上图中,我们选中了一个区域,对应的是<code>div</code>标签,它有 <code>data-prismjs-copy</code>, <code>data-prismjs-copy-success</code>, <code>data-prismjs-copy-error</code> 三个属性,这里我们用到一个就够。所以选择器是:
|
||||
</pre></div><h2 id=如何使用>如何使用 <a href=#%e5%a6%82%e4%bd%95%e4%bd%bf%e7%94%a8 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><h3 id=1-新建知识库选择-web-站点同步>1. 新建知识库,选择 Web 站点同步 <a href=#1-%e6%96%b0%e5%bb%ba%e7%9f%a5%e8%af%86%e5%ba%93%e9%80%89%e6%8b%a9-web-%e7%ab%99%e7%82%b9%e5%90%8c%e6%ad%a5 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/webSync2.jpg alt loading=lazy class=medium-zoom-image></p><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/webSync3.jpg alt loading=lazy class=medium-zoom-image></p><h3 id=2-点击配置站点信息>2. 点击配置站点信息 <a href=#2-%e7%82%b9%e5%87%bb%e9%85%8d%e7%bd%ae%e7%ab%99%e7%82%b9%e4%bf%a1%e6%81%af class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/webSync4.jpg alt loading=lazy class=medium-zoom-image></p><h3 id=3-填写网址和选择器>3. 填写网址和选择器 <a href=#3-%e5%a1%ab%e5%86%99%e7%bd%91%e5%9d%80%e5%92%8c%e9%80%89%e6%8b%a9%e5%99%a8 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/webSync5.jpg alt loading=lazy class=medium-zoom-image></p><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/webSync5-1.jpg alt loading=lazy class=medium-zoom-image></p><p>好了, 现在点击开始同步,静等系统自动抓取网站信息即可。</p><h2 id=创建应用绑定知识库>创建应用,绑定知识库 <a href=#%e5%88%9b%e5%bb%ba%e5%ba%94%e7%94%a8%e7%bb%91%e5%ae%9a%e7%9f%a5%e8%af%86%e5%ba%93 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/webSync6.jpg alt loading=lazy class=medium-zoom-image></p><h2 id=选择器如何使用>选择器如何使用 <a href=#%e9%80%89%e6%8b%a9%e5%99%a8%e5%a6%82%e4%bd%95%e4%bd%bf%e7%94%a8 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><p>选择器是 HTML CSS JS 的产物,你可以通过选择器来定位到你需要抓取的具体内容,而不是整个站点。使用方式为:</p><h3 id=首先打开浏览器调试面板通常是-f12或者右键---检查>首先打开浏览器调试面板(通常是 F12,或者【右键 - 检查】) <a href=#%e9%a6%96%e5%85%88%e6%89%93%e5%bc%80%e6%b5%8f%e8%a7%88%e5%99%a8%e8%b0%83%e8%af%95%e9%9d%a2%e6%9d%bf%e9%80%9a%e5%b8%b8%e6%98%af-f12%e6%88%96%e8%80%85%e5%8f%b3%e9%94%ae---%e6%a3%80%e6%9f%a5 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/webSync7.webp alt loading=lazy class=medium-zoom-image></p><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/webSync8.webp alt loading=lazy class=medium-zoom-image></p><h3 id=输入对应元素的选择器>输入对应元素的选择器 <a href=#%e8%be%93%e5%85%a5%e5%af%b9%e5%ba%94%e5%85%83%e7%b4%a0%e7%9a%84%e9%80%89%e6%8b%a9%e5%99%a8 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p><a href=https://www.runoob.com/cssref/css-selectors.html rel=external target=_blank>菜鸟教程 css 选择器<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentcolor" d="M14 5c-.552.0-1-.448-1-1s.448-1 1-1h6c.552.0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1V6.414l-7.293 7.293c-.391.39-1.024.39-1.414.0-.391-.391-.391-1.024.0-1.414L17.586 5H14zM5 7c-.552.0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552.0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1V19c0 1.657-1.343 3-3 3H5c-1.657.0-3-1.343-3-3V8c0-1.657 1.343-3 3-3h4.563c.552.0 1 .448 1 1s-.448 1-1 1H5z"/></svg></a>,具体选择器的使用方式可以参考菜鸟教程。</p><p>上图中,我们选中了一个区域,对应的是<code>div</code>标签,它有 <code>data-prismjs-copy</code>, <code>data-prismjs-copy-success</code>, <code>data-prismjs-copy-error</code> 三个属性,这里我们用到一个就够。所以选择器是:
|
||||
<strong><code>div[data-prismjs-copy]</code></strong></p><p>除了属性选择器,常见的还有类和ID选择器。例如:</p><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/webSync9.webp alt loading=lazy class=medium-zoom-image></p><p>上图 class 里的是类名(可能包含多个类名,都是空格隔开的,选择一个即可),选择器可以为:<strong><code>.docs-content</code></strong></p><h3 id=多选择器使用>多选择器使用 <a href=#%e5%a4%9a%e9%80%89%e6%8b%a9%e5%99%a8%e4%bd%bf%e7%94%a8 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>在开头的演示中,我们对 FastGPT 文档是使用了多选择器的方式来选择,通过逗号隔开了两个选择器。</p><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/webSync10.webp alt loading=lazy class=medium-zoom-image></p><p>我们希望选中上图两个标签中的内容,此时就需要两组选择器。一组是:<code>.docs-content .mb-0.d-flex</code>,含义是 <code>docs-content</code> 类下同时包含 <code>mb-0</code>和<code>d-flex</code> 两个类的子元素;</p><p>另一组是<code>.docs-content div[data-prismjs-copy]</code>,含义是<code>docs-content</code> 类下包含<code>data-prismjs-copy</code>属性的<code>div</code>元素。</p><p>把两组选择器用逗号隔开即可:<code>.docs-content .mb-0.d-flex, .docs-content div[data-prismjs-copy]</code></p></div><div class="gitinfo d-flex flex-wrap justify-content-between align-items-center opacity-85 pt-3"><div id=edit-this-page class=mt-1><a href=https://github.com/labring/FastGPT/blob/main/docSite/content/zh-cn/docs/guide/knowledge_base/websync.md alt="Web 站点同步" rel="noopener noreferrer" target=_blank><span class="me-1 align-text-bottom"><svg width="20" height="20" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill="currentcolor"><path d="M16 .396c-8.839.0-16 7.167-16 16 0 7.073 4.584 13.068 10.937 15.183.803.151 1.093-.344 1.093-.772.0-.38-.009-1.385-.015-2.719-4.453.964-5.391-2.151-5.391-2.151-.729-1.844-1.781-2.339-1.781-2.339-1.448-.989.115-.968.115-.968 1.604.109 2.448 1.645 2.448 1.645 1.427 2.448 3.744 1.74 4.661 1.328.14-1.031.557-1.74 1.011-2.135-3.552-.401-7.287-1.776-7.287-7.907.0-1.751.62-3.177 1.645-4.297-.177-.401-.719-2.031.141-4.235.0.0 1.339-.427 4.4 1.641 1.281-.355 2.641-.532 4-.541 1.36.009 2.719.187 4 .541 3.043-2.068 4.381-1.641 4.381-1.641.859 2.204.317 3.833.161 4.235 1.015 1.12 1.635 2.547 1.635 4.297.0 6.145-3.74 7.5-7.296 7.891.556.479 1.077 1.464 1.077 2.959.0 2.14-.02 3.864-.02 4.385.0.416.28.916 1.104.755 6.4-2.093 10.979-8.093 10.979-15.156.0-8.833-7.161-16-16-16z"/></svg></span>编辑此页面</a></div></div></div><div><hr class=doc-hr><div id=doc-nav class=d-print-none><div class="row flex-xl-nowrap"><div class="col-sm-6 pt-2 doc-next"><a href=/docs/guide/knowledge_base/yuque_dataset/><div class="card h-100 my-1"><div class="card-body py-2"><p class="card-title fs-5 fw-semibold lh-base mb-0"><i class="material-icons align-middle">navigate_before</i> 语雀文件库</p><p class="card-text ms-2">FastGPT 语雀文件库功能介绍和使用方式</p></div></div></a></div><div class="col-sm-6 pt-2 doc-prev"><a class=ms-auto href=/docs/guide/knowledge_base/externalfile/><div class="card h-100 my-1 text-end"><div class="card-body py-2"><p class="card-title fs-5 fw-semibold lh-base mb-0">外部文件知识库 <i class="material-icons align-middle">navigate_next</i></p><p class="card-text me-2">FastGPT 外部文件知识库功能介绍和使用方式</p></div></div></a></div></div></div></div></div></div></div></div><footer class="shadow py-3 d-print-none"><div class="row align-items-center" style=height:90px><div class=col><div class="text-sm-start text-center mx-md-2"><p class=mb-0>© 2025 the FastGPT Authors.</p><p class=github-badge><span class=badge-subject>云操作系统</span><span class="badge-value bg-blue"><a style=color:#fff href=https://sealos.io/ target=_blank>Sealos</a></span>
|
||||
<span class=badge-subject>云开发</span><span class="badge-value bg-brightgreen"><a style=color:#fff href=https://laf.run target=_blank>Laf</a></span>
|
||||
<span class=badge-subject>云原生存储</span><span class="badge-value bg-orange"><a style=color:#fff href=https://github.com/labring/sealfs target=_blank>Sealfs</a></span></p><div id=fixed-box><div class=feedback-btn-wrapper><a href=https://fael3z0zfze.feishu.cn/share/base/form/shrcnRxj3utrzjywsom96Px4sud style=text-decoration:none target=_blank><button id=feedback-btn title="Give feedback"><svg class="inline w-5 h-5" viewBox="0 0 20 20" fill="currentcolor"><path fill-rule="evenodd" d="M18 13V5a2 2 0 00-2-2H4A2 2 0 002 5v8a2 2 0 002 2h3l3 3 3-3h3a2 2 0 002-2zM5 7a1 1 0 011-1h8a1 1 0 110 2H6A1 1 0 015 7zm1 3a1 1 0 100 2h3a1 1 0 100-2H6z" clip-rule="evenodd"/></svg>
|
||||
|
||||
Reference in New Issue
Block a user