Conversation
The file was introduced in PR #3396 but remained empty (0 bytes) with no content or references in docker-compose configs. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
…mas (#3446) * fix: add missing W1 capacity fields to ManageTenantModel request schemas * test: preserve capacity fields in manage model requests
…ing file analysis in the session. (#3454)
* feat: implement agent automation features including task management and proposal handling * feat: implement agent automation features including task management and proposal handling * feat: refine automation instruction prompts to enhance clarity and intent preservation * feat: enhance automation task management with new scheduling features and validation * feat: add durable lease-based scheduling primitives and enhance task management * feat: add automation proposal update and deletion endpoints, enhance task management features * feat: add automation proposal update and deletion endpoints, enhance task management features * feat: add automation proposal update and deletion endpoints, enhance task management features * feat: enhance task management with agent name filtering and update misfire policies * feat: implement custom date-time picker for automation proposals and refactor related components * feat: implement custom date-time picker for automation proposals and refactor related components * test(agent): improve automation patch coverage * feat: add turn resource command handling and automation task creation
* Feat: Allow setting agent as main agent via configuration * fix ut
* Feat: Add northbound API for agent detail retrieval * fix ut * add ut
* feat(quota): add storage quota enforcement * feat(quota): add quota management interface and warnings * 🐛 developer warning depressed * feat(quota): enforce platform tenant allocation * fix: preserve quota patch field semantics * test: include quota coverage in CI suite * test: cover quota platform edge cases * fix: localize quota allocation conflicts * feat: refine platform quota overview layout * fix: restore platform quota panel scrolling
* ✨ Feat: Enhance user information retrieval by including group names in user list * fix(test): mock query_groups_by_user in test_user_service to return iterable list * perf: replace N+1 query_groups_by_user with single batch JOIN query_groups_by_users * test: add coverage for query_groups_by_users DB function and group_names field in get_users
…r rollback (#3473) * Bugfix: Resolve publish failure when latest version is deleted after rollback * fix ut
…ion (#3462) * ✨ Feature: Add parallel_executor tool for concurrent sub-agent execution Introduce a system-managed parallel_executor tool that allows agents to execute multiple independent tool/agent calls concurrently via ThreadPoolExecutor, reducing total latency for parallelizable subtasks. Changes: - SDK: new ParallelExecutorTool with 2-tuple (list) and 3-tuple (dict) calling modes, per-task timeout, and exception isolation - Backend: auto-inject parallel_executor as a system-managed tool (alongside store_memory / search_memory) during agent config creation and prompt generation - Prompts: add parallel scheduling guidance to Manager system prompt; add 3 few-shot examples demonstrating usage patterns - Tests: 13 unit tests for _parallel_executor; compatible updates to prompt_service and create_agent_info test suites * 🐛 fix: handle empty tool_ids in prompt_service and reset mock in create_agent_config tests * 🧪 test: add coverage for ParallelExecutorTool.forward and wrong tuple length
* feat: refactor chat * fix frontend type-check * Bugfix: 修复message_index 与对话轮次错位问题 * fix ut * add try catch * fix ut * fix ut * 新增ut * add ut
…age sync (#3471) * 🐛Bugfix: agent version dropdown shows empty on initial render * 🐛Bugfix :Fix incomplete chunk list display in knowledge base pagination overview. * 🐛Bugfix: interactive skill creation ignores UI language
…ts (#3460) Two-layer severity model + three checkpoints + circuit breaker: - SeverityResolver: hardcoded (severity, source) -> effective_action table (block+new_input→terminate, history/tool_output→mask, tool_input→block) - GuardrailEngine: check_input (①), check_output (②), check_tool_args (③), fail-open, _set_msg_text preserves OpenAI list-part content structure - core_agent: checkpoint wiring in _step_stream, _screened_tool_forward module function, ToolInputBlockedError → FinalAnswerError - 63 unit tests (test_guardrail_engine.py + test_guardrail_checkpoints.py) Co-authored-by: jeffwu <meetjeff.wu@gmail.com> Co-authored-by: Claude <noreply@anthropic.com>
…3476) * feat: refactor chat * fix frontend type-check * Bugfix: 修复message_index 与对话轮次错位问题 * fix ut * add try catch * fix ut * fix ut * 新增ut * add ut * Bugfix: Add compatibility for Markdown rendering in old chat page * add sql * 删除之前sql创建的权限点 * 优化前端 * 优化前端 * 优化前端 * 兼容模型token_threshold为null的情况 * 修复历史记录页面无法正常返回agent选择页面
* ✨ Feature: Planing agent (backend) * ✨ Feature: Planing agent (ut) * ✨ Feature: Planing agent (ut)
…chat page (#3479) * feat: refactor chat * fix frontend type-check * Bugfix: 修复message_index 与对话轮次错位问题 * fix ut * add try catch * fix ut * fix ut * 新增ut * add ut * Bugfix: Add compatibility for Markdown rendering in old chat page * add sql * 删除之前sql创建的权限点 * 优化前端 * 优化前端 * 优化前端 * 兼容模型token_threshold为null的情况 * 修复历史记录页面无法正常返回agent选择页面 * Bugfix: fix sql & filter agent list to show only main agent on new chat page
…context runtime (#3475) * refactor(context): enforce authorized run snapshots * refactor(context): remove legacy runtime assembly * refactor(context): replace components with context items * refactor(context): unify agent context modules * feat(context): add layered selection policy * feat(context): add adaptive item reduction pipeline * fix(context): harden embedding fallback execution * refactor(context): implement checkpoint-based adaptive compaction * fix(context): enforce staged adaptive compaction * fix context compaction visibility and safeguards * fix summary content scrolling * fix background channel cleanup task retention * test context helper edge cases * fix context test float assertion * test context rendering and manager boundaries * refactor agent context manager ownership * fix sonar agent execution findings
…#3477) * ✨ Feat: Add in-app notifications for agent repository review workflow Notify publishers and reviewers on submit/approve/reject, with navbar bell UI, review opinion content, and deep-link navigation into agent space. * ✨ Feat: Add in-app notifications for agent repository review workflow Notify publishers and reviewers on submit/approve/reject, with navbar bell UI, review opinion content, and deep-link navigation into agent space. * ✨ Feat: Add in-app notifications for agent repository review workflow Notify publishers and reviewers on submit/approve/reject, with navbar bell UI, review opinion content, and deep-link navigation into agent space. * ✨ Feat: Add in-app notifications for agent repository review workflow Notify publishers and reviewers on submit/approve/reject, with navbar bell UI, review opinion content, and deep-link navigation into agent space.
* Release/v2.2.1 (#3269) * add_greeting_fields_to_agent-develop * feat(knowledge-base): add preserve_source_file and post-index source cleanup Let knowledge bases opt out of keeping uploaded MinIO copies after indexing while retaining Elasticsearch chunks for retrieval. Default behavior remains preserve_source_file=true for backward compatibility. - Add preserve_source_file column (init.sql + v2.2.0_0601 migration) - Accept preserve_source_file on create/update and northbound/vector APIs - Support document DELETE scope=source_only and source_available in listings - Run cleanup_source Celery task when preserve_source_file is false - UI: create-KB toggle, list tag, knowledge-base preview when copy is missing - Update vector-database SDK docs and backend tests * test(data_process): stub knowledge_db, redis_service, and redis in test_worker Align setup_mocks_for_worker with test_tasks so importing backend.data_process.worker loads package __init__ without real DB/redis deps. * test(data_process): shim cleanup_source for submit_process_forward_chain tests * remove duplicate import * fix: update unit tests for greeting_message and example_questions fields * add init.sql to sonar.properites * ♻️ Improvement: API to MCP conversion service supports configuring headers. (#3194) * ♻️ Improvement: API to MCP conversion service supports configuring headers. [Specification Details] 1. Front-end and back-end modifications * ♻️ Improvement: API to MCP conversion service supports configuring headers. [Specification Details] 1. Modify the frontend, after adding, set the HTTP headers to empty. 2. Modify test cases. * ♻️ Improvement: Enhance processing of ES index names in memory banks. (#3196) [Specification Details] 1. Replace all symbols in the index name that do not meet the rules with "_". 2. Modify test cases. * feat: add active memory tools (StoreMemoryTool, SearchMemoryTool) (#3197) - Implement StoreMemoryTool for explicit memory storage during agent reasoning - Implement SearchMemoryTool for on-demand memory retrieval during conversations - Integrate tools into agent creation flow (create_agent_info.py) - Register tools in nexent_agent.py and tools/__init__.py - Add MEMORY_OPERATION tool sign for proper categorization - Fix memory_core.py cache key to include event loop ID (prevents cross-loop conflicts) - Add comprehensive test coverage for both tools - Add procedural memory verification documentation Tools follow existing patterns: lazy imports, observer integration, error handling, and respect user memory preferences (agent_share_option, disabled_agent_ids). Co-authored-by: Dallas98 <40557804+Dallas98@users.noreply.github.com> * 🐛 Bugfix: skill names and descriptions never load to context (#3205) * 🐛 Bugfix: skill names and descriptions never load to context * 🐛 Bugfix: skill names and descriptions never load to context * 🐛 Bugfix: skill names and descriptions never load to context * 🐛 Bugfix: official skills not copied to target directory * 🐛 Bugfix: official skills not copied to target directory * Feat: add selected count badges to tool/skill pool labels (#3206) Co-authored-by: chase <byzhangxin11@126.com> * 🐛 Bugfix: Fix attribution error when tool calling error (#3208) * ✨ Feat: Add support for Word document generation, preview, and download (#3191) * Feat: Add support for Word document generation, preview, and download * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Restrict uploads to a known safe workspace/output directory * 修改单元测试 * 修复单元测试 * Bugfix: Store uploaded files in Minio for conversation messages to enable file visibility in history --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * ✨Feat:Enhance prompt optimization by integrating openjiuwen and fix related bugs (#3190) * ✨Feat:add prompt optimization * 🐛Bugfix: dockerbuild failed when running pipefail in python3_11 * 🔨Optimize: Optimize prompt optimization display page and interaction methods * 🐛Bugfix: fix dependencies replication * 🎨:Optimize frontend prompts and loading interface * 🔧 Refactor: Update imports and remove redundant ENABLE_JIUWEN_SDK import in prompt_service.py * 🔧 Refactor: Correct import path for NexentCapabilityError and enhance test coverage for prompt optimization service * 🔧 Refactor: Update import paths for exception handling and improve logging formatting in prompt_service.py * 🔧 Refactor: Simplify lazy imports in jiuwen_sdk_adapter.py and update import paths in prompt_service.py * 🔧 Refactor: Enhance Jiuwen SDK adapter handling and improve test stubs in prompt_service.py and related test files * 🧪test:Pydantic model for PromptTemplateRequest in test_prompt_template_app.py * 🔧 Refactor: Remove unnecessary dependency exclusions from pyproject.toml * 🔧 Update: Upgrade huggingface_hub dependency version in pyproject.toml * 🔧 Update: Exclude unnecessary transitive dependencies and adjust huggingface_hub version in pyproject.toml * 🔧 Test: Add mock modules for unstructured inference and set up package paths in test files * 🔧 Test: Enhance test setup by adding optional SDK mocks and cleaning up module imports in data processing tests * 🔧 Test: Consolidate mock module setup for unstructured inference across multiple test files * 🔧 Test: Remove unused optional SDK mocks from test configuration * 🔧 Refactor: Clean up imports and enhance dynamic loading of fastmcp components in Docker client * 📦update:sdk dependence update * Add CAS SSO integration and improve logout handling (#3072) * feat: add CAS SSO integration * Skip CAS logout when CAS_LOGOUT_URL is unset * 取消转义 * Improve CAS logout handling and confirm user logout * Disable account deletion for CAS users * Add CAS session init SQL and k8s config * clean code * Remove agent guardrails design doc from tracking * 补充文档 --------- Co-authored-by: hhhhsc <name> * 🐛Bugfix: Remove unnecessary dependency exclusions and upgrade huggingface_hub version in pyproject.toml (#3211) * refactor: move current time from system prompt to user message for prompt cache stability (#3203) Remove {{time}} from all 4 prompt YAML templates (manager/managed × en/zh) and strip time_str from the context_utils pipeline (_format_app_context, build_skeleton_header_component, build_context_components, build_app_context_string). Also remove time from create_agent_info render kwargs and build_context_components call. In CoreAgent.run, prepend [Current time: ...] to self.task so the timestamp travels with the user message instead of being baked into the system prompt. This makes the rendered system prompt fully deterministic per (agent_id, tenant_id, version_no, language) — enabling prompt/KV cache hits across requests for the same agent config. Sync test_context_utils.py: drop time_str= from 3 test cases. Remove unused datetime imports from context_utils.py and create_agent_info.py. * 🐛 Bugfix: Fixed the issue of being unable to add MCP services via containerization. (#3213) [Specification Details] 1. Modify the DEFAULT_NETWORK_NAME when starting the MCP service in the container to match the name in docker-compose. 2. Modify the parameters passed to the add_mcp_service method; custom_headers defaults to None. * 🐛 Bugfix: Fixed the issue where uploaded text files could not be parsed during a session. (#3219) * 🐛 Bugfix: Fixed the issue where uploaded text files could not be parsed during a session. [Specification Details] 1. The return parameter of the file_process method has changed and needs to be unpacked. * 🐛 Bugfix: Fixed the issue where uploaded text files could not be parsed during a session. [Specification Details] 1. Modify test case. * 🐛 Bugfix: Fixed an issue where the MCP service could not be added correctly after updating the FastMCP version. (#3222) [Specification Details] 1. Add `kwargs` to the `create_httpx_client` function to accept all additional parameters. * 🐛 Bugfix: Fix incomplete display of tenant resources page after window resize (#3215) * Move non-shadcn ui component to other folder * Bugfix: Fix incomplete display of tenant resources page after window resize * Bugfix: Fix incomplete display of tenant resources page after window resize * Add agent marketplace repository and version pinning for sub-agents (#3239) * feat: add agent marketplace repository and pin sub-agent versions at publish Introduce ag_agent_repository_t with list/status/publish/import APIs for frozen agent snapshots. Pin selected_agent_version_no on agent relations when publishing so sub-agents resolve to a fixed version at runtime. Extend agent export/import to bundle skills in ZIP payloads and add embedding model fallback when no model name is provided. * feat: add agent marketplace repository and pin sub-agent versions at publish Introduce ag_agent_repository_t with list/status/publish/import APIs for frozen agent snapshots. Pin selected_agent_version_no on agent relations when publishing so sub-agents resolve to a fixed version at runtime. Extend agent export/import to bundle skills in ZIP payloads and add embedding model fallback when no model name is provided. * feat: add agent marketplace repository and pin sub-agent versions at publish Introduce ag_agent_repository_t with list/status/publish/import APIs for frozen agent snapshots. Pin selected_agent_version_no on agent relations when publishing so sub-agents resolve to a fixed version at runtime. Extend agent export/import to bundle skills in ZIP payloads and add embedding model fallback when no model name is provided. * feat: add agent marketplace repository and pin sub-agent versions at publish Introduce ag_agent_repository_t with list/status/publish/import APIs for frozen agent snapshots. Pin selected_agent_version_no on agent relations when publishing so sub-agents resolve to a fixed version at runtime. Extend agent export/import to bundle skills in ZIP payloads and add embedding model fallback when no model name is provided. * feat(agent): add verification configuration for agents and update related components (#3174) * feat(agent): add verification configuration for agents and update related components * feat(model): update model type labels and add monitoring dashboard translations * 🐛 Bugfix: Fix inability to select agent from agent space to edit (#3240) * Move non-shadcn ui component to other folder * Bugfix: Fix incomplete display of tenant resources page after window resize * Bugfix: Fix incomplete display of tenant resources page after window resize * Bugfix: Fix inability to select agent from agent space to edit * Bugfix: Display correct version info when viewing agent details * Update data agent and ME CAS integration documentation (#3242) * 补充dataagent对接文档 * 补充ME cas对接文档 * 补充ME cas对接文档 --------- Co-authored-by: hhhhsc <name> * ✨ Add several northbound apis (#3223) * ✨ Add several northbound apis * ✨ Add several northbound apis * ✨ Add several northbound apis * ✨ Add several northbound apis * ✨ Add several northbound apis * refactor: simplify deployment script by removing unused variables and functions (#3245) * feat(agent): add verification configuration for agents and update related components * feat(model): update model type labels and add monitoring dashboard translations * refactor(build_offline_package): simplify deployment script by removing unused variables and functions * 🐛 Bugfix: Adjust agent detail UI layout to accommodate newly added "self-verification" field (#3246) * Move non-shadcn ui component to other folder * Bugfix: Fix incomplete display of tenant resources page after window resize * Bugfix: Fix incomplete display of tenant resources page after window resize * Bugfix: Fix inability to select agent from agent space to edit * Bugfix: Display correct version info when viewing agent details * Bugfix: Adjust agent detail UI layout to accommodate newly added "self-verification" field * 补充sql (#3248) * 补充sql * 扩大limit限制 * 🐛 Bugfix: Fixed an issue where the MCP service failed to start in a Kubernetes container. (#3254) [Specification Details] 1. Modify the pod naming logic to convert all non-compliant characters to -. 2. Modify test cases. * 🐛 Bugfix: knowledge_base_search_tool called with TypeError: argument of type 'FieldInfo' is not iterable (#3259) * 🐛 Bugfix: Fixed an issue where the one-click rename function failed after importing an agent. (#3258) [Specification Details] 1. The frontend does not pass `agent_id` when calling the `regenerate_name` API. * Bugfix: Exclude attachments from assistant when saving conversation history (#3261) * Bump APP_VERSION from v2.2.0 to v2.2.1 (#3268) The default setting for client-side self-validation is "False". --------- Co-authored-by: chase <byzhangxin11@126.com> Co-authored-by: Chenlifeng <174292121+Lifeng-Chen@users.noreply.github.com> Co-authored-by: Dallas98 <40557804+Dallas98@users.noreply.github.com> Co-authored-by: Jason Wang <56037774+JasonW404@users.noreply.github.com> Co-authored-by: Xia Yichen <iamjasonxia@126.com> Co-authored-by: JeffWu <45140512+jeffwu-1999@users.noreply.github.com> Co-authored-by: WMC001 <46217886+WMC001@users.noreply.github.com> Co-authored-by: xuyaqi <xuyaqist@gmail.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: DongJiBao2001 <120021235+DongJiBao2001@users.noreply.github.com> Co-authored-by: hhhhsc701 <56435672+hhhhsc701@users.noreply.github.com> Co-authored-by: Dallas98 <990259227@qq.com> Co-authored-by: frr <64584192+wuyuanfr@users.noreply.github.com> * Revert "Release/v2.2.1 (#3269)" (#3272) This reverts commit 9ff420e. * Feat: Add agent guardrail (safety content screening) Add a configurable pattern-matching guardrail that screens LLM input, tool args, and tool output in the ReAct loop, with a two-layer severity model so blocked content is handled correctly per its lifecycle stage. Two-layer severity: - Layer 1 (user config): GuardrailRule (regex + severity block/mask/pass) nested in AgentVerificationConfig.guardrail_config, persisted as JSONB. - Layer 2 (hardcoded policy): SeverityResolver maps (severity, source) -> effective_action. block + new_input -> terminate; history/tool_output -> mask (can't block without looping / already executed); tool_input -> block (genuine pre-execution block). Prevents infinite-retry loops and meaningless blocks on irreversible content. Three checkpoints (CoreAgent): - ① LLM input: per-message screen before model(); terminate -> refuse and end run via FinalAnswerError; mask -> redact messages. - ③ tool input: wrap Tool.forward, screen resolved args before run; block -> skip tool + refuse; mask -> run with redacted args. - ② tool output: screen observation after run; mask -> redact before memory (never blocks, so ② never loops). GuardrailEngine is fail-open (engine errors degrade to pass). A circuit breaker upgrades a repeated identical (rule, matched_text, source) block to terminate so the agent can't stubbornly retry a blocked call. Refusals are pre-built zh/en templates (no LLM call), locale picked by CJK detection. Files: - sdk: agent_model.py (guardrail types), verification.py (SeverityResolver, GuardrailEngine, check_input/check_output/check_tool_args, refusal tpl), core_agent.py (FinalAnswerError/ToolInputBlockedError, _guardrail_wrap, checkpoint wiring). - frontend: GuardrailConfigPanel.tsx (rule management UI), agentConfig.ts (types + defaults), agentConfigStore.ts, zh/en i18n, AgentGenerateDetail. * 🐛 Bugfix: Fix guardrail mask breaking structured model output _set_msg_text replaced OpenAI list-part content ([{'type':'text','text':...}]) with a bare string, causing 'string indices must be integers' in smolagents get_clean_message_list (models.py:355) which expects content[-1]['type']. Now preserves list structure: writes [{'type':'text','text':masked}] when content is a list. Also: - Refactor check_input: extract _screen_message helper (Sonar cognitive complexity 25->~10), reuse _mask_value for redaction. - Default rules: 9 prebuilt rules (4 PII mask + 5 dangerous ops block), with CJK-aware regex (lookbehind (?<![A-Za-z]) instead of \b which fails when a CJK char precedes the command, e.g. 执行rm -rf). Co-Authored-By: Claude <noreply@anthropic.com> * ✨Feat: integrate guardrail into advanced settings modal + fix AI regex JSON parsing - Extract GuardrailConfigContent component (forwardRef + getDraft), move from standalone modal to second tab in advanced settings modal - Move enable switch to rule-list header row; disable AI generation and add-rule entry when guardrail is off - Fix backend prompt_service: LLM-returned regex with unescaped backslashes broke JSON parsing - Add agent.advancedSettings.tab.basic i18n (zh/en) * ✨Feat: guardrail UI polish — pagination, unsaved highlight, switch placement - Move enable switch to rule-list header row; disable AI generation and add-rule when guardrail is off - Add 5-per-page pagination with showTotal indicator - New/duplicated/imported rules are unshifted to top and highlighted - Persistently highlight unsaved rules (not in committed config) until confirmed - Fix i18n interpolation: {{count}} was not passed to t() - Delete dead files: GuardrailConfigModal, GuardrailConfigPanel, GuardrailSummaryCard - Backend: fix LLM-returned regex with unescaped backslashes breaking JSON parsing; translate comments/logs to English --------- Co-authored-by: panyehong <91180085+YehongPan@users.noreply.github.com> Co-authored-by: chase <byzhangxin11@126.com> Co-authored-by: Chenlifeng <174292121+Lifeng-Chen@users.noreply.github.com> Co-authored-by: Dallas98 <40557804+Dallas98@users.noreply.github.com> Co-authored-by: Jason Wang <56037774+JasonW404@users.noreply.github.com> Co-authored-by: Xia Yichen <iamjasonxia@126.com> Co-authored-by: WMC001 <46217886+WMC001@users.noreply.github.com> Co-authored-by: xuyaqi <xuyaqist@gmail.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: DongJiBao2001 <120021235+DongJiBao2001@users.noreply.github.com> Co-authored-by: hhhhsc701 <56435672+hhhhsc701@users.noreply.github.com> Co-authored-by: Dallas98 <990259227@qq.com> Co-authored-by: frr <64584192+wuyuanfr@users.noreply.github.com> Co-authored-by: jeffwu <meetjeff.wu@gmail.com> Co-authored-by: Claude <noreply@anthropic.com>
* ✨ Feature: Secure sandbox and control [Specification Details] 1. A Docker container is launched to serve as a sandbox; different `agent_run` instances request distinct Jupyter kernels and execute code within them. * ✨ Feature: Secure sandbox and control [Specification Details] 1. Fix test cases. * ✨ Feature: Secure sandbox and control [Specification Details] 1. Add test cases. * ✨ Feature: Secure sandbox and control [Specification Details] 1. Add test cases. * ✨ Feature: Secure sandbox and control [Specification Details] 1. Add test cases. * ✨ Feature: Secure sandbox and control [Specification Details] 1. Add test cases. * ✨ Feature: Secure sandbox and control [Specification Details] 1. Add test cases. * ✨ Feature: Secure sandbox and control [Specification Details] 1. Modify test cases. * ✨ Feature: Secure sandbox and control [Specification Details] 1. Add image build to workflows. 2. Add image properties auto change to deployment. --------- Co-authored-by: XUYAQIDE\xuyaq <xuyaqist@gmail.com>
…cted with wrong tenant_id (#3465) * 🐛 Bugfix: SkillManager lifecycle bug causing local_skill_path constructed with wrong tenant_id * 🧪 Update test files * 🐛 Bugfix: SkillManager lifecycle bug causing local_skill_path constructed with wrong tenant_id * 🧪 Update test files * 🧪 Update test files * 🧪 Update test files * 🧪 Update test files
…torTool (#3481) Bug: MCP tool refresh fails when scanning all tool classes because ParallelExecutorTool lacks the 'category' attribute that other tools define (e.g. store_memory uses DATABASE, search_memory uses SEARCH). Trigger: MCP service refresh iterates over all tool classes and accesses .category attribute. When it reaches ParallelExecutorTool, the missing attribute raises AttributeError. Root cause: ParallelExecutorTool was added as a system-managed tool without the category and tool_sign class attributes that all other tools define. The smolagents Tool base class does not provide defaults. Fix: Set category = None and tool_sign = None on ParallelExecutorTool. The tool is an orchestration utility (not search/file/email/etc.), so None is the correct value. Verification: Called POST /mcp/refresh-tools?mcp_id=1 which returned {'message': 'Tool count refreshed', 'status': 'success'}. Previously this would have failed with AttributeError during tool iteration. Co-authored-by: Claude <noreply@anthropic.com>
* basic * mcp用户权限 * test case fix * test case fix * test case fix * test case fix * test case fix * test case fix * add test case * fix test case * add test case * fix test case * add test case * add test case * sql migrations * MCP space UI * agent配置可见性修改 * 本地镜像标签可见性修改 * 存量mcp权限设置
…t formatting (#3482) PR #3475 refactored prompt management from YAML templates into the context-based formatting system. The parallel scheduling guidance for Manager agents was previously defined in manager_system_prompt_template_*.yaml and was lost during the migration. This commit restores the guidance in the new location: - sdk/nexent/core/agents/context/formatting.py (en + zh) Co-authored-by: Claude <noreply@anthropic.com>
…3480) * feat: align skill repository behavior with agents * feat: align skill visibility and repository permissions * fix: align skill sorting and agent config editing * test: isolate skill service module mocks * chore: move skill migration to v2.4.0 * fix: hide group settings in read-only skill detail * fix: refine skill detail editor and quality checks * add test case * fix test case * add test case
* 🐛 Bugfix: Implement knowledge base read permission controls and filtering (#3339) * ✨ Add unit tests for permission_utils: Implement comprehensive tests for knowledge base edit and read permission checks, ensuring correct HTTP status code mapping for various scenarios. This includes handling ValueError and PermissionError exceptions, validating the behavior of the FastAPI adapter layer.
* feat(agent-config): add agent and skill search * refactor(agent-config): reduce selector duplication
…lls (#3577) * 🐛 Bugfix: Memory status fix 🐛 Bugfix: Cannot choose multimodal processed knowledge base in tool configuration 🐛 Bugfix: Patch several security issues on interfaces 🐛 Bugfix: Official skill not found when missing allowed-tools * 🐛 Bugfix: Knowledge base created by embedding model (using same) throwing 500 elasticsearch error * 🧪 Add test files * 🧪 Add test files * 🧪 Add test files * 🐛 Bugfix: knowledge base search skill frontend * ♻️ Fix uncontrolled data used in path expression
* feat: implement scheduled-task proposal tool and enhance automation context handling * refactor: streamline scheduled task proposal handling and remove idempotency key * feat: enhance message indexing and history handling for user messages * test: stub conversation unit updater in automation runner tests * feat: enhance message indexing and history handling for user messages * feat: enhance message indexing and history handling for user messages
…ON on API add (#3581) * 社区容器化MCP安装优化; 多租户市场隔离; MCP列表缓存与过滤一致性; 本地镜像上传补充; * fix * fix * 修复前端崩溃问题; 修复outer-apis不显示的问题 * 修复同名绕过问题 * fix test case * 修复删除mcp后,选择工具中仍有残留的问题; 修复英文页面存在中文问题; 修复保存后页面不会自动关闭的问题; 修复上传镜像后的错误提示; * test case * 1. 端口映射修复(docker_client.py):新增 _detect_container_port,从镜像 CMD 检测内部端口(如 mcp-echarts 的 --port 3033),端口映射改为宿主→容器内部端口,修复此类镜像连不上问题。 2. 工具扫描防误隐藏(tool_db.py + tool_configuration_service.py):update_tool_table_from_scan_tool_list 新增 enabled_mcp_names,启用中 MCP 的工具在瞬时扫描失败时保留可用状态,不再被误隐藏。 * fix test case * fix test case * fix test case * fix test case * fix test case * fix test case * docker/k8s部署nexent时,通过容器化部署添加mcp使用统一端口; 修复api添加mcp显示错误问题,增加前端必选字段要求; * fix(mcp): api类型添加mcp必填OpenAPI校验与空配置容器误判修复;补充测试 * revert: remove .env ignore lines from .dockerignore * 本地运行时保留端口输入
…n and provider save (#3575) * 🐛 Bugfix: lock model config inputs during connectivity verification to prevent stale responses * 🐛Bugfix: resolve stale apiKey state race in provider config dialog“
* fix: prevent duplicate skill frontmatter * fix: preserve skill markdown body on save
… review center (#3586) Align zh/en docs with the current agent-space UI (admin vs developer tabs) and add matching screenshots under assets/resource-repository.
* feat(resource-manage): consolidate platform quota settings * fix(quota): allow speed mode platform access
* 📝docs:update kbs docs * docs:update_en_kbs
* 📝docs:update kbs docs * docs:update_en_kbs * docs:delete spec doc
* 子agent添加版本号展示 * 子agent添加版本号展示 * 调整子agent版本号样式 * versionno为null获取最新的返回 * 复制时写入子智能体版本号 * 修复type check * fix unit test * fix unit test * 修改ai检视 * 修改字体 * agentrelation表添加主键声明 * 单元测试 * 单元测试 * 单元测试 * 合并develop冲突
…3588) - Remove volcano_tts and volcano_stt INSERT seed data from deploy/sql/init.sql - Remove generate_tts_stt_4_admin() function from user_management_service.py - Remove generate_tts_stt_4_admin import and call from oauth_service.py - Remove related test cases and patch decorators from test_user_management_service.py These model records were created with empty API keys and incorrect model_factory (OpenAI-API-Compatible instead of volc), causing HTTP 401 on every STT/TTS connectivity check. New tenants and fresh deployments will no longer auto-create these broken records. Co-authored-by: jeffwu <meetjeff.wu@gmail.com>
* ♻️ Clean up️ debug logs ♻️ Fix frontend agent-config page display * 🧪 Add test files * 🧪 Add test files
…ocal knowledge base (#3589) * Bugfix: 修复无法从本地知识库检索图片和预览文档的问题 * 更新create-doc相关skill指导 * 更新文档 * 更新review建议 * 生成智能体的时候,不切换tab页 * 更新markdown * 更新doc * 更新文档
Co-authored-by: hzw <hzw@qq.com>
Avoid false model-mismatch blocks on multimodal knowledge bases when modelName differs from the stored display_name.
Co-authored-by: hzw <hzw@qq.com>
* docs: update skill repository user guide * docs: clarify skill editing guidance
… MCP (#3601) * 社区容器化MCP安装优化; 多租户市场隔离; MCP列表缓存与过滤一致性; 本地镜像上传补充; * fix * fix * 修复前端崩溃问题; 修复outer-apis不显示的问题 * 修复同名绕过问题 * fix test case * 修复删除mcp后,选择工具中仍有残留的问题; 修复英文页面存在中文问题; 修复保存后页面不会自动关闭的问题; 修复上传镜像后的错误提示; * test case * 1. 端口映射修复(docker_client.py):新增 _detect_container_port,从镜像 CMD 检测内部端口(如 mcp-echarts 的 --port 3033),端口映射改为宿主→容器内部端口,修复此类镜像连不上问题。 2. 工具扫描防误隐藏(tool_db.py + tool_configuration_service.py):update_tool_table_from_scan_tool_list 新增 enabled_mcp_names,启用中 MCP 的工具在瞬时扫描失败时保留可用状态,不再被误隐藏。 * fix test case * fix test case * fix test case * fix test case * fix test case * fix test case * docker/k8s部署nexent时,通过容器化部署添加mcp使用统一端口; 修复api添加mcp显示错误问题,增加前端必选字段要求; * fix(mcp): api类型添加mcp必填OpenAPI校验与空配置容器误判修复;补充测试 * revert: remove .env ignore lines from .dockerignore * 本地运行时保留端口输入 * 恢复“docker/k8s部署nexent时,通过容器化部署添加mcp使用统一端口”,删除本地镜像上传mcp时推荐端口按键,由用户自己输入; 修复agent配置中删除mcp不能在已选工具列表中马上刷新的问题; * fix: 解决 develop 合并冲突,保留取消 Docker/K8s 虚拟端口机制 合并 develop 后,MCP 端口相关文件被 develop(#3581)的虚拟端口机制覆盖, 导致 readonlyHintKey 未定义却被引用、CI 类型检查失败。恢复本分支版本: - 移除 mcp_ports_virtual/固定默认端口 5020/跳过端口冲突检查逻辑 - 移除 readonlyHintKey/portUnifiedHint,本地镜像上传无推荐端口按钮 - 保留 develop 在 locale 中的 chatInput 改动 * mcp仓库user guide更新
* 📝docs: Update the model management page documentation * fix:fix management to config * fix:fix wrong link
* Bugfix: 修复无法从本地知识库检索图片和预览文档的问题 * 更新create-doc相关skill指导 * 更新文档 * 更新review建议 * 生成智能体的时候,不切换tab页 * 更新markdown * 更新doc * 更新文档 * Update docs & 支持图片点击放大 * add en start-chat doc * 更新文档&修复点击new无法进入新建智能体
… were not visible to the creators themselves. (#3600) * 🐛 Bugfix: Fixed an issue where knowledge bases created by 'dev' users were not visible to the creators themselves. [Specification Details] 1. Adjusted the logic sequence for permission checks, prioritizing the check for whether the user is the creator. 2. Modify test cases. * 🐛 Bugfix: Fixed an issue where knowledge bases created by 'dev' users were not visible to the creators themselves. [Specification Details] 1. Add test cases.
…d interface. (#3603) [Specification Details] 1. Remove the metadata query logic from the Northbound API's conversation query. 2. Modify test cases.
Co-authored-by: hhhhsc <name>
| """Serialize allocation conflicts consistently for quota clients.""" | ||
| return JSONResponse( | ||
| status_code=HTTPStatus.CONFLICT, | ||
| content={"error": exc.error, "message": str(exc), **exc.details}, |
Comment on lines
+92
to
+99
| content={ | ||
| "error": "TenantStorageFull", | ||
| "message": str(exc), | ||
| "usage_bytes": exc.usage_bytes, | ||
| "hard_limit_bytes": exc.hard_limit_bytes, | ||
| "exceeded_by_bytes": exc.exceeded_by_bytes, | ||
| "trace_id": trace_id, | ||
| }, |
| }) | ||
| resp.append(combined) | ||
|
|
||
| return {"result": resp} |
| num=topk, | ||
| return_score=False | ||
| ) | ||
| return {"result": results} |
Comment on lines
+415
to
+418
| return { | ||
| "result": [], | ||
| "error": str(e) | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.