- 18 Jun, 2026 7 commits
-
-
* fix(agent): pass uploaded file urls to tools * perf: inject prompt * test: update agent file reminder assertions * test: update read files output assertions --------- Co-authored-by: archer <545436317@qq.com>
Finley Ge committed -
* perf: invalid quote filter * doc * perf: user edit * fxi: template * fix: tempalte init
Archer committed -
* refactor(core): optimize system tool input/output schema management - Use `JSONSchema` instead of `InputConfig` for system tool I/O definitions - Centralize JSON Schema to Node I/O conversion utilities - Cleanup redundant type definitions and schema properties across packages * refactor(global): improve workflow JSON schema mapping and tool catalog - Update `getJsonSchemaPropertyFromValueType` to handle complex types like `arrayObject` and `chatHistory` properly instead of falling back to default types. - Refactor `getEnumValuesFromNodeInput` to correctly collect enum values from different input configurations. - Update `useToolCatalog` to use `nodeInputs2JsonSchema` for consistent schema generation across tools and nodes. - Add comprehensive test cases to verify JSON schema conversion for various value types and enum sources. * fix: strip admin plugin IO schemas Admin plugin detail does not consume input/output schemas, so omit them from the admin response type to tolerate plugins that return null schemas.\n\nAdd regression coverage for parent and child tool details with null schemas.
Finley Ge committed -
YeYuheng committed
-
DigHuang committed
-
* feat(openapi): allow app-level API Key display and restrict scope - Expose raw API Key in app-level listing to support key replication - Restrict app-level API Key usage to chat completion endpoints only - Add COPY_API_KEY audit event for tracking key access - Implement API Key request path validation for security enforcement * feat(openapi): support API key auth proxy for team members - Add `authProxy` configuration to team-level API keys. - Implement `ChatCompletionAuthProxy` schema for optional identity delegation in chat completion requests. - Add `resolveChatCompletionEffectiveTmbId` to handle proxy logic, ensuring members exist within the key's team. - Update `authChatCompletionHeaderRequest` to integrate identity proxying while maintaining strict security boundaries for chat access. - Add internationalization support for the new feature in settings. * feat(openapi): distinguish global and app API keys - Update documentation to clarify the distinction between Global and App API keys. - Enforce `authProxy` permissions: only allow team owners to enable `authProxy` on Global API Keys. - Restrict `authProxy` usage to Global API Keys; App API Keys do not support this feature. - Migrate API key management UI to `MyModalV2`. - Add test coverage for API key update permissions. * fix(openapi): update new API key tip copy * fix(openapi): copy API key without modal * fix(openapi): address API key review comments * fix(openapi): ensure API key copy audit completes
Finley Ge committed -
- Add `status` field to system tool schemas and definitions. - Implement `isSelectableToolStatus` to restrict tools displayed in the creation/selection list to those with 'Normal' status. - Update `getSystemToolTemplates` API to filter root tools and toolset children based on their status. - Add unit tests to verify tool filtering logic.
Finley Ge committed
-
- 17 Jun, 2026 3 commits
-
-
* refactor(core): optimize system tool input/output schema management - Use `JSONSchema` instead of `InputConfig` for system tool I/O definitions - Centralize JSON Schema to Node I/O conversion utilities - Cleanup redundant type definitions and schema properties across packages * refactor(app): optimize SecretInputModal UI and logic - Migrate to updated MyModal component and refactor layout - Update input styling and placeholder logic - Add missing input controller for 'input' type fields * refactor(global): improve workflow JSON schema mapping and tool catalog - Update `getJsonSchemaPropertyFromValueType` to handle complex types like `arrayObject` and `chatHistory` properly instead of falling back to default types. - Refactor `getEnumValuesFromNodeInput` to correctly collect enum values from different input configurations. - Update `useToolCatalog` to use `nodeInputs2JsonSchema` for consistent schema generation across tools and nodes. - Add comprehensive test cases to verify JSON schema conversion for various value types and enum sources. * perf: get tool client code * chore: avoid schema loading for tool display metadata * perf: tool throw error --------- Co-authored-by: archer <545436317@qq.com>
Finley Ge committed -
* feat: add httpFullError output handling and localization support * refactor: remove ensureHttp468Outputs, rely on template output merge * perf: http code * doc * fix: test --------- Co-authored-by: archer <545436317@qq.com>
siigure committed -
Finley Ge committed
-
- 16 Jun, 2026 13 commits
-
-
* fix: interactive * fix: test
Archer committed -
Archer committed
-
* Update repository.ts * refactor(fastgpt): update default fastgpt-ide-agent image to ghcr.io
DigHuang committed -
* fix: action * perf: modal * fix: openapi
Archer committed -
Refactor tool selector and modal layout to improve responsiveness and consistency. Update grid structures, adjust padding and sizing, and streamline component interaction flows.
Finley Ge committed -
* perf: chat title generation * fix: ts * test: align sandbox proxy secret validation error * perf: zero point
Archer committed -
问题 (#7006): 通过 API Key 调用知识库更新接口(api/core/dataset/update)返回 403 unAuthorization。API Key 可正常使用 list/create/delete,唯独 update 报错。 根因: update.ts 中 authDataset/authUserPer 调用缺少 authApiKey: true。 parseHeaderCert() 默认 authApiKey=false,API Key 鉴权分支不会被执行, 请求走到末尾被拒绝。 对比其他端点: - create.ts — authDataset({ authApiKey: true, ... }) ✓ - collection/create.ts — authDataset({ authApiKey: true, ... }) ✓ - collection/list.ts — authDataset({ authApiKey: true, ... }) ✓ - update.ts — authDataset 和 authUserPer 均缺少 authApiKey ✗ 改动: update.ts 四处调用各添加 authApiKey: true: 1. authDataset 主入口 Read 权限检查 (L88) 2. authDataset 移动目标文件夹 Manage 权限检查 (L109) 3. authDataset 移动源文件夹 Manage 权限检查 (L122) 4. authUserPer 移动至/从根目录的团队创建权限检查 (L132) 测试: 新增 projects/app/test/api/core/dataset/update.test.ts: - token 认证更新数据集 - API Key 认证更新数据集 Fixes #7006 Signed-off-by: DadaVinqi <DadaVinqi@users.noreply.github.com> Co-authored-by: DadaVinqi <DadaVinqi@users.noreply.github.com>DadaVinqi committed -
DigHuang committed
-
feat(sandbox): migrate to standalone Rust proxy and implement stateless WSS gateway with dynamic file sync (#7034) * feat(sandbox): implement stateless WSS gateway, Rust agent-proxy service, and interactive terminal - Implement stateless WSS gateway for agent-sandbox connection. - Migrate WSS proxy to a standalone Rust service. - Integrate interactive PTY terminal and clean up obsolete APIs. - Add unit & integration tests for Rust proxy & agent with CI workflow. - Unify proxy secrets under AGENT_SANDBOX_PROXY_SECRET. - Implement fine-grained session ticket permissions & enhance proxy log security. * refactor(sandbox): upgrade agent & proxy to Rust 2024, optimize file operations, and support connection limiting - Implement dynamic file change sync with debounce and robust connection limiting. - Upgrade Rust dependencies, split ide agent modules and enhance file access security. - Optimize Docker build targets, configure default Sealos image, and implement native file operations. - Support dynamic gateway hostnames, add proxy ping keepalive, and refine terminal resize checks. - Upgrade to Rust 2024, secure workspace operations, and refine adapter helpers. * feat(skill): redesign skill detail page with split layout and refine sandbox editor styling * refactor(sandbox): optimize edit-debug hot-reload and skip S3 pull on cold-start - Refine edit-debug sandbox hot-reload and auto resume logic. - Skip S3 pull on cold-start when volume exists and fix OpenSandbox getInfo. * feat(sandbox): implement cold archive and restore, unify file limits, and relax proxy secret * style(skill): adjust chatbox and input layout padding for skill detail page * feat(sandbox): add archive migration API and restore support for empty or archived workspaces refactor(sandbox): enhance workspace archiving/restore, zip safety, and websocket stability * feat(sandbox): migrate archived records across providers, adjust probe timeout and command limits * feat(skill): add preview empty state, disable sending before sandbox ready, and unify error handling * refactor(skill): simplify export, fix import encoding, and use default LLM * feat(sandbox): ensure zip availability and track archiving failures * feat(sandbox): refactor workspace fs watcher with debouncer, improve terminal styling, and add archive progress tracking - rust ide agent: Integrate notify-debouncer-full to debounce workspace file system events and broadcast batches with sequential numbers to handle lagged events. - frontend/sandbox: Remove client-side debounce in favor of backend debouncing, refine workspace file tree refreshing, and adjust terminal background and horizontal padding. - archive: Introduce onProgress callback for resource archiving and utilize it in initSandboxArchive API to log real-time progress and errors. * docs(skill): comprehensive user guides for agent skills * refactor(sandbox): improve TS safety, simplify markdown frontmatter, and support sandboxToolMap info
DigHuang committed -
siigure committed
-
* fix: update pro modal titles in multiple languages for consistency * feat: add commercial dataset type handling and pro modal integration * perf: pro modal ui --------- Co-authored-by: archer <545436317@qq.com>
siigure committed -
light5980 committed
-
YeYuheng committed
-
- 15 Jun, 2026 4 commits
-
-
* perf: node store * revert * fix: loop * doc * feat: source * perf: store chat * perf: optimize chat node response preview reads * perf: speed up persisted node response tree compose * doc * perf: depth * perf: chat anination
Archer committed -
* feat: implement folder depth management and error handling - Added new error codes for folder depth limits in CommonErrEnum. - Introduced folder depth validation logic in the parent folder management. - Implemented API for fetching subtree maximum folder depth. - Enhanced folder creation and movement operations to respect maximum folder depth constraints. - Updated UI components to handle folder depth checks and display appropriate error messages. - Localized new error messages in English and Chinese. * refactor: simplify folder depth limit to backend validation Remove frontend drag pre-check and subtreeDepth API; rename env to MAX_FOLDER_DEPTH with strict IntSchema validation; keep create-folder button hiding only. * perf: limit tip * chore: remove unrelated folder depth changes --------- Co-authored-by: archer <545436317@qq.com>
siigure committed -
YeYuheng committed
-
* feat: add chat scroll to bottom button * fix: refine chat history pagination and scrollbar * refactor: remove chat scroll button delay * fix: align chat action buttons * fix: stop chat auto scroll after user scrolls up * fix: truncate long chat placeholder app name * fix: refresh chat history silently after title update * fix: stabilize chat input placeholder text type
Xianquan committed
-
- 13 Jun, 2026 2 commits
-
-
* perf: reduce workflow variable replacement CPU cost * doc * doc * refactor: move workflow variable replacement to service * test: cover variable key detection * refactor: move workflow node params helper * refactor: remove default llm request params * fix: stop oversized variable replacement rounds * fix: stop oversized variable replacement without throwing * doc * fix: i18n * fix: error show * chore: log oversized string replacement
Archer committed -
Archer committed
-
- 12 Jun, 2026 6 commits
-
-
Files uploaded with an uppercase or mixed-case extension (e.g. `123.PDF`, `report.Docx`) failed to be parsed because the readFile worker matches the extension against a lowercase switch (`'pdf'`, `'docx'`, ...), so an uppercase suffix fell through to the default branch and threw "... is not supported". Normalize the extension to lowercase once at the lowest common entry point `readFileContentByBuffer`, instead of at each business-layer call site. This keeps business-layer behavior unchanged and covers all callers (chat upload, external url, dataset, local file) in a single place. Adds regression tests covering upper/mixed-case extensions. Fixes #6996 Co-authored-by: DadaVinqi <DadaVinqi@users.noreply.github.com>
DadaVinqi committed -
* fix: validate helperbot file preview input * refactor: split s3 key authorization helpers * docs: add s3 key auth fix note
Archer committed -
* fix: optimize agent v2 tool labels * perf: code * fix: toolset name * test: update unified agent prompt expectation * fix: stabilize agent tool mentions --------- Co-authored-by: archer <545436317@qq.com>
YeYuheng committed -
* fix: pass language through login flows * fix: keep client language independent from user info --------- Co-authored-by: archer <545436317@qq.com>
YeYuheng committed -
* feat: tooltip * fix: 优化 tooltip 展示逻辑并修复 header UI 布局 * fix: 优化名称 tooltip 溢出展示 * submodule --------- Co-authored-by: archer <545436317@qq.com>
siigure committed -
Xianquan committed
-
- 11 Jun, 2026 5 commits
-
-
* docs(workflow): loop run node user documentation * docs: add 4.15.0 beta5 release notes * docs: compress documentation images * doc --------- Co-authored-by: archer <545436317@qq.com>
DigHuang committed -
* debug: import compatibility issue * fix: improve app import compatibility --------- Co-authored-by: archer <545436317@qq.com>
light5980 committed -
* feat: support workflow HTTP HTTPS cert ignore config * revert --------- Co-authored-by: archer <545436317@qq.com>
siigure committed -
* fix: align mobile chat headers * fix: declare share header data after load state
Xianquan committed -
* feat: auto-preview HTML code blocks in chat streaming Co-authored-by: Cursor <cursoragent@cursor.com> * feat: improve HTML code block preview and response modal layout Co-authored-by: Cursor <cursoragent@cursor.com> * fix: simplify HTML code block preview state * perf: code * fix(chat): 修复 HTML 预览 Tab 被重置,并优化完整响应弹窗代码块布局 稳定 react-markdown components 引用以保留用户手动切换的 Code/Preview 状态;同时修正弹窗内代码块高度约束、JSON fence 渲染与弹窗 maxH。 Co-authored-by: Cursor <cursoragent@cursor.com> * refactor: simplify html code block preview state --------- Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: archer <545436317@qq.com>
siigure committed
-