deploy: ba422b73b33477eb5d0138b0d4d5dd2dce23374c
This commit is contained in:
parent
1e0eab0c03
commit
9c072a9d82
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -43,43 +43,43 @@ Table of Contents</button><nav id=toc-mobile><ul class=dropdown-menu><li><ul><li
|
||||
"uid": "用户唯一凭证"
|
||||
}
|
||||
}</code>
|
||||
</pre></div><p><code>FastGPT</code> 将会判断<code>success</code>是否为<code>true</code>决定是允许用户继续操作。<code>message</code>与<code>msg</code>是等同的,你可以选择返回其中一个,当<code>success</code>不为<code>true</code>时,将会提示这个错误。</p><p><code>uid</code>是用户的唯一凭证,将会用于拉取对话记录以及保存对话记录。可参考下方实践案例。</p><h3 id=触发流程>触发流程 <a href=#%e8%a7%a6%e5%8f%91%e6%b5%81%e7%a8%8b 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/sharelink_process.png alt loading=lazy class=medium-zoom-image></p><h2 id=配置教程>配置教程 <a href=#%e9%85%8d%e7%bd%ae%e6%95%99%e7%a8%8b class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><h3 id=1-配置身份校验地址>1. 配置身份校验地址 <a href=#1-%e9%85%8d%e7%bd%ae%e8%ba%ab%e4%bb%bd%e6%a0%a1%e9%aa%8c%e5%9c%b0%e5%9d%80 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/share-setlink.png alt loading=lazy class=medium-zoom-image></p><p>配置校验地址后,在每次分享链接使用时,都会向对应的地址发起校验和上报请求。</p><div class="alert alert-default d-flex" role=alert><div class="flex-shrink-1 alert-icon"><p>🤖</p></div><div class=w-100><p>这里仅需配置根地址,无需具体到完整请求路径。</p></div></div><h3 id=2-分享链接中增加额外-query>2. 分享链接中增加额外 query <a href=#2-%e5%88%86%e4%ba%ab%e9%93%be%e6%8e%a5%e4%b8%ad%e5%a2%9e%e5%8a%a0%e9%a2%9d%e5%a4%96-query class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>在分享链接的地址中,增加一个额外的参数: authToken。例如:</p><p>原始的链接:<code>https://share.tryfastgpt.ai/chat/share?shareId=648aaf5ae121349a16d62192</code></p><p>完整链接: <code>https://share.tryfastgpt.ai/chat/share?shareId=648aaf5ae121349a16d62192&authToken=userid12345</code></p><p>这个<code>authToken</code>通常是你系统生成的用户唯一凭证(Token之类的)。FastGPT 会在鉴权接口的<code>body</code>中携带 token={{authToken}} 的参数。</p><h3 id=3-编写聊天初始化校验接口>3. 编写聊天初始化校验接口 <a href=#3-%e7%bc%96%e5%86%99%e8%81%8a%e5%a4%a9%e5%88%9d%e5%a7%8b%e5%8c%96%e6%a0%a1%e9%aa%8c%e6%8e%a5%e5%8f%a3 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=edbafcTab data-bs-toggle=tab data-bs-target=#edbafc type=button role=tab aria-controls=edbafc aria-selected=true>请求示例</a>
|
||||
<a class=nav-link 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=ebdacfTab data-bs-toggle=tab data-bs-target=#ebdacf type=button role=tab aria-controls=ebdacf aria-selected=true>鉴权失败</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=edbafc role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=39d214b class=language-bash>
|
||||
</pre></div><p><code>FastGPT</code> 将会判断<code>success</code>是否为<code>true</code>决定是允许用户继续操作。<code>message</code>与<code>msg</code>是等同的,你可以选择返回其中一个,当<code>success</code>不为<code>true</code>时,将会提示这个错误。</p><p><code>uid</code>是用户的唯一凭证,将会用于拉取对话记录以及保存对话记录。可参考下方实践案例。</p><h3 id=触发流程>触发流程 <a href=#%e8%a7%a6%e5%8f%91%e6%b5%81%e7%a8%8b 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/sharelink_process.png alt loading=lazy class=medium-zoom-image></p><h2 id=配置教程>配置教程 <a href=#%e9%85%8d%e7%bd%ae%e6%95%99%e7%a8%8b class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><h3 id=1-配置身份校验地址>1. 配置身份校验地址 <a href=#1-%e9%85%8d%e7%bd%ae%e8%ba%ab%e4%bb%bd%e6%a0%a1%e9%aa%8c%e5%9c%b0%e5%9d%80 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/share-setlink.png alt loading=lazy class=medium-zoom-image></p><p>配置校验地址后,在每次分享链接使用时,都会向对应的地址发起校验和上报请求。</p><div class="alert alert-default d-flex" role=alert><div class="flex-shrink-1 alert-icon"><p>🤖</p></div><div class=w-100><p>这里仅需配置根地址,无需具体到完整请求路径。</p></div></div><h3 id=2-分享链接中增加额外-query>2. 分享链接中增加额外 query <a href=#2-%e5%88%86%e4%ba%ab%e9%93%be%e6%8e%a5%e4%b8%ad%e5%a2%9e%e5%8a%a0%e9%a2%9d%e5%a4%96-query class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>在分享链接的地址中,增加一个额外的参数: authToken。例如:</p><p>原始的链接:<code>https://share.tryfastgpt.ai/chat/share?shareId=648aaf5ae121349a16d62192</code></p><p>完整链接: <code>https://share.tryfastgpt.ai/chat/share?shareId=648aaf5ae121349a16d62192&authToken=userid12345</code></p><p>这个<code>authToken</code>通常是你系统生成的用户唯一凭证(Token之类的)。FastGPT 会在鉴权接口的<code>body</code>中携带 token={{authToken}} 的参数。</p><h3 id=3-编写聊天初始化校验接口>3. 编写聊天初始化校验接口 <a href=#3-%e7%bc%96%e5%86%99%e8%81%8a%e5%a4%a9%e5%88%9d%e5%a7%8b%e5%8c%96%e6%a0%a1%e9%aa%8c%e6%8e%a5%e5%8f%a3 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=bfaecdTab data-bs-toggle=tab data-bs-target=#bfaecd type=button role=tab aria-controls=bfaecd aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=cafbdeTab data-bs-toggle=tab data-bs-target=#cafbde type=button role=tab aria-controls=cafbde aria-selected=true>鉴权成功</a>
|
||||
<a class=nav-link id=aebfcdTab data-bs-toggle=tab data-bs-target=#aebfcd type=button role=tab aria-controls=aebfcd aria-selected=true>鉴权失败</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=bfaecd role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=39d214b class=language-bash>
|
||||
<code>curl --location --request POST '{{host}}/shareAuth/init' \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data-raw '{
|
||||
"token": "{{authToken}}"
|
||||
}'</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=beacfd role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=d6c7899 class=language-json>
|
||||
</pre></div></div><div class="tab-pane fade" id=cafbde role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=d6c7899 class=language-json>
|
||||
<code>{
|
||||
"success": true,
|
||||
"data": {
|
||||
"uid": "用户唯一凭证"
|
||||
}
|
||||
}</code>
|
||||
</pre></div><p>系统会拉取该分享链接下,uid 为 username123 的对话记录。</p></div><div class="tab-pane fade" id=ebdacf role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=3297f92 class=language-json>
|
||||
</pre></div><p>系统会拉取该分享链接下,uid 为 username123 的对话记录。</p></div><div class="tab-pane fade" id=aebfcd role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=3297f92 class=language-json>
|
||||
<code>{
|
||||
"success": false,
|
||||
"message": "身份错误",
|
||||
}</code>
|
||||
</pre></div></div></div><h3 id=4-编写对话前校验接口>4. 编写对话前校验接口 <a href=#4-%e7%bc%96%e5%86%99%e5%af%b9%e8%af%9d%e5%89%8d%e6%a0%a1%e9%aa%8c%e6%8e%a5%e5%8f%a3 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=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=daebcfTab data-bs-toggle=tab data-bs-target=#daebcf type=button role=tab aria-controls=daebcf 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=40c1d59 class=language-bash>
|
||||
</pre></div></div></div><h3 id=4-编写对话前校验接口>4. 编写对话前校验接口 <a href=#4-%e7%bc%96%e5%86%99%e5%af%b9%e8%af%9d%e5%89%8d%e6%a0%a1%e9%aa%8c%e6%8e%a5%e5%8f%a3 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=dbafceTab data-bs-toggle=tab data-bs-target=#dbafce type=button role=tab aria-controls=dbafce aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=fabdecTab data-bs-toggle=tab data-bs-target=#fabdec type=button role=tab aria-controls=fabdec aria-selected=true>鉴权成功</a>
|
||||
<a class=nav-link id=dacfbeTab data-bs-toggle=tab data-bs-target=#dacfbe type=button role=tab aria-controls=dacfbe aria-selected=true>鉴权失败</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=dbafce role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=40c1d59 class=language-bash>
|
||||
<code>curl --location --request POST '{{host}}/shareAuth/start' \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data-raw '{
|
||||
"token": "{{authToken}}",
|
||||
"question": "用户问题",
|
||||
}'</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=dfeacb role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=d6c7899 class=language-json>
|
||||
</pre></div></div><div class="tab-pane fade" id=fabdec role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=d6c7899 class=language-json>
|
||||
<code>{
|
||||
"success": true,
|
||||
"data": {
|
||||
"uid": "用户唯一凭证"
|
||||
}
|
||||
}</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=daebcf role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=23a56e7 class=language-json>
|
||||
</pre></div></div><div class="tab-pane fade" id=dacfbe role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=23a56e7 class=language-json>
|
||||
<code>{
|
||||
"success": false,
|
||||
"message": "身份验证失败",
|
||||
@ -202,9 +202,9 @@ Table of Contents</button><nav id=toc-mobile><ul class=dropdown-menu><li><ul><li
|
||||
|
||||
isElseResult?: boolean; // 判断器结果
|
||||
}</code>
|
||||
</pre></div><h2 id=实践案例>实践案例 <a href=#%e5%ae%9e%e8%b7%b5%e6%a1%88%e4%be%8b class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><p>我们以<a href=https://laf.dev/ rel=external target=_blank>Laf作为服务器为例<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>,简单展示这 3 个接口的使用方式。</p><h3 id=1-创建3个laf接口>1. 创建3个Laf接口 <a href=#1-%e5%88%9b%e5%bb%ba3%e4%b8%aalaf%e6%8e%a5%e5%8f%a3 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/share-auth1.png alt loading=lazy class=medium-zoom-image></p><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=daecbfTab data-bs-toggle=tab data-bs-target=#daecbf type=button role=tab aria-controls=daecbf aria-selected=true>/shareAuth/init</a>
|
||||
<a class=nav-link id=cfdeabTab data-bs-toggle=tab data-bs-target=#cfdeab type=button role=tab aria-controls=cfdeab aria-selected=true>/shareAuth/start</a>
|
||||
<a class=nav-link id=becfdaTab data-bs-toggle=tab data-bs-target=#becfda type=button role=tab aria-controls=becfda aria-selected=true>/shareAuth/finish</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=daecbf role=tabpanel aria-labelledby=nav-1><p>这个接口中,我们设置了<code>token</code>必须等于<code>fastgpt</code>才能通过校验。(实际生产中不建议固定写死)</p><div class=prism-codeblock><pre id=ba0b6c9 class=language-ts>
|
||||
</pre></div><h2 id=实践案例>实践案例 <a href=#%e5%ae%9e%e8%b7%b5%e6%a1%88%e4%be%8b class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><p>我们以<a href=https://laf.dev/ rel=external target=_blank>Laf作为服务器为例<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>,简单展示这 3 个接口的使用方式。</p><h3 id=1-创建3个laf接口>1. 创建3个Laf接口 <a href=#1-%e5%88%9b%e5%bb%ba3%e4%b8%aalaf%e6%8e%a5%e5%8f%a3 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/share-auth1.png alt loading=lazy class=medium-zoom-image></p><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=ebadfcTab data-bs-toggle=tab data-bs-target=#ebadfc type=button role=tab aria-controls=ebadfc aria-selected=true>/shareAuth/init</a>
|
||||
<a class=nav-link id=dfbeacTab data-bs-toggle=tab data-bs-target=#dfbeac type=button role=tab aria-controls=dfbeac aria-selected=true>/shareAuth/start</a>
|
||||
<a class=nav-link id=cdefbaTab data-bs-toggle=tab data-bs-target=#cdefba type=button role=tab aria-controls=cdefba aria-selected=true>/shareAuth/finish</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=ebadfc role=tabpanel aria-labelledby=nav-1><p>这个接口中,我们设置了<code>token</code>必须等于<code>fastgpt</code>才能通过校验。(实际生产中不建议固定写死)</p><div class=prism-codeblock><pre id=ba0b6c9 class=language-ts>
|
||||
<code>import cloud from '@lafjs/cloud'
|
||||
|
||||
export default async function (ctx: FunctionContext) {
|
||||
@ -217,7 +217,7 @@ export default async function (ctx: FunctionContext) {
|
||||
|
||||
return { success: false,message:"身份错误" }
|
||||
}</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=cfdeab role=tabpanel aria-labelledby=nav-1><p>这个接口中,我们设置了<code>token</code>必须等于<code>fastgpt</code>才能通过校验。并且如果问题中包含了<code>你</code>字,则会报错,用于模拟敏感校验。</p><div class=prism-codeblock><pre id=cf82db5 class=language-ts>
|
||||
</pre></div></div><div class="tab-pane fade" id=dfbeac role=tabpanel aria-labelledby=nav-1><p>这个接口中,我们设置了<code>token</code>必须等于<code>fastgpt</code>才能通过校验。并且如果问题中包含了<code>你</code>字,则会报错,用于模拟敏感校验。</p><div class=prism-codeblock><pre id=cf82db5 class=language-ts>
|
||||
<code>import cloud from '@lafjs/cloud'
|
||||
|
||||
export default async function (ctx: FunctionContext) {
|
||||
@ -235,7 +235,7 @@ export default async function (ctx: FunctionContext) {
|
||||
|
||||
return { success: true, data: { uid: "user1" } }
|
||||
}</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=becfda role=tabpanel aria-labelledby=nav-1><p>结果上报接口可自行进行逻辑处理。</p><div class=prism-codeblock><pre id=b3696df class=language-ts>
|
||||
</pre></div></div><div class="tab-pane fade" id=cdefba role=tabpanel aria-labelledby=nav-1><p>结果上报接口可自行进行逻辑处理。</p><div class=prism-codeblock><pre id=b3696df class=language-ts>
|
||||
<code>import cloud from '@lafjs/cloud'
|
||||
|
||||
export default async function (ctx: FunctionContext) {
|
||||
|
||||
@ -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=dbecfaTab data-bs-toggle=tab data-bs-target=#dbecfa type=button role=tab aria-controls=dbecfa aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=eadbfcTab data-bs-toggle=tab data-bs-target=#eadbfc type=button role=tab aria-controls=eadbfc aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=dbecfa 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=dbfceaTab data-bs-toggle=tab data-bs-target=#dbfcea type=button role=tab aria-controls=dbfcea aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=ecdfbaTab data-bs-toggle=tab data-bs-target=#ecdfba type=button role=tab aria-controls=ecdfba aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=dbfcea 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=eadbfc 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=ecdfba 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=abdfceTab data-bs-toggle=tab data-bs-target=#abdfce type=button role=tab aria-controls=abdfce aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=dbaefcTab data-bs-toggle=tab data-bs-target=#dbaefc type=button role=tab aria-controls=dbaefc aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=abdfce 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=fedabcTab data-bs-toggle=tab data-bs-target=#fedabc type=button role=tab aria-controls=fedabc aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=eafbdcTab data-bs-toggle=tab data-bs-target=#eafbdc type=button role=tab aria-controls=eafbdc aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=fedabc 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=dbaefc 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=eafbdc 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=cfbdaeTab data-bs-toggle=tab data-bs-target=#cfbdae type=button role=tab aria-controls=cfbdae aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=cfbadeTab data-bs-toggle=tab data-bs-target=#cfbade type=button role=tab aria-controls=cfbade aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=cfbdae 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=cdeabfTab data-bs-toggle=tab data-bs-target=#cdeabf type=button role=tab aria-controls=cdeabf aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=caedfbTab data-bs-toggle=tab data-bs-target=#caedfb type=button role=tab aria-controls=caedfb aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=cdeabf 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=cfbade 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=caedfb 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=efdbcaTab data-bs-toggle=tab data-bs-target=#efdbca type=button role=tab aria-controls=efdbca aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=fdebcaTab data-bs-toggle=tab data-bs-target=#fdebca type=button role=tab aria-controls=fdebca aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=efdbca 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=becadfTab data-bs-toggle=tab data-bs-target=#becadf type=button role=tab aria-controls=becadf aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=cabdfeTab data-bs-toggle=tab data-bs-target=#cabdfe type=button role=tab aria-controls=cabdfe aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=becadf 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=fdebca 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=cabdfe 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;
|
||||
|
||||
@ -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=fabdecTab data-bs-toggle=tab data-bs-target=#fabdec type=button role=tab aria-controls=fabdec aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=dfecabTab data-bs-toggle=tab data-bs-target=#dfecab type=button role=tab aria-controls=dfecab aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=fabdec 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=acebdfTab data-bs-toggle=tab data-bs-target=#acebdf type=button role=tab aria-controls=acebdf aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=fcebadTab data-bs-toggle=tab data-bs-target=#fcebad type=button role=tab aria-controls=fcebad aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=acebdf 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=dfecab 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=fcebad 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=eadbfcTab data-bs-toggle=tab data-bs-target=#eadbfc type=button role=tab aria-controls=eadbfc aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=febdacTab data-bs-toggle=tab data-bs-target=#febdac type=button role=tab aria-controls=febdac 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=eadbfc 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=bdfceaTab data-bs-toggle=tab data-bs-target=#bdfcea type=button role=tab aria-controls=bdfcea aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=cdbfaeTab data-bs-toggle=tab data-bs-target=#cdbfae type=button role=tab aria-controls=cdbfae 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=bdfcea 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=febdac 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=cdbfae 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=eabdfcTab data-bs-toggle=tab data-bs-target=#eabdfc type=button role=tab aria-controls=eabdfc aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=bfacedTab data-bs-toggle=tab data-bs-target=#bfaced type=button role=tab aria-controls=bfaced aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=eabdfc 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=edfabcTab data-bs-toggle=tab data-bs-target=#edfabc type=button role=tab aria-controls=edfabc aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=debacfTab data-bs-toggle=tab data-bs-target=#debacf type=button role=tab aria-controls=debacf aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=edfabc 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=bfaced 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=debacf role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=9102b7d class=language-json>
|
||||
<code>{
|
||||
"code": 200,
|
||||
"success": true,
|
||||
|
||||
@ -1,4 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>团队与权限 on FastGPT</title><link>https://doc.tryfastgpt.ai/docs/guide/team_permissions/</link><description>Recent content in 团队与权限 on FastGPT</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://doc.tryfastgpt.ai/docs/guide/team_permissions/index.xml" rel="self" type="application/rss+xml"/><item><title>团队&成员组&权限</title><link>https://doc.tryfastgpt.ai/docs/guide/team_permissions/team_roles_permissions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/team_permissions/team_roles_permissions/</guid><description/></item><item><title>邀请链接说明文档</title><link>https://doc.tryfastgpt.ai/docs/guide/team_permissions/invitation_link/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/team_permissions/invitation_link/</guid><description>v4.9.1 团队邀请成员将开始使用「邀请链接」的模式,弃用之前输入用户名进行添加的形式。
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>团队与权限 on FastGPT</title><link>https://doc.tryfastgpt.ai/docs/guide/team_permissions/</link><description>Recent content in 团队与权限 on FastGPT</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://doc.tryfastgpt.ai/docs/guide/team_permissions/index.xml" rel="self" type="application/rss+xml"/><item><title>团队&成员组&权限</title><link>https://doc.tryfastgpt.ai/docs/guide/team_permissions/team_roles_permissions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/team_permissions/team_roles_permissions/</guid><description>团队 &amp; 成员组 &amp; 权限 link权限系统简介 linkFastGPT 权限系统融合了基于属性和基于角色的权限管理范式,为团队协作提供精细化的权限控制方案。通过成员、部门和群组三种管理模式,您可以灵活配置对团队、应用和知识库等资源的访问权限。
|
||||
团队 link每位用户可以同时归属于多个团队,系统默认为每位用户创建一个初始团队。目前暂不支持用户手动创建额外团队。
|
||||
权限管理 linkFastGPT 提供三种权限管理维度:
|
||||
成员权限:最高优先级,直接赋予个人的权限
|
||||
部门与群组权限:采用权限并集原则,优先级低于成员权限
|
||||
权限判定遵循以下逻辑:
|
||||
首先检查用户的个人成员权限
|
||||
其次检查用户所属部门和群组的权限(取并集)
|
||||
最终权限为上述结果的组合
|
||||
鉴权逻辑如下:
|
||||
资源权限 link对于不同的资源,有不同的权限。
|
||||
这里说的资源,是指应用、知识库、团队等等概念。
|
||||
下表为不同资源,可以进行管理的权限。
|
||||
资源 可管理权限 说明 团队 创建应用 创建,删除等基础操作 创建知识库 创建,删除等基础操作 创建团队 APIKey 创建,删除等基础操作 管理成员 邀请、移除用户,创建群组等 应用 可使用 允许进行对话交互 可编辑 修改基本信息,进行流程编排等 可管理 添加或删除协作者 知识库 可使用 可以在应用中调用该知识库 可编辑 修改知识库的内容 可管理 添加或删除协作者 协作者 link必须先添加协作者,才能对其进行权限管理:
|
||||
管理团队权限时,需先选择成员/组织/群组,再进行权限配置。
|
||||
对于应用和知识库等资源,可直接修改成员权限。
|
||||
团队权限在专门的权限页面进行设置
|
||||
特殊权限说明 link管理员权限 link管理员主要负责管理资源的协作关系,但有以下限制:
|
||||
不能修改或移除自身权限 不能修改或移除其他管理员权限 -不能将管理员权限赋予其他协作者 Owner 权限 link每个资源都有唯一的 Owner,拥有该资源的最高权限。Owner 可以转移所有权,但转移后原 Owner 将失去对资源的权限。
|
||||
Root 权限 linkRoot 作为系统唯一的超级管理员账号,对所有团队的所有资源拥有完全访问和管理权限。</description></item><item><title>邀请链接说明文档</title><link>https://doc.tryfastgpt.ai/docs/guide/team_permissions/invitation_link/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/team_permissions/invitation_link/</guid><description>v4.9.1 团队邀请成员将开始使用「邀请链接」的模式,弃用之前输入用户名进行添加的形式。
|
||||
在版本升级后,原收到邀请还未加入团队的成员,将自动清除邀请。请使用邀请链接重新邀请成员。
|
||||
如何使用 link 在团队管理页面,管理员可点击「邀请成员」按钮打开邀请成员弹窗 在邀请成员弹窗中,点击「创建邀请链接」按钮,创建邀请链接。 输入对应内容 链接描述:建议将链接描述为使用场景或用途。链接创建后不支持修改噢。
|
||||
有效期:30分钟,7天,1年
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,13 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>文档 on FastGPT</title><link>https://doc.tryfastgpt.ai/docs/</link><description>Recent content in 文档 on FastGPT</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://doc.tryfastgpt.ai/docs/index.xml" rel="self" type="application/rss+xml"/><item><title>快速了解 FastGPT</title><link>https://doc.tryfastgpt.ai/docs/intro/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/intro/</guid><description>FastGPT 是一个AI Agent 构建平台,提供开箱即用的数据处理、模型调用等能力,同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的应用场景!
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>文档 on FastGPT</title><link>https://doc.tryfastgpt.ai/docs/</link><description>Recent content in 文档 on FastGPT</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://doc.tryfastgpt.ai/docs/index.xml" rel="self" type="application/rss+xml"/><item><title>快速了解 FastGPT</title><link>https://doc.tryfastgpt.ai/docs/intro/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/intro/</guid><description>FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,将智能对话与可视化编排完美结合,让 AI 应用开发变得简单自然。无论您是开发者还是业务人员,都能轻松打造专属的 AI 应用。
|
||||
🤖
|
||||
FastGPT 在线使用:https://tryfastgpt.ai
|
||||
FastGPT 能力 link1. 专属 AI 客服 link通过导入文档或已有问答对进行训练,让 AI 模型能根据你的文档以交互式对话方式回答问题。
|
||||
2. 简单易用的可视化界面 linkFastGPT 采用直观的可视化界面设计,为各种应用场景提供了丰富实用的功能。通过简洁易懂的操作步骤,可以轻松完成 AI 客服的创建和训练流程。
|
||||
3. 自动数据预处理 link提供手动输入、直接分段、LLM 自动处理和 CSV 等多种数据导入途径,其中“直接分段”支持通过 PDF、WORD、Markdown 和 CSV 文档内容作为上下文。FastGPT 会自动对文本数据进行预处理、向量化和 QA 分割,节省手动训练时间,提升效能。
|
||||
快速开始体验
|
||||
海外版:https://tryfastgpt.ai
|
||||
国内版:https://fastgpt.cn
|
||||
FastGPT 的优势 link1. 简单灵活,像搭积木一样简单 🧱 link像搭乐高一样简单有趣,FastGPT 提供丰富的功能模块,通过简单拖拽就能搭建出个性化的 AI 应用,零代码也能实现复杂的业务流程。
|
||||
2. 让数据更智能 🧠 linkFastGPT 提供完整的数据智能化解决方案,从数据导入、预处理到知识匹配,再到智能问答,全流程自动化。配合可视化的工作流设计,轻松打造专业级 AI 应用。
|
||||
3. 开源开放,易于集成 🔗 linkFastGPT 基于 Apache 2.0 协议开源,支持二次开发。通过标准 API 即可快速接入,无需修改源码。支持 ChatGPT、Claude、DeepSeek 和文心一言等主流模型,持续迭代优化,始终保持产品活力。
|
||||
FastGPT 能做什么 link1. 全能知识库 link可轻松导入各式各样的文档及数据,能自动对其开展知识结构化处理工作。同时,具备支持多轮上下文理解的智能问答功能,还可为用户带来持续优化的知识库管理体验。 2. 可视化工作流 linkFastGPT直观的拖拽式界面设计,可零代码搭建复杂业务流程。还拥有丰富的功能节点组件,能应对多种业务需求,有着灵活的流程编排能力,按需定制业务流程。 3. 数据智能解析 linkFastGPT知识库系统对导入数据的处理极为灵活,可以智能处理PDF文档的复杂结构,保留图片、表格和LaTeX公式,自动识别扫描文件,并将内容结构化为清晰的Markdown格式。同时支持图片自动标注和索引,让视觉内容可被理解和检索,确保知识在AI问答中能被完整、准确地呈现和应用。
|
||||
4. 工作流编排 link基于 Flow 模块的工作流编排,可以帮助你设计更加复杂的问答流程。例如查询数据库、查询库存、预约实验室等。
|
||||
5. 强大的 API 集成 linkFastGPT 对外的 API 接口对齐了 OpenAI 官方接口,可以直接接入现有的 GPT 应用,也可以轻松集成到企业微信、公众号、飞书等平台。
|
||||
FastGPT 特点 link 项目开源
|
||||
FastGPT 遵循附加条件 Apache License 2.0 开源协议,你可以 Fork 之后进行二次开发和发布。FastGPT 社区版将保留核心功能,商业版仅在社区版基础上使用 API 的形式进行扩展,不影响学习使用。
|
||||
独特的 QA 结构</description></item><item><title>加入社区</title><link>https://doc.tryfastgpt.ai/docs/community/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/community/</guid><description>FastGPT 是一个由用户和贡献者参与推动的开源项目,如果您对产品使用存在疑问和建议,可尝试以下方式寻求支持。我们的团队与社区会竭尽所能为您提供帮助。
|
||||
5. 强大的 API 集成 linkFastGPT 完全对齐 OpenAI 官方接口,支持一键接入企业微信、公众号、飞书、钉钉等平台,让 AI 能力轻松融入您的业务场景。
|
||||
核心特性 link 开箱即用的知识库系统 可视化的低代码工作流编排 支持主流大模型 简单易用的 API 接口 灵活的数据处理能力 知识库核心流程图 link</description></item><item><title>加入社区</title><link>https://doc.tryfastgpt.ai/docs/community/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/community/</guid><description>FastGPT 是一个由用户和贡献者参与推动的开源项目,如果您对产品使用存在疑问和建议,可尝试以下方式寻求支持。我们的团队与社区会竭尽所能为您提供帮助。
|
||||
📱 扫码加入社区微信交流群👇
|
||||
🐞 请将任何 FastGPT 的 Bug、问题和需求提交到 GitHub Issue。</description></item></channel></rss>
|
||||
File diff suppressed because one or more lines are too long
40
index.xml
40
index.xml
@ -1,14 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>FastGPT</title><link>https://doc.tryfastgpt.ai/</link><description>Recent content on FastGPT</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://doc.tryfastgpt.ai/index.xml" rel="self" type="application/rss+xml"/><item><title>快速了解 FastGPT</title><link>https://doc.tryfastgpt.ai/docs/intro/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/intro/</guid><description>FastGPT 是一个AI Agent 构建平台,提供开箱即用的数据处理、模型调用等能力,同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的应用场景!
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>FastGPT</title><link>https://doc.tryfastgpt.ai/</link><description>Recent content on FastGPT</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://doc.tryfastgpt.ai/index.xml" rel="self" type="application/rss+xml"/><item><title>快速了解 FastGPT</title><link>https://doc.tryfastgpt.ai/docs/intro/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/intro/</guid><description>FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,将智能对话与可视化编排完美结合,让 AI 应用开发变得简单自然。无论您是开发者还是业务人员,都能轻松打造专属的 AI 应用。
|
||||
🤖
|
||||
FastGPT 在线使用:https://tryfastgpt.ai
|
||||
FastGPT 能力 link1. 专属 AI 客服 link通过导入文档或已有问答对进行训练,让 AI 模型能根据你的文档以交互式对话方式回答问题。
|
||||
2. 简单易用的可视化界面 linkFastGPT 采用直观的可视化界面设计,为各种应用场景提供了丰富实用的功能。通过简洁易懂的操作步骤,可以轻松完成 AI 客服的创建和训练流程。
|
||||
3. 自动数据预处理 link提供手动输入、直接分段、LLM 自动处理和 CSV 等多种数据导入途径,其中“直接分段”支持通过 PDF、WORD、Markdown 和 CSV 文档内容作为上下文。FastGPT 会自动对文本数据进行预处理、向量化和 QA 分割,节省手动训练时间,提升效能。
|
||||
快速开始体验
|
||||
海外版:https://tryfastgpt.ai
|
||||
国内版:https://fastgpt.cn
|
||||
FastGPT 的优势 link1. 简单灵活,像搭积木一样简单 🧱 link像搭乐高一样简单有趣,FastGPT 提供丰富的功能模块,通过简单拖拽就能搭建出个性化的 AI 应用,零代码也能实现复杂的业务流程。
|
||||
2. 让数据更智能 🧠 linkFastGPT 提供完整的数据智能化解决方案,从数据导入、预处理到知识匹配,再到智能问答,全流程自动化。配合可视化的工作流设计,轻松打造专业级 AI 应用。
|
||||
3. 开源开放,易于集成 🔗 linkFastGPT 基于 Apache 2.0 协议开源,支持二次开发。通过标准 API 即可快速接入,无需修改源码。支持 ChatGPT、Claude、DeepSeek 和文心一言等主流模型,持续迭代优化,始终保持产品活力。
|
||||
FastGPT 能做什么 link1. 全能知识库 link可轻松导入各式各样的文档及数据,能自动对其开展知识结构化处理工作。同时,具备支持多轮上下文理解的智能问答功能,还可为用户带来持续优化的知识库管理体验。 2. 可视化工作流 linkFastGPT直观的拖拽式界面设计,可零代码搭建复杂业务流程。还拥有丰富的功能节点组件,能应对多种业务需求,有着灵活的流程编排能力,按需定制业务流程。 3. 数据智能解析 linkFastGPT知识库系统对导入数据的处理极为灵活,可以智能处理PDF文档的复杂结构,保留图片、表格和LaTeX公式,自动识别扫描文件,并将内容结构化为清晰的Markdown格式。同时支持图片自动标注和索引,让视觉内容可被理解和检索,确保知识在AI问答中能被完整、准确地呈现和应用。
|
||||
4. 工作流编排 link基于 Flow 模块的工作流编排,可以帮助你设计更加复杂的问答流程。例如查询数据库、查询库存、预约实验室等。
|
||||
5. 强大的 API 集成 linkFastGPT 对外的 API 接口对齐了 OpenAI 官方接口,可以直接接入现有的 GPT 应用,也可以轻松集成到企业微信、公众号、飞书等平台。
|
||||
FastGPT 特点 link 项目开源
|
||||
FastGPT 遵循附加条件 Apache License 2.0 开源协议,你可以 Fork 之后进行二次开发和发布。FastGPT 社区版将保留核心功能,商业版仅在社区版基础上使用 API 的形式进行扩展,不影响学习使用。
|
||||
独特的 QA 结构</description></item><item><title>快速上手</title><link>https://doc.tryfastgpt.ai/docs/guide/course/quick-start/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/course/quick-start/</guid><description>更多使用技巧,查看视频教程
|
||||
5. 强大的 API 集成 linkFastGPT 完全对齐 OpenAI 官方接口,支持一键接入企业微信、公众号、飞书、钉钉等平台,让 AI 能力轻松融入您的业务场景。
|
||||
核心特性 link 开箱即用的知识库系统 可视化的低代码工作流编排 支持主流大模型 简单易用的 API 接口 灵活的数据处理能力 知识库核心流程图 link</description></item><item><title>快速上手</title><link>https://doc.tryfastgpt.ai/docs/guide/course/quick-start/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/course/quick-start/</guid><description>更多使用技巧,查看视频教程
|
||||
知识库 link开始前,请准备一份测试电子文档,WORD、PDF、TXT、excel、markdown 都可以,比如公司休假制度、不涉密的销售说辞、产品知识等等。
|
||||
这里使用 FastGPT 中文 README 文件为例。
|
||||
首先我们需要创建一个知识库。
|
||||
@ -277,7 +278,26 @@ API 文件库替代方案 link4.8.15 提供了新的知识库类型 - API 文件
|
||||
通过对接口进行简单的调整,就能使用 API 文件库代替外部文件知识库的功能
|
||||
你可以直接将外部文件知识库中的外部预览地址,作为 API 文件库接口规范中获取文件阅读链接的接口返回
|
||||
然后再以相同的 baseURL 实现获取文件列表和获取单个文件内容这两个接口
|
||||
这样就能轻松地使用 API 文件库替代原有的外部文件知识库,更多详细的内容见 API 文件库的文档</description></item><item><title>团队&成员组&权限</title><link>https://doc.tryfastgpt.ai/docs/guide/team_permissions/team_roles_permissions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/team_permissions/team_roles_permissions/</guid><description/></item><item><title>邀请链接说明文档</title><link>https://doc.tryfastgpt.ai/docs/guide/team_permissions/invitation_link/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/team_permissions/invitation_link/</guid><description>v4.9.1 团队邀请成员将开始使用「邀请链接」的模式,弃用之前输入用户名进行添加的形式。
|
||||
这样就能轻松地使用 API 文件库替代原有的外部文件知识库,更多详细的内容见 API 文件库的文档</description></item><item><title>团队&成员组&权限</title><link>https://doc.tryfastgpt.ai/docs/guide/team_permissions/team_roles_permissions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/team_permissions/team_roles_permissions/</guid><description>团队 &amp; 成员组 &amp; 权限 link权限系统简介 linkFastGPT 权限系统融合了基于属性和基于角色的权限管理范式,为团队协作提供精细化的权限控制方案。通过成员、部门和群组三种管理模式,您可以灵活配置对团队、应用和知识库等资源的访问权限。
|
||||
团队 link每位用户可以同时归属于多个团队,系统默认为每位用户创建一个初始团队。目前暂不支持用户手动创建额外团队。
|
||||
权限管理 linkFastGPT 提供三种权限管理维度:
|
||||
成员权限:最高优先级,直接赋予个人的权限
|
||||
部门与群组权限:采用权限并集原则,优先级低于成员权限
|
||||
权限判定遵循以下逻辑:
|
||||
首先检查用户的个人成员权限
|
||||
其次检查用户所属部门和群组的权限(取并集)
|
||||
最终权限为上述结果的组合
|
||||
鉴权逻辑如下:
|
||||
资源权限 link对于不同的资源,有不同的权限。
|
||||
这里说的资源,是指应用、知识库、团队等等概念。
|
||||
下表为不同资源,可以进行管理的权限。
|
||||
资源 可管理权限 说明 团队 创建应用 创建,删除等基础操作 创建知识库 创建,删除等基础操作 创建团队 APIKey 创建,删除等基础操作 管理成员 邀请、移除用户,创建群组等 应用 可使用 允许进行对话交互 可编辑 修改基本信息,进行流程编排等 可管理 添加或删除协作者 知识库 可使用 可以在应用中调用该知识库 可编辑 修改知识库的内容 可管理 添加或删除协作者 协作者 link必须先添加协作者,才能对其进行权限管理:
|
||||
管理团队权限时,需先选择成员/组织/群组,再进行权限配置。
|
||||
对于应用和知识库等资源,可直接修改成员权限。
|
||||
团队权限在专门的权限页面进行设置
|
||||
特殊权限说明 link管理员权限 link管理员主要负责管理资源的协作关系,但有以下限制:
|
||||
不能修改或移除自身权限 不能修改或移除其他管理员权限 -不能将管理员权限赋予其他协作者 Owner 权限 link每个资源都有唯一的 Owner,拥有该资源的最高权限。Owner 可以转移所有权,但转移后原 Owner 将失去对资源的权限。
|
||||
Root 权限 linkRoot 作为系统唯一的超级管理员账号,对所有团队的所有资源拥有完全访问和管理权限。</description></item><item><title>邀请链接说明文档</title><link>https://doc.tryfastgpt.ai/docs/guide/team_permissions/invitation_link/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/guide/team_permissions/invitation_link/</guid><description>v4.9.1 团队邀请成员将开始使用「邀请链接」的模式,弃用之前输入用户名进行添加的形式。
|
||||
在版本升级后,原收到邀请还未加入团队的成员,将自动清除邀请。请使用邀请链接重新邀请成员。
|
||||
如何使用 link 在团队管理页面,管理员可点击「邀请成员」按钮打开邀请成员弹窗 在邀请成员弹窗中,点击「创建邀请链接」按钮,创建邀请链接。 输入对应内容 链接描述:建议将链接描述为使用场景或用途。链接创建后不支持修改噢。
|
||||
有效期:30分钟,7天,1年
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user