- Skip alias merging for user entities during dedup (_merge_attribute and
_merge_entities_with_aliases) to prevent dirty data from overwriting
PgSQL authoritative aliases
- Add PgSQL→Neo4j alias sync after Neo4j write in write_tools to
ensure Neo4j user entities always reflect the PgSQL source
- Remove deduped_aliases (Neo4j history) from alias sync in
extraction_orchestrator, only append newly extracted aliases to PgSQL
- Guard Neo4j MERGE cypher to preserve existing aliases for user
entities (name IN ['用户','我','User','I'])
- Fix emotion_analytics_service query to use ExtractedEntity label
and entity_type property
- Merge alias add/remove into MetadataExtractionResponse and Celery metadata task,
removing the separate sync step from extraction_orchestrator
- Replace first-person pronouns ("我") with "用户" in statement extraction to
preserve identity semantics for downstream metadata/alias extraction
- Update extract_statement.jinja2 prompt to enforce "用户" as subject for user
statements instead of resolving to real names
- Add alias change instructions (aliases_to_add/aliases_to_remove) to
extract_user_metadata.jinja2 with incremental merge logic
- Deduplicate special entities ("用户", "AI助手") in graph_saver by reusing
existing Neo4j node IDs per end_user_id
- Sync final aliases from PgSQL to Neo4j user entity nodes after metadata write
- Adjust multi-modal memory write behavior for text and visual data
- Mask API keys in model list response to prevent exposure
- Add capability-based filtering to the model list API
* [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
* [fix]The emotional health indicators, emotional advice, and emotional distribution analysis are all linked together.
* [fix]The emotional health indicators, emotional advice, and emotional distribution analysis are all linked together.
* [fix]Separate expected errors from unexpected errors
* 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