* [fix]The log retains genuine alerts and errors, while filtering out unnecessary noise.
* [fix]Scenario English and Chinese, emotion specifications
* [fix]Change the "no data" scenario from 0.0 to None
* [add]Integration of the core engineering and memory extraction
* [add]The import and export function of the main body engineering files
* [add]Improve the import interface
* [add]Introducing generic types helps with entity extraction
* [add]Modify the references of the main repository to the sub-repositories
* [add]The extraction trial run introduces the ontology type.
* [add]Integration of the core engineering and memory extraction
* [add]The import and export function of the main body engineering files
* [add]Improve the import interface
* [add]Introducing generic types helps with entity extraction
* [add]Modify the references of the main repository to the sub-repositories
* [add]The extraction trial run introduces the ontology type.
* [add]Complete the second phase of the main project content
* [add]The dependencies and configurations of the main body project
* [add]Modify the code based on the AI review
- Add workspace_id fallback parameter to memory config loading across all services
- Update hot_memory_tags.py to pass workspace_id when resolving memory configuration
- Enhance emotion_analytics_service.py to support workspace_id as fallback for config resolution
- Improve implicit_memory_service.py with workspace_id fallback in config loading
- Update memory_agent_service.py to handle workspace_id resolution and add refactoring TODO
- Enhance preference_analysis.jinja2 prompt with critical guidance on supporting_evidence extraction
- Add validation to check both config_id and workspace_id before raising configuration errors
- Improve error handling and logging for memory configuration resolution across services
- This enables more flexible memory configuration resolution when config_id is unavailable
- Add macOS fork() safety configuration in celery_app.py to prevent initialization issues
- Add null/False checks for Redis session queries in term_memory_save to handle missing sessions gracefully
- Add null/False checks in memory_long_term_storage to prevent processing empty Redis results
- Add null/False checks in aggregate_judgment before format_parsing to avoid errors on missing data
- Initialize redis_messages variable in window_dialogue for consistency
- Add debug logging when no existing session found in Redis for better troubleshooting
- Add TODO comments for magic numbers (scope=6, time=5) to be extracted as constants
- Improve error handling when Redis returns False or empty results instead of crashing
* [changes]add user_summary language unification
* [add]Entity extraction, user memory, emotion suggestions, unified language type for writing
* [add]Complete the switch between Chinese and English for the emotion labels and emotion suggestions fields.
* [changes]add user_summary language unification
* [add]Entity extraction, user memory, emotion suggestions, unified language type for writing
* [add]Complete the switch between Chinese and English for the emotion labels and emotion suggestions fields.
* [changes]Modify the code based on the AI review
* [fix]Fix the issue of inconsistent language in explicit and episodic memory.
* [fix]Fix the issue of inconsistent language in explicit and episodic memory.
* [add]Add scene_id
* [fix]Based on the AI review to fix the code
- Add force parameter to delete_config endpoint for controlled deletion of in-use configs
- Implement MemoryConfigService.delete_config with protection against deleting default configs
- Add validation to prevent deletion of configs with connected end-users unless force=True
- Reorganize controller imports to remove duplicates and improve maintainability
- Clean up unused database connection management code from memory_storage_controller
- Add detailed docstring to delete_config endpoint explaining protection mechanisms
- Update error handling with specific BizCode.RESOURCE_IN_USE for configs in active use
- Add comprehensive logging for deletion attempts, warnings, and affected users
- Refactor ConfigParamsDelete schema usage to use MemoryConfigService directly
- Improve API response structure with affected_users count and force_required flag
* [changes]refactor locomo_test
* [fix]Fix the circular import of ModelParameters
* [changes]The benchmark test can run stably.
* [fix]Complete end-to-end LoCoMo repair
* [fix]Complete the end-to-end longmemeval and memsciqa fixes
* [changes]Complete the benchmark test description document to ensure that the configuration parameters take effect.
* [changes]refactor locomo_test
* [fix]Fix the circular import of ModelParameters
* [changes]The benchmark test can run stably.
* [fix]Complete end-to-end LoCoMo repair
* [fix]Complete the end-to-end longmemeval and memsciqa fixes
* [changes]Complete the benchmark test description document to ensure that the configuration parameters take effect.
* [changes]Benchmark test adaptation for end_user_id
* [changes]refactor locomo_test
* [fix]Fix the circular import of ModelParameters
* [changes]The benchmark test can run stably.
* [fix]Complete end-to-end LoCoMo repair
* [fix]Complete the end-to-end longmemeval and memsciqa fixes
* [changes]Complete the benchmark test description document to ensure that the configuration parameters take effect.
* [fix]Complete the end-to-end longmemeval and memsciqa fixes
* [changes]Complete the benchmark test description document to ensure that the configuration parameters take effect.
* [changes]Benchmark test adaptation for end_user_id
* [fix]Fix the interface for statistics of recent activities and applications
* [changes]Modify the code based on the AI review
1.Use the boolean auxiliary methods provided by SQLAlchemy instead of using == True in the is_active filter.
2.The calculation of the "PROJECT_ROOT" has now been hardcoded with five levels of nested os.path.dirname calls.
* [fix]Fix the interface for statistics of recent activities and applications
* [changes]Modify the code based on the AI review
1.Use the boolean auxiliary methods provided by SQLAlchemy instead of using == True in the is_active filter.
2.The calculation of the "PROJECT_ROOT" has now been hardcoded with five levels of nested os.path.dirname calls.
* 去掉MCP框架,重构
* 去掉MCP框架,重构
* 去掉MCP框架,重构
* 去掉MCP框架,重构
* 去掉MCP框架,重构
* 去掉MCP框架,重构
* 去掉MCP框架,重构
* feat(celery): add comprehensive logging to worker and write task
- Initialize logging system in Celery worker entry point with LoggingConfig
- Add logger instance and startup message to celery_worker.py
- Reorganize imports in tasks.py for better readability and consistency
- Add detailed logging to write_message_task for debugging and monitoring
- Log task start with group_id, config_id, and storage_type parameters
- Log service execution and completion status with results
- Add exception handling with error logging and stack trace capture
- Log task completion time and Celery task ID for performance tracking
- Improves observability and troubleshooting of async task execution
* 去掉MCP框架,重构
* 去掉MCP框架,重构
* 快速检索,需要在接口部分添加LLM整合
* 快速检索,需要在接口部分添加LLM整合
---------
Co-authored-by: Ke Sun <kesun5@illinois.edu>
* refactor(celery): optimize task routing and worker configuration
- Simplify Celery queue configuration with single default 'io_tasks' queue
- Implement task routing strategy separating IO-bound and CPU-bound tasks
- Add Flower monitoring support with task event tracking enabled
- Add summary node search optimization to only retrieve summary nodes
- Clean up unused imports and reorganize import statements for consistency
- Update docker-compose configuration to support multi-queue worker setup
* chore(celery): simplify flower configuration and add gevent dependency
* chore(dependencies): add gevent dependency to requirements
- Add gevent==24.11.1 to api/requirements.txt
- Gevent is required for async worker support in Celery
- Complements existing flower and celery configuration
* refactor(celery): simplify async event loop handling and reorganize task queues
- Replace complex nest_asyncio and manual event loop management with asyncio.run() in read_message_task, write_message_task, regenerate_memory_cache, and workspace_reflection_task
- Rename task queues from io_tasks/cpu_tasks to memory_tasks/document_tasks for better semantic clarity
- Update task routing configuration to reflect new queue names for memory agent tasks and document processing tasks
- Remove redundant exception handling comments and simplify error handling logic
- Update README with improved community support section including GitHub Issues, Pull Requests, Discussions, and WeChat community links
- Simplifies event loop management by leveraging asyncio.run() which handles loop creation and cleanup automatically, reducing code complexity and potential race conditions
* [feature]A set of information for role recognition writing
* [feature]A set of information for role recognition writing
* [fix]Fix the code after rebasing.
* [feature]A set of information for role recognition writing
* [fix]Fix the code after rebasing.
* [fix]Based on the AI review to fix the code
* [changes]Disable the function of batch writing multiple groups of conversations in a cumulative manner
* [fix]Addressing vulnerability risks