Commit Graph

1408 Commits

Author SHA1 Message Date
miao
aac89b172f fix(memory): remove unused date import and fix docstring route paths
Remove unused rom datetime import date in controller and service
Fix Examples route paths from /episodic-list to /episodics to match actual router
2026-04-23 15:37:54 +08:00
miao
bf9a3503de feat(memory-api): add memory detail external service APIs
Add external service APIs for memory detail queries
Provides memory data access endpoints for external service integration
Add utility functions for API key user resolution and end_user validation

Modified files:
- api/app/controllers/service/user_memory_api_controller.py
- api/app/core/api_key_utils.py
- api/app/controllers/service/__init__.py
2026-04-23 15:36:45 +08:00
miao
5c836c90c9 feat(memory): add episodic memory pagination and semantic memory list API
Split explicit memory overview into two independent endpoints:
- GET /memory/explicit-memory/episodics: episodic memory paginated query
  with date range filter (millisecond timestamp) and episodic type filter
  using Neo4j datetime() for precise time comparison
- GET /memory/explicit-memory/semantics: semantic memory full list query
  returns data as array directly

Modified files:
- api/app/controllers/memory_explicit_controller.py
- api/app/services/memory_explicit_service.py
2026-04-23 15:30:58 +08:00
Ke Sun
b8009074d5 Merge branch 'release/v0.3.1' into develop 2026-04-23 12:16:57 +08:00
山程漫悟
09393b2326 Merge pull request #982 from SuanmoSuanyangTechnology/fix/wxy_031
fix(quota_manager): retrieve workspace_id from api_key_auth context
2026-04-23 00:17:04 +08:00
wwq
eaa66ba71a fix(quota_manager): retrieve workspace_id from api_key_auth context
- Add logic to resolve the workspace ID derived from the API key authentication context.
2026-04-23 00:14:29 +08:00
山程漫悟
9233e74f36 Merge pull request #978 from SuanmoSuanyangTechnology/fix/Timebomb_031
fix(api-key)
2026-04-22 20:24:25 +08:00
Timebomb2018
46dfd92a9f feat(api-key): adjust default rate limit and daily request limit values 2026-04-22 20:23:05 +08:00
山程漫悟
5f33cec8ad Merge pull request #977 from SuanmoSuanyangTechnology/fix/Timebomb_031
fix(workflow/llm)
2026-04-22 20:08:11 +08:00
山程漫悟
334502f06b Merge pull request #976 from SuanmoSuanyangTechnology/fix/wxy_031
feat(quota): implement workspace-level quota enforcement and statistics
2026-04-22 20:06:56 +08:00
Timebomb2018
b0bb5e883c refactor(workflow/llm): replace regex substitution with string replace for context rendering 2026-04-22 20:05:45 +08:00
wwq
b9cfc47e1e feat(quota): implement workspace-level quota enforcement and statistics
- Refactor quota management logic to support usage checks scoped by workspace.
- Update quota statistics API to return granular quota details for each workspace.
- Revise default configuration settings for terminal user and model limits.
- Remove quota check decorators from the model controller.
2026-04-22 19:54:42 +08:00
wwq
4a4391a19c feat(quota): implement workspace-level quota enforcement and statistics
- Refactor quota management logic to support usage checks scoped by workspace.
- Update quota statistics API to return granular quota details for each workspace.
- Revise default configuration settings for terminal user and model limits.
- Remove quota check decorators from the model controller.
2026-04-22 18:52:27 +08:00
wwq
7193eed9e3 feat(quota): implement workspace-level quota enforcement and statistics
- Refactor quota management logic to support usage checks scoped by workspace.
- Update quota statistics API to return granular quota details for each workspace.
- Revise default configuration settings for terminal user and model limits.
- Remove quota check decorators from the model controller.
2026-04-22 18:46:22 +08:00
Timebomb2018
d6af459ca8 Merge branch 'refs/heads/release/v0.3.1' into fix/Timebomb_031 2026-04-22 14:16:12 +08:00
山程漫悟
2f7fd85ab1 Merge pull request #964 from SuanmoSuanyangTechnology/fix/wxy_031
feat(plan): bump free plan model quota from 1 to 4
2026-04-22 14:15:49 +08:00
Timebomb2018
398aebd0c5 Merge branch 'refs/heads/release/v0.3.1' into fix/Timebomb_031 2026-04-22 14:13:04 +08:00
wwq
eaa4058c56 fix(quota_manager): exclude trial users from tenant terminal user count
- Deduct trial user records when aggregating the total number of terminal users for a tenant.
2026-04-22 14:12:44 +08:00
Timebomb2018
21b25bfef7 feat(workflow): support MCP tool type with operation-to-tool_name mapping 2026-04-22 14:12:35 +08:00
Mark
537f6a1812 Merge branch 'release/v0.3.1' of github.com:SuanmoSuanyangTechnology/MemoryBear into release/v0.3.1
* 'release/v0.3.1' of github.com:SuanmoSuanyangTechnology/MemoryBear:
  fix(web): stream add default error message
  fix(quota): restrict quota check to new terminal user creation only
  fix(api): fix API Key rate limiting and terminal user quota checks
  feat(exception): enhance I18nException response format and add error code mapping
  feat(quota): add quota checks during app duplication and import operations
  fix(知识服务): 添加工作空间模型配置的校验
  refactor(knowledge_service): 简化模型绑定逻辑,直接使用工作区配置
  fix(知识服务): 修复创建知识库时未检查视觉模型存在的错误
  refactor(knowledge_service): 优化模型绑定逻辑,使用ID查询并简化回退机制
