Skip to content

V4.14.6 dev#6263

Merged
FinleyGe merged 26 commits into
mainfrom
v4.14.6-dev
Jan 30, 2026
Merged

V4.14.6 dev#6263
FinleyGe merged 26 commits into
mainfrom
v4.14.6-dev

Conversation

@FinleyGe

@FinleyGe FinleyGe commented Jan 14, 2026

Copy link
Copy Markdown
Collaborator

Note

Adds WeCom (企业微信) support across auth, billing and team ops; introduces per‑plan file upload limits; enhances system/plugin tooling and background deletion.

  • WeCom: new OAuth option, corp token/open login APIs, WeCom payment flow (payUrl), user/team metadata and tags, template market “WecomZone”, publish channel tweaks; add team ownership transfer and full team delete queue/processor
  • File uploads: global/env and subscription‑based limits for max file size/count; enforced in S3 presigned URLs, multer, chat, selectors; new env vars UPLOAD_FILE_MAX_SIZE/UPLOAD_FILE_MAX_AMOUNT
  • Tools/plugins: admin config for promote/hide user tags and tags selection; user‑tag based filtering/auto‑install; marketplace/detail UI refactor plus batch update drawer; richer installed plugins response
  • Templates: support promote/hide tags in schema; dashboard shows upload limits and new tags; numerous i18n additions
  • Ops: increased failed job retention; added teamDelete queue/worker; docs updated for v4.14.6 including upload limits

Written by Cursor Bugbot for commit 59d70e4. This will update automatically on new commits. Configure here.

@github-actions

github-actions Bot commented Jan 14, 2026

Copy link
Copy Markdown

Preview mcp_server Image:

registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-pr:fatsgpt_mcp_server_0e6f98791a55f0da14af998050c684473140fef9

@github-actions

github-actions Bot commented Jan 14, 2026

Copy link
Copy Markdown

Preview sandbox Image:

registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-pr:fatsgpt_sandbox_0e6f98791a55f0da14af998050c684473140fef9

@github-actions

github-actions Bot commented Jan 14, 2026

Copy link
Copy Markdown

Docs Preview:


🚀 FastGPT Document Preview Ready!

🔗 👀 Click here to visit preview

@github-actions

github-actions Bot commented Jan 14, 2026

Copy link
Copy Markdown

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 25.74% 18805 / 73036
🔵 Statements 25.74% 18805 / 73036
🔵 Functions 37.89% 584 / 1541
🔵 Branches 71.33% 1996 / 2798
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
packages/global/common/string/time.ts 22.36% 100% 0% 22.36% 11, 13, 15, 17, 24, 30-56, 59-80, 84-90, 93-112
packages/global/core/plugin/admin/tool/type.ts 0% 0% 0% 0% 1-40
packages/global/core/plugin/tool/type.ts 0% 0% 0% 0% 1-59
packages/global/openapi/core/plugin/admin/tool/api.ts 0% 100% 100% 0% 2-89
packages/global/openapi/core/plugin/marketplace/api.ts 0% 0% 0% 0% 1-68
packages/global/openapi/plugin/api.ts 0% 0% 0% 0% 1-11
packages/global/openapi/support/user/account/login/wecom/api.ts 0% 0% 0% 0% 1-9
packages/global/openapi/support/user/team/api.ts 0% 0% 0% 0% 1-7
packages/global/openapi/support/wallet/bill/api.ts 0% 0% 0% 0% 1-130
packages/global/openapi/support/wecom/api.ts 0% 0% 0% 0% 1-10
packages/global/support/user/constant.ts 100% 100% 100% 100%
packages/global/support/user/type.ts 100% 100% 100% 100%
packages/global/support/wallet/bill/constants.ts 100% 100% 100% 100%
packages/global/support/wallet/sub/type.ts 0% 0% 0% 0% 1-123
packages/service/common/bullmq/index.ts 33.65% 100% 0% 33.65% 49-68, 71-135
packages/service/common/file/multer.ts 0% 0% 0% 0% 1-138
packages/service/common/file/utils.ts 21.73% 100% 20% 21.73% 6-8, 11-18, 25-32, 35-59
packages/service/common/s3/constants.ts 24.54% 100% 0% 24.54% 37-39, 44-144
packages/service/common/s3/sources/chat/index.ts 0% 0% 0% 0% 1-119
packages/service/common/s3/sources/chat/type.ts 0% 0% 0% 0% 1-28
packages/service/common/s3/sources/dataset/index.ts 0% 0% 0% 0% 1-177
packages/service/common/s3/sources/dataset/type.ts 0% 0% 0% 0% 1-63
packages/service/common/system/tools.ts 28.57% 0% 0% 28.57% 7, 11-25, 28-37
packages/service/common/vectorDB/constants.ts 0% 0% 0% 0% 1-27
packages/service/common/vectorDB/controller.ts 96.73% 86.95% 100% 96.73% 25-28
packages/service/common/vectorDB/seekdb/index.ts 100% 100% 100% 100%
packages/service/core/ai/config/utils.ts 0% 100% 100% 0% 2-295
packages/service/core/app/delete/index.ts 72.41% 100% 50% 72.41% 11-18
packages/service/core/app/templates/register.ts 0% 0% 0% 0% 1-76
packages/service/core/app/templates/templateSchema.ts 100% 100% 100% 100%
packages/service/core/app/tool/api.ts 38.88% 100% 0% 38.88% 6-17
packages/service/core/app/tool/controller.ts 5.36% 100% 0% 5.36% 68-134, 137-580, 584-677, 680-687
packages/service/core/dataset/delete/index.ts 0% 0% 0% 0% 1-42
packages/service/core/plugin/tool/systemToolSchema.ts 100% 100% 100% 100%
packages/service/support/permission/auth/plugin.ts 0% 0% 0% 0% 1-25
packages/service/support/permission/auth/pluginAccessToken.ts 0% 0% 0% 0% 1-63
packages/service/support/user/controller.ts 67.39% 40% 50% 67.39% 6-14, 30-33, 38-39
packages/service/support/user/schema.ts 95.94% 66.66% 66.66% 95.94% 81-83
packages/service/support/user/team/controller.ts 25.8% 75% 33.33% 25.8% 61-66, 70-71, 78-251
packages/service/support/user/team/teamMemberSchema.ts 95.31% 66.66% 100% 95.31% 72-74
packages/service/support/user/team/teamSchema.ts 95.89% 50% 100% 95.89% 73-75
packages/service/support/user/team/delete/index.ts 0% 0% 0% 0% 1-41
packages/service/support/user/team/delete/processor.ts 0% 100% 100% 0% 3-146
packages/service/support/user/team/delete/utils.ts 0% 0% 0% 0% 1-41
packages/service/support/wallet/sub/schema.ts 96.05% 0% 0% 96.05% 102-104
packages/service/support/wallet/sub/utils.ts 27.01% 26.66% 21.42% 27.01% 26-27, 29-30, 35, 56-60, 66-83, 98, 111-124, 130-152, 177-299, 303-327, 329-331, 333-348, 350-354, 359-381, 383-385, 387-389, 394-396
packages/service/thirdProvider/fastgptPlugin/index.ts 100% 100% 100% 100%
packages/service/thirdProvider/fastgptPlugin/model.ts 0% 0% 0% 0% 1-5
packages/web/components/core/plugin/tool/ToolDetail/hooks.ts 0% 0% 0% 0% 1-109
packages/web/components/core/plugin/tool/ToolDetail/index.ts 0% 0% 0% 0% 1-4
packages/web/components/core/plugin/tool/ToolDetail/styles.ts 0% 0% 0% 0% 1-19
packages/web/components/core/plugin/tool/ToolDetail/types.ts 0% 0% 0% 0%
projects/app/src/pages/api/common/file/presignTempFilePostUrl.ts 0% 100% 100% 0% 2-49
projects/app/src/pages/api/core/app/template/list.ts 0% 100% 100% 0% 2-126
projects/app/src/pages/api/core/app/tool/getSystemToolTemplates.ts 0% 100% 100% 0% 2-65
projects/app/src/pages/api/core/chat/file/presignChatFilePostUrl.ts 0% 100% 100% 0% 2-42
projects/app/src/pages/api/core/dataset/presignDatasetFilePostUrl.ts 0% 100% 100% 0% 2-41
projects/app/src/pages/api/core/dataset/collection/create/backup.ts 0% 100% 100% 0% 2-95
projects/app/src/pages/api/core/dataset/collection/create/images.ts 0% 0% 0% 0% 1-100
projects/app/src/pages/api/core/dataset/collection/create/localFile.ts 0% 100% 100% 0% 2-70
projects/app/src/pages/api/core/dataset/collection/create/template.ts 0% 100% 100% 0% 2-95
projects/app/src/pages/api/core/dataset/data/insertImages.ts 0% 100% 100% 0% 2-119
projects/app/src/pages/api/core/plugin/admin/installWithUrl.ts 0% 100% 100% 0% 2-26
projects/app/src/pages/api/core/plugin/admin/marketplace/installed.ts 100% 66.66% 100% 100%
projects/app/src/pages/api/core/plugin/admin/pkg/confirm.ts 0% 100% 100% 0% 2-26
projects/app/src/pages/api/core/plugin/admin/pkg/delete.ts 0% 100% 100% 0% 2-40
projects/app/src/pages/api/core/plugin/admin/pkg/parse.ts 0% 100% 100% 0% 2-29
projects/app/src/pages/api/core/plugin/admin/pkg/presign.ts 0% 100% 100% 0% 2-29
projects/app/src/pages/api/core/plugin/admin/tool/detail.ts 0% 0% 0% 0% 1-69
projects/app/src/pages/api/core/plugin/admin/tool/update.ts 0% 0% 0% 0% 1-101
projects/app/src/pages/api/core/plugin/team/list.ts 0% 100% 100% 0% 2-65
projects/app/src/pages/api/plugin/getAccessToken.ts 0% 0% 0% 0% 1-25
projects/app/src/pages/api/support/user/account/loginByPassword.ts 97.4% 91.66% 100% 97.4% 48-49
projects/app/src/service/common/bullmq/index.ts 0% 0% 0% 0% 1-15
projects/app/src/service/common/system/index.ts 27.07% 100% 15.38% 27.07% 27-47, 53-55, 58-59, 62-64, 67-69, 71-73, 75-77, 88-108, 132-224
projects/app/src/web/common/system/useSystemStore.ts 38.21% 100% 6.66% 38.21% 93-96, 99-102, 105-108, 111-114, 117-120, 123-127, 131-139, 180-188, 190-207, 210-211, 213-214, 216-220, 222-257, 262-280
projects/app/src/web/core/plugin/marketplace/api.ts 0% 0% 0% 0% 1-32
projects/app/src/web/support/user/team/api.ts 0% 0% 0% 0% 1-126
projects/marketplace/src/pages/api/tool/getDownloadUrl.ts 0% 100% 100% 0% 2-36
projects/marketplace/src/pages/api/tool/versions.ts 0% 0% 0% 0% 1-27
Generated in workflow #3658 for commit 0e6f987 by the Vitest Coverage Report Action

@github-actions

github-actions Bot commented Jan 14, 2026

Copy link
Copy Markdown

Preview fastgpt Image:

registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-pr:fatsgpt_0e6f98791a55f0da14af998050c684473140fef9

cursor[bot]

This comment was marked as outdated.

@FinleyGe FinleyGe marked this pull request as draft January 19, 2026 08:11
cursor[bot]

This comment was marked as outdated.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

Comment thread packages/service/support/wallet/sub/utils.ts Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces major platform enhancements for version 4.14.6, focused on WeCom (WeChat Work) integration, plan-based upload limits, and marketplace improvements.

Changes:

  • WeCom Integration: Adds OAuth authentication, payment flows, corp token APIs, and team metadata for WeCom teams
  • Plan-based Upload Limits: Enforces upload file size and count limits based on team subscription plans across backend and frontend
  • Marketplace & Tooling: Implements user-tag-based tool filtering (promoteTags/hideTags), batch update UI, and enhanced admin tool management APIs

Reviewed changes

Copilot reviewed 119 out of 125 changed files in this pull request and generated 19 comments.

Show a summary per file
File Description
projects/marketplace/src/pages/api/tool/versions.ts New API endpoint to fetch tool version information
projects/marketplace/src/pages/api/tool/getDownloadUrl.ts Enhanced to support batch tool download URL generation
projects/app/src/web/common/system/useSystemStore.ts Added default upload file limits configuration
projects/app/src/service/common/system/index.ts Implemented environment-driven upload limits configuration
projects/app/src/pages/price/index.tsx Added WeCom-specific UI handling for pricing page
projects/app/src/pages/login/provider.tsx Integrated WeCom OAuth login flow
projects/app/src/pages/api/plugin/getAccessToken.ts New plugin access token generation API
projects/app/src/pages/api/support/user/account/loginByPassword.ts Added WeCom user password login prevention
projects/app/src/pages/config/tool/marketplace.tsx Implemented batch tool update functionality
projects/app/src/pageComponents/account/team/TransferOwnershipModal.tsx New team ownership transfer UI component
packages/service/support/wallet/sub/utils.ts Enhanced team plan status retrieval with WeC om trial support
packages/service/support/user/team/delete/* New team deletion queue and processor implementation
packages/service/support/permission/auth/pluginAccessToken.ts New JWT-based plugin access token system
packages/global/support/wallet/sub/type.ts Extended subscription schemas with upload limits and WeCom pricing
packages/global/support/user/type.ts Added user tags enum and WeCom-related metadata types

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/web/i18n/zh-CN/common.json
Comment thread projects/marketplace/src/pages/api/tool/getDownloadUrl.ts
Comment thread projects/marketplace/src/pages/api/tool/versions.ts Outdated
Comment thread packages/service/support/user/team/teamMemberSchema.ts
Comment thread packages/web/i18n/zh-CN/common.json
Comment thread packages/service/support/wallet/sub/utils.ts Outdated
Comment thread packages/service/support/wallet/sub/utils.ts
Comment thread packages/web/components/core/plugin/tool/BatchUpdateDrawer.tsx Outdated
Comment thread projects/app/src/pageComponents/config/tool/SystemToolConfigModal.tsx Outdated
Comment thread projects/app/src/pageComponents/config/tool/SystemToolConfigModal.tsx Outdated
FinleyGe and others added 15 commits January 30, 2026 12:01
* wip: wecom

* feat: template filter by user tag

* feat: wecom pay

* fix: some bug

* fix: zod error

* feat: bill

* fix: bill toast

* feat: forbidden downgrade plan button

* chore(fe): wecom zone

* chore: use queue to delete team instead of a session

* chore: adjust

* feat: wecom bill logic refactor

* perf: plan

* perf: plan

* fix: i18n

* chore: adjust

* feat: adjust

* feat: add wecom config

* perf: wecom app template recommendation & system tool preinstall

* perf: some variable and tip

* update create bill api schema

* update create bill api schema

* update create bill api schema

* feat: wecom

* chore: adjust

* fix: ts

* perf: condition order

* perf: condition order

---------

Co-authored-by: archer <545436317@qq.com>
* fix: system secret

* chore: update docs
* feat: wecom integration (#6234)

* wip: wecom

* feat: template filter by user tag

* feat: wecom pay

* fix: some bug

* fix: zod error

* feat: bill

* fix: bill toast

* feat: forbidden downgrade plan button

* chore(fe): wecom zone

* chore: use queue to delete team instead of a session

* chore: adjust

* feat: wecom bill logic refactor

* perf: plan

* perf: plan

* fix: i18n

* chore: adjust

* feat: adjust

* feat: add wecom config

* perf: wecom app template recommendation & system tool preinstall

* perf: some variable and tip

* update create bill api schema

* update create bill api schema

* update create bill api schema

* feat: wecom

* chore: adjust

* fix: ts

* perf: condition order

* perf: condition order

---------

Co-authored-by: archer <545436317@qq.com>

* feat: system tool config tags (#6257)

* fix: system secret (#6259)

* fix: system secret

* chore: update docs

---------

Co-authored-by: archer <545436317@qq.com>
* team plan max file size & count

* fix

* fix

* fix

* perf: presign url

* remove empty check

* remove empty check

* fix: ts

* fix: doc

* fix presign file

* perf: code

* perf: i18n

* fix: remove maxSize attribute

---------

Co-authored-by: archer <545436317@qq.com>
Co-authored-by: Finley Ge <finleyge@fastgpt.io>
* feat: wecom integration (#6234)

* wip: wecom

* feat: template filter by user tag

* feat: wecom pay

* fix: some bug

* fix: zod error

* feat: bill

* fix: bill toast

* feat: forbidden downgrade plan button

* chore(fe): wecom zone

* chore: use queue to delete team instead of a session

* chore: adjust

* feat: wecom bill logic refactor

* perf: plan

* perf: plan

* fix: i18n

* chore: adjust

* feat: adjust

* feat: add wecom config

* perf: wecom app template recommendation & system tool preinstall

* perf: some variable and tip

* update create bill api schema

* update create bill api schema

* update create bill api schema

* feat: wecom

* chore: adjust

* fix: ts

* perf: condition order

* perf: condition order

---------

Co-authored-by: archer <545436317@qq.com>

* feat: system tool config tags (#6257)

* fix: system secret (#6259)

* fix: system secret

* chore: update docs

* chore: merge main (#6264)

* feat: wecom integration (#6234)

* wip: wecom

* feat: template filter by user tag

* feat: wecom pay

* fix: some bug

* fix: zod error

* feat: bill

* fix: bill toast

* feat: forbidden downgrade plan button

* chore(fe): wecom zone

* chore: use queue to delete team instead of a session

* chore: adjust

* feat: wecom bill logic refactor

* perf: plan

* perf: plan

* fix: i18n

* chore: adjust

* feat: adjust

* feat: add wecom config

* perf: wecom app template recommendation & system tool preinstall

* perf: some variable and tip

* update create bill api schema

* update create bill api schema

* update create bill api schema

* feat: wecom

* chore: adjust

* fix: ts

* perf: condition order

* perf: condition order

---------

Co-authored-by: archer <545436317@qq.com>

* feat: system tool config tags (#6257)

* fix: system secret (#6259)

* fix: system secret

* chore: update docs

---------

Co-authored-by: archer <545436317@qq.com>

* fix: custom domain limitation (#6265)

* chore: update version number (#6266)

* fix: price status (#6279)

* fix: back button (#6281)

* chore/rebase main (#6295)

* chore(deps): bump undici from 7.16.0 to 7.18.2 (#6272)

Bumps [undici](https://github.com/nodejs/undici) from 7.16.0 to 7.18.2.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](nodejs/undici@v7.16.0...v7.18.2)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 7.18.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump undici in /plugins/webcrawler/SPIDER (#6273)

Bumps [undici](https://github.com/nodejs/undici) from 6.21.3 to 6.23.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](nodejs/undici@v6.21.3...v6.23.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 6.23.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump tar from 7.4.3 to 7.5.3 in /document (#6282)

Bumps [tar](https://github.com/isaacs/node-tar) from 7.4.3 to 7.5.3.
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](isaacs/node-tar@v7.4.3...v7.5.3)

---
updated-dependencies:
- dependency-name: tar
  dependency-version: 7.5.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* perf: remove request invalid field (#6283)

* V4.14.5.1 dev (#6290)

* chore: cherry pick some commits from v4.14.6-dev (#6287)

* fix: custom domain limitation (#6265)

* fix: system secret (#6259)

* fix: system secret

* chore: update docs

* chore: docs

* fix password variable & datetime picker (#6276)

* fix password variable & datetime picker

* doc

* chore: cherry pick some commits from v4.14.6-dev (#6287)

* fix: custom domain limitation (#6265)

* fix: system secret (#6259)

* fix: system secret

* chore: update docs

* chore: docs

* doc

* chore: docs

---------

Co-authored-by: Finley Ge <32237950+FinleyGe@users.noreply.github.com>
Co-authored-by: Finley Ge <finleyge@fastgpt.io>

* perf: extname computed (#6285)

* perf: extname computed

* chore: handle hash or query flags

---------

Co-authored-by: Finley Ge <finleyge@fastgpt.io>

* chore: docs (#6291)

---------

Co-authored-by: heheer <heheer@sealos.io>
Co-authored-by: Archer <545436317@qq.com>

* chore: deploy scripts (#6293)

* docs: 41451 upgrade doc (#6294)

* feat: wecom integration (#6234)

* wip: wecom

* feat: template filter by user tag

* feat: wecom pay

* fix: some bug

* fix: zod error

* feat: bill

* fix: bill toast

* feat: forbidden downgrade plan button

* chore(fe): wecom zone

* chore: use queue to delete team instead of a session

* chore: adjust

* feat: wecom bill logic refactor

* perf: plan

* perf: plan

* fix: i18n

* chore: adjust

* feat: adjust

* feat: add wecom config

* perf: wecom app template recommendation & system tool preinstall

* perf: some variable and tip

* update create bill api schema

* update create bill api schema

* update create bill api schema

* feat: wecom

* chore: adjust

* fix: ts

* perf: condition order

* perf: condition order

---------

Co-authored-by: archer <545436317@qq.com>

* feat: system tool config tags (#6257)

* fix: price status (#6279)

* fix: back button (#6281)

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Archer <545436317@qq.com>
Co-authored-by: heheer <heheer@sealos.io>

* feat: marketplace batch update

* chore: components reuse

* fix: test case

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: archer <545436317@qq.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: heheer <heheer@sealos.io>
* fix: batch update drawer ui && custom plan logic

* fix: max upload file size

* chore: remove comment
* fix: system tool route

* chore: upgrade docs

* chore: batch update ui
FinleyGe and others added 4 commits January 30, 2026 12:04
* fix: marketplace tool detail readme height

* chore: use useRequest2
* chore: adapt new plugin sdk

* chore: bump @fastgpt-sdk/plugin to 0.3.6; fix type error

---------

Co-authored-by: Finley Ge <finleyge@fastgpt.io>
Co-authored-by: Finley Ge <32237950+FinleyGe@users.noreply.github.com>
* #6193 feat(SeekDB): 集成支持 SeekDB 向量数据库

- 添加 SEEKDB_ADDRESS 环境变量支持
- 在 vectorDB 控制器中优先返回 SeekVectorCtrl 实例
- 新增 SeekDB 向量库控制器,复用 OceanBase 控制器实现
- 更新部署文档,新增 SeekDB 相关描述和配置说明
- 新增 SeekDB 的 Docker Compose 配置,支持国内和全球镜像
- 在开发文档中添加 SeekDB 的环境要求及特性介绍
- 修改部署脚本支持 SeekDB 版本快速部署

* fix(vectorDB): add type annotation to getVectorObj to resolve TypeScript compilation error

- Add return type annotation (: VectorControllerType) to getVectorObj function
- Fixes Docker build failure: Property 'insertIds' does not exist on type 'unknown'
- The Vector object now has correct type inference for retryFn

Related: Docker build fails at TypeScript type checking stage

* #6193 refactor(vectorDB): 调整 SeekDB 控制器导入方式

- 将 ObClient 和 ObVectorCtrl 分开导入,提升代码清晰度
- 将导出语句拆分为两行,便于后续维护
- 保持 OceanBase 控制器复用逻辑不变
- 优化代码格式,增强可读性

* doc

---------

Co-authored-by: archer <545436317@qq.com>
@cla-assistant

cla-assistant Bot commented Jan 30, 2026

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
3 out of 5 committers have signed the CLA.

✅ FinleyGe
✅ c121914yu
✅ xqvvu
❌ heheer
❌ flying-dragon-ai


heheer seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

heheer and others added 2 commits January 30, 2026 16:56
* fix date time picker disabled status

* fix build
@c121914yu

Copy link
Copy Markdown
Collaborator

PR Review: V4.14.6 dev (#6263)

📊 变更概览

  • PR 编号: V4.14.6 dev #6263
  • 作者: @FinleyGe
  • 分支: main ← v4.14.6-dev
  • 变更统计: +4095 -917 行
  • 涉及文件: 101 个文件

🎯 变更范围

本 PR 是 v4.14.6 版本升级,包含以下主要功能:

1. SeekDB 向量数据库集成

  • 新增 SeekDB 作为向量数据库选项,复用 OceanBase 控制器
  • 添加 Docker Compose 配置和部署文档

2. 企业微信(WeCom)集成

  • OAuth 登录、支付流程、模板市场 "WecomZone"
  • 特殊免费计划(15天有效期,基础版配置)

3. 文件上传限制功能 ⚠️

4. 团队删除优化 ⚠️

5. 插件市场增强

  • 系统工具配置标签、用户标签过滤
  • 批量更新功能、UI 重构

✅ 优点

  1. 架构设计良好: SeekDB 巧妙复用 OceanBase 控制器,避免代码重复
  2. 完整的错误处理: 团队删除处理器有详细的日志记录
  3. 用户体验优秀: 批量更新抽屉组件交互流畅
  4. 类型安全: 使用 Zod schema 确保类型安全
  5. 文档完善: 添加了部署配置和升级文档

⚠️ 问题汇总

🔴 严重问题 (4 个,必须修复)

1. SeekDB 集成缺少错误处理

位置: packages/service/common/vectorDB/seekdb/index.ts

SeekDB 直接复用 OceanBase 控制器,但没有在 SeekDB 环境下测试连接。如果存在细微差异,可能导致运行时错误。

建议: 添加 SeekDB 专用的连接验证函数。

2. 🚨 文件上传限制绕过风险

位置: projects/app/src/pages/api/core/chat/file/presignChatFilePostUrl.ts:28-29

maxAmount:
  (planStatus.standardConstants?.maxUploadFileCount || global.feConfigs.uploadFileMaxAmount) * 2,  // ⚠️ 为什么乘以 2?

频率限制使用 maxUploadFileCount * 2,这可能导致用户实际上传超过限制的文件数量。

建议: 移除 * 2,避免绕过限制:

maxAmount: planStatus.standardConstants?.maxUploadFileCount || 
  global.feConfigs.uploadFileMaxAmount

3. 🚨 团队删除处理器缺少事务支持

位置: packages/service/support/user/team/delete/processor.ts:26-146

团队删除涉及 20+ 个 MongoDB 操作,但没有使用事务。如果中间步骤失败,可能导致数据不一致。

建议: 使用 MongoDB session 和事务包裹所有删除操作。

4. 企业微信支付 URL 缺少验证

位置: 企业微信支付流程相关代码

支付 URL (payUrl) 缺少可访问性检查和 fallback 机制。

建议: 添加支付 URL 验证和错误处理。

🟡 建议改进 (7 个)

  1. 性能优化: 批量更新缺少进度反馈 - 建议添加进度条
  2. 代码重复: WeCom 免费计划逻辑重复 - 建议提取公共函数
  3. 类型安全: packages/service/support/wallet/sub/utils.ts:147 使用了 @ts-ignore - 建议使用类型断言
  4. 文档不一致: 升级指南缺少 SeekDB 升级说明
  5. 配置验证: 缺少 SeekDB 环境变量格式验证
  6. 日志级别: 团队删除 info 日志可能过多,批量删除时建议用 debug
  7. 测试覆盖: 新增功能缺少单元测试

🟢 可选优化 (3 个)

  1. SeekDB 连接池配置优化
  2. 批量更新全选/取消全选快捷操作
  3. 部分新增文案未翻译

🧪 测试建议

  1. SeekDB 集成: 验证连接和向量检索功能
  2. 企业微信: 测试 OAuth 登录、免费计划、支付流程
  3. 文件上传: 测试大小/数量限制是否生效
  4. 团队删除: 验证数据完整性和队列工作
  5. 批量更新: 测试进度反馈和部分失败场景

💬 总体评价

维度 评分 说明
代码质量 ⭐⭐⭐⭐☆ (4/5) 结构清晰,但缺少单元测试
安全性 ⭐⭐⭐☆☆ (3/5) 存在文件上传限制绕过风险
性能 ⭐⭐⭐⭐☆ (4/5) 队列化处理提升性能
可维护性 ⭐⭐⭐⭐☆ (4/5) 类型定义完整,存在部分重复

🚀 审查结论

⚠️ 建议修改后合并

必须修复 (阻塞合并):

  1. ✅ 修复文件上传限制绕过风险 (presignChatFilePostUrl.ts)
  2. ✅ 为团队删除添加事务支持
  3. ✅ 添加 SeekDB 连接验证
  4. ✅ 验证企业微信支付 URL 的错误处理

建议修复 (合并前):

  1. 添加批量更新进度反馈
  2. 移除 @ts-ignore,使用类型安全的方式
  3. 完善升级文档中的 SeekDB 说明
  4. 添加核心功能的单元测试

总结: 这是一个功能完整、结构合理的版本升级,感谢 @FinleyGe 的贡献!建议修复上述严重问题后再合并。

@c121914yu c121914yu marked this pull request as ready for review January 30, 2026 09:40
@gru-agent

gru-agent Bot commented Jan 30, 2026

Copy link
Copy Markdown
Contributor

There is too much information in the pull request to test.

@FinleyGe FinleyGe merged commit 470eeca into main Jan 30, 2026
9 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants