V4.12.4 features (#5626)

* fix: push again, user select option button and form input radio content overflow (#5601)

* fix: push again, user select option button and form input radio content overflow

* fix: use useCallback instead of useMemo, fix unnecessary delete

* fix: Move the variable inside the component

* fix: do not pass valueLabel to MySelect

* ui

* del collection api adapt

* refactor: inherit permission (#5529)

* refactor: permission update conflict check function

* refactor(permission): app collaborator update api

* refactor(permission): support app update collaborator

* feat: support fe permission conflict check

* refactor(permission): app permission

* refactor(permission): dataset permission

* refactor(permission): team permission

* chore: fe adjust

* fix: type error

* fix: audit pagiation

* fix: tc

* chore: initv4130

* fix: app/dataset auth logic

* chore: move code

* refactor(permission): remove selfPermission

* fix: mock

* fix: test

* fix: app & dataset auth

* fix: inherit

* test(inheritPermission): test syncChildrenPermission

* prompt editor add list plugin (#5620)

* perf: search result (#5608)

* fix: table size (#5598)

* temp: list value

* backspace

* optimize code

---------

Co-authored-by: Archer <545436317@qq.com>
Co-authored-by: 伍闲犬 <whoeverimf5@gmail.com>

* fix: fe & member list (#5619)

* chore: initv4130

* fix: MemberItemCard

* fix: MemberItemCard

* chore: fe adjust & init script

* perf: test code

* doc

* fix debug variables (#5617)

* perf: search result (#5608)

* fix: table size (#5598)

* fix debug variables

* fix

---------

Co-authored-by: Archer <545436317@qq.com>
Co-authored-by: 伍闲犬 <whoeverimf5@gmail.com>

* perf: member ui

* fix: inherit bug (#5624)

* refactor(permission): remove getClbsWithInfo, which is useless

* fix: app list privateApp

* fix: get infos

* perf(fe): remove delete icon when it is disable in MemberItemCard

* fix: dataset private dataset

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Archer <545436317@qq.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* perf: auto coupon

* chore: upgrade script & get infos avatar  (#5625)

* fix: get infos

* chore: initv4130

* feat: support WecomRobot publish, and fix AesKey can not save bug (#5526)

* feat: resolve conflicts

* fix: add param 'show_publish_wecom'

* feat: abstract out WecomCrypto type

* doc: wecom robot document

* fix: solve instability in AI output

* doc: update some pictures

* feat: remove functions from request.ts to chat.ts and toolCall.ts

* doc: wecom robot doc update

* fix

* delete unused code

* doc: update version and prompt

* feat: remove wecom crypto, delete wecom code in workflow

* feat: delete unused codes

---------

Co-authored-by: heheer <zhiyu44@qq.com>

* remove test

* rename init shell

* feat: collection page store

* reload sandbox

* pysandbox

* remove log

* chore: remove useless code (#5629)

* chore: remove useless code

* fix: checkConflict

* perf: support hidden type for RoleList

* fix: copy node

* update doc

* fix(permission): some bug (#5632)

* fix: app/dataset list

* fix: inherit bug

* perf: del app;i18n;save chat

* fix: test

* i18n

* fix: sumper overflow return OwnerRoleVal (#5633)

* remove invalid code

* fix: scroll

* fix: objectId

* update next

* update package

* object id

* mock redis

* feat: add redis append to resolve wecom stream response  (#5643)

* feat: resolve conflicts

* fix: add param 'show_publish_wecom'

* feat: abstract out WecomCrypto type

* doc: wecom robot document

* fix: solve instability in AI output

* doc: update some pictures

* feat: remove functions from request.ts to chat.ts and toolCall.ts

* doc: wecom robot doc update

* fix

* delete unused code

* doc: update version and prompt

* feat: remove wecom crypto, delete wecom code in workflow

* feat: delete unused codes

* feat: add redis append method

---------

Co-authored-by: heheer <zhiyu44@qq.com>

* cache per

* fix(test): init team sub when creating mocked user (#5646)

* fix: button is not vertically centered (#5647)

* doc

* fix: gridFs objectId (#5649)

---------

Co-authored-by: Zeng Qingwen <143274079+fishwww-ww@users.noreply.github.com>
Co-authored-by: Finley Ge <32237950+FinleyGe@users.noreply.github.com>
Co-authored-by: heheer <heheer@sealos.io>
Co-authored-by: 伍闲犬 <whoeverimf5@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: heheer <zhiyu44@qq.com>
This commit is contained in:
Archer
2025-09-15 20:02:54 +08:00
committed by GitHub
parent c8934e3d22
commit 2ed1545eb5
187 changed files with 3701 additions and 2221 deletions

View File

@@ -868,8 +868,12 @@ curl --location --request PUT 'http://localhost:3000/api/core/dataset/collection
<Tab value="请求示例" >
```bash
curl --location --request DELETE 'http://localhost:3000/api/core/dataset/collection/delete?id=65aa2a64e6cb9b8ccdc00de8' \
--header 'Authorization: Bearer {{authorization}}' \
curl --location --request POST 'http://localhost:3000/api/core/dataset/collection/delete' \
--header 'Authorization: Bearer fastgpt-' \
--header 'Content-Type: application/json' \
--data-raw '{
"collectionIds": ["65a8cdcb0d70d3de0bf08d0a"]
}'
```
</Tab>
@@ -877,7 +881,7 @@ curl --location --request DELETE 'http://localhost:3000/api/core/dataset/collect
<Tab value="参数说明" >
<div>
- id: 集合的ID
- collectionIds: 集合的 ID 列表
</div>
</Tab>

View File

@@ -102,6 +102,7 @@ description: FastGPT 文档目录
- [/docs/upgrading/4-12/4121](/docs/upgrading/4-12/4121)
- [/docs/upgrading/4-12/4122](/docs/upgrading/4-12/4122)
- [/docs/upgrading/4-12/4123](/docs/upgrading/4-12/4123)
- [/docs/upgrading/4-12/4124](/docs/upgrading/4-12/4124)
- [/docs/upgrading/4-8/40](/docs/upgrading/4-8/40)
- [/docs/upgrading/4-8/41](/docs/upgrading/4-8/41)
- [/docs/upgrading/4-8/42](/docs/upgrading/4-8/42)
@@ -180,3 +181,4 @@ description: FastGPT 文档目录
- [/docs/use-cases/external-integration/feishu](/docs/use-cases/external-integration/feishu)
- [/docs/use-cases/external-integration/official_account](/docs/use-cases/external-integration/official_account)
- [/docs/use-cases/external-integration/openapi](/docs/use-cases/external-integration/openapi)
- [/docs/use-cases/external-integration/wecom](/docs/use-cases/external-integration/wecom)

View File

@@ -0,0 +1,26 @@
---
title: 'V4.12.4(进行)'
description: 'FastGPT V4.12.4 更新说明'
---
## 🚀 新增内容
1. 商业版支持企微发布渠道。
## ⚙️ 优化
1. 权限继承优化,子资源权限高于父级时,不会强制打断继承模式。
2. Prompt 编辑器支持列表渲染。
3. 数据页返回知识库列表,保持分页。
4. 知识库上传文件成功后,返回对应上传目录。
5. 删除应用,减少事务操作。
6. 用户选择 UI。
## 🐛 修复
1. HTTP 工具空指针,导致无法编辑。
2. python 代码运行,入参无法是 boolean 值。
3. debug 模式下,全局变量未传递。
## 🔨 插件更新

View File

@@ -1,5 +1,5 @@
{
"title": "4.12.x",
"description": "",
"pages": ["4123", "4122", "4121", "4120"]
"pages": ["4124", "4123", "4122", "4121", "4120"]
}

View File

@@ -1,5 +1,5 @@
{
"title": "外部调用 FastGPT",
"description": "外部应用通过多种方式调用 FastGPT 功能的教程",
"pages": ["openapi", "feishu", "dingtalk", "official_account"]
"pages": ["openapi", "feishu", "dingtalk", "wecom", "official_account"]
}

View File

@@ -0,0 +1,112 @@
---
title: 接入企微机器人教程
description: FastGPT 接入企微机器人教程
---
从 4.12.4 版本起FastGPT 商业版支持直接接入企微机器人,无需额外的 API。
## 1.配置可信域名和可信IP
点击企微头像,打开管理企业
![图片](/imgs/wecom-bot-1.png)
在应用管理中找到"自建"-"创建应用"
![图片](/imgs/wecom-bot-2.png)
创建好应用后, 下拉, 依次配置"网页授权及JS-SDK"和"企业可信IP"
![图片](/imgs/wecom-bot-3.png)
其中, 网页授权及JS-SDK要求按照企微指引,完成域名归属认证
![图片](/imgs/wecom-bot-4.png)
企业可信IP要求为企业服务器IP, 后续企微的回调URL将请求到此IP
![图片](/imgs/wecom-bot-5.png)
## 2. 创建企业自建应用
前往 FastGPT ,选择想要接入的应用,在 发布渠道 页面,新建一个接入企微智能机器人的发布渠道,填写好基础信息。
![图片](/imgs/wecom-bot-6.png)
现在回到企业微信平台,找到 Corp ID, Agent ID, Token, AES Key 信息并填写回 FastGPT 平台
![图片](/imgs/wecom-bot-7.png)
在"我的企业"里找到企业 ID, 填写到 FastGPT 的 Corp ID 中
![图片](/imgs/wecom-bot-8.png)
在应用中找到 Agent Id 和 Secret, 并填写回 FastGPT
![图片](/imgs/wecom-bot-9.png)
点击"消息接收"-"设置API接收"
![图片](/imgs/wecom-bot-10.png)
随机生成或者手动输入 Token 和 Encoding-Key, 分别填写到 FastGPT 的 Token 和 AES Key 中
![图片](/imgs/wecom-bot-11.png)
填写完成后确认创建
然后点击请求地址, 复制页面中的链接
![图片](/imgs/wecom-bot-12.png)
回到刚才的配置详情, 将刚才复制的链接填入 URL 框中, 并点击创建
注意: 若复制的链接是以 "http://localhost" 开头, 需要将本地地址改为企业主体域名
因为企微会给填写的 URL 发送验证密文, 若 URL 为本地地址, 则本地接收不到企微的密文
若 URL 不是企业主体域名, 则验证会失败
## 3. 创建智能机器人
在"安全与管理" - "管理工具"页面找到"智能机器人" ( 注意: 只有企业创建者或超级管理员才有权限看到这个入口 )
![图片](/imgs/wecom-bot-13.png)
创建机器人页面,下拉,找到,点击"API模式创建"
![图片](/imgs/wecom-bot-14.png)
与刚才配置自建应用同理, 配置这三个参数
![图片](/imgs/wecom-bot-15.png)
注意: 这里的 Agent ID , 和上面的不同, 可以先随意填写一个值, 后续会根据企业微信提供的数据重新更改
Secret 为用户自己决定的密令
填写完成后确认创建
然后点击请求地址, 复制页面中的链接, 链接的地址也必须为企业主体域名
创建完成后, 找到智能机器人的配置详情
![图片](/imgs/wecom-bot-16.png)
复制 Bot ID, 填写到 FastGPT 的 Agent ID 中
![图片](/imgs/wecom-bot-17.png)
## 4. 使用智能机器人
在企业微信平台的"通讯录",即可找到创建的机器人,就可以发送消息了
![图片](/imgs/wecom-bot-18.png)
## FAQ
### 发送了消息,没响应
1. 检查企微机器人回调地址、权限等是否正确。
2. 查看 FastGPT 对话日志,是否有对应的提问记录
3. 如果没记录,则可能是应用运行报错了,可以先试试最简单的机器人。(飞书机器人无法输入全局变量、文件、图片内容)