2026-04-22 11:47:47 +08:00
Mark
1ea0f308ba [fix] celery task 2026-04-22 11:47:32 +08:00
wwq
77c023102e feat(plan): bump free plan model quota from 1 to 4
- Increase the model quota for the free tier from 1 to 4.
2026-04-22 11:10:41 +08:00
Mark
158507cf8e Merge pull request #962 from SuanmoSuanyangTechnology/fix/wxy_031
fix(quota): restrict quota check to new terminal user creation only
2026-04-21 21:20:24 +08:00
wwq
5e0d30dde8 fix(quota): restrict quota check to new terminal user creation only
- Avoid redundant quota checks for existing users on every request to optimize performance.
2026-04-21 21:16:35 +08:00
Mark
363d775270 Merge pull request #961 from SuanmoSuanyangTechnology/fix/wxy_031
fix(api): fix API Key rate limiting and terminal user quota checks
2026-04-21 20:57:25 +08:00
wwq
ad4121b0d8 fix(api): fix API Key rate limiting and terminal user quota checks
- Revert API Key rate limit handling to throw an error instead of auto-capping when exceeding the plan limit.
- Optimize terminal user quota check logic to validate only during new user creation, avoiding redundant checks.
- Add method to query terminal users by `workspace_id` and `other_id`.
2026-04-21 20:48:06 +08:00
Ke Sun
129c9cbb3c Merge pull request #916 from SuanmoSuanyangTechnology/refactor/memory_search
refactor(memory): consolidate search services and unify model client initialization
2026-04-21 19:01:22 +08:00
山程漫悟
671df83bcd Merge pull request #958 from SuanmoSuanyangTechnology/fix/wxy_031
feat(exception): enhance I18nException response format and add error code mapping
2026-04-21 18:26:01 +08:00
wwq
8bb5a66401 feat(exception): enhance I18nException response format and add error code mapping
- Standardize error response format to include business error codes, timestamps, and other fields.
- Add ERROR_CODE_TO_BIZ_CODE mapping table for error code conversion.
- Introduce QUOTA_EXCEEDED and RATE_LIMIT_EXCEEDED business error codes.
2026-04-21 18:16:38 +08:00
wwq
4c9f327833 feat(quota): add quota checks during app duplication and import operations
- Integrate quota check decorators into app duplication, workflow import save, and app import actions.
- Explicitly validate application quotas for new app imports.
2026-04-21 18:15:31 +08:00
Timebomb2018
93d4607b14 fix(workflow): normalize output node type comparison and fix validator error message spacing 2026-04-21 17:50:31 +08:00
Timebomb2018
9533a9a693 feat(workflow): support output node for workflow termination and streaming text output 2026-04-21 17:41:21 +08:00
山程漫悟
6bd528eace Merge pull request #956 from SuanmoSuanyangTechnology/fix/wxy_031
refactor(knowledge_service): optimize model binding logic using ID lookup and streamlined fallback
2026-04-21 17:36:12 +08:00
Mark
2b5bece9b6 [modify] nfs read error 2026-04-21 17:34:03 +08:00
Mark
ea0e65f1ec [modify] fix tasks 2026-04-21 17:29:35 +08:00
wwq
cb2a7aa60a fix(知识服务): 添加工作空间模型配置的校验
在创建知识时检查工作空间是否配置了必要的模型,未配置时抛出异常提示用户
2026-04-21 17:18:11 +08:00
wwq
402c8aef5d refactor(knowledge_service): 简化模型绑定逻辑,直接使用工作区配置
移除_get_model_by_id_or_fallback方法,直接使用工作区配置的模型ID
对于image2text模型,放宽类型限制并移除composite检查
2026-04-21 17:04:42 +08:00
wwq
eb98a69a84 fix(知识服务): 修复创建知识库时未检查视觉模型存在的错误
当租户下没有可用的视觉模型时,抛出明确异常提示
2026-04-21 16:50:43 +08:00
wwq
152a84aff3 refactor(knowledge_service): 优化模型绑定逻辑,使用ID查询并简化回退机制
将模型绑定逻辑从按名称查询改为按ID查询,提高准确性
简化回退机制,直接查询租户下最新创建的模型
统一处理图像转文本模型的查询方式
2026-04-21 16:45:14 +08:00
山程漫悟
35c2d9d0d3 Merge pull request #950 from SuanmoSuanyangTechnology/fix/wxy_031
feat(model_parsing): add model reference resolution for LLM and relat…
2026-04-21 15:09:49 +08:00
wwq
6de5d413c4 fix(app_dsl_service): 修复模型和知识库引用解析逻辑
改进模型引用解析,优先使用ID匹配并处理异常情况
优化知识库引用解析,移除不必要的"None"字符串检查
统一返回字符串类型的ID,保持类型一致性
2026-04-21 15:03:18 +08:00
Mark
aecb0f6497 Merge branch 'feature/rag2' into release/v0.3.1
* feature/rag2:
  [modify] fix
  [modify] Optimize ES connections and add rerank security checks
2026-04-21 13:44:39 +08:00
Timebomb2018
8011610acc fix(model_service): sync model capability and is_omni to associated api_keys 2026-04-21 12:15:14 +08:00
wwq
f1dc507b5c fix: 优化知识库和模型引用解析逻辑
移除对字符串长度的UUID验证,仅检查是否为有效UUID或非"None"字符串
2026-04-21 11:55:00 +08:00
wwq
20ddc76a4d feat(model_parsing): add model reference resolution for LLM and related node types
- Add model reference resolution for LLM, Question Classifier, and Parameter Extractor nodes.
- Support parsing various model reference formats, including dictionaries, UUID strings, and name strings, when `model_id` is present.
- Add warning logs for cases where model resolution fails.
2026-04-20 21:48:45 +08:00
山程漫悟
84ca98555d Merge pull request #948 from SuanmoSuanyangTechnology/fix/wxy_031
refactor(knowledge_service): refactor model binding logic into generic function
2026-04-20 21:28:03 +08:00
Timebomb2018
7f3c48ce2a Merge remote-tracking branch 'origin/release/v0.3.1' into fix/Timebomb_031 2026-04-20 20:48:46 +08:00
Timebomb2018
e5c16a2a24 refactor(model_service): remove hardcoded extra_params from model initialization 2026-04-20 20:48:00 +08:00
wwq
8887600f7d refactor(knowledge_service): refactor model binding logic into generic function
- Extract duplicate model binding logic into `_get_model_by_name_or_fallback`.
- Implement logic to prioritize workspace default configuration, falling back to the tenant's first available model if not found.
- Simplify binding code for embedding, rerank, and LLM models.
2026-04-20 19:01:06 +08:00
山程漫悟
df6eb74b28 Merge pull request #947 from wanxunyang/feature/add-quota-check-decorator
refactor(api_key): change rate limit handling to auto-cap at tenant l…
2026-04-20 18:48:15 +08:00