🐛 Bugfix: Fix skill count display error when delete a skill has been selected#3415
Merged
Conversation
Dallas98
added a commit
that referenced
this pull request
Jul 16, 2026
* 🐛 Bugfix: Guard memory_user_config against None in store/search memory tools (#3359)
* 🐛 Bugfix: Guard memory_user_config against None in store/search memory tools
Add None checks before accessing memory_user_config attributes in
StoreMemoryTool and SearchMemoryTool. When config is unavailable,
apply conservative default (agent_share_option='never') to prevent
unintended cross-agent memory sharing.
* fix(memory): restore hidden tabs and hide Tenant Shared in speed mode
- Fix nested array syntax bug that hid Tenant Shared and Agent Shared tabs
- Conditionally hide Tenant Shared tab when isSpeedMode=true (no tenant concept)
- All 5 tabs now properly visible in non-speed mode
- 4 tabs visible in speed mode (Tenant Shared hidden)
* test: add coverage for memory None guard, duplicate cleanup, and system tool filtering
- test_store_memory_tool: add None config, _run_coroutine tests
- test_search_memory_tool: add None config, _run_coroutine tests
- test_memory_config_service: add duplicate record cleanup tests
- test_tool_configuration_service: add SYSTEM_MANAGED_TOOL_NAMES filter test
* ✨Feat:Integrate openjiuwen's intelligent agent evaluation function close#3188 (#3356)
* ✨Feat:add prompt optimization
* 🐛Bugfix: dockerbuild failed when running pipefail in python3_11
* 🔨Optimize: Optimize prompt optimization display page and interaction methods
* ✨Feat:add agent evaluator
* 🐛Bugfix: fix fronted and report download
* 🐛 Bugfix: Add xlrd dependency and improve openjiuwen SDK adapter to handle circular imports more effectively. Update import paths in frontend components for consistency.
* ♻️Refactor: frontend style refact
* 🔨Rename evaluator sql
* ♻️ Refactor: Optimize the frontend page for agent evaluation
* ♻️Refactor: update modal mask properties for consistency
* ♻️ Refactor: Simplify locale handling and clean up imports in OAuthCompletePage and UserManageComp
* ✨ Feature: Enhance agent evaluation with Chinese output directive and new database migrations
* 🔧 Update: Change button variant from "outline" to "outlined" in EvaluationConfigCard and EvaluationReportCard components; enhance datetime handling in test_client.py to ensure correct timezone representation.
* 🧪Test: Add unit tests for the jiuwen_sdk_adapter to verify module-level behavior and side effects.
* 🔧 Update: Refactor the mock invocation in test_jiuwen_sdk_adapter to use an async function for better compatibility with asynchronous tests.
* 🧪 Test: Add comprehensive unit tests for evaluation set functionality, including CRUD operations and Excel parsing, to ensure robust behavior and error handling.
* 🧪 Test: Add extensive unit tests for Jiuwen SDK adapter and evaluation services, covering lazy imports, log envelope parsing, and case validation to enhance error handling and ensure robust functionality.
* 🔧 Update: Consolidate judge_model_id addition into agent_evaluation_t migration, removing the separate migration file for improved installation simplicity and ensuring idempotency in existing environments.
* 🔧 Update: Introduce a consolidated migration file for agent evaluation, combining previous separate migrations into a single idempotent script for improved installation simplicity and clarity. This includes the addition of evaluation tables and the pass_status column, ensuring all necessary structures are created in one step.
* fix:Fix share link copy fallback (#3340)
* feat: add conversation share
* add ut test
* add conversation share db tests
* Fix share link copy fallback
* 🐛 Bugfix: Update homepage redirect link (#3376)
* Bugfix:add crypto.randomUUID() fallback in http
* Bugfix: Update homepage redirect link
* 🐛 Bugfix: Tool debugging bug fixes. (#3371)
[Specification Details]
1. Standardizing the styling of debugging pop-ups in frontend tools.
2. Tool debugging configuration parameters are retrieved from the store rather than from the API each time.
* 🐛 Bugfix: W11 capacity suggestion for batch gear modals + model add/edit fixes (#3355)
* fix(model): stop sending hidden form.provider as modelFactory on single-add
Single-add mode has no provider dropdown — form.provider stays at its
hidden default 'modelengine', which was forwarded as modelFactory to
the backend, overriding the Pydantic default 'OpenAI-API-Compatible'.
Introduced in 4becd6992 which added modelFactory: form.provider to both
save paths but missed the isBatchImport guard already present on the
suggest-capacity path in the same commit.
STT/TTS paths are unaffected — they set modelFactory from
form.sttProvider/ttsProvider downstream. Embedding is unaffected —
backend _infer_model_factory overrides from base_url.
* refactor: move generate_backfill_sql.py to deploy/sql/migrations/
The script's sole purpose is generating SQL migration files that live
in deploy/sql/migrations/. Keeping the generator alongside its output
is more natural than a standalone top-level scripts/ directory.
- Updated _project_root path (three levels up instead of one)
- Updated docstring usage path and generated SQL self-reference
- Removed empty scripts/ directory
* fix: preserve embedding legacy inference, extend VLM only
- Embedding/multi_embedding keeps old logic (only dashscope recognized)
- VLM uses extended inference so tokenpony URLs can trigger catalog healthcheck
- Prevents unintended behavior change for embedding models
* fix(ui): reorganize agent config layout - maxSteps+provideSummary on row1, outputReserve+verification on row2
* test(W11): add normalize_model_name, _fuzzy_catalog_match, and Pydantic constructor-audit tests
Spec 'Tests and Release Evidence' explicitly requires these three test
groups. Previously they were only exercised indirectly through
suggest_capacity integration paths.
normalize_model_name (14 parametrized cases + convergence test):
- Case folding, separator collapsing (dash/underscore/dot/slash/space)
- Whitespace trimming, empty string, mixed separators
- Catalog entry convergence: full-name variants (GPT-4o/gpt-4o) and
final-segment variants (Kimi-K2.6 vs Pro/moonshotai/Kimi-K2.6)
_fuzzy_catalog_match (6 cases):
- Normalized name match, unique final-segment fallback
- Ambiguous final-segment rejection (two entries same final segment)
- Empty catalog, wrong provider, unrelated name
Pydantic constructor-audit (7 tests, skip when SDK deps unavailable):
- CapacitySuggestionFields: model_dump shape pin, all-optional defaults
- ModelCapacitySuggestionResponse: catalog_exact shape pin, none shape
pin, invalid match_kind rejection
- CapacityCoverageBareModel: model_dump shape pin
- CapacityCoverageResponse: model_dump shape pin
Results: 37 passed, 7 skipped (Pydantic tests skip when consts.model
import chain is unavailable due to missing SDK deps).
* feat(W11): add capacity suggestion to batch gear modals
Add manual check-button capacity suggestion to the two batch per-row
gear modals, matching the single-model Add/Edit pattern:
ModelAddDialog.tsx (batch-add per-row gear):
- Add gear-scoped suggestion state (enabled, checking, suggestion,
accepted, request ref for race-condition guard)
- Add handleGearSuggestCapacity with monotonic token stale guard
- Add applyGearCapacitySuggestion using capacityFormFromSuggestion
- Render Switch + Check button toolbar above ModelCapacityFields
- Pass suggestion/suggestionLoading/onUseSuggestion/acceptedSuggestion
props to ModelCapacityFields
- handleSettingsSave writes accepted_suggestion_match_kind and
accepted_capability_profile_version audit fields onto the row
- Clear suggestion state on gear modal open
ModelEditDialog.tsx (ProviderConfigEditDialog per-row gear):
- Add modelName/baseUrl props to interface
- Add suggestion state, handleSuggestCapacity, applyCapacitySuggestion
- Render Switch + Check button in supportsCapacityFields mode only
(NOT in bulk-apply / hideCapacityFields mode)
- Pass suggestion props to ModelCapacityFields
- handleSave spreads accept-signal fields into onSave payload
- Add acceptedSuggestionMatchKind/acceptedCapabilityProfileVersion
to onSave callback type
ModelDeleteDialog.tsx:
- Pass modelName and baseUrl from selectedSingleModel to per-model
gear ProviderConfigEditDialog (NOT to provider-level invocation)
- Forward accepted_suggestion_match_kind and
accepted_capability_profile_version in updateBatchModel payload
No auto-suggest — manual check button only, per spec.
* chore(i18n): remove dead agent.modelSelector.bareCapacity.subtitle key
Spec 'Agent-Edit Model Selector Warning' explicitly states V1 dropdown
does not render a persistent subtitle. Code only uses .tooltip. Dead key.
* fix(W11): pass correct modelName/baseUrl to batch-edit gear suggestion
providerModel uses 'id' as model name (not model_name/name), and
base_url is provider-level (not on individual model objects). The
Check button was always disabled because both resolved to empty string.
Fix:
- modelName: add selectedSingleModel?.id as fallback
- baseUrl: use getProviderBaseUrlByType(deletingModelType) directly
* fix(W11): remove emptyHint Alert and i18n keys
The 'provider list has no capacity info' Alert is misleading in all
contexts: batch-add unchecked models, batch-edit gear with check button,
and single-edit with suggestion. Delete the component and both locale keys.
* fix(W11): reset suggestion state when switching models in batch-edit gear
ProviderConfigEditDialog's useEffect already resets capacityForm on
prop change but missed the suggestion state. Adding modelName/baseUrl
to deps and resetting capacitySuggestion/acceptedCapacitySuggestion/
enabled/checking on every prop change prevents stale suggestion from
the previous model leaking into the next gear dialog.
* fix: preserve saved model capacity in batch edit
* fix: persist batch gear model config edits
* fix: pass provider hint for batch capacity suggestions
* refactor: extract useCapacitySuggestion hook to deduplicate suggestion lifecycle
Consolidate the /suggest-capacity API call state machine (loading flag,
race-condition token, suggestion result, accepted suggestion) that was
duplicated across four call sites into a single reusable hook.
Call sites refactored:
- ModelEditDialog (top-level edit form)
- ProviderConfigEditDialog (per-row gear config edit)
- ModelAddDialog (top-level add form)
- ModelAddDialog (batch gear modal)
Net reduction: ~49 lines. No behavioral changes — the monotonic request
token, error handling, and state cleanup logic are preserved identically.
* refactor: simplify capacity suggestion UI — remove noise tags and localize
Remove four low-value elements from the suggestion result panel:
- matchExplanation (unlocalized backend English)
- matchConfidence tag (high/medium/low)
- suggestedProvider tag (internal backend concept)
- noExplanation fallback text
Keep only what the operator needs:
- canonical model name (bold, first position)
- match kind (exact/fuzzy, without redundant 'catalog' prefix)
- 'Use suggestion' button
- fuzzy-match warning when canonical name not accepted
When no suggestion is found, show a localized description instead of
the generic 'no additional details' fallback.
* ♻️ Refactor: Auto-create conversation when conversation_id is empty in agent/run (#3380)
* Bugfix:add crypto.randomUUID() fallback in http
* Bugfix: Update homepage redirect link
* Refactor: Auto-create conversation when conversation_id is empty in agent/run
* Bugfix: skip conversation auto-create in debug mode
* 修复单元测试
* 新增UT
* 新增UT测试
* 修改单元测试
* Feat/opt agent context refactor v2 (#3383)
* fix(context): use ContextManager uncompressed baseline for save% metric
Previously _last_uncompressed_est was set from input_messages which are
already compressed by prepare_step, making est_raw_i always equal est_i
and save% structurally ~0%. Now pull the truly-uncompressed token count
from ContextManager.get_token_counts()['last_uncompressed'], recorded in
compress_if_needed from the raw memory before compression.
Co-Authored-By: Claude <noreply@anthropic.com>
* chore: expose temp_scripts test harness for cross-machine sync
Add test scripts and fixtures used during context-manager refactor
development. Only .py and .md files are tracked; .out run artifacts
remain ignored via .git/info/exclude.
Co-Authored-By: Claude <noreply@anthropic.com>
* chore: add .gitignore in temp_scripts to suppress .out/.log artifacts
Co-Authored-By: Claude <noreply@anthropic.com>
* chore: allow common ops by default, keep rm/mv/git push as ask
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor: extract SummaryTaskStep and ManagedRunContext into summary_step.py
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
* refactor: extract pure budget/cache/fingerprint helpers into budget.py
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
* refactor: extract LLMSummary class into llm_summary.py
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
* refactor: extract StepRenderer and compress_history_offline into step_renderer.py
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
* refactor: extract PreviousCompressor into previous_compression.py
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
* refactor: extract CurrentCompressor into current_compression.py
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
* refactor: extract compression stats functions into stats_export.py
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
* refactor: extract ContextManager orchestrator into manager.py
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
* fix: correct relative import depth for utils.token_estimation
The token_estimation module lives at core/utils/, not agents/utils/.
From agent_context/ sub-package, three dots (...utils) are needed
instead of two (..utils).
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
* refactor: wire agent_context package with __init__.py re-exports and remove monolith
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
* refactor: update test loader for agent_context package structure
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
* refactor: update tests to use standalone functions from decomposed agent_context package
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
* fix: align extra compression tests with v2 compressor behavior
The v2 PreviousCompressor and CurrentCompressor do not fall through
from incremental to fresh when LLM returns None - they return
PreviousCompressResult/CurrentCompressResult(summary_text=None)
immediately. Updated tests P3, C4 to match this behavior.
Updated P4 and C6_asymmetry to patch _summarize_pairs with
PreviousCompressResult instead of raw tuples.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
* fix: correct relative import depth for context_runtime.contracts
The context_runtime package lives at core/context_runtime/, not
agents/context_runtime/. From agent_context/ sub-package, three dots
(...context_runtime) are needed instead of two (..context_runtime).
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
* chore: untrack temp_scripts and settings.local before PR
Co-Authored-By: Claude <noreply@anthropic.com>
* chore: restore .claude/settings.local.json to match upstream
Co-Authored-By: Claude <noreply@anthropic.com>
* test: add coverage for stats_export, step_renderer, and budget modules
- New test_stats_export.py: 21 tests covering all pure functions (100%)
- New test_step_renderer.py: 24 tests covering truncation, rendering,
compress_history_offline with mock LLM (49%→86%)
- Extended test_pure_functions.py: tests for _is_context_length_error,
has_invoked_tools, message_role, trim_pairs_to_budget (92%→97%)
Overall agent_context package coverage: 71% → 81%
Co-Authored-By: Claude <noreply@anthropic.com>
* test: add llm_summary error-handling and output-format coverage (72%→100%)
Co-Authored-By: Claude <noreply@anthropic.com>
* test: cover _step_stream uncompressed estimation path in core_agent
Adds two tests:
- test_step_stream_uses_context_manager_for_uncompressed_est: verifies
_last_uncompressed_est is pulled from ContextManager.get_token_counts()
- test_step_stream_falls_back_without_context_manager: verifies fallback
to msg_token_count when context_manager is None
Co-Authored-By: Claude <noreply@anthropic.com>
* test: add fingerprint, change detection, and manager utility tests
Cover the largest untested blocks in manager.py:
- _normalize_for_fingerprint, _fingerprint
- _change_reasons, _stable_component_fingerprints
- _purpose_messages, _messages_from_memory
- _without_leading_stable_messages, _canonical_tools
- _estimate_tools_tokens, build_compressed_snapshot
- init keep_recent_steps cap, token estimation delegates
Manager.py coverage: 69% → 91%, overall: 82% → 92%
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
* chore: fix SonarCloud issues in test and llm_summary files
- test_pure_functions.py: use ValueError instead of generic Exception (S112)
- test_step_renderer.py: remove separator comments flagged as code (S125)
- llm_summary.py: use logger.exception() in except blocks (S8572)
- test_manager_fingerprint.py: replace unused variable with _ (S1481)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor: reduce duplication in step_renderer and fix Sonar warnings in compression and test files
- Extract _build_offline_user_prompt and _call_model_for_summary helpers from compress_history_offline
- Rename unused cache parameter to _cache with alias in current/previous compression (Sonar S1172)
- Replace unused idx variables with _ in test_cache_valid (Sonar S1481)
- Rename test methods to lowercase convention in test_compress_with_cache_extra (Sonar S100)
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: liudongfei <liudongfei4@huawei.com>
* Enhance image builds and monitoring with no-cache and cleanup (#3344)
* Use CCS tag for mainland pushes
* Add no-cache support to image builds
* Revamp rollout checksums for env and image changes
* Add root build wrapper for image and package builds
* Sync monitoring defaults and env generation
* Harden monitoring deploy and uninstall cleanup
* Unify monitoring provider handling in deploy scripts
* Clean up stale monitoring services during deployment
* Restrict monitoring dashboard to superusers
* Restrict monitoring dashboard to superusers
* Relocate monitoring env files to deploy/env
* Unify monitoring env handling for deploys
* Show image tag examples in deployment source selector
* 同步修改文档
* Refactor agent generation workflow
* Add interactive deploy config mode
* Enable default config mode in offline deploy wrapper
* Stop persisting appVersion in deployment config
* Add defaults mode to deploy wrappers
---------
Co-authored-by: root <root@DESKTOP-UARO3HF.localdomain>
Co-authored-by: hhhhsc <name>
* feat(ragflow): add RAGFlow search tool (#3378)
* 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 9ff420ecce6b2ca21a67ce51053205860a76e41a.
* feat(ragflow): add RAGFlow search tool
- Add RAGFlowSearchTool SDK with list/str compatibility for dataset_ids and doc_id
- Add backend ragflow_service and ragflow_app endpoints
- Add frontend KB selector support for ragflow in ToolConfigModal and ToolTestPanel
- Fix KB selection clearing when switching between tools
- Fix missing inputs field in searchAgentInfo tool mapping
- Clean up incorrect configParams fallback in ToolTestPanel
* test(ragflow): add unit tests for RAGFlow search tool and service
Add 90 tests across 4 files covering ragflow_search_tool, ragflow_service,
nexent_agent RAGFlowSearchTool branch, and tool_configuration_service
ragflow_search validation.
Co-Authored-By: Claude <noreply@anthropic.com>
* test(ragflow): fix SonarCloud issues
- Add docstring to _MockTool.__init__
- Replace float == with pytest.approx()
- Remove type hint from mock_observer fixture
- Remove commented code
- Add type: ignore for _validate_ragflow_config edge cases
Co-Authored-By: Claude <noreply@anthropic.com>
---------
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: 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>
Co-authored-by: Claude <noreply@anthropic.com>
* ♻️ Skill now can read files directly with relative path (#3384)
* 🐛 Bugfix: remove irrational fallback index logic when accurate retrieved results not appeared in semantic retrieved results
♻️ Skill now can read files directly with relative path
* 🐛 Bugfix: remove irrational fallback index logic when accurate retrieved results not appeared in semantic retrieved results
♻️ Skill now can read files directly with relative path
* 🐛 Bugfix: remove irrational fallback index logic when accurate retrieved results not appeared in semantic retrieved results
♻️ Skill now can read files directly with relative path
* 🧪 Add unit test
* Add image registry prefix support and optimize offline deployment (#3388)
* Add image registry prefix support to offline deployment
* Add image registry prefix support to offline deployment
* 优化构建包
* Support source-suffixed offline packages and configurable init image
* k8s部分参数落盘
* clean code
---------
Co-authored-by: hhhhsc <name>
* feat(agent-repository): remove categories and allow custom emoji icons (#3367)
* 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 9ff420ecce6b2ca21a67ce51053205860a76e41a.
* feat(agent-repository): remove categories and allow custom emoji icons
* feat(agent-space): improve mine tab UX with delete, navigation, and author display
- Add delete action for agents in mine tab with confirmation modal
- Navigate back to agent repository when editing from agent-space
- Persist agent-space tab state via URL query params (?tab=mine)
- Display author in repository detail modal and map author field
- Auto-fill agent author from user email on create
- Adjust agents page header layout to accommodate back button
* fix conflict
* fix conflict
* fix: delete test ts file
---------
Co-authored-by: panyehong <91180085+YehongPan@users.noreply.github.com>
Co-authored-by: chase <byzhangxin11@126.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>
* 🐛Bugfix: Fix responsive layout issues on knowledge base page (#3381)
* 🐛 BugFix: show name conflict error inline in knowledge base input (#3251)
Show error message inline below input when KB name already exists, instead of relying on input status alone. Closes #3251.
- Add nameStatus state + AlertCircle icon + error text
- Change title bar alignment from items-center to items-start
- Pass nameStatus from UploadArea to DocumentList via prop
* 🐛 BugFix: Improve responsive layout of knowledge base creation page (#3251)
* fix: improve responsive layout and prevent overflow in knowledge base components
* 🐛 Bugfix: Fixed an issue with tools relying on large models: previously, if a model was selected and subsequently deleted, the agent would encounter runtime errors without any corresponding notification on the frontend. (#3397)
* 🐛 Bugfix: Fixed an issue where deleted models could still be selected during debugging. + Internationalization loading description of tools.
* 🐛 Bugfix: Fixed an issue with tools relying on large models: previously, if a model was selected and subsequently deleted, the agent would encounter runtime errors without any corresponding notification on the frontend.
* Disable context component budget pruning (#3394)
* 🐛Bugfix: Persist conversation agent and verify jwt expiry (#3392)
* fix: persist conversation agent and verify jwt expiry
* test: cover conversation agent and jwt expiry changes
* fix: refresh published agents after deletion
* 11
* ♻️ Refactor: Remove the limit on the maximum number of execution steps for the agent. (#3400)
* ♻️ Refactor: Remove the limit on the maximum number of execution steps for the agent.
* ♻️ Refactor: Remove the limit on the maximum number of execution steps for the agent.
* ♻️ Refactor: Remove the limit on the maximum number of execution steps for the agent.
* fix context manager builtin tool context (#3401)
* 支持web config runtime northbound多副本 (#3390)
* feat: 支持web config runtime northbound多副本
* Use ReadWriteMany for Kubernetes persistence defaults
* Normalize PR diff line endings
* fix: 修复单测
* Fix agent service unit test mocks
* feat: 默认单实例
* feat: 补充单测
* feat: 补充单测
* feat: enhance deployment options persistence and loading mechanism
* feat: remove multi-replica mode references and improve error logging in northbound service
---------
Co-authored-by: root <root@DESKTOP-UARO3HF.localdomain>
* ✨ Feature: add skill repository lifecycle and management UI (#3393)
* Add skill repository backend APIs
* Add skill repository frontend flow
* Refine skill repository build UI
* feat: add skill edit modal state
* feat: improve skill repository copy, edit, and review flows
* feat: refine agent config skill management
* test: add skill repository coverage and remove dead code
* fix: harden skill editing and repository workflow
* fix: address skill repository quality gates
* fix: correct skill path validation
* fix: stabilize skill path test setup
* test: cover skill update by id workflow
* fix: resolve skill repository quality gate issues
* fix: test
---------
Co-authored-by: sumi2234 <sumi2234@noreply.atomgit.com>
* Add OAuth login mode config and forced redirect handling (#3414)
Co-authored-by: root <root@DESKTOP-UARO3HF.localdomain>
* ✨ Feature: MCP market restructure — Repository, My MCPs, Review Center (#3396)
* mcp web
* mcp web
* mcp web
* mcp web
* mcp web
* mcp web
* delete version
* delete version
* local mirror
* 修复工具验证问题以及工具数量显示问题
* 增加自定义外部市场mcp名称功能;
增加mcp重复命名检查;
* 增加工具数量更新功能
* 增加工具数量更新功能
* 修复仓库的工具数量显示问题;
修复mcp删除bug
* “我的”mcp“申请上架”逻辑问题
* 修复“我的”mcp开发者显示问题;
修复mcp删除后没有同步到智能体开发mcp列表问题;
* 修复删除mcp未初始化mcp启用状态的问题
* 修复市场下载的mcp作者显示问题
* 外部市场mcp连通性校验
* 添加MCP服务按钮修改
* 修复仓库下载的mcp不显示hub的问题
* 删除smithery mcp市场
* 修复通过镜像上传mcp不显示工具数量问题
* 修复mcp来源显示错误
* 修复审核中心标签数字显示问题
* mcp市场“仓库”页面和“我的”页面权限调整:仓库页面为租户内共享,我的页面为用户个人使用;
增加表格迁移;
* Update settings.local.json
* Delete MCP_MARKET_FRONTEND_BACKEND_MAPPING.md
* 更新测试用例
* fix test case
* Quality Gate
* Quality Gate
* test case
* 前端修改
* 审核机制及表设计按照agent仓库修改
* 审核机制及表设计按照agent仓库修改
* test cases
* test cases
* test cases
* test cases
* 🐛 Bugfix: Fix skill count display error when delete a skill has been selected (#3415)
* feat: move /owner-manage left-nav from ASSET_OWNER to SU, add index chunks listing and hybrid search endpoints(#3416)
* feat: move /owner-manage left-nav from ASSET_OWNER to SU, add index chunks listing and hybrid search endpoints
* feat: move /owner-manage left-nav from ASSET_OWNER to SU, add index chunks listing and hybrid search endpoints
* feat: move /owner-manage left-nav from ASSET_OWNER to SU, add index chunks listing and hybrid search endpoints
* Bump version from v2.2.2 to v2.3.0
* 🐛 Bugfix: update skill repository action wording (#3418)
* fix: update skill repository action wording
* fix: update skill repository action wording
* fix: internationalize skill repository UI
* fix: remove duplicate skill locale keys (#3423)
* fix: Clean up leftover file (#3421)
* mcp web
* mcp web
* mcp web
* mcp web
* mcp web
* mcp web
* delete version
* delete version
* local mirror
* 修复工具验证问题以及工具数量显示问题
* 增加自定义外部市场mcp名称功能;
增加mcp重复命名检查;
* 增加工具数量更新功能
* 增加工具数量更新功能
* 修复仓库的工具数量显示问题;
修复mcp删除bug
* “我的”mcp“申请上架”逻辑问题
* 修复“我的”mcp开发者显示问题;
修复mcp删除后没有同步到智能体开发mcp列表问题;
* 修复删除mcp未初始化mcp启用状态的问题
* 修复市场下载的mcp作者显示问题
* 外部市场mcp连通性校验
* 添加MCP服务按钮修改
* 修复仓库下载的mcp不显示hub的问题
* 删除smithery mcp市场
* 修复通过镜像上传mcp不显示工具数量问题
* 修复mcp来源显示错误
* 修复审核中心标签数字显示问题
* mcp市场“仓库”页面和“我的”页面权限调整:仓库页面为租户内共享,我的页面为用户个人使用;
增加表格迁移;
* Update settings.local.json
* Delete MCP_MARKET_FRONTEND_BACKEND_MAPPING.md
* 更新测试用例
* fix test case
* Quality Gate
* Quality Gate
* test case
* 前端修改
* 审核机制及表设计按照agent仓库修改
* 审核机制及表设计按照agent仓库修改
* test cases
* test cases
* test cases
* test cases
* bug fix
* Delete k8s/helm/nexent/charts/nexent-common/files/init.sql
* Bugfix: Disable Supabase auto refrsh token, restrict token refresh requests to frontend only (#3422)
* Bugfix:add crypto.randomUUID() fallback in http
* Bugfix: Update homepage redirect link
* Refactor: Auto-create conversation when conversation_id is empty in agent/run
* Bugfix: skip conversation auto-create in debug mode
* 修复单元测试
* 新增UT
* 新增UT测试
* 修改单元测试
* Bugfix: Disable Supabase auto refrsh token, restrict token refresh requests to frontend only
* Revert "Bugfix: Disable Supabase auto refrsh token, restrict token refresh requests to frontend only"
This reverts commit fb7a2934a5bd6cce111f6b349b8190f52b177e04.
* Bugfix: Disable Supabase auto refrsh token, restrict token refresh requests to frontend only
* 🐛 Fix sequence OWNED BY before table creation in migration v2.3.0_0709 (#3424)
* Fix agent skill unselect persistence (#3426)
* fix: MCP space - api and frontend bug fixes (#3427)
* Fix: remove mcp version number (#3429)
* feat: remove version number field from MCP edit modal
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* 🐛 Fix: remove version badge from review center detail modal
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* 🐛 Fix: add missing English translations for MCP page
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
* fix: skill summary (#3430)
* fix skill creation stream parsing
* fix copied skill repository publish
* test skill stream and export edge cases
* test remaining skill stream parser branches
---------
Co-authored-by: Jason Wang <56037774+JasonW404@users.noreply.github.com>
Co-authored-by: DongJiBao2001 <120021235+DongJiBao2001@users.noreply.github.com>
Co-authored-by: gjc199 <97944442+gjc199@users.noreply.github.com>
Co-authored-by: xuyaqi <xuyaqist@gmail.com>
Co-authored-by: panyehong <91180085+YehongPan@users.noreply.github.com>
Co-authored-by: frr <64584192+wuyuanfr@users.noreply.github.com>
Co-authored-by: liudfgoo <49781630+liudfgoo@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: liudongfei <liudongfei4@huawei.com>
Co-authored-by: hhhhsc701 <56435672+hhhhsc701@users.noreply.github.com>
Co-authored-by: root <root@DESKTOP-UARO3HF.localdomain>
Co-authored-by: jxl <jixiaolongcom@sina.cn>
Co-authored-by: chase <byzhangxin11@126.com>
Co-authored-by: Chenlifeng <174292121+Lifeng-Chen@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: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jinyu Z <1012871848@qq.com>
Co-authored-by: Summer-Si <140902149+Summer-Si@users.noreply.github.com>
Co-authored-by: sumi2234 <sumi2234@noreply.atomgit.com>
Co-authored-by: Hankin <837833609@qq.com>
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.
删除后可正常展示
