deploy: 9cd6d2e81fc19aad3fa3f8c0c0e4637aa8c15787
This commit is contained in:
parent
2ad6f1a394
commit
80443e520c
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=dfaecbTab data-bs-toggle=tab data-bs-target=#dfaecb type=button role=tab aria-controls=dfaecb aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=defcabTab data-bs-toggle=tab data-bs-target=#defcab type=button role=tab aria-controls=defcab aria-selected=true>鉴权成功</a>
|
||||
<a class=nav-link id=afcbedTab data-bs-toggle=tab data-bs-target=#afcbed type=button role=tab aria-controls=afcbed aria-selected=true>鉴权失败</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=dfaecb 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=fadcbeTab data-bs-toggle=tab data-bs-target=#fadcbe type=button role=tab aria-controls=fadcbe aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=bafdecTab data-bs-toggle=tab data-bs-target=#bafdec type=button role=tab aria-controls=bafdec aria-selected=true>鉴权成功</a>
|
||||
<a class=nav-link id=fbdeacTab data-bs-toggle=tab data-bs-target=#fbdeac type=button role=tab aria-controls=fbdeac aria-selected=true>鉴权失败</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=fadcbe 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=defcab 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=bafdec 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=afcbed 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=fbdeac 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=cbdfaeTab data-bs-toggle=tab data-bs-target=#cbdfae type=button role=tab aria-controls=cbdfae 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>
|
||||
<a class=nav-link id=fdbceaTab data-bs-toggle=tab data-bs-target=#fdbcea type=button role=tab aria-controls=fdbcea aria-selected=true>鉴权失败</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=cbdfae 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=adfcebTab data-bs-toggle=tab data-bs-target=#adfceb type=button role=tab aria-controls=adfceb aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=edbcafTab data-bs-toggle=tab data-bs-target=#edbcaf type=button role=tab aria-controls=edbcaf aria-selected=true>鉴权成功</a>
|
||||
<a class=nav-link id=cdfebaTab data-bs-toggle=tab data-bs-target=#cdfeba type=button role=tab aria-controls=cdfeba aria-selected=true>鉴权失败</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=adfceb 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=aefbdc 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=edbcaf 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=fdbcea 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=cdfeba 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=cabedfTab data-bs-toggle=tab data-bs-target=#cabedf type=button role=tab aria-controls=cabedf aria-selected=true>/shareAuth/init</a>
|
||||
<a class=nav-link id=bfcaedTab data-bs-toggle=tab data-bs-target=#bfcaed type=button role=tab aria-controls=bfcaed aria-selected=true>/shareAuth/start</a>
|
||||
<a class=nav-link id=fdaecbTab data-bs-toggle=tab data-bs-target=#fdaecb type=button role=tab aria-controls=fdaecb aria-selected=true>/shareAuth/finish</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=cabedf 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=dfeabcTab data-bs-toggle=tab data-bs-target=#dfeabc type=button role=tab aria-controls=dfeabc aria-selected=true>/shareAuth/init</a>
|
||||
<a class=nav-link id=acdefbTab data-bs-toggle=tab data-bs-target=#acdefb type=button role=tab aria-controls=acdefb aria-selected=true>/shareAuth/start</a>
|
||||
<a class=nav-link id=facbedTab data-bs-toggle=tab data-bs-target=#facbed type=button role=tab aria-controls=facbed aria-selected=true>/shareAuth/finish</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=dfeabc 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=bfcaed 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=acdefb 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=fdaecb 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=facbed 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) {
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -9,7 +9,7 @@ docker-compose pull docker-compose up -d 执行升级初始化脚本 link镜像
|
||||
QA link为什么需要执行升级脚本 link数据表出现大幅度变更,无法通过设置默认值,或复杂度较高时,会通过升级脚本来更新部分数据表字段。 严格按初始化步骤进行操作,不会造成旧数据丢失。但在初始化过程中,如果数据量大,需要初始化的时间较长,这段时间可能会造成服务无法正常使用。
|
||||
{{host}} 是什么 link{{}} 代表变量, {{host}}代表一个名为 host 的变量。指的是你服务器的域名或 IP。
|
||||
Sealos 中,你可以在下图中找到你的域名:
|
||||
如何获取 rootkey link从docker-compose.yml中的environment中获取,对应的是ROOT_KEY的值。</description></item><item><title>V4.9.7(进行中)</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/497/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/497/</guid><description>🚀 新增内容 link⚙️ 优化 link Doc2x 文档解析,增加报错信息捕获,增加超时时长。 调整 PG vector 查询语句,强制使用向量索引。 🐛 修复 link 文件上传分块大小限制,避免超出 MongoDB 限制。 使用记录仪表盘,无法获取指定成员的使用统计。 仪表盘接口,因未考虑时区问题,统计异常。 LLM 模型测试接口,无法测试未启用的 LLM。</description></item><item><title>V4.9.6</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/496/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/496/</guid><description>🚀 新增内容 link 以 MCP 方式对外提供应用调用。 支持以 MCP SSE 协议创建工具。 批量执行节点支持交互节点,可实现每一轮循环都人工参与。 增加工作台二级菜单,合并工具箱。 增加 grok3、GPT4.1、o系列、Gemini2.5 模型系统配置。 ⚙️ 优化 link 工作流数据类型转化鲁棒性和兼容性增强。 Python sandbox 代码,支持大数据输入。 路径组件支持配置最后一步是否可点击。 知识库工具调用结果,自动补充图片域名。 Github action runner 升级成 unbuntu24 去除飞书、公众号等三方渠道,回复时,可能前后多一个换行的问题。 调整分块策略,大表格时,不进行超大块合并,而是独立拆块。 Iframe 嵌套组件,内置允许麦克风声明。 🐛 修复 link 修复子工作流包含交互节点时,未成功恢复子工作流所有数据。 completion v1 接口,未接受 interactive 参数,导致 API 调用失败。 连续工具调用,上下文截断异常 升级指南 link1. 做好数据备份 link2. 部署 MCP server 服务 linkDocker 部署 link在docker-compose.yml文件中,加入fastgpt-mcp-server服务:
|
||||
如何获取 rootkey link从docker-compose.yml中的environment中获取,对应的是ROOT_KEY的值。</description></item><item><title>V4.9.7(进行中)</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/497/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/497/</guid><description>🚀 新增内容 link⚙️ 优化 link Doc2x 文档解析,增加报错信息捕获,增加超时时长。 调整 PG vector 查询语句,强制使用向量索引。 🐛 修复 link 文件上传分块大小限制,避免超出 MongoDB 限制。 使用记录仪表盘,无法获取指定成员的使用统计。 仪表盘接口,因未考虑时区问题,统计异常。 LLM 模型测试接口,无法测试未启用的 LLM。同时修复,模型测试接口会把模型自定义请求地址去除问题。</description></item><item><title>V4.9.6</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/496/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/496/</guid><description>🚀 新增内容 link 以 MCP 方式对外提供应用调用。 支持以 MCP SSE 协议创建工具。 批量执行节点支持交互节点,可实现每一轮循环都人工参与。 增加工作台二级菜单,合并工具箱。 增加 grok3、GPT4.1、o系列、Gemini2.5 模型系统配置。 ⚙️ 优化 link 工作流数据类型转化鲁棒性和兼容性增强。 Python sandbox 代码,支持大数据输入。 路径组件支持配置最后一步是否可点击。 知识库工具调用结果,自动补充图片域名。 Github action runner 升级成 unbuntu24 去除飞书、公众号等三方渠道,回复时,可能前后多一个换行的问题。 调整分块策略,大表格时,不进行超大块合并,而是独立拆块。 Iframe 嵌套组件,内置允许麦克风声明。 🐛 修复 link 修复子工作流包含交互节点时,未成功恢复子工作流所有数据。 completion v1 接口,未接受 interactive 参数,导致 API 调用失败。 连续工具调用,上下文截断异常 升级指南 link1. 做好数据备份 link2. 部署 MCP server 服务 linkDocker 部署 link在docker-compose.yml文件中,加入fastgpt-mcp-server服务:
|
||||
fastgpt-mcp-server: container_name: fastgpt-mcp-server image: ghcr.io/labring/fastgpt-mcp_server:v4.9.6 ports: - 3005:3000 networks: - fastgpt restart: always environment: - FASTGPT_ENDPOINT=http://fastgpt:3000 Sealos 部署 link直接在应用管理中,增加一个fastgpt-mcp-server应用,镜像为ghcr.</description></item><item><title>V4.9.5</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/495/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/495/</guid><description>升级指南 link1. 做好数据备份 link2. 更新镜像 tag link 更新 FastGPT 镜像 tag: v4.9.5 更新 FastGPT 商业版镜像 tag: v4.9.5 Sandbox 无需更新 AIProxy 无需更新 🚀 新增内容 link 团队成员权限细分,可分别控制是否可创建在根目录应用/知识库以及 API Key 支持交互节点在嵌套工作流中使用。 团队成员操作日志。 用户输入节点支持多选框。 ⚙️ 优化 link 繁体中文翻译。 Arm 镜像打包 🐛 修复 link password 检测规则错误。 分享链接无法隐藏知识库检索结果。 IOS 低版本正则兼容问题。 修复问答提取队列错误后,计数器未清零问题,导致问答提取队列失效。 Debug 模式交互节点下一步可能造成死循环。</description></item><item><title>V4.9.4</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/494/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/494/</guid><description>升级指南 link1. 做好数据备份 link2. 安装 Redis link docker 部署的用户,参考最新的 docker-compose.yml 文件增加 Redis 配置。增加一个 redis 容器,并配置fastgpt,fastgpt-pro的环境变量,增加 REDIS_URL 环境变量。 Sealos 部署的用户,在数据库里新建一个redis数据库,并复制内网地址的 connection 作为 redis 的链接串。然后配置fastgpt,fastgpt-pro的环境变量,增加 REDIS_URL 环境变量。 3. 更新镜像 tag link 更新 FastGPT 镜像 tag: v4.9.4 更新 FastGPT 商业版镜像 tag: v4.9.4 Sandbox 无需更新 AIProxy 无需更新 4. 执行升级脚本 link该脚本仅需商业版用户执行。
|
||||
从任意终端,发起 1 个 HTTP 请求。其中 {{rootkey}} 替换成环境变量里的 rootkey;{{host}} 替换成FastGPT 域名。
|
||||
curl --location --request POST &#39;https://{{host}}/api/admin/initv494&#39; \ --header &#39;rootkey: {{rootkey}}&#39; \ --header &#39;Content-Type: application/json&#39; 脚本功能</description></item><item><title>V4.9.3</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/493/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/493/</guid><description>更新指南 link1. 做好数据库备份 link2. 更新镜像 link 更新 FastGPT 镜像 tag: v4.9.3 更新 FastGPT 商业版镜像 tag: v4.9.3 Sandbox 镜像tag: v4.9.3 AIProxy 镜像tag: v0.1.5 🚀 新增内容 link 工作流 debug 模式支持交互节点。 代码运行支持 Python3 代码。 🐛 修复 link 工作流格式转化异常。</description></item><item><title>V4.9.2</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/492/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/492/</guid><description>更新指南 link可直接升级v4.9.3,v4.9.2存在一个工作流数据类型转化错误。
|
||||
|
||||
@ -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=fabcdeTab data-bs-toggle=tab data-bs-target=#fabcde type=button role=tab aria-controls=fabcde aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=cdfbeaTab data-bs-toggle=tab data-bs-target=#cdfbea type=button role=tab aria-controls=cdfbea aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=fabcde 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=ecdfabTab data-bs-toggle=tab data-bs-target=#ecdfab type=button role=tab aria-controls=ecdfab aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=efcbadTab data-bs-toggle=tab data-bs-target=#efcbad type=button role=tab aria-controls=efcbad aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=ecdfab 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=cdfbea 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=efcbad 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=aebdcfTab data-bs-toggle=tab data-bs-target=#aebdcf type=button role=tab aria-controls=aebdcf aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=febdcaTab data-bs-toggle=tab data-bs-target=#febdca type=button role=tab aria-controls=febdca aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=aebdcf 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=edafbcTab data-bs-toggle=tab data-bs-target=#edafbc type=button role=tab aria-controls=edafbc aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=fecbadTab data-bs-toggle=tab data-bs-target=#fecbad type=button role=tab aria-controls=fecbad aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=edafbc 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=febdca 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=fecbad 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=befdacTab data-bs-toggle=tab data-bs-target=#befdac type=button role=tab aria-controls=befdac aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=afdcbeTab data-bs-toggle=tab data-bs-target=#afdcbe type=button role=tab aria-controls=afdcbe aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=befdac 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=afdcbeTab data-bs-toggle=tab data-bs-target=#afdcbe type=button role=tab aria-controls=afdcbe aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=feacbdTab data-bs-toggle=tab data-bs-target=#feacbd type=button role=tab aria-controls=feacbd aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=afdcbe 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=afdcbe 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=feacbd 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=bdaecfTab data-bs-toggle=tab data-bs-target=#bdaecf type=button role=tab aria-controls=bdaecf aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=cbfedaTab data-bs-toggle=tab data-bs-target=#cbfeda type=button role=tab aria-controls=cbfeda aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=bdaecf 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=beadfcTab data-bs-toggle=tab data-bs-target=#beadfc type=button role=tab aria-controls=beadfc aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=fdeacbTab data-bs-toggle=tab data-bs-target=#fdeacb type=button role=tab aria-controls=fdeacb aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=beadfc 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=cbfeda 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=fdeacb 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=befdcaTab data-bs-toggle=tab data-bs-target=#befdca type=button role=tab aria-controls=befdca aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=eadcbfTab data-bs-toggle=tab data-bs-target=#eadcbf type=button role=tab aria-controls=eadcbf aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=befdca 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=edcfabTab data-bs-toggle=tab data-bs-target=#edcfab type=button role=tab aria-controls=edcfab aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=bfdceaTab data-bs-toggle=tab data-bs-target=#bfdcea type=button role=tab aria-controls=bfdcea aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=edcfab 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=eadcbf 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=bfdcea 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=dfabceTab data-bs-toggle=tab data-bs-target=#dfabce type=button role=tab aria-controls=dfabce aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=ebfadcTab data-bs-toggle=tab data-bs-target=#ebfadc type=button role=tab aria-controls=ebfadc 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=dfabce 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=afbcdeTab data-bs-toggle=tab data-bs-target=#afbcde type=button role=tab aria-controls=afbcde aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=befdcaTab data-bs-toggle=tab data-bs-target=#befdca type=button role=tab aria-controls=befdca 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=afbcde 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=ebfadc 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=befdca 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=abdecfTab data-bs-toggle=tab data-bs-target=#abdecf type=button role=tab aria-controls=abdecf aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=cbdaefTab data-bs-toggle=tab data-bs-target=#cbdaef type=button role=tab aria-controls=cbdaef aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=abdecf 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=fceabdTab data-bs-toggle=tab data-bs-target=#fceabd type=button role=tab aria-controls=fceabd aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=efbcdaTab data-bs-toggle=tab data-bs-target=#efbcda type=button role=tab aria-controls=efbcda aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=fceabd 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=cbdaef 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=efbcda role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=9102b7d class=language-json>
|
||||
<code>{
|
||||
"code": 200,
|
||||
"success": true,
|
||||
|
||||
@ -587,7 +587,7 @@ mkdir -p /fastgpt/data/backup 准备好后,后续上传
|
||||
### 新fastgpt环境【B】中也需要建一个,比如/fastgpt/mongobackup目录,注意不要在fastgpt/data目录下建立目录 mkdir -p /fastgpt/mongobackup
|
||||
###2. 正题开始,从fastgpt老环境【A】中导出数据 进入A环境,使用mongodump 导出mongo数据库。 #### 2.</description></item><item><title>Docker 数据库迁移(无脑操作)</title><link>https://doc.tryfastgpt.ai/docs/development/migration/docker_db/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/migration/docker_db/</guid><description>1. 停止服务 link docker-compose down 2. Copy文件夹 linkDocker 部署数据库都会通过 volume 挂载本地的目录进入容器,如果要迁移,直接复制这些目录即可。
|
||||
PG 数据: pg/data Mongo 数据: mongo/data
|
||||
直接把pg 和 mongo目录全部复制走即可。</description></item><item><title>V4.9.7(进行中)</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/497/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/497/</guid><description>🚀 新增内容 link⚙️ 优化 link Doc2x 文档解析,增加报错信息捕获,增加超时时长。 调整 PG vector 查询语句,强制使用向量索引。 🐛 修复 link 文件上传分块大小限制,避免超出 MongoDB 限制。 使用记录仪表盘,无法获取指定成员的使用统计。 仪表盘接口,因未考虑时区问题,统计异常。 LLM 模型测试接口,无法测试未启用的 LLM。</description></item><item><title>V4.9.6</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/496/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/496/</guid><description>🚀 新增内容 link 以 MCP 方式对外提供应用调用。 支持以 MCP SSE 协议创建工具。 批量执行节点支持交互节点,可实现每一轮循环都人工参与。 增加工作台二级菜单,合并工具箱。 增加 grok3、GPT4.1、o系列、Gemini2.5 模型系统配置。 ⚙️ 优化 link 工作流数据类型转化鲁棒性和兼容性增强。 Python sandbox 代码,支持大数据输入。 路径组件支持配置最后一步是否可点击。 知识库工具调用结果,自动补充图片域名。 Github action runner 升级成 unbuntu24 去除飞书、公众号等三方渠道,回复时,可能前后多一个换行的问题。 调整分块策略,大表格时,不进行超大块合并,而是独立拆块。 Iframe 嵌套组件,内置允许麦克风声明。 🐛 修复 link 修复子工作流包含交互节点时,未成功恢复子工作流所有数据。 completion v1 接口,未接受 interactive 参数,导致 API 调用失败。 连续工具调用,上下文截断异常 升级指南 link1. 做好数据备份 link2. 部署 MCP server 服务 linkDocker 部署 link在docker-compose.yml文件中,加入fastgpt-mcp-server服务:
|
||||
直接把pg 和 mongo目录全部复制走即可。</description></item><item><title>V4.9.7(进行中)</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/497/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/497/</guid><description>🚀 新增内容 link⚙️ 优化 link Doc2x 文档解析,增加报错信息捕获,增加超时时长。 调整 PG vector 查询语句,强制使用向量索引。 🐛 修复 link 文件上传分块大小限制,避免超出 MongoDB 限制。 使用记录仪表盘,无法获取指定成员的使用统计。 仪表盘接口,因未考虑时区问题,统计异常。 LLM 模型测试接口,无法测试未启用的 LLM。同时修复,模型测试接口会把模型自定义请求地址去除问题。</description></item><item><title>V4.9.6</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/496/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/496/</guid><description>🚀 新增内容 link 以 MCP 方式对外提供应用调用。 支持以 MCP SSE 协议创建工具。 批量执行节点支持交互节点,可实现每一轮循环都人工参与。 增加工作台二级菜单,合并工具箱。 增加 grok3、GPT4.1、o系列、Gemini2.5 模型系统配置。 ⚙️ 优化 link 工作流数据类型转化鲁棒性和兼容性增强。 Python sandbox 代码,支持大数据输入。 路径组件支持配置最后一步是否可点击。 知识库工具调用结果,自动补充图片域名。 Github action runner 升级成 unbuntu24 去除飞书、公众号等三方渠道,回复时,可能前后多一个换行的问题。 调整分块策略,大表格时,不进行超大块合并,而是独立拆块。 Iframe 嵌套组件,内置允许麦克风声明。 🐛 修复 link 修复子工作流包含交互节点时,未成功恢复子工作流所有数据。 completion v1 接口,未接受 interactive 参数,导致 API 调用失败。 连续工具调用,上下文截断异常 升级指南 link1. 做好数据备份 link2. 部署 MCP server 服务 linkDocker 部署 link在docker-compose.yml文件中,加入fastgpt-mcp-server服务:
|
||||
fastgpt-mcp-server: container_name: fastgpt-mcp-server image: ghcr.io/labring/fastgpt-mcp_server:v4.9.6 ports: - 3005:3000 networks: - fastgpt restart: always environment: - FASTGPT_ENDPOINT=http://fastgpt:3000 Sealos 部署 link直接在应用管理中,增加一个fastgpt-mcp-server应用,镜像为ghcr.</description></item><item><title>V4.9.5</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/495/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/495/</guid><description>升级指南 link1. 做好数据备份 link2. 更新镜像 tag link 更新 FastGPT 镜像 tag: v4.9.5 更新 FastGPT 商业版镜像 tag: v4.9.5 Sandbox 无需更新 AIProxy 无需更新 🚀 新增内容 link 团队成员权限细分,可分别控制是否可创建在根目录应用/知识库以及 API Key 支持交互节点在嵌套工作流中使用。 团队成员操作日志。 用户输入节点支持多选框。 ⚙️ 优化 link 繁体中文翻译。 Arm 镜像打包 🐛 修复 link password 检测规则错误。 分享链接无法隐藏知识库检索结果。 IOS 低版本正则兼容问题。 修复问答提取队列错误后,计数器未清零问题,导致问答提取队列失效。 Debug 模式交互节点下一步可能造成死循环。</description></item><item><title>V4.9.4</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/494/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/494/</guid><description>升级指南 link1. 做好数据备份 link2. 安装 Redis link docker 部署的用户,参考最新的 docker-compose.yml 文件增加 Redis 配置。增加一个 redis 容器,并配置fastgpt,fastgpt-pro的环境变量,增加 REDIS_URL 环境变量。 Sealos 部署的用户,在数据库里新建一个redis数据库,并复制内网地址的 connection 作为 redis 的链接串。然后配置fastgpt,fastgpt-pro的环境变量,增加 REDIS_URL 环境变量。 3. 更新镜像 tag link 更新 FastGPT 镜像 tag: v4.9.4 更新 FastGPT 商业版镜像 tag: v4.9.4 Sandbox 无需更新 AIProxy 无需更新 4. 执行升级脚本 link该脚本仅需商业版用户执行。
|
||||
从任意终端,发起 1 个 HTTP 请求。其中 {{rootkey}} 替换成环境变量里的 rootkey;{{host}} 替换成FastGPT 域名。
|
||||
curl --location --request POST &#39;https://{{host}}/api/admin/initv494&#39; \ --header &#39;rootkey: {{rootkey}}&#39; \ --header &#39;Content-Type: application/json&#39; 脚本功能</description></item><item><title>V4.9.3</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/493/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/493/</guid><description>更新指南 link1. 做好数据库备份 link2. 更新镜像 link 更新 FastGPT 镜像 tag: v4.9.3 更新 FastGPT 商业版镜像 tag: v4.9.3 Sandbox 镜像tag: v4.9.3 AIProxy 镜像tag: v0.1.5 🚀 新增内容 link 工作流 debug 模式支持交互节点。 代码运行支持 Python3 代码。 🐛 修复 link 工作流格式转化异常。</description></item><item><title>V4.9.2</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/492/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/492/</guid><description>更新指南 link可直接升级v4.9.3,v4.9.2存在一个工作流数据类型转化错误。
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user