Self-evolving memory OS for LLM & AI Agents: ultra-persistent memory, hybrid-retrieval, and cross-task skill reuse, with 35.24% token savings
This report presents the forensic synthetic code analysis of MemTensor/MemOS, a TypeScript project with 10,206 GitHub stars. SynthScan v2.0 examined 459,491 lines of code across 1735 source files, recording 4222 pattern matches distributed across 25 syntactic categories. The overall adjusted score of 16.0 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 4222 distinct pattern matches across 25 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/test_utils_timing.py | 38 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_utils_timing.py | 40 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_utils_timing.py | 109 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_utils_timing.py | 111 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_utils_timing.py | 206 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_utils_timing.py | 208 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_utils_timing.py | 219 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_utils_timing.py | 221 | # =========================================================================== | COMMENT |
| MEDIUM | tests/test_utils_timing.py | 18 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_utils_timing.py | 20 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_utils_timing.py | 182 | # =========================================================================== | COMMENT |
| MEDIUM | tests/test_utils_timing.py | 184 | # =========================================================================== | COMMENT |
| MEDIUM | tests/test_utils_timing.py | 296 | # =========================================================================== | COMMENT |
| MEDIUM | tests/test_utils_timing.py | 298 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_add_stage_logging.py | 111 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_add_stage_logging.py | 113 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_add_stage_logging.py | 256 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_add_stage_logging.py | 258 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_add_stage_logging.py | 284 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_add_stage_logging.py | 286 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_add_stage_logging.py | 358 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_add_stage_logging.py | 360 | # =========================================================================== | COMMENT |
| MEDIUM | tests/test_add_stage_logging.py | 24 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_add_stage_logging.py | 26 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_add_stage_logging.py | 74 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_add_stage_logging.py | 76 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/graph_dbs/test_neo4j_vector_search.py | 87 | # ────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/graph_dbs/test_neo4j_vector_search.py | 89 | # ────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/graph_dbs/test_neo4j_vector_search.py | 194 | # ────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/graph_dbs/test_neo4j_vector_search.py | 196 | # ────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/graph_dbs/test_neo4j_vector_search.py | 29 | # ────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/graph_dbs/test_neo4j_vector_search.py | 31 | # ────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/graph_dbs/test_neo4j_vector_search.py | 248 | # ────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/graph_dbs/test_neo4j_vector_search.py | 260 | # ────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/mem_reader/test_coarse_memory_type.py | 23 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/mem_reader/test_coarse_memory_type.py | 25 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/mem_reader/test_coarse_memory_type.py | 47 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/mem_reader/test_coarse_memory_type.py | 49 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/mem_reader/test_coarse_memory_type.py | 148 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/mem_reader/test_coarse_memory_type.py | 150 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/mem_reader/test_project_id_propagation.py | 88 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/mem_reader/test_project_id_propagation.py | 90 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/mem_reader/test_project_id_propagation.py | 196 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/mem_reader/test_project_id_propagation.py | 198 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 246 | # ======================================== | COMMENT |
| MEDIUM⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 248 | # ======================================== | COMMENT |
| MEDIUM⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 263 | # ======================================== | COMMENT |
| MEDIUM⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 265 | # ======================================== | COMMENT |
| MEDIUM⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 273 | # ======================================== | COMMENT |
| MEDIUM⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 275 | # ======================================== | COMMENT |
| MEDIUM⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 281 | # ======================================== | COMMENT |
| MEDIUM⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 283 | # ======================================== | COMMENT |
| MEDIUM⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 287 | # ======================================== | COMMENT |
| MEDIUM⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 289 | # ======================================== | COMMENT |
| MEDIUM⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 301 | # ======================================== | COMMENT |
| MEDIUM⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 303 | # ======================================== | COMMENT |
| MEDIUM⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 307 | # ======================================== | COMMENT |
| MEDIUM⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 309 | # ======================================== | COMMENT |
| MEDIUM⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 313 | # ======================================== | COMMENT |
| MEDIUM⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 315 | # ======================================== | COMMENT |
| 758 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_deprecation.py | 16 | def test_deprecated_function_warns(self): | CODE |
| LOW | tests/test_deprecation.py | 35 | def test_deprecated_function_metadata(self): | CODE |
| LOW | tests/test_deprecation.py | 67 | def test_deprecated_class_warns(self): | CODE |
| LOW | tests/test_deprecation.py | 85 | def test_deprecated_class_metadata(self): | CODE |
| LOW | tests/test_deprecation.py | 101 | def test_deprecated_parameter_warns(self): | CODE |
| LOW | tests/test_deprecation.py | 126 | def test_warn_deprecated_basic(self): | CODE |
| LOW | tests/test_deprecation.py | 141 | def test_warn_deprecated_minimal(self): | CODE |
| LOW | tests/test_deprecation.py | 168 | def test_get_deprecation_info_none(self): | CODE |
| LOW | tests/test_hello_world.py | 17 | def test_memos_hello_world_logger_called(): | CODE |
| LOW | tests/test_hello_world.py | 26 | def test_memos_dany_hello_world_logger_called(): | CODE |
| LOW⚡ | tests/test_hello_world.py | 55 | def test_memos_chend_hello_world_logger_called(): | CODE |
| LOW⚡ | tests/test_hello_world.py | 64 | def test_memos_wanghy_hello_world_logger_called(): | CODE |
| LOW⚡ | tests/test_hello_world.py | 73 | def test_memos_huojh_hello_world_logger_called(): | CODE |
| LOW⚡ | tests/test_hello_world.py | 84 | def test_memos_niusm_hello_world_logger_called(): | CODE |
| LOW⚡ | tests/test_hello_world.py | 93 | def test_memos_wangyzh_hello_world_logger_called(): | CODE |
| LOW⚡ | tests/test_hello_world.py | 102 | def test_memos_zhaojihao_hello_world_logger_called(): | CODE |
| LOW⚡ | tests/test_hello_world.py | 111 | def test_memos_yuqingchen_hello_world_logger_called(): | CODE |
| LOW⚡ | tests/test_hello_world.py | 120 | def test_memos_chen_tang_hello_world(): | CODE |
| LOW | tests/test_utils_timing_exception_reraise.py | 15 | def test_exception_reraised_when_no_fallback(self): | CODE |
| LOW | tests/test_utils_timing_exception_reraise.py | 25 | def test_exception_reraised_preserves_type(self): | CODE |
| LOW | tests/test_utils_timing_exception_reraise.py | 38 | def test_fallback_still_works(self): | CODE |
| LOW | tests/test_utils_timing_exception_reraise.py | 48 | def test_no_implicit_none_return(self): | CODE |
| LOW | tests/test_log.py | 17 | def test_setup_logfile_creates_file(tmp_path, monkeypatch): | CODE |
| LOW | tests/test_log.py | 24 | def test_get_logger_returns_logger(): | CODE |
| LOW | tests/utils.py | 68 | def check_module_factory_class(cls: Any) -> None: | CODE |
| LOW | tests/utils.py | 163 | def check_config_factory_class(cls: BaseModel, expected_backends: list[str] | None = None) -> None: | CODE |
| LOW | tests/utils.py | 196 | def check_config_instantiation_valid(cls: BaseModel, valid_config: dict) -> None: | CODE |
| LOW | tests/utils.py | 208 | def check_config_instantiation_invalid(cls: BaseModel, invalid_config: dict | None = None) -> None: | CODE |
| LOW⚡ | tests/test_utils_timing.py | 33 | def _collect_timer_with_status_logs(caplog): | CODE |
| LOW⚡ | tests/test_utils_timing.py | 100 | def test_duration_ms_readable_downstream(self): | CODE |
| LOW⚡ | tests/test_utils_timing.py | 128 | def test_decorator_uses_func_name_when_no_stage(self, caplog): | CODE |
| LOW⚡ | tests/test_utils_timing.py | 138 | def test_decorator_preserves_function_metadata(self): | CODE |
| LOW⚡ | tests/test_utils_timing.py | 147 | def test_decorator_with_extra_callback(self, caplog): | CODE |
| LOW⚡ | tests/test_utils_timing.py | 199 | def test_emit_now_no_extra_fields(self, caplog): | CODE |
| LOW⚡ | tests/test_utils_timing.py | 225 | def test_return_value_preserved(self): | CODE |
| LOW⚡ | tests/test_utils_timing.py | 232 | def test_no_log_below_threshold(self, caplog): | CODE |
| LOW | tests/test_utils_timing.py | 54 | def test_duration_ms_is_populated(self, caplog): | CODE |
| LOW | tests/test_utils_timing.py | 65 | def test_set_overwrites_fields(self, caplog): | CODE |
| LOW | tests/test_utils_timing.py | 72 | def test_exception_logged_but_propagated(self, caplog): | CODE |
| LOW | tests/test_utils_timing.py | 83 | def test_duration_ms_available_after_exception(self, caplog): | CODE |
| LOW | tests/test_utils_timing.py | 162 | def test_decorator_extra_callback_error_does_not_break(self, caplog): | CODE |
| LOW | tests/test_utils_timing.py | 171 | def test_decorator_exception_propagated(self, caplog): | CODE |
| LOW | tests/test_utils_timing.py | 281 | def test_both_decorator_forms(self): | CODE |
| LOW | tests/test_utils_timing.py | 315 | def test_failure_logging_no_fallback(self, caplog): | CODE |
| LOW | tests/test_utils_timing.py | 330 | def test_failure_with_fallback(self, caplog): | CODE |
| LOW | tests/test_utils_timing.py | 371 | def test_log_extra_args_callable(self, caplog): | CODE |
| LOW | tests/test_utils_timing.py | 381 | def test_both_decorator_forms(self): | CODE |
| LOW | tests/test_cli.py | 22 | def test_export_openapi_success(self, mock_makedirs, mock_file, mock_app): | CODE |
| LOW | tests/test_cli.py | 35 | def test_export_openapi_error(self, mock_file, mock_app): | CODE |
| LOW | tests/test_cli.py | 59 | def test_download_examples_success(self, mock_file, mock_makedirs, mock_requests): | CODE |
| LOW | tests/test_cli.py | 74 | def test_download_examples_error(self, mock_requests): | CODE |
| LOW | tests/test_cli.py | 87 | def test_main_download_examples(self, mock_download): | CODE |
| LOW⚡ | tests/test_add_stage_logging.py | 117 | def test_returns_correct_business_result(self, single_cube_view): | CODE |
| LOW⚡ | tests/test_add_stage_logging.py | 262 | def test_sync_fast_returns_result(self, single_cube_view): | CODE |
| LOW⚡ | tests/test_add_stage_logging.py | 271 | def test_sync_fast_summary_fields(self, single_cube_view, caplog): | CODE |
| LOW⚡ | tests/test_add_stage_logging.py | 290 | def test_zero_memories_does_not_crash(self, caplog): | CODE |
| LOW⚡ | tests/test_add_stage_logging.py | 364 | def test_single_cube_emits_multi_cube_log(self, caplog): | CODE |
| LOW | tests/test_add_stage_logging.py | 128 | def test_mem_reader_called_with_fast_mode(self, single_cube_view): | CODE |
| LOW | tests/test_add_stage_logging.py | 174 | def test_summary_contains_all_fields(self, single_cube_view, caplog): | CODE |
| LOW | tests/test_add_stage_logging.py | 199 | def test_summary_values_are_consistent(self, single_cube_view, caplog): | CODE |
| 1043 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/mem_tools/test_thread_safe_dict.py | 175 | except Exception as e: | CODE |
| LOW | tests/mem_tools/test_thread_safe_dict.py | 186 | except Exception as e: | CODE |
| MEDIUM | tests/mem_tools/test_thread_safe_dict.py | 170 | def writer(): | CODE |
| MEDIUM | tests/mem_tools/test_thread_safe_dict.py | 178 | def reader(): | CODE |
| LOW | tests/mem_scheduler/test_scheduler.py | 222 | except Exception as e: | CODE |
| LOW⚡ | tests/mem_cube/test_general.py | 62 | except Exception: | CODE |
| LOW | …n/open_source/best_practice/common_errors_solutions.md | 119 | except Exception: | CODE |
| LOW | docs/cn/open_source/modules/mem_scheduler.md | 432 | except Exception as e: | CODE |
| LOW | docs/cn/open_source/modules/memories/kv_cache_memory.md | 429 | except Exception as e: | CODE |
| LOW | docs/cn/open_source/modules/memories/kv_cache_memory.md | 472 | except Exception as e: | CODE |
| LOW | docs/cn/open_source/modules/memories/kv_cache_memory.md | 482 | except Exception as e: | CODE |
| LOW | docs/cn/open_source/modules/memories/kv_cache_memory.md | 504 | except Exception as e: | CODE |
| LOW | …cs/cn/open_source/modules/memories/polardb_graph_db.md | 414 | except Exception as e: | STRING |
| LOW | …n/open_source/best_practice/common_errors_solutions.md | 51 | except Exception: | CODE |
| LOW | docs/en/open_source/modules/mem_scheduler.md | 432 | except Exception as e: | CODE |
| LOW | …cs/en/open_source/modules/memories/polardb_graph_db.md | 417 | except Exception as e: | STRING |
| LOW | docs/en/open_source/getting_started/examples.md | 449 | except Exception as e: | CODE |
| LOW | examples/core_memories/vllm_kv_cache_memory.py | 53 | except Exception as e: | CODE |
| LOW | examples/core_memories/vllm_kv_cache_memory.py | 96 | except Exception as e: | CODE |
| LOW | examples/core_memories/vllm_kv_cache_memory.py | 106 | except Exception as e: | CODE |
| LOW | examples/core_memories/vllm_kv_cache_memory.py | 128 | except Exception as e: | CODE |
| LOW⚡ | examples/basic_modules/tree_textual_memory_recall.py | 87 | except Exception as exc: | CODE |
| LOW | examples/mem_scheduler/try_schedule_modules.py | 158 | except Exception: | CODE |
| LOW⚡ | examples/mem_scheduler/run_async_tasks.py | 40 | except Exception as e: | CODE |
| LOW | examples/mem_scheduler/show_redis_status.py | 72 | except Exception as e: | CODE |
| MEDIUM | examples/mem_scheduler/show_redis_status.py | 73 | print(f"Error while fetching status: {e}") | CODE |
| MEDIUM⚡ | examples/api/server_router_api.py | 666 | print(f"Error parsing response: {e}") | CODE |
| MEDIUM⚡ | examples/api/server_router_api.py | 669 | print(f"Error: {resp.status_code}") | CODE |
| LOW⚡ | examples/api/server_router_api.py | 665 | except Exception as e: | CODE |
| LOW⚡ | examples/api/server_router_api.py | 675 | except Exception as e: | CODE |
| LOW | examples/api/server_router_api.py | 63 | except Exception as e: | CODE |
| LOW | examples/api/server_router_api.py | 588 | except Exception as e: | CODE |
| LOW | examples/mem_reader/builders.py | 53 | except Exception as e: | CODE |
| LOW | examples/mem_reader/parser_demos/_base.py | 75 | except Exception as e: | CODE |
| LOW | examples/mem_reader/parser_demos/demo_image.py | 79 | except Exception as e: | CODE |
| LOW | examples/mem_reader/parser_demos/demo_file_content.py | 61 | except Exception as e: | CODE |
| LOW | examples/mem_reader/runners/run_multimodal.py | 130 | except Exception as e: | CODE |
| LOW | examples/mem_reader/runners/run_simple.py | 95 | except Exception as e: | CODE |
| LOW | examples/mem_reader/runners/run_simple.py | 105 | except Exception as e: | CODE |
| LOW | examples/mem_mcp/simple_fastmcp_serve.py | 33 | except Exception as e: | CODE |
| LOW | examples/mem_mcp/simple_fastmcp_serve.py | 46 | except Exception as e: | CODE |
| LOW | examples/mem_mcp/simple_fastmcp_serve.py | 58 | except Exception as e: | CODE |
| LOW | examples/extras/nli_e2e_example.py | 49 | except Exception: | CODE |
| LOW | examples/extras/nli_e2e_example.py | 95 | except Exception as e: | CODE |
| MEDIUM | examples/extras/nli_e2e_example.py | 96 | print(f"Error during request: {e}") | CODE |
| LOW | scripts/check_dependencies.py | 41 | except Exception as e: | CODE |
| LOW | evaluation/scripts/locomo/locomo_search.py | 231 | except Exception as e: | CODE |
| MEDIUM | evaluation/scripts/locomo/locomo_search.py | 232 | print(f"Error loading existing results for group {group_idx}: {e}") | CODE |
| LOW | evaluation/scripts/locomo/locomo_eval.py | 34 | except Exception as e: | CODE |
| LOW | evaluation/scripts/locomo/locomo_eval.py | 41 | except Exception as e: | CODE |
| LOW | evaluation/scripts/locomo/locomo_eval.py | 118 | except Exception as e: | STRING |
| LOW | evaluation/scripts/locomo/locomo_eval.py | 131 | except Exception as e: | STRING |
| LOW⚡ | evaluation/scripts/locomo/locomo_eval.py | 149 | except Exception as e: | STRING |
| LOW⚡ | evaluation/scripts/locomo/locomo_eval.py | 158 | except Exception as e: | STRING |
| LOW⚡ | evaluation/scripts/locomo/locomo_eval.py | 173 | except Exception as e: | STRING |
| LOW | evaluation/scripts/locomo/locomo_eval.py | 192 | except Exception as e: | STRING |
| LOW | evaluation/scripts/locomo/locomo_eval.py | 289 | except Exception as e: | STRING |
| MEDIUM | evaluation/scripts/locomo/locomo_eval.py | 290 | print(f"Error processing group {group_id}: {e}") | STRING |
| MEDIUM | evaluation/scripts/locomo/locomo_eval.py | 155 | def calculate_meteor_score(gold_tokens, response_tokens): | CODE |
| MEDIUM | evaluation/scripts/locomo/locomo_eval.py | 178 | def calculate_f1_score(gold_tokens, response_tokens): | CODE |
| 797 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | evaluation/scripts/PrefEval/pref_zep.py | 0 | adds conversation memory for a single line of data to memos and returns the data with a persistent user_id. | STRING |
| HIGH | evaluation/scripts/PrefEval/pref_memobase.py | 0 | adds conversation memory for a single line of data to memos and returns the data with a persistent user_id. | STRING |
| HIGH | evaluation/scripts/PrefEval/pref_supermemory.py | 0 | adds conversation memory for a single line of data to memos and returns the data with a persistent user_id. | STRING |
| HIGH | evaluation/scripts/PrefEval/pref_memu.py | 0 | adds conversation memory for a single line of data to memos and returns the data with a persistent user_id. | STRING |
| HIGH | evaluation/scripts/PrefEval/pref_memos.py | 0 | adds conversation memory for a single line of data to memos and returns the data with a persistent user_id. | STRING |
| HIGH | evaluation/scripts/PrefEval/pref_mem0.py | 0 | adds conversation memory for a single line of data to memos and returns the data with a persistent user_id. | STRING |
| HIGH | evaluation/scripts/PrefEval/pref_zep.py | 0 | processes a single line of data, searching memory based on the question. | STRING |
| HIGH | evaluation/scripts/PrefEval/pref_memobase.py | 0 | processes a single line of data, searching memory based on the question. | STRING |
| HIGH | evaluation/scripts/PrefEval/pref_supermemory.py | 0 | processes a single line of data, searching memory based on the question. | STRING |
| HIGH | evaluation/scripts/PrefEval/pref_memu.py | 0 | processes a single line of data, searching memory based on the question. | STRING |
| HIGH | evaluation/scripts/PrefEval/pref_memos.py | 0 | processes a single line of data, searching memory based on the question. | STRING |
| HIGH | evaluation/scripts/PrefEval/pref_mem0.py | 0 | processes a single line of data, searching memory based on the question. | STRING |
| HIGH | evaluation/scripts/PrefEval/pref_zep.py | 0 | generates a response for a single line of data using pre-fetched memories. | STRING |
| HIGH | evaluation/scripts/PrefEval/pref_memobase.py | 0 | generates a response for a single line of data using pre-fetched memories. | STRING |
| HIGH | evaluation/scripts/PrefEval/pref_supermemory.py | 0 | generates a response for a single line of data using pre-fetched memories. | STRING |
| HIGH | evaluation/scripts/PrefEval/pref_memu.py | 0 | generates a response for a single line of data using pre-fetched memories. | STRING |
| HIGH | evaluation/scripts/PrefEval/pref_memos.py | 0 | generates a response for a single line of data using pre-fetched memories. | STRING |
| HIGH | evaluation/scripts/PrefEval/pref_mem0.py | 0 | generates a response for a single line of data using pre-fetched memories. | STRING |
| HIGH | src/memos/reranker/strategies/singleturn_outmem.py | 0 | prepare documents based on single turn concatenation strategy. args: query: the search query graph_results: list of grap | STRING |
| HIGH | src/memos/reranker/strategies/concat_docsource.py | 0 | prepare documents based on single turn concatenation strategy. args: query: the search query graph_results: list of grap | STRING |
| HIGH | src/memos/reranker/strategies/single_turn.py | 0 | prepare documents based on single turn concatenation strategy. args: query: the search query graph_results: list of grap | STRING |
| HIGH | src/memos/reranker/strategies/concat_background.py | 0 | prepare documents based on single turn concatenation strategy. args: query: the search query graph_results: list of grap | STRING |
| HIGH | src/memos/reranker/strategies/singleturn_outmem.py | 0 | reconstruct textualmemoryitem objects from ranked dialogue pairs. args: ranked_indices: list of dialogue pair indices so | STRING |
| HIGH | src/memos/reranker/strategies/concat_docsource.py | 0 | reconstruct textualmemoryitem objects from ranked dialogue pairs. args: ranked_indices: list of dialogue pair indices so | STRING |
| HIGH | src/memos/reranker/strategies/single_turn.py | 0 | reconstruct textualmemoryitem objects from ranked dialogue pairs. args: ranked_indices: list of dialogue pair indices so | STRING |
| HIGH | src/memos/reranker/strategies/concat_background.py | 0 | reconstruct textualmemoryitem objects from ranked dialogue pairs. args: ranked_indices: list of dialogue pair indices so | STRING |
| HIGH | …completion_types/chat_completion_user_message_param.py | 0 | optional timestamp for the message, format is not restricted, it can be any vague or precise time string. | STRING |
| HIGH | …etion_types/chat_completion_assistant_message_param.py | 0 | optional timestamp for the message, format is not restricted, it can be any vague or precise time string. | STRING |
| HIGH | …completion_types/chat_completion_tool_message_param.py | 0 | optional timestamp for the message, format is not restricted, it can be any vague or precise time string. | STRING |
| HIGH | …mpletion_types/chat_completion_system_message_param.py | 0 | optional timestamp for the message, format is not restricted, it can be any vague or precise time string. | STRING |
| HIGH | src/memos/vec_dbs/milvus.py | 0 | count items in the database, optionally with filter. | STRING |
| HIGH | src/memos/vec_dbs/qdrant.py | 0 | count items in the database, optionally with filter. | STRING |
| HIGH | src/memos/vec_dbs/base.py | 0 | count items in the database, optionally with filter. | STRING |
| HIGH | src/memos/vec_dbs/milvus.py | 0 | add or update data in the vector database. if an item with the same id exists, it will be updated. otherwise, it will be | STRING |
| HIGH | src/memos/vec_dbs/qdrant.py | 0 | add or update data in the vector database. if an item with the same id exists, it will be updated. otherwise, it will be | STRING |
| HIGH | src/memos/vec_dbs/base.py | 0 | add or update data in the vector database. if an item with the same id exists, it will be updated. otherwise, it will be | STRING |
| HIGH | src/memos/chunkers/markdown_chunker.py | 0 | chunk the given text into smaller chunks based on sentences. | STRING |
| HIGH | src/memos/chunkers/sentence_chunker.py | 0 | chunk the given text into smaller chunks based on sentences. | STRING |
| HIGH | src/memos/chunkers/charactertext_chunker.py | 0 | chunk the given text into smaller chunks based on sentences. | STRING |
| HIGH | src/memos/graph_dbs/neo4j_community.py | 0 | get user names by memory ids. args: memory_ids: list of memory node ids to query. returns: dict[str, str | none]: dictio | STRING |
| HIGH | src/memos/graph_dbs/polardb.py | 0 | get user names by memory ids. args: memory_ids: list of memory node ids to query. returns: dict[str, str | none]: dictio | STRING |
| HIGH | src/memos/graph_dbs/neo4j.py | 0 | get user names by memory ids. args: memory_ids: list of memory node ids to query. returns: dict[str, str | none]: dictio | STRING |
| HIGH | src/memos/graph_dbs/polardb.py | 0 | delete a specific edge between two nodes. args: source_id: id of the source node. target_id: id of the target node. type | STRING |
| HIGH | src/memos/graph_dbs/neo4j.py | 0 | delete a specific edge between two nodes. args: source_id: id of the source node. target_id: id of the target node. type | STRING |
| HIGH | src/memos/graph_dbs/base.py | 0 | delete a specific edge between two nodes. args: source_id: id of the source node. target_id: id of the target node. type | STRING |
| HIGH | src/memos/graph_dbs/polardb.py | 0 | find nodes that are likely candidates for structure optimization: - isolated nodes, nodes with empty background, or node | STRING |
| HIGH | src/memos/graph_dbs/neo4j.py | 0 | find nodes that are likely candidates for structure optimization: - isolated nodes, nodes with empty background, or node | STRING |
| HIGH | src/memos/graph_dbs/base.py | 0 | find nodes that are likely candidates for structure optimization: - isolated nodes, nodes with empty background, or node | STRING |
| HIGH | src/memos/mem_chat/simple.py | 0 | build system prompt with optional memories context. | STRING |
| HIGH | src/memos/mem_scheduler/general_modules/base.py | 0 | build system prompt with optional memories context. | STRING |
| HIGH | src/memos/api/handlers/chat_handler.py | 0 | build system prompt with optional memories context. | STRING |
| HIGH | src/memos/mem_os/core.py | 0 | build system prompt with optional memories context. | STRING |
| HIGH | src/memos/embedders/sentence_transformer.py | 0 | generate embeddings for the given texts. args: texts: list of texts to embed. returns: list of embeddings, each represen | STRING |
| HIGH | src/memos/embedders/ark.py | 0 | generate embeddings for the given texts. args: texts: list of texts to embed. returns: list of embeddings, each represen | STRING |
| HIGH | src/memos/embedders/ollama.py | 0 | generate embeddings for the given texts. args: texts: list of texts to embed. returns: list of embeddings, each represen | STRING |
| HIGH | src/memos/mem_scheduler/general_scheduler.py | 0 | initialize the scheduler with the given configuration. | STRING |
| HIGH | src/memos/mem_scheduler/base_scheduler.py | 0 | initialize the scheduler with the given configuration. | STRING |
| HIGH | src/memos/mem_scheduler/general_modules/base.py | 0 | initialize the scheduler with the given configuration. | STRING |
| HIGH | …emos/mem_scheduler/task_schedule_modules/task_queue.py | 0 | local queue implementation for schedulermessageitem objects. this module provides a local-based queue implementation tha | STRING |
| HIGH | …mos/mem_scheduler/task_schedule_modules/redis_queue.py | 0 | local queue implementation for schedulermessageitem objects. this module provides a local-based queue implementation tha | STRING |
| 45 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/en/openclaw/local_plugin.md | 37 | ### Step 1: Install or Upgrade with One Command | COMMENT |
| LOW | docs/en/openclaw/local_plugin.md | 49 | ### Step 2: Open the Memory Viewer | COMMENT |
| LOW | docs/en/openclaw/local_plugin.md | 60 | ### Step 3: Configure from the Panel | COMMENT |
| LOW | docs/en/openclaw/local_plugin.md | 70 | ### Step 4: Start the Target Agent | COMMENT |
| LOW | docs/en/openclaw/local_plugin.md | 81 | ### Step 5: Verify Memory | COMMENT |
| LOW | …en_source/best_practice/mcp_for_cozespace_and_tools.md | 75 | ### Step 1: Start Server API | COMMENT |
| LOW | …en_source/best_practice/mcp_for_cozespace_and_tools.md | 97 | ### Step 2: Start MCP HTTP Service | COMMENT |
| LOW | …en_source/best_practice/mcp_for_cozespace_and_tools.md | 134 | ### Step 3: Configure an HTTPS Reverse Proxy | COMMENT |
| LOW | …en_source/best_practice/mcp_for_cozespace_and_tools.md | 170 | ### Step 4: Test MCP Service | COMMENT |
| LOW⚡ | …en_source/best_practice/mcp_for_cozespace_and_tools.md | 206 | ### Step 1: Open Coze Space and go to the tool configuration page | COMMENT |
| LOW⚡ | …en_source/best_practice/mcp_for_cozespace_and_tools.md | 210 | ### Step 2: Add a custom MCP tool | COMMENT |
| LOW⚡ | …en_source/best_practice/mcp_for_cozespace_and_tools.md | 216 | ### Step 3: Configure the MCP endpoint URL | COMMENT |
| LOW | …en_source/best_practice/mcp_for_cozespace_and_tools.md | 244 | ### Step 1: Start Server API | COMMENT |
| LOW | …en_source/best_practice/mcp_for_cozespace_and_tools.md | 255 | ### Step 2: Configure custom tools in Coze IDE | COMMENT |
| LOW | …en_source/best_practice/mcp_for_cozespace_and_tools.md | 262 | ### Step 3: Implement the add_memory tool | COMMENT |
| LOW | …en_source/best_practice/mcp_for_cozespace_and_tools.md | 332 | ### Step 4: Publish and test tools | COMMENT |
| LOW | …en_source/best_practice/mcp_for_cozespace_and_tools.md | 338 | ### Step 5: Integrate into agent workflow | COMMENT |
| LOW⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 128 | #### Step 1: Tokenization | COMMENT |
| LOW⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 131 | #### Step 2: Calculate Match Score | COMMENT |
| LOW⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 134 | #### Step 3: Sort | COMMENT |
| LOW⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 137 | #### Step 4: Return Results | COMMENT |
| LOW⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 206 | #### Step 2: Initialize Memory Module | COMMENT |
| LOW⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 214 | #### Step 3: Extract and Add Memories | COMMENT |
| LOW | …n/open_source/modules/memories/naive_textual_memory.md | 186 | #### Step 1: Create Configuration | COMMENT |
| LOW⚡ | …cs/en/open_source/modules/memories/polardb_graph_db.md | 101 | # Step 1: Add Node | COMMENT |
| LOW⚡ | …cs/en/open_source/modules/memories/polardb_graph_db.md | 116 | # Step 2: Update Node | COMMENT |
| LOW⚡ | …cs/en/open_source/modules/memories/polardb_graph_db.md | 129 | # Step 3: Create Relationship | COMMENT |
| LOW⚡ | …cs/en/open_source/modules/memories/polardb_graph_db.md | 156 | # Step 4: Vector Search | COMMENT |
| LOW⚡ | …cs/en/open_source/modules/memories/polardb_graph_db.md | 172 | # Step 5: Delete Node | COMMENT |
| LOW | docs/en/open_source/modules/memories/neo4j_graph_db.md | 43 | # Step 1: Build factory config | COMMENT |
| LOW | docs/en/open_source/modules/memories/neo4j_graph_db.md | 56 | # Step 2: Instantiate the graph store | COMMENT |
| LOW | docs/en/open_source/modules/memories/neo4j_graph_db.md | 59 | # Step 3: Add memory | COMMENT |
| LOW⚡ | examples/basic_modules/tree_textual_memory_recall.py | 39 | # Step 0: Setup - Load configuration files | COMMENT |
| LOW⚡ | examples/basic_modules/tree_textual_memory_recall.py | 57 | # Step 1: Initialize Embedder | COMMENT |
| LOW⚡ | examples/basic_modules/tree_textual_memory_recall.py | 66 | # Step 2: Initialize Graph Store | COMMENT |
| LOW⚡ | examples/basic_modules/tree_textual_memory_recall.py | 75 | # Step 3: Clean up old mock data (optional) | COMMENT |
| LOW⚡ | examples/basic_modules/tree_textual_memory_recall.py | 91 | # Step 4: Insert mock memories into the graph store | COMMENT |
| LOW⚡ | examples/basic_modules/tree_textual_memory_recall.py | 138 | # Step 5: Define a query and retrieval goal | COMMENT |
| LOW⚡ | examples/basic_modules/tree_textual_memory_recall.py | 164 | # Step 6: Perform hybrid retrieval | COMMENT |
| LOW⚡ | examples/basic_modules/tree_textual_memory_recall.py | 184 | # Step 7: Display results | COMMENT |
| LOW⚡ | …asic_modules/textual_memory_internet_search_example.py | 60 | # Step 0: Setup - Load configuration files | COMMENT |
| LOW⚡ | …asic_modules/textual_memory_internet_search_example.py | 77 | # Step 1: Initialize Embedder | COMMENT |
| LOW⚡ | …asic_modules/textual_memory_internet_search_example.py | 88 | # Step 2: Configure Internet Retriever (BochaAI) | COMMENT |
| LOW⚡ | …asic_modules/textual_memory_internet_search_example.py | 125 | # Step 3: Create Retriever Instance | COMMENT |
| LOW⚡ | …asic_modules/textual_memory_internet_search_example.py | 134 | # Step 4: Perform Web Search | COMMENT |
| LOW⚡ | …asic_modules/textual_memory_internet_search_example.py | 156 | # Step 5: Display Results | COMMENT |
| LOW⚡ | …asic_modules/textual_memory_internet_search_example.py | 207 | # Step 6: Test Google Custom Search API (Optional) | COMMENT |
| LOW⚡ | …asic_modules/textual_memory_internet_search_example.py | 294 | # Step 7: Test Tavily Search API (Optional) | COMMENT |
| LOW⚡ | …/basic_modules/tree_textual_memory_task_goal_parser.py | 40 | # Step 0: Setup - Load configuration files | COMMENT |
| LOW⚡ | …/basic_modules/tree_textual_memory_task_goal_parser.py | 57 | # Step 1: Initialize LLM for Task Parsing | COMMENT |
| LOW⚡ | …/basic_modules/tree_textual_memory_task_goal_parser.py | 69 | # Step 2: Define a natural language task/query | COMMENT |
| LOW⚡ | …/basic_modules/tree_textual_memory_task_goal_parser.py | 79 | # Step 3: Parse using FAST mode | COMMENT |
| LOW⚡ | …/basic_modules/tree_textual_memory_task_goal_parser.py | 120 | # Step 4: Parse using FINE mode | COMMENT |
| LOW⚡ | …/basic_modules/tree_textual_memory_task_goal_parser.py | 160 | # Step 5: Compare Results | COMMENT |
| LOW⚡ | examples/basic_modules/neo4j_example.py | 77 | # Step 2: Instantiate the graph store | COMMENT |
| LOW⚡ | examples/basic_modules/neo4j_example.py | 81 | # Step 3: Create topic node | COMMENT |
| LOW⚡ | examples/basic_modules/neo4j_example.py | 316 | # Step 2: Instantiate graph store | COMMENT |
| LOW⚡ | examples/basic_modules/neo4j_example.py | 321 | # Step 3: Create topic node | COMMENT |
| LOW⚡ | examples/basic_modules/neo4j_example.py | 360 | # Step 5: Query and print ALL for verification | COMMENT |
| LOW⚡ | examples/basic_modules/neo4j_example.py | 366 | # Step 6: Search for alice's data only | COMMENT |
| 136 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | examples/basic_modules/tree_textual_memory_recall.py | 39 | # Step 0: Setup - Load configuration files | COMMENT |
| LOW⚡ | examples/basic_modules/tree_textual_memory_recall.py | 57 | # Step 1: Initialize Embedder | COMMENT |
| LOW⚡ | examples/basic_modules/tree_textual_memory_recall.py | 66 | # Step 2: Initialize Graph Store | COMMENT |
| LOW⚡ | examples/basic_modules/tree_textual_memory_recall.py | 75 | # Step 3: Clean up old mock data (optional) | COMMENT |
| LOW⚡ | examples/basic_modules/tree_textual_memory_recall.py | 91 | # Step 4: Insert mock memories into the graph store | COMMENT |
| LOW⚡ | examples/basic_modules/tree_textual_memory_recall.py | 138 | # Step 5: Define a query and retrieval goal | COMMENT |
| LOW⚡ | examples/basic_modules/tree_textual_memory_recall.py | 164 | # Step 6: Perform hybrid retrieval | COMMENT |
| LOW⚡ | examples/basic_modules/tree_textual_memory_recall.py | 184 | # Step 7: Display results | COMMENT |
| LOW⚡ | …asic_modules/textual_memory_internet_search_example.py | 60 | # Step 0: Setup - Load configuration files | COMMENT |
| LOW⚡ | …asic_modules/textual_memory_internet_search_example.py | 77 | # Step 1: Initialize Embedder | COMMENT |
| LOW⚡ | …asic_modules/textual_memory_internet_search_example.py | 88 | # Step 2: Configure Internet Retriever (BochaAI) | COMMENT |
| LOW⚡ | …asic_modules/textual_memory_internet_search_example.py | 125 | # Step 3: Create Retriever Instance | COMMENT |
| LOW⚡ | …asic_modules/textual_memory_internet_search_example.py | 134 | # Step 4: Perform Web Search | COMMENT |
| LOW⚡ | …asic_modules/textual_memory_internet_search_example.py | 156 | # Step 5: Display Results | COMMENT |
| LOW⚡ | …asic_modules/textual_memory_internet_search_example.py | 207 | # Step 6: Test Google Custom Search API (Optional) | COMMENT |
| LOW⚡ | …asic_modules/textual_memory_internet_search_example.py | 294 | # Step 7: Test Tavily Search API (Optional) | COMMENT |
| LOW⚡ | …/basic_modules/tree_textual_memory_task_goal_parser.py | 40 | # Step 0: Setup - Load configuration files | COMMENT |
| LOW⚡ | …/basic_modules/tree_textual_memory_task_goal_parser.py | 57 | # Step 1: Initialize LLM for Task Parsing | COMMENT |
| LOW⚡ | …/basic_modules/tree_textual_memory_task_goal_parser.py | 69 | # Step 2: Define a natural language task/query | COMMENT |
| LOW⚡ | …/basic_modules/tree_textual_memory_task_goal_parser.py | 79 | # Step 3: Parse using FAST mode | COMMENT |
| LOW⚡ | …/basic_modules/tree_textual_memory_task_goal_parser.py | 120 | # Step 4: Parse using FINE mode | COMMENT |
| LOW⚡ | …/basic_modules/tree_textual_memory_task_goal_parser.py | 160 | # Step 5: Compare Results | COMMENT |
| LOW⚡ | examples/basic_modules/neo4j_example.py | 77 | # Step 2: Instantiate the graph store | COMMENT |
| LOW⚡ | examples/basic_modules/neo4j_example.py | 81 | # Step 3: Create topic node | COMMENT |
| LOW⚡ | examples/basic_modules/neo4j_example.py | 316 | # Step 2: Instantiate graph store | COMMENT |
| LOW⚡ | examples/basic_modules/neo4j_example.py | 321 | # Step 3: Create topic node | COMMENT |
| LOW⚡ | examples/basic_modules/neo4j_example.py | 360 | # Step 5: Query and print ALL for verification | COMMENT |
| LOW⚡ | examples/basic_modules/neo4j_example.py | 366 | # Step 6: Search for alice's data only | COMMENT |
| LOW | examples/basic_modules/neo4j_example.py | 63 | # Step 1: Build factory config | COMMENT |
| LOW | examples/basic_modules/neo4j_example.py | 111 | # Step 4: Define and write concept nodes | COMMENT |
| LOW | examples/basic_modules/neo4j_example.py | 183 | # Step 5: Write and link concepts to topic | COMMENT |
| LOW | examples/basic_modules/neo4j_example.py | 302 | # Step 1: Build factory config | COMMENT |
| LOW | examples/basic_modules/neo4j_example.py | 337 | # Step 4: Add a concept for each user | COMMENT |
| LOW⚡ | …odules/tree_textual_memory_relation_reason_detector.py | 48 | # Step 0: Setup - Load configuration files | COMMENT |
| LOW⚡ | …odules/tree_textual_memory_relation_reason_detector.py | 72 | # Step 1: Initialize Embedder | COMMENT |
| LOW⚡ | …odules/tree_textual_memory_relation_reason_detector.py | 82 | # Step 2: Initialize Graph Store | COMMENT |
| LOW⚡ | …odules/tree_textual_memory_relation_reason_detector.py | 95 | # Step 3: Initialize LLM | COMMENT |
| LOW⚡ | …odules/tree_textual_memory_relation_reason_detector.py | 108 | # Step 4: Create Mock Memory Nodes | COMMENT |
| LOW⚡ | …odules/tree_textual_memory_relation_reason_detector.py | 234 | # Step 5: Insert Nodes into Graph Store | COMMENT |
| LOW⚡ | …odules/tree_textual_memory_relation_reason_detector.py | 245 | # Step 6: Initialize Relation & Reasoning Detector | COMMENT |
| LOW⚡ | …odules/tree_textual_memory_relation_reason_detector.py | 258 | # Step 7: Run Relation Detection & Reasoning | COMMENT |
| LOW⚡ | …odules/tree_textual_memory_relation_reason_detector.py | 278 | # Step 8: Display Results | COMMENT |
| LOW⚡ | examples/mem_cube/dump_cube.py | 39 | # Step 1: Initialize server | COMMENT |
| LOW⚡ | examples/mem_cube/dump_cube.py | 49 | # Step 2: Create SingleCubeView with NEW cube_id | COMMENT |
| LOW⚡ | examples/mem_cube/dump_cube.py | 68 | # Step 3: Add memories via View | COMMENT |
| LOW⚡ | examples/mem_cube/dump_cube.py | 88 | # Step 4: Dump ONLY this cube's data | COMMENT |
| LOW⚡ | examples/mem_cube/load_cube.py | 35 | # Step 1: Initialize server | COMMENT |
| LOW⚡ | examples/mem_cube/load_cube.py | 45 | # Step 2: Create SingleCubeView | COMMENT |
| LOW⚡ | examples/mem_cube/load_cube.py | 64 | # Step 3: Load memories from dump | COMMENT |
| LOW⚡ | examples/mem_cube/load_cube.py | 90 | # Step 4: Display loaded memories | COMMENT |
| LOW⚡ | examples/mem_cube/load_cube.py | 105 | # Step 5: Search loaded memories | COMMENT |
| LOW | packages/memos-core/src/recall/engine.ts | 45 | // Step 1: Gather candidates from FTS, vector search, and pattern search | COMMENT |
| LOW | packages/memos-core/src/recall/engine.ts | 128 | // Step 2: RRF fusion | COMMENT |
| LOW⚡ | packages/memos-core/src/recall/engine.ts | 150 | // Step 3: MMR re-ranking | COMMENT |
| LOW⚡ | packages/memos-core/src/recall/engine.ts | 157 | // Step 4: Time decay | COMMENT |
| LOW | packages/memos-core/src/recall/engine.ts | 169 | // Step 5: Apply relative threshold on raw scores, then normalize to [0,1] | COMMENT |
| LOW | packages/memos-core/src/recall/engine.ts | 187 | // Step 6: Build hits (with optional role filter), applying maxResults cap at the end | COMMENT |
| LOW | evaluation/scripts/run_longbench_v2_eval.sh | 56 | # Step 2: Search | COMMENT |
| LOW | evaluation/scripts/run_longbench_v2_eval.sh | 73 | # Step 3: Response Generation | COMMENT |
| LOW | evaluation/scripts/run_longbench_v2_eval.sh | 88 | # Step 4: Metrics Calculation | COMMENT |
| 100 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/utils.py | 101 | CODE | |
| LOW | tests/mem_tools/test_thread_safe_dict.py | 165 | CODE | |
| LOW | tests/mem_tools/test_thread_safe_dict.py | 178 | CODE | |
| LOW | tests/memories/textual/test_tree_searcher.py | 41 | CODE | |
| LOW | tests/memories/textual/test_tree_searcher.py | 54 | CODE | |
| LOW | examples/core_memories/kv_cache_memory.py | 10 | CODE | |
| LOW | examples/mem_scheduler/memos_w_scheduler.py | 112 | CODE | |
| LOW | examples/api/server_router_api.py | 595 | CODE | |
| LOW | examples/mem_reader/parser_demos/demo_user.py | 13 | CODE | |
| LOW | examples/mem_reader/parser_demos/demo_multi_modal.py | 19 | CODE | |
| LOW | examples/mem_reader/parser_demos/demo_image.py | 18 | CODE | |
| LOW | examples/mem_reader/runners/run_multimodal.py | 25 | CODE | |
| LOW | evaluation/scripts/locomo/locomo_search.py | 186 | CODE | |
| LOW | evaluation/scripts/locomo/locomo_search.py | 236 | CODE | |
| LOW | evaluation/scripts/locomo/locomo_metric.py | 50 | CODE | |
| LOW | evaluation/scripts/locomo/utils.py | 1 | CODE | |
| LOW | evaluation/scripts/locomo/locomo_eval.py | 294 | CODE | |
| LOW | evaluation/scripts/locomo/locomo_ingestion.py | 22 | CODE | |
| LOW | evaluation/scripts/locomo/locomo_ingestion.py | 91 | CODE | |
| LOW | evaluation/scripts/locomo/locomo_rag.py | 262 | CODE | |
| LOW | evaluation/scripts/locomo/locomo_rag.py | 46 | CODE | |
| LOW | evaluation/scripts/PrefEval/pref_zep.py | 177 | CODE | |
| LOW | evaluation/scripts/PrefEval/pref_memobase.py | 30 | CODE | |
| LOW | evaluation/scripts/PrefEval/pref_memobase.py | 182 | CODE | |
| LOW | evaluation/scripts/PrefEval/pref_supermemory.py | 171 | CODE | |
| LOW | evaluation/scripts/PrefEval/pref_memu.py | 176 | CODE | |
| LOW | evaluation/scripts/PrefEval/pref_memos.py | 177 | CODE | |
| LOW | evaluation/scripts/PrefEval/prefeval_preprocess.py | 63 | CODE | |
| LOW | evaluation/scripts/PrefEval/pref_eval.py | 181 | CODE | |
| LOW | evaluation/scripts/PrefEval/pref_eval.py | 307 | CODE | |
| LOW | evaluation/scripts/PrefEval/pref_mem0.py | 175 | CODE | |
| LOW | evaluation/scripts/utils/client.py | 58 | CODE | |
| LOW | evaluation/scripts/utils/client.py | 103 | CODE | |
| LOW | evaluation/scripts/utils/client.py | 203 | CODE | |
| LOW | evaluation/scripts/utils/client.py | 228 | CODE | |
| LOW | evaluation/scripts/personamem/pm_ingestion.py | 17 | CODE | |
| LOW | evaluation/scripts/personamem/pm_ingestion.py | 124 | CODE | |
| LOW | evaluation/scripts/personamem/pm_search.py | 174 | CODE | |
| LOW | evaluation/scripts/personamem/pm_search.py | 279 | CODE | |
| LOW | …uation/scripts/long_bench-v2/longbench_v2_ingestion.py | 83 | CODE | |
| LOW | …uation/scripts/long_bench-v2/longbench_v2_responses.py | 59 | CODE | |
| LOW | …uation/scripts/long_bench-v2/longbench_v2_responses.py | 194 | CODE | |
| LOW | evaluation/scripts/long_bench-v2/longbench_v2_search.py | 23 | CODE | |
| LOW | evaluation/scripts/long_bench-v2/longbench_v2_search.py | 123 | CODE | |
| LOW | evaluation/scripts/longmemeval/lme_eval.py | 257 | CODE | |
| LOW | evaluation/scripts/longmemeval/lme_search.py | 80 | CODE | |
| LOW | evaluation/scripts/longmemeval/lme_rag.py | 98 | CODE | |
| LOW | evaluation/scripts/longmemeval/lme_rag.py | 221 | CODE | |
| LOW | evaluation/scripts/longmemeval/lme_ingestion.py | 16 | CODE | |
| LOW | evaluation/scripts/longmemeval/lme_ingestion.py | 63 | CODE | |
| LOW | …/memos-local-plugin/tests/python/test_bridge_client.py | 91 | CODE | |
| LOW | …lugin/adapters/hermes/memos_provider/daemon_manager.py | 55 | CODE | |
| LOW | …lugin/adapters/hermes/memos_provider/daemon_manager.py | 268 | CODE | |
| LOW | …lugin/adapters/hermes/memos_provider/daemon_manager.py | 399 | CODE | |
| LOW | …ocal-plugin/adapters/hermes/memos_provider/__init__.py | 349 | CODE | |
| LOW | …ocal-plugin/adapters/hermes/memos_provider/__init__.py | 761 | CODE | |
| LOW | …ocal-plugin/adapters/hermes/memos_provider/__init__.py | 897 | CODE | |
| LOW | …ocal-plugin/adapters/hermes/memos_provider/__init__.py | 1018 | CODE | |
| LOW | …ocal-plugin/adapters/hermes/memos_provider/__init__.py | 1390 | CODE | |
| LOW | …ocal-plugin/adapters/hermes/memos_provider/__init__.py | 1939 | CODE | |
| 238 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/mem_scheduler/test_config.py | 397 | f.write('{"description": "Hello \\"World\\"", "empty": null}') | CODE |
| HIGH | tests/llms/test_ollama.py | 16 | mock_response.model_dump_json.return_value = '{"model":"qwen3:0.6b","created_at":"2025-05-13T18:07:04.508998134Z | CODE |
| HIGH | tests/llms/test_ollama.py | 56 | mock_response.model_dump_json.return_value = '{"model":"qwen3:0.6b","created_at":"2025-05-13T18:07:04.508998134Z | CODE |
| HIGH⚡ | evaluation/scripts/PrefEval/irrelevant_conv.py | 5125 | 'ageCategory.equals("adult") ? characterAttributes[2] : "none";\n' | CODE |
| HIGH⚡ | evaluation/scripts/PrefEval/irrelevant_conv.py | 5127 | 'ageCategory.equals("adult") ? characterAttributes[3] : ' | CODE |
| HIGH⚡ | evaluation/scripts/PrefEval/irrelevant_conv.py | 5137 | 'int professionIndex = ageCategory.equals("adult") ? 2 : -1; \n' | CODE |
| HIGH⚡ | evaluation/scripts/PrefEval/irrelevant_conv.py | 5138 | 'int genderIndex = ageCategory.equals("adult") ? 3 : 2;\n' | CODE |
| HIGH⚡ | evaluation/scripts/PrefEval/irrelevant_conv.py | 5465 | " Scenario scenario = null;\n" | CODE |
| HIGH⚡ | evaluation/scripts/PrefEval/irrelevant_conv.py | 5466 | " Location rescuedLocation = null;\n" | CODE |
| HIGH⚡ | evaluation/scripts/PrefEval/irrelevant_conv.py | 5472 | " while ((currentLine = reader.readLine()) != null) {\n" | CODE |
| HIGH | evaluation/scripts/PrefEval/irrelevant_conv.py | 5015 | 'if (characterType.equals("human")) {\n' | CODE |
| HIGH | evaluation/scripts/PrefEval/irrelevant_conv.py | 5031 | '(characterType.equals("animal")) {\n' | CODE |
| HIGH | evaluation/scripts/PrefEval/irrelevant_conv.py | 5050 | 'if (characterType.equals("human")) {\n' | CODE |
| HIGH | evaluation/scripts/PrefEval/irrelevant_conv.py | 5061 | ' if (!profession.equals("NONE")) {\n' | CODE |
| HIGH | evaluation/scripts/PrefEval/irrelevant_conv.py | 5072 | '} else if (characterType.equals("animal")) {\n' | CODE |
| HIGH | evaluation/scripts/PrefEval/irrelevant_conv.py | 5186 | 'int professionIndex = ageCategory.equals("adult") ? ' | CODE |
| HIGH | evaluation/scripts/PrefEval/irrelevant_conv.py | 5302 | " return null; \n" | CODE |
| HIGH | evaluation/scripts/PrefEval/irrelevant_conv.py | 5318 | " return null; \n" | CODE |
| HIGH | evaluation/scripts/PrefEval/irrelevant_conv.py | 5333 | " return null; \n" | CODE |
| HIGH | evaluation/scripts/PrefEval/irrelevant_conv.py | 5344 | "if (location != null) {\n" | CODE |
| HIGH | evaluation/scripts/PrefEval/irrelevant_conv.py | 5443 | " if (logFilePath == null) {\n" | CODE |
| HIGH | evaluation/scripts/PrefEval/irrelevant_conv.py | 5451 | " if (!file.exists() || file.length() == 0) {\n" | CODE |
| HIGH | evaluation/scripts/PrefEval/irrelevant_conv.py | 5615 | "location.equals(selectedLocation);\n" | CODE |
| HIGH | evaluation/scripts/PrefEval/irrelevant_conv.py | 8048 | " errorNumber?: number | undefined;\n" | CODE |
| HIGH | evaluation/scripts/PrefEval/irrelevant_conv.py | 8051 | " slices?: Slice[] | undefined;\n" | CODE |
| HIGH | …lugin/adapters/hermes/memos_provider/daemon_manager.py | 340 | log_handle.close() # type: ignore[possibly-undefined] | CODE |
| HIGH | src/memos/graph_dbs/postgres.py | 746 | SELECT e.source_id, e.target_id, p.nodes || e.source_id, p.depth + 1 | CODE |
| HIGH | src/memos/graph_dbs/postgres.py | 751 | SELECT nodes || target_id as full_path | CODE |
| HIGH | src/memos/templates/mem_scheduler_prompts.py | 389 | - Be conservative: if there's any doubt about completeness, return true | CODE |
| HIGH | src/memos/templates/prefer_complete_prompt.py | 657 | "new_preference": null, | CODE |
| HIGH | src/memos/templates/prefer_complete_prompt.py | 658 | "new_context_summary": null, | CODE |
| HIGH | src/memos/templates/prefer_complete_prompt.py | 685 | "old_preference": null, | CODE |
| HIGH | src/memos/templates/prefer_complete_prompt.py | 686 | "old_context_summary": null, | CODE |
| HIGH | src/memos/templates/mem_feedback_prompts.py | 15 | "doc_scope": "[Extracted specific file or document description]" | "NONE" | null, | CODE |
| HIGH | src/memos/templates/mem_feedback_prompts.py | 16 | "original": "[Extracted original word or phrase A]" | null, | CODE |
| HIGH | src/memos/templates/mem_feedback_prompts.py | 46 | "doc_scope": null, | CODE |
| HIGH | src/memos/templates/mem_feedback_prompts.py | 47 | "original": null, | CODE |
| HIGH | src/memos/templates/mem_feedback_prompts.py | 72 | "doc_scope": "[提取的具体文件或文档描述]" | "NONE" | null, | CODE |
| HIGH | src/memos/templates/mem_feedback_prompts.py | 73 | "original": "[提取的原始词或短语A]" | null, | CODE |
| HIGH | src/memos/templates/mem_feedback_prompts.py | 104 | "doc_scope": null, | CODE |
| HIGH | src/memos/templates/mem_feedback_prompts.py | 105 | "original": null, | CODE |
| HIGH | …s/mem_reader/read_skill_memory/process_skill_memory.py | 434 | "[PROCESS_SKILLS] No skill memory extracted from conversation (LLM returned null)" | CODE |
| HIGH | …s/mem_reader/read_skill_memory/process_skill_memory.py | 562 | "[PROCESS_SKILLS] No skill memory extracted from conversation (LLM returned null)" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/plugins/test_plugin_component_init.py | 1 | CODE | |
| LOW | tests/graph_dbs/test_neo4j_vector_search.py | 265 | CODE | |
| LOW | tests/api/test_scheduler_handler_allstatus.py | 13 | CODE | |
| LOW | tests/dream/test_heuristic_enricher.py | 1 | CODE | |
| LOW | tests/dream/test_contextualization.py | 1 | CODE | |
| LOW | tests/dream/test_diary_pipeline.py | 1 | CODE | |
| LOW | tests/dream/test_context_recall.py | 1 | CODE | |
| LOW | tests/dream/test_diary_router.py | 1 | CODE | |
| LOW | examples/dream/full_pipeline_example.py | 12 | CODE | |
| LOW | …l-plugin/tests/python/test_bridge_script_resolution.py | 11 | CODE | |
| LOW | …l-plugin/tests/python/test_hermes_provider_pipeline.py | 8 | CODE | |
| LOW | …/memos-local-plugin/tests/python/test_bridge_client.py | 11 | CODE | |
| LOW | …lugin/adapters/hermes/memos_provider/daemon_manager.py | 17 | CODE | |
| LOW | …ocal-plugin/adapters/hermes/memos_provider/__init__.py | 46 | CODE | |
| LOW | …plugin/adapters/hermes/memos_provider/bridge_client.py | 13 | CODE | |
| LOW | src/memos/__init__.py | 3 | CODE | |
| LOW | src/memos/__init__.py | 4 | CODE | |
| LOW | src/memos/__init__.py | 5 | CODE | |
| LOW | src/memos/__init__.py | 6 | CODE | |
| LOW | src/memos/__init__.py | 7 | CODE | |
| LOW | src/memos/__init__.py | 8 | CODE | |
| LOW | src/memos/__init__.py | 9 | CODE | |
| LOW | src/memos/reranker/http_bge.py | 2 | CODE | |
| LOW | src/memos/reranker/http_bge_strategy.py | 2 | CODE | |
| LOW | src/memos/reranker/__init__.py | 1 | CODE | |
| LOW | src/memos/reranker/cosine_local.py | 2 | CODE | |
| LOW | src/memos/reranker/factory.py | 2 | CODE | |
| LOW | src/memos/reranker/noop.py | 1 | CODE | |
| LOW | src/memos/reranker/base.py | 2 | CODE | |
| LOW | src/memos/reranker/strategies/singleturn_outmem.py | 2 | CODE | |
| LOW | src/memos/reranker/strategies/concat_docsource.py | 2 | CODE | |
| LOW | src/memos/reranker/strategies/__init__.py | 1 | CODE | |
| LOW | src/memos/reranker/strategies/factory.py | 2 | CODE | |
| LOW | src/memos/reranker/strategies/single_turn.py | 2 | CODE | |
| LOW | src/memos/reranker/strategies/concat_background.py | 2 | CODE | |
| LOW | src/memos/reranker/strategies/dialogue_common.py | 1 | CODE | |
| LOW | src/memos/multi_mem_cube/single_cube.py | 1 | CODE | |
| LOW | src/memos/multi_mem_cube/composite_cube.py | 1 | CODE | |
| LOW | src/memos/multi_mem_cube/views.py | 1 | CODE | |
| LOW | src/memos/types/__init__.py | 1 | CODE | |
| LOW | src/memos/types/__init__.py | 1 | CODE | |
| LOW | src/memos/types/__init__.py | 1 | CODE | |
| LOW | src/memos/types/__init__.py | 1 | CODE | |
| LOW | src/memos/types/__init__.py | 1 | CODE | |
| LOW | src/memos/types/__init__.py | 1 | CODE | |
| LOW | src/memos/types/__init__.py | 1 | CODE | |
| LOW | src/memos/types/__init__.py | 1 | CODE | |
| LOW | src/memos/types/__init__.py | 1 | CODE | |
| LOW | src/memos/types/__init__.py | 1 | CODE | |
| LOW | src/memos/types/__init__.py | 1 | CODE | |
| LOW | src/memos/types/__init__.py | 1 | CODE | |
| LOW | src/memos/types/__init__.py | 1 | CODE | |
| LOW | src/memos/types/__init__.py | 1 | CODE | |
| LOW | …completion_types/chat_completion_user_message_param.py | 3 | CODE | |
| LOW | …completion_types/chat_completion_content_part_param.py | 1 | CODE | |
| LOW | …chat_completion_types/chat_completion_message_param.py | 1 | CODE | |
| LOW | …types/chat_completion_message_tool_call_union_param.py | 1 | CODE | |
| LOW | …es/chat_completion_message_function_tool_call_param.py | 1 | CODE | |
| LOW | …ypes/chat_completion_message_custom_tool_call_param.py | 1 | CODE | |
| LOW | …c/memos/types/openai_chat_completion_types/__init__.py | 3 | CODE | |
| 151 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/memos/dependency.py | 12 | Check if a package is available and provide installation hints on import failure. Args: import_name (str): | STRING |
| HIGH | src/memos/graph_dbs/neo4j_community.py | 307 | Retrieve node IDs based on vector similarity using external vector DB. Args: vector (list[ | STRING |
| HIGH | src/memos/graph_dbs/neo4j_community.py | 739 | Retrieve node IDs that match given metadata filters. Supports exact match. Args: filte | STRING |
| HIGH | src/memos/graph_dbs/polardb.py | 911 | Retrieve the metadata and memory of a list of nodes. Args: ids: List of Node identifier. | STRING |
| HIGH | src/memos/graph_dbs/neo4j.py | 567 | Retrieve the metadata and memory of a list of nodes. Args: ids: List of Node identifier. | STRING |
| HIGH | src/memos/graph_dbs/neo4j.py | 854 | Retrieve node IDs based on vector similarity. Args: vector (list[float]): The embedding ve | STRING |
| HIGH | src/memos/graph_dbs/neo4j.py | 1028 | TODO: 1. ADD logic: "AND" vs "OR"(support logic combination); 2. Support nested conditional exp | STRING |
| HIGH | src/memos/graph_dbs/base.py | 173 | Retrieve node IDs based on vector similarity. Args: vector (list[float]): The embedding ve | STRING |
| HIGH | src/memos/graph_dbs/base.py | 197 | Retrieve node IDs that match given metadata filters. Args: filters (dict[str, Any]): A dic | STRING |
| HIGH | src/memos/configs/mem_scheduler.py | 268 | Load configuration from either a YAML or JSON file based on file extension. Automatically detects file | STRING |
| HIGH | …emos/mem_scheduler/task_schedule_modules/dispatcher.py | 391 | Get a copy of currently running tasks, optionally filtered by a custom function. Args: fil | STRING |
| HIGH | …emos/mem_scheduler/task_schedule_modules/dispatcher.py | 737 | Execute multiple tasks concurrently and return all results. Args: tasks: Dictionary mappin | STRING |
| HIGH | src/memos/mem_scheduler/general_modules/misc.py | 238 | Get items from the queue. Args: block: Whether to block if no items are available (default: True) | STRING |
| HIGH | src/memos/mem_scheduler/general_modules/task_threads.py | 97 | Run multiple tasks concurrently and return all results. Args: tasks: Dictionary mapping ta | STRING |
| HIGH | src/memos/mem_scheduler/general_modules/task_threads.py | 185 | Execute multiple tasks using ThreadPoolExecutor. Args: tasks: Dictionary mapping task name | STRING |
| HIGH | src/memos/mem_scheduler/utils/misc_utils.py | 32 | Safely extracts JSON from LLM response text with robust error handling. Args: text: Raw text response | STRING |
| HIGH | src/memos/mem_scheduler/orm_modules/api_redis_model.py | 404 | Load Redis connection from environment variables Args: env_file_path: Path to .env file (optional, | STRING |
| HIGH | src/memos/mem_scheduler/orm_modules/base_model.py | 642 | Load MySQL engine from environment variables Args: env_file_path: Path to .env file (optional, defa | STRING |
| HIGH | …/mem_scheduler/memory_manage_modules/search_service.py | 70 | Search for memories across both LongTermMemory and UserMemory. This method provides a unified interfac | STRING |
| HIGH | src/memos/api/handlers/chat_handler.py | 106 | Chat with MemOS for chat complete response (non-streaming). Args: chat_req: Chat complete | STRING |
| HIGH | src/memos/api/handlers/chat_handler.py | 241 | Chat with MemOS via Server-Sent Events (SSE) stream for chat stream response. Args: chat_r | STRING |
| HIGH | src/memos/api/handlers/chat_handler.py | 426 | Chat with MemOS via Server-Sent Events (SSE) stream for playground chat stream response. Args: | STRING |
| HIGH | src/memos/api/handlers/scheduler_handler.py | 225 | Get scheduler running status for one or all tasks of a user. Retrieves task statuses from the persistent TaskS | STRING |
| HIGH | src/memos/api/handlers/scheduler_handler.py | 381 | Wait until the scheduler is idle for a specific user. Blocks and polls the new /scheduler/status endpoint unti | STRING |
| HIGH | src/memos/api/handlers/cube_handler.py | 36 | Create a new memory cube for a user. Args: request: Cube creation request Returns: | STRING |
| HIGH | src/memos/api/handlers/cube_handler.py | 80 | Register an existing memory cube with the system. Note: This endpoint currently validates the request but the a | STRING |
| HIGH | src/memos/mem_reader/simple_struct.py | 488 | Extract and classify memory content from scene_data. For dictionaries: Use LLM to summarize pairs of Q& | STRING |
| HIGH | src/memos/mem_user/persistent_factory.py | 22 | Create a persistent user manager instance from configuration. Args: config_factory: Configuration f | STRING |
| HIGH | src/memos/mem_user/user_manager.py | 152 | Create a new user. Args: user_name (str): Name of the user. role (UserRole): Role of th | STRING |
| HIGH | src/memos/mem_user/user_manager.py | 248 | Create a new cube. Args: cube_name (str): Name of the cube. owner_id (str): ID of the c | STRING |
| HIGH | src/memos/mem_user/factory.py | 20 | Create a user manager instance from configuration. Args: config_factory: Configuration factory cont | STRING |
| HIGH | src/memos/mem_user/mysql_user_manager.py | 166 | Create a new user. Args: user_name (str): Name of the user. role (UserRole): Role of th | STRING |
| HIGH | src/memos/mem_user/mysql_user_manager.py | 262 | Create a new cube. Args: cube_name (str): Name of the cube. owner_id (str): ID of the c | STRING |
| HIGH | src/memos/mem_user/mysql_persistent_user_manager.py | 223 | Create a new user with configuration. Args: user_name (str): Name of the user. config ( | STRING |
| HIGH | src/memos/mem_user/persistent_user_manager.py | 212 | Create a new user with configuration. Args: user_name (str): Name of the user. config ( | STRING |
| HIGH | src/memos/mem_os/utils/format_utils.py | 1394 | Remove markdown JSON code block formatting from LLM response. Args: response: Raw response string that | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/mem_scheduler/test_version_control.py | 213 | # Create a new manager instance to load the data | COMMENT |
| MEDIUM | tests/mem_scheduler/test_scheduler.py | 178 | # Create a mock DynamicCache with layers attribute | COMMENT |
| MEDIUM | tests/mem_scheduler/test_scheduler.py | 236 | # Create a real DynamicCache instance | COMMENT |
| MEDIUM | tests/mem_scheduler/test_dispatcher.py | 158 | # Create a new dispatcher with parallel dispatch disabled | COMMENT |
| MEDIUM⚡ | tests/mem_scheduler/test_dispatcher.py | 229 | # Create a fast task and a slow task | COMMENT |
| MEDIUM | tests/mem_scheduler/test_dispatcher.py | 357 | # Create a stuck task with messages | COMMENT |
| MEDIUM | tests/llms/test_openai.py | 50 | # Create a mock response chunk with a simulated delta dictionary | COMMENT |
| MEDIUM | tests/llms/test_openai.py | 66 | # Create the LLM config with think prefix enabled | COMMENT |
| MEDIUM | tests/llms/test_minimax.py | 54 | # Create a simulated stream chunk with delta fields | COMMENT |
| MEDIUM | tests/llms/test_hf.py | 101 | # Create a DynamicCache that's compatible with both old and new transformers versions | COMMENT |
| MEDIUM | tests/llms/test_deepseek.py | 54 | # Create a simulated stream chunk with delta fields | COMMENT |
| MEDIUM⚡ | tests/mem_reader/test_memory.py | 202 | # Create a mock LLM | COMMENT |
| MEDIUM | tests/mem_reader/test_memory.py | 231 | # Create a mock LLM | COMMENT |
| MEDIUM | tests/mem_cube/test_general.py | 42 | # Create the GeneralMemCube instance | COMMENT |
| MEDIUM | tests/memories/activation/test_kv.py | 37 | # Create a DynamicCache with at least one dummy tensor layer | COMMENT |
| MEDIUM | tests/memories/textual/test_naive.py | 248 | # Create a new memory instance and load the dumped data | COMMENT |
| MEDIUM | examples/core_memories/general_textual_memory.py | 45 | # Create the memory instance from the configuration | COMMENT |
| MEDIUM | examples/core_memories/tree_textual_memory.py | 20 | # Create a memory reader instance | COMMENT |
| MEDIUM | examples/basic_modules/chunker.py | 6 | # Create a config factory with sentence chunker backend | COMMENT |
| MEDIUM | examples/basic_modules/chunker.py | 17 | # Create a chunker using the factory | COMMENT |
| MEDIUM | examples/basic_modules/tree_textual_memory_recall.py | 119 | # Create a TextualMemoryItem with metadata | COMMENT |
| MEDIUM⚡ | …asic_modules/textual_memory_internet_search_example.py | 138 | # Define the search query | COMMENT |
| MEDIUM⚡ | examples/mem_scheduler/run_async_tasks.py | 29 | # Define a handler function | COMMENT |
| MEDIUM⚡ | examples/mem_scheduler/run_async_tasks.py | 33 | # Create a file named by task_id (use item_id as numeric id 0..99) | COMMENT |
| MEDIUM | evaluation/scripts/run_prefeval_eval.sh | 22 | # Create a directory name based on the *specific* LIB (e.g., "memos") | COMMENT |
| MEDIUM | evaluation/scripts/locomo/locomo_metric.py | 248 | ) # Create a list of keys first | CODE |
| MEDIUM | evaluation/scripts/locomo/locomo_metric.py | 304 | # Create a combined data structure for metrics and category scores | COMMENT |
| MEDIUM | evaluation/scripts/locomo/locomo_metric.py | 355 | # Create a pandas Excel writer | COMMENT |
| MEDIUM | evaluation/scripts/PrefEval/irrelevant_conv.py | 7120 | "fig,ax = plt.subplots(1,1,figsize=(8,3)) # Create a figure and " | CODE |
| MEDIUM | evaluation/scripts/PrefEval/irrelevant_conv.py | 7192 | "# Create a figure and axes object \n" | CODE |
| MEDIUM | evaluation/scripts/personamem/pm_metric.py | 62 | # Initialize statistics variables | COMMENT |
| MEDIUM | apps/memos-local-plugin/templates/config.demo.yaml | 3 | # This file is INTENTIONALLY NOT installed by `install.sh`. | COMMENT |
| MEDIUM | src/memos/context/context.py | 225 | # Create a new RequestContext with the main thread's trace_id | COMMENT |
| MEDIUM | src/memos/graph_dbs/polardb.py | 996 | # Create a simple edge table to store relationships (if not exists) | STRING |
| MEDIUM | src/memos/memos_tools/lockfree_dict.py | 37 | # Create a new dictionary with the update | COMMENT |
| MEDIUM | …mos/mem_scheduler/task_schedule_modules/local_queue.py | 93 | # Create the queue if it doesn't exist yet | COMMENT |
| MEDIUM | src/memos/mem_scheduler/general_modules/task_threads.py | 58 | # Create a stop flag for this task | COMMENT |
| MEDIUM⚡ | src/memos/mem_scheduler/orm_modules/redis_model.py | 304 | # Create a mapping of existing memories by their mapping key | COMMENT |
| MEDIUM | src/memos/mem_scheduler/orm_modules/api_redis_model.py | 210 | # Create a new merged manager with the original window size from obj_instance | COMMENT |
| MEDIUM⚡ | src/memos/mem_scheduler/orm_modules/base_model.py | 153 | # Create a temporary table definition without indexes | COMMENT |
| MEDIUM | src/memos/mem_scheduler/analyzer/api_analyzer.py | 357 | # Import necessary modules | COMMENT |
| MEDIUM | …memos/mem_scheduler/analyzer/mos_for_test_scheduler.py | 20 | """This class is only to test abilities of mem scheduler with enhanced monitoring""" | STRING |
| MEDIUM | src/memos/mem_scheduler/analyzer/eval_analyzer.py | 104 | # Create a mapping from query to search context | COMMENT |
| MEDIUM | src/memos/llms/hf_singleton.py | 68 | # Create a unique key based on model path and key parameters | COMMENT |
| MEDIUM | src/memos/mem_reader/multi_modal_struct.py | 154 | # Create a new memory item for each chunk, preserving original metadata | COMMENT |
| MEDIUM | src/memos/mem_reader/multi_modal_struct.py | 211 | # Create a list to hold futures with their original index | COMMENT |
| MEDIUM⚡ | …s/mem_reader/read_skill_memory/process_skill_memory.py | 284 | # Create a tuple for deduplication | COMMENT |
| MEDIUM | …s/mem_reader/read_skill_memory/process_skill_memory.py | 1141 | # Create a mapping from old_memory_id to old memory for easy lookup | STRING |
| MEDIUM | src/memos/mem_reader/read_multi_modal/utils.py | 118 | # Initialize parser instance | COMMENT |
| MEDIUM | src/memos/memories/activation/vllmkv.py | 47 | # Create a VLLMKVCacheItem with the extracted prompt | COMMENT |
| MEDIUM | src/memos/memories/activation/kv.py | 46 | # Create a KVCacheItem with the extracted cache | COMMENT |
| MEDIUM | src/memos/memories/textual/naive.py | 86 | # Create a TextualMemoryItem with properly structured metadata | COMMENT |
| MEDIUM | …emos/memories/textual/prefer_text_memory/retrievers.py | 92 | info = info.copy() # Create a copy to avoid modifying the original | CODE |
| MEDIUM | src/memos/mem_os/main.py | 364 | # Create a temporary LLM instance for decomposition | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/utils.py | 127 | # Check if the class is a subclass of BaseModel | COMMENT |
| LOW | tests/mem_scheduler/test_scheduler.py | 239 | # Check if it has layers attribute (may vary by transformers version) | COMMENT |
| LOW⚡ | tests/mem_scheduler/test_dispatcher.py | 222 | # Check if each message exists | COMMENT |
| LOW | tests/mem_reader/test_memory.py | 65 | # Check if the batch was added correctly | COMMENT |
| LOW | tests/mem_reader/test_memory.py | 111 | # Check if the document chunk group was added correctly | COMMENT |
| LOW | tests/mem_reader/test_memory.py | 156 | # Check if the section summary was generated correctly | COMMENT |
| LOW | tests/mem_reader/test_memory.py | 183 | # Check if the section summary was generated correctly | COMMENT |
| LOW⚡ | tests/mem_reader/test_memory.py | 212 | # Check if the section summary was generated correctly using the LLM | COMMENT |
| LOW | tests/mem_reader/test_memory.py | 241 | # Check if the section summary was generated correctly using the LLM | COMMENT |
| LOW | tests/mem_os/test_memos_core.py | 648 | assert "I like playing football" in system_prompt # Check if memory is interpolated | CODE |
| LOW | examples/mem_reader/parser_demos/demo_multi_modal.py | 202 | # Check if parser was found | COMMENT |
| LOW | examples/extras/nli_e2e_example.py | 42 | # Check if docs endpoint is accessible | COMMENT |
| LOW | evaluation/scripts/run_prefeval_eval.sh | 63 | # Check if the last command executed successfully | COMMENT |
| LOW | evaluation/scripts/run_prefeval_eval.sh | 78 | # Check if the *mapped* script exists | COMMENT |
| LOW | evaluation/scripts/locomo/locomo_metric.py | 365 | # Output the result to a file | COMMENT |
| LOW | evaluation/scripts/locomo/utils.py | 7 | # Check if it's the new data structure (list of TextualMemoryItem objects) | COMMENT |
| LOW | …lugin/adapters/hermes/memos_provider/daemon_manager.py | 490 | # Check if process exists (signal 0 doesn't actually send a signal) | COMMENT |
| LOW | …lugin/adapters/hermes/memos_provider/daemon_manager.py | 505 | # Check if process exists first | COMMENT |
| LOW | …-integration/apps/desktop/skills/dev-browser/server.sh | 19 | # Check if node_modules exists - only install in dev mode if missing | COMMENT |
| LOW | src/memos/deprecation.py | 169 | # Check if deprecated parameter is used | COMMENT |
| LOW | src/memos/graph_dbs/neo4j_community.py | 505 | # Check if it's a simple date format (YYYY-MM-DD) | STRING |
| LOW | src/memos/graph_dbs/neo4j_community.py | 600 | # Check if this is a date field | STRING |
| LOW | src/memos/graph_dbs/neo4j_community.py | 610 | # Check if it's a simple date format (YYYY-MM-DD) | STRING |
| LOW | src/memos/graph_dbs/neo4j_community.py | 843 | # Check if value is a dict with comparison operators (gt, lt, gte, lte) | STRING |
| LOW | src/memos/graph_dbs/neo4j_community.py | 857 | # Check if field is a date field (created_at, updated_at, etc.) | STRING |
| LOW | src/memos/graph_dbs/neo4j_community.py | 994 | # Check if this file_id is in the file_ids array field | STRING |
| LOW⚡ | src/memos/graph_dbs/polardb.py | 4099 | # Check if key is an array field | COMMENT |
| LOW⚡ | src/memos/graph_dbs/polardb.py | 4102 | # Check if key starts with "info." prefix | COMMENT |
| LOW⚡ | src/memos/graph_dbs/polardb.py | 4105 | # Check if info field is an array field | COMMENT |
| LOW⚡ | src/memos/graph_dbs/polardb.py | 4313 | # Check if value is a dict with comparison operators (gt, lt, gte, lte, =, contains) | COMMENT |
| LOW⚡ | src/memos/graph_dbs/polardb.py | 4322 | # Check if key is a datetime field | COMMENT |
| LOW⚡ | src/memos/graph_dbs/polardb.py | 4327 | # Check if key starts with "info." prefix (for nested fields like info.A, info.B) | COMMENT |
| LOW⚡ | src/memos/graph_dbs/polardb.py | 4485 | # Check if key is an array field | COMMENT |
| LOW⚡ | src/memos/graph_dbs/polardb.py | 4488 | # Check if key starts with "info." prefix | COMMENT |
| LOW⚡ | src/memos/graph_dbs/polardb.py | 4491 | # Check if info field is an array field | COMMENT |
| LOW | src/memos/graph_dbs/polardb.py | 3949 | # Check if value is a dict with comparison operators (gt, lt, gte, lte, =, contains, in, like) | COMMENT |
| LOW | src/memos/graph_dbs/polardb.py | 3960 | # Check if key is a datetime field | COMMENT |
| LOW | src/memos/graph_dbs/polardb.py | 3965 | # Check if key starts with "info." prefix (for nested fields like info.A, info.B) | COMMENT |
| LOW | src/memos/graph_dbs/polardb.py | 4005 | # Check if key starts with "info." prefix | COMMENT |
| LOW | src/memos/graph_dbs/polardb.py | 4072 | # Check if key starts with "info." prefix | COMMENT |
| LOW | src/memos/graph_dbs/polardb.py | 4221 | # Check if key starts with "info." prefix | COMMENT |
| LOW | src/memos/graph_dbs/polardb.py | 4242 | # Check if key starts with "info." prefix (for simple equality) | COMMENT |
| LOW | src/memos/graph_dbs/polardb.py | 4373 | # Check if key starts with "info." prefix | COMMENT |
| LOW | src/memos/graph_dbs/polardb.py | 4458 | # Check if key starts with "info." prefix | COMMENT |
| LOW | src/memos/graph_dbs/polardb.py | 4594 | # Check if key starts with "info." prefix | COMMENT |
| LOW | src/memos/graph_dbs/polardb.py | 4657 | # Check if key starts with "info." prefix (for simple equality) | COMMENT |
| LOW | src/memos/graph_dbs/neo4j.py | 1780 | # Check if value is a dict with comparison operators (gt, lt, gte, lte, contains, in, like) | STRING |
| LOW | src/memos/graph_dbs/neo4j.py | 1794 | # Check if field is a date field (created_at, updated_at, etc.) | STRING |
| LOW | src/memos/graph_dbs/neo4j.py | 1970 | # Check if this file_id is in the file_ids array field | STRING |
| LOW | src/memos/memos_tools/thread_safe_dict_segment.py | 31 | # Check if writers are starving | COMMENT |
| LOW | …mos/mem_scheduler/task_schedule_modules/redis_queue.py | 504 | # Check if it's a "consumer group already exists" error | COMMENT |
| LOW | src/memos/mem_scheduler/monitors/dispatcher_monitor.py | 179 | # Check if executor is shutdown | COMMENT |
| LOW | src/memos/mem_scheduler/monitors/dispatcher_monitor.py | 216 | # Check if stuck task count exceeds tolerance | COMMENT |
| LOW | src/memos/mem_scheduler/monitors/dispatcher_monitor.py | 232 | # Check if threads are stuck (no activity for specified intervals) | COMMENT |
| LOW | src/memos/mem_scheduler/general_modules/api_misc.py | 59 | # Check if entry with item_id already exists | COMMENT |
| LOW | src/memos/mem_scheduler/general_modules/task_threads.py | 205 | # Check if executor is shutdown before using it | COMMENT |
| LOW | src/memos/mem_scheduler/general_modules/task_threads.py | 309 | # Return the result | COMMENT |
| LOW | src/memos/mem_scheduler/utils/config_utils.py | 65 | # Check if input file exists | COMMENT |
| LOW | src/memos/mem_scheduler/orm_modules/redis_model.py | 472 | # Check if this is the first sync or if we need to merge | COMMENT |
| LOW | src/memos/mem_scheduler/orm_modules/base_model.py | 220 | # Check if lock is currently held and not expired | COMMENT |
| 43 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/embedders/test_ark.py | 21 | "api_key": "your-api-key", | CODE |
| HIGH | tests/embedders/test_ark.py | 48 | "api_key": "your-api-key", | CODE |
| HIGH | …n/open_source/best_practice/common_errors_solutions.md | 82 | "api_key": "your-api-key", | CODE |
| HIGH | docs/cn/open_source/modules/mos/memos_neo.md | 13 | export OPENAI_API_KEY="sk-your-api-key-here" | CODE |
| HIGH | docs/cn/open_source/modules/mos/memos_neo.md | 40 | os.environ["OPENAI_API_KEY"] = "sk-your-api-key" | CODE |
| HIGH | …n/open_source/modules/memories/naive_textual_memory.md | 200 | "api_key": "your-api-key", | CODE |
| HIGH⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 256 | "api_key": "your-api-key", | CODE |
| HIGH | …cn/open_source/modules/memories/tree_textual_memory.md | 192 | "api_key": "your-api-key" | CODE |
| HIGH | …cn/open_source/modules/memories/tree_textual_memory.md | 199 | "api_key": "your-api-key" | CODE |
| HIGH⚡ | …cn/open_source/modules/memories/tree_textual_memory.md | 213 | "api_key": "your-api-key" | CODE |
| HIGH | …n/open_source/best_practice/common_errors_solutions.md | 14 | "api_key": "your-api-key", | CODE |
| HIGH | docs/en/open_source/modules/mos/memos_neo.md | 13 | export OPENAI_API_KEY="sk-your-api-key-here" | CODE |
| HIGH | docs/en/open_source/modules/mos/memos_neo.md | 40 | os.environ["OPENAI_API_KEY"] = "sk-your-api-key" | CODE |
| HIGH⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 198 | "api_key": "your-api-key", | CODE |
| HIGH⚡ | …n/open_source/modules/memories/naive_textual_memory.md | 254 | "api_key": "your-api-key", | CODE |
| HIGH | …en/open_source/modules/memories/tree_textual_memory.md | 190 | "api_key": "your-api-key" | CODE |
| HIGH | …en/open_source/modules/memories/tree_textual_memory.md | 197 | "api_key": "your-api-key" | CODE |
| HIGH⚡ | …en/open_source/modules/memories/tree_textual_memory.md | 211 | "api_key": "your-api-key" | CODE |
| HIGH | docs/en/open_source/getting_started/installation.md | 517 | "api_key": "YOUR_API_KEY" | CODE |
| HIGH | apps/MemOS-Cloud-OpenClaw-Plugin/README.md | 125 | "apiKey": "YOUR_API_KEY", | CODE |
| HIGH | apps/MemOS-Cloud-OpenClaw-Plugin/README_ZH.md | 127 | "apiKey": "YOUR_API_KEY", | CODE |
| HIGH | src/memos/api/config.py | 295 | "api_key": os.getenv("OPENAI_API_KEY", "your-api-key-here"), | CODE |
| HIGH | src/memos/api/config.py | 319 | "api_key": os.getenv("MINIMAX_API_KEY", "your-api-key-here"), | CODE |
| HIGH | src/memos/mem_os/main.py | 97 | export OPENAI_API_KEY="your-api-key" | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …lugin/adapters/hermes/memos_provider/daemon_manager.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ocal-plugin/adapters/hermes/memos_provider/__init__.py | 90 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ocal-plugin/adapters/hermes/memos_provider/__init__.py | 2189 | __all__ = ["PLUGIN_ID", "PLUGIN_VERSION", "MemTensorProvider", "register"] | CODE |
| LOW | …plugin/adapters/hermes/memos_provider/bridge_client.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/memos/__init__.py | 12 | __all__ = [ | CODE |
| LOW | src/memos/reranker/__init__.py | 4 | __all__ = ["RerankerFactory"] | CODE |
| LOW | src/memos/reranker/strategies/__init__.py | 4 | __all__ = ["RerankerStrategyFactory"] | CODE |
| LOW | src/memos/types/__init__.py | 19 | __all__ = [ | CODE |
| LOW | src/memos/types/general_types.py | 27 | __all__ = [ | CODE |
| LOW | …completion_types/chat_completion_user_message_param.py | 12 | __all__ = ["ChatCompletionUserMessageParam"] | CODE |
| LOW | …completion_types/chat_completion_content_part_param.py | 12 | __all__ = ["ChatCompletionContentPartParam", "File", "FileFile"] | CODE |
| LOW | …chat_completion_types/chat_completion_message_param.py | 11 | __all__ = ["ChatCompletionMessageParam"] | CODE |
| LOW | …types/chat_completion_message_tool_call_union_param.py | 11 | __all__ = ["ChatCompletionMessageToolCallUnionParam"] | CODE |
| LOW | …es/chat_completion_message_function_tool_call_param.py | 8 | __all__ = ["ChatCompletionMessageFunctionToolCallParam", "Function"] | CODE |
| LOW | …ypes/chat_completion_message_custom_tool_call_param.py | 8 | __all__ = ["ChatCompletionMessageCustomToolCallParam", "Custom"] | CODE |
| LOW | …etion_types/chat_completion_assistant_message_param.py | 14 | __all__ = ["Audio", "ChatCompletionAssistantMessageParam", "ContentArrayOfContentPart"] | CODE |
| LOW | …etion_types/chat_completion_content_part_text_param.py | 8 | __all__ = ["ChatCompletionContentPartTextParam"] | CODE |
| LOW | …tion_types/chat_completion_content_part_image_param.py | 8 | __all__ = ["ChatCompletionContentPartImageParam", "ImageURL"] | CODE |
| LOW | …completion_types/chat_completion_tool_message_param.py | 12 | __all__ = ["ChatCompletionToolMessageParam"] | CODE |
| LOW | …ypes/chat_completion_content_part_input_audio_param.py | 8 | __all__ = ["ChatCompletionContentPartInputAudioParam", "InputAudio"] | CODE |
| LOW | …on_types/chat_completion_content_part_refusal_param.py | 8 | __all__ = ["ChatCompletionContentPartRefusalParam"] | CODE |
| LOW | …mpletion_types/chat_completion_system_message_param.py | 12 | __all__ = ["ChatCompletionSystemMessageParam"] | CODE |
| LOW | src/memos/context/context.py | 91 | def set_request_context(context: RequestContext | None) -> None: | CODE |
| LOW | src/memos/context/context.py | 328 | def set_trace_id_getter(getter: TraceIdGetter) -> None: | CODE |
| LOW | src/memos/plugins/hooks.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/memos/plugins/__init__.py | 7 | __all__ = [ | CODE |
| LOW | src/memos/plugins/hook_defs.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/memos/plugins/manager.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/memos/chunkers/__init__.py | 4 | __all__ = ["ChunkerFactory"] | CODE |
| LOW | src/memos/graph_dbs/polardb.py | 496 | def update_node(self, id: str, fields: dict[str, Any], user_name: str | None = None) -> None: | STRING |
| LOW | src/memos/graph_dbs/neo4j.py | 382 | def update_node(self, id: str, fields: dict[str, Any], user_name: str | None = None) -> None: | STRING |
| LOW | src/memos/graph_dbs/postgres.py | 314 | def update_node(self, id: str, fields: dict[str, Any], user_name: str | None = None) -> None: | CODE |
| LOW | src/memos/graph_dbs/base.py | 45 | def update_node(self, id: str, fields: dict[str, Any], user_name: str | None = None) -> None: | CODE |
| LOW | src/memos/memos_tools/notification_utils.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/memos/memos_tools/notification_service.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/memos/search/__init__.py | 9 | __all__ = [ | CODE |
| LOW | …emos/mem_scheduler/task_schedule_modules/task_queue.py | 58 | def set_status_tracker(self, status_tracker: TaskStatusTracker) -> None: | CODE |
| LOW | …m_scheduler/task_schedule_modules/handlers/__init__.py | 8 | __all__ = [ | CODE |
| LOW | src/memos/mem_scheduler/base_mixins/__init__.py | 6 | __all__ = [ | CODE |
| LOW | …/memos/mem_scheduler/memory_manage_modules/__init__.py | 5 | __all__ = ["MemoryFilter", "SchedulerRetriever"] | CODE |
| LOW | src/memos/api/config.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/memos/api/config.py | 31 | def _update_env_from_dict(data: dict[str, Any]) -> None: | CODE |
| LOW | src/memos/api/server_api_ext.py | 45 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/memos/api/server_api.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/memos/api/exceptions.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/memos/api/middleware/__init__.py | 7 | __all__ = [ | CODE |
| LOW | src/memos/api/context/dependencies.py | 6 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/memos/api/handlers/__init__.py | 39 | __all__ = [ | CODE |
| LOW | src/memos/api/handlers/formatters_handler.py | 16 | __all__ = [ | CODE |
| LOW | src/memos/mem_reader/simple_struct.py | 214 | def set_graph_db(self, graph_db: "BaseGraphDB | None") -> None: | CODE |
| LOW | src/memos/mem_reader/simple_struct.py | 217 | def set_searcher(self, searcher: "Searcher | None") -> None: | CODE |
| LOW | src/memos/mem_reader/base.py | 25 | def set_graph_db(self, graph_db: "BaseGraphDB | None") -> None: | CODE |
| LOW | src/memos/mem_reader/base.py | 38 | def set_searcher(self, searcher: "Searcher | None") -> None: | CODE |
| LOW | src/memos/mem_reader/read_multi_modal/__init__.py | 29 | __all__ = [ | CODE |
| LOW | src/memos/mem_cube/utils.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/memos/dream/enrichment.py | 158 | def _set_if_missing(self, target: dict[str, Any], key: str, value: Any) -> None: | CODE |
| LOW | src/memos/dream/__init__.py | 11 | __all__ = ["CommunityDreamPlugin"] | CODE |
| LOW | src/memos/dream/plugin.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/memos/dream/search.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/memos/dream/routes.py | 21 | __all__ = ["create_diary_router", "create_router", "create_trigger_router"] | CODE |
| 10 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/graph_dbs/test_neo4j_vector_search.py | 241 | "updated_at": datetime.now(timezone.utc), | COMMENT |
| LOW | apps/memos-local-plugin/install.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | apps/memos-local-plugin/install.sh | 21 | # a port at install time would also raise the question of | COMMENT |
| LOW | apps/memos-local-plugin/core/pipeline/orchestrator.ts | 501 | gapMs, | COMMENT |
| LOW | apps/memos-local-plugin/core/pipeline/orchestrator.ts | 761 | // the SESSION stays the same. OpenClaw maps its (agentId, | COMMENT |
| LOW | apps/memos-local-plugin/core/pipeline/memory-core.ts | 601 | // ─── Stale topic auto-finalize ── | COMMENT |
| LOW | apps/memos-local-plugin/core/pipeline/memory-core.ts | 981 | ); | COMMENT |
| LOW | apps/memos-local-plugin/core/pipeline/memory-core.ts | 1561 | const existingCount = | COMMENT |
| LOW | apps/memos-local-plugin/core/pipeline/memory-core.ts | 1781 | // status. Falls back to `handle.llm` when the operator left | COMMENT |
| LOW | apps/memos-local-plugin/core/pipeline/memory-core.ts | 4341 | // | COMMENT |
| LOW | apps/memos-local-plugin/core/pipeline/deps.ts | 261 | now: deps.now, | COMMENT |
| LOW | apps/memos-local-plugin/core/memory/l3/cluster.ts | 161 | // python syntax" and "register CLI subcommand" both live under the | COMMENT |
| LOW | apps/memos-local-plugin/core/config/defaults.ts | 81 | // OpenClaw's tool messages don't include explicit "reflection" | COMMENT |
| LOW | apps/memos-local-plugin/core/config/defaults.ts | 101 | // topic-end reflection receives: | COMMENT |
| LOW | apps/memos-local-plugin/core/config/defaults.ts | 141 | // (`hermes chat -q "..."`, `openclaw run --once`). With the old | COMMENT |
| LOW | apps/memos-local-plugin/core/config/defaults.ts | 161 | // for successful episodes; the old 0.05 floor was throwing away | COMMENT |
| LOW | apps/memos-local-plugin/core/config/defaults.ts | 201 | // attempt skill crystallization. Quality is still gated by | COMMENT |
| LOW | apps/memos-local-plugin/core/storage/migrator.ts | 261 | ensureColumn(db, table, "owner_workspace_id", "TEXT"); | COMMENT |
| LOW | apps/memos-local-plugin/core/session/manager.ts | 161 | // episode abandonment. Finalize the episode so the capture + | COMMENT |
| LOW | apps/memos-local-plugin/core/session/manager.ts | 241 | async function startEpisode(input: StartEpisodeInput): Promise<EpisodeSnapshot> { | COMMENT |
| LOW | apps/memos-local-plugin/core/session/persistence.ts | 161 | // CRITICAL: never use `episodes.upsert` here. The repo's upsert | COMMENT |
| LOW | apps/memos-local-plugin/bridge/methods.ts | 101 | if (!isRpcMethodName(method)) { | COMMENT |
| LOW | …s-local-plugin/tests/unit/pipeline/memory-core.test.ts | 1181 | // incomplete recent topics open so the next user turn can be routed | COMMENT |
| LOW | …al-plugin/tests/unit/adapters/openclaw-runtime.test.ts | 201 | // The runner inspects the return value with `isPromiseLike(ret)` and | COMMENT |
| LOW | …-local-plugin/tests/unit/adapters/openclaw-e2e.test.ts | 281 | // It must contain *some* real content — either an actual hit | COMMENT |
| LOW | …emos-local-plugin/tests/unit/viewer/tasks-chat.test.ts | 361 | expect(msgs[1]!.toolThinking).toBe("initial"); | COMMENT |
| LOW | …/memos-local-plugin/tests/python/test_bridge_client.py | 981 | self.assertTrue(cfg_path.exists()) | COMMENT |
| LOW | apps/memos-local-plugin/server/routes/overview.ts | 21 | // `viewer_opened` is now emitted by the SPA itself via | COMMENT |
| LOW | apps/memos-local-plugin/docs/CONFIG-ADVANCED.md | 161 | skillEtaBlend: 0.15 # blend weight for Tier-1 skill `η` (reliability). | COMMENT |
| LOW | …mos-local-plugin/adapters/openclaw/install.openclaw.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | apps/memos-local-plugin/adapters/openclaw/bridge.ts | 601 | const queue = pendingCalls.get(key); | COMMENT |
| LOW | apps/memos-local-plugin/adapters/openclaw/index.ts | 161 | // Without this every OpenClaw user was invisible in ARMS — only the | COMMENT |
| LOW | apps/memos-local-plugin/adapters/openclaw/index.ts | 441 | // | COMMENT |
| LOW | apps/memos-local-plugin/adapters/openclaw/index.ts | 461 | // the heavy work as a **fire-and-forget** background task and | COMMENT |
| LOW | …s/memos-local-plugin/adapters/hermes/install.hermes.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …ocal-plugin/adapters/hermes/memos_provider/__init__.py | 501 | # an episode based on V7 §0.1 relation classification. Calling | COMMENT |
| LOW | …s/memos-local-plugin/viewer/src/views/SettingsView.tsx | 361 | }) { | COMMENT |
| LOW | apps/memos-local-plugin/templates/config.demo.yaml | 1 | # config.demo.yaml — demo-only `algorithm.*` overrides | COMMENT |
| LOW | apps/memos-local-plugin/templates/config.demo.yaml | 21 | # ~/.openclaw/memos-plugin/config.yaml > /tmp/merged.yaml \ | COMMENT |
| LOW | apps/memos-local-plugin/templates/config.openclaw.yaml | 1 | # memos-local-plugin — OpenClaw runtime configuration | COMMENT |
| LOW | apps/memos-local-plugin/templates/config.hermes.yaml | 1 | # memos-local-plugin — Hermes runtime configuration | COMMENT |
| LOW | …emos-local-openclaw/tests/cross-session-memory.test.ts | 61 | // - "[from previous session]" tags on memories from session A | COMMENT |
| LOW | …emos-integration/apps/desktop/run_local_ui_prod_api.sh | 1 | #!/bin/bash | COMMENT |
| LOW | …s-integration/apps/desktop/run_local_ui_staging_api.sh | 1 | #!/bin/bash | COMMENT |
| LOW | …/desktop/__tests__/unit/main/ipc/handlers.unit.test.ts | 1941 | // Note: Callback execution tests for onStatusChange, onDebug, onError, onComplete | COMMENT |
| LOW | …enderer/components/SettingsDialog.integration.test.tsx | 201 | * Test approach: This is a unit test of the handleConnect logic in SettingsDialog. | COMMENT |
| LOW | …ion/apps/desktop/src/main/opencode/config-generator.ts | 141 | # EOF | COMMENT |
| LOW | src/memos/api/handlers/scheduler_handler.py | 141 | # Scheduler view: assume tracker contains scheduler tasks; overlay queue monitor for live queue depth | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docs/en/open_source/home/architecture.md | 72 | mem_os/ # MOS orchestration | CODE |
| MEDIUM | docs/en/open_source/modules/dream.md | 149 | ├── hooks.py # Hook handlers (signal capture + execution orchestration) | CODE |
| MEDIUM | examples/mem_feedback/example_feedback.py | 61 | # 2. Embedder: Configure embedding model for generating text vectors | COMMENT |
| MEDIUM | …uation/scripts/long_bench-v2/longbench_v2_responses.py | 25 | # RAG-style prompt template aligned with longbench_stx.TEMPLATE_RAG | COMMENT |
| MEDIUM | evaluation/scripts/long_bench-v2/longbench_v2_search.py | 88 | # Raw memories used for RAG answering (aligned with longbench_stx) | COMMENT |
| MEDIUM | apps/memos-local-openclaw/docs/index.html | 201 | <a href="#multi-agent"><span class="lang-zh">多智能体</span><span class="lang-en">Multi-Agent</span></a><a href="#llm-fa | CODE |
| MEDIUM | apps/memos-local-openclaw/www/docs/index.html | 220 | <a href="#multi-agent"><span class="lang-zh">多智能体</span><span class="lang-en">Multi-Agent</span></a><a href="#llm-fa | CODE |
| MEDIUM | apps/memos-local-openclaw/site/public/SKILL.md | 357 | ### Step 1.5 — Choose embedding model (user interaction) | COMMENT |
| MEDIUM | …er/task_schedule_modules/handlers/mem_dream_handler.py | 96 | # The framework accepts batched Dream tasks, but the scaffold only needs | COMMENT |
| MEDIUM | src/memos/api/config.py | 1004 | # General LLM for non-chat/doc tasks (hallucination filter, rewrite, merge, etc.) | COMMENT |
| MEDIUM | src/memos/api/config.py | 1137 | # General LLM for non-chat/doc tasks (hallucination filter, rewrite, merge, etc.) | COMMENT |
| MEDIUM | src/memos/api/routers/server_router.py | 79 | # Initialize all handlers with dependency injection | COMMENT |
| MEDIUM | src/memos/templates/mem_reader_prompts.py | 1106 | # Prompt mapping for specialized tasks (e.g., hallucination filtering) | COMMENT |
| MEDIUM | src/memos/mem_reader/simple_struct.py | 180 | # General LLM for non-chat/doc tasks (hallucination filter, rewrite, merge, etc.) | COMMENT |
| MEDIUM | src/memos/mem_reader/simple_struct.py | 623 | # Use general_llm for hallucination filter (not fine-tuned for this task) | COMMENT |
| MEDIUM | …s/mem_reader/read_skill_memory/process_skill_memory.py | 565 | # If no old skill content, set update to False (for llm hallucination) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | evaluation/scripts/locomo/locomo_metric.py | 41 | # Category mapping as per your request | COMMENT |
| HIGH | …egration/apps/desktop/src/renderer/stores/taskStore.ts | 408 | // Update task summary (AI-generated) | COMMENT |
| HIGH | …rk-memos-integration/apps/desktop/src/preload/index.ts | 194 | // Task summary updates (AI-generated summary) | COMMENT |
| HIGH | …mos/mem_reader/read_multi_modal/file_content_parser.py | 196 | # Extract text content from memory items (only strings as requested) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | evaluation/scripts/locomo/locomo_openai.py | 95 | CODE | |
| LOW | evaluation/scripts/locomo/locomo_responses.py | 51 | CODE | |
| LOW | evaluation/scripts/utils/client.py | 92 | CODE | |
| LOW | evaluation/scripts/utils/client.py | 347 | CODE | |
| LOW | evaluation/scripts/personamem/pm_responses.py | 66 | CODE | |
| LOW | evaluation/scripts/longmemeval/lme_responses.py | 33 | CODE | |
| LOW | src/memos/reranker/http_bge.py | 77 | CODE | |
| LOW | src/memos/reranker/http_bge_strategy.py | 77 | CODE | |
| LOW | src/memos/plugins/hooks.py | 146 | CODE | |
| LOW | src/memos/plugins/hooks.py | 135 | CODE | |
| LOW | src/memos/graph_dbs/neo4j_community.py | 293 | CODE | |
| LOW | src/memos/graph_dbs/neo4j_community.py | 468 | CODE | |
| LOW | src/memos/graph_dbs/polardb.py | 1589 | CODE | |
| LOW | src/memos/graph_dbs/polardb.py | 1693 | CODE | |
| LOW | src/memos/graph_dbs/polardb.py | 1819 | CODE | |
| LOW | src/memos/graph_dbs/neo4j.py | 840 | CODE | |
| LOW | src/memos/graph_dbs/neo4j.py | 999 | CODE | |
| LOW | src/memos/graph_dbs/postgres.py | 796 | CODE | |
| LOW | …emos/mem_scheduler/task_schedule_modules/dispatcher.py | 51 | CODE | |
| LOW | src/memos/mem_scheduler/utils/api_utils.py | 30 | CODE | |
| LOW | …/mem_scheduler/memory_manage_modules/search_service.py | 52 | CODE | |
| LOW | src/memos/api/client.py | 102 | CODE | |
| LOW | src/memos/api/client.py | 150 | CODE | |
| LOW | src/memos/api/client.py | 515 | CODE | |
| LOW | src/memos/api/handlers/base_handler.py | 26 | CODE | |
| LOW | …s/mem_reader/read_skill_memory/process_skill_memory.py | 985 | CODE | |
| LOW | …mos/mem_reader/read_multi_modal/file_content_parser.py | 1107 | CODE | |
| LOW | src/memos/memories/textual/tree.py | 157 | CODE | |
| LOW | …memories/textual/tree_text_memory/retrieve/searcher.py | 105 | CODE | |
| LOW | …memories/textual/tree_text_memory/retrieve/searcher.py | 157 | CODE | |
| LOW | …memories/textual/tree_text_memory/retrieve/searcher.py | 191 | CODE | |
| LOW | …memories/textual/tree_text_memory/retrieve/searcher.py | 361 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | evaluation/scripts/PrefEval/pref_zep.py | 143 | # If an error occurred in 'add' or 'search' mode, just pass the line through | COMMENT |
| LOW | evaluation/scripts/PrefEval/pref_memobase.py | 148 | # If an error occurred in 'add' or 'search' mode, just pass the line through | COMMENT |
| LOW | evaluation/scripts/PrefEval/pref_supermemory.py | 137 | # If an error occurred in 'add' or 'search' mode, just pass the line through | COMMENT |
| LOW | evaluation/scripts/PrefEval/pref_memu.py | 142 | # If an error occurred in 'add' or 'search' mode, just pass the line through | COMMENT |
| LOW | evaluation/scripts/PrefEval/pref_memos.py | 143 | # If an error occurred in 'add' or 'search' mode, just pass the line through | COMMENT |
| LOW | evaluation/scripts/PrefEval/pref_mem0.py | 141 | # If an error occurred in 'add' or 'search' mode, just pass the line through | COMMENT |
| MEDIUM | …memos-local-plugin/tests/e2e/v7-full-chain.e2e.test.ts | 664 | // the test robust against signature-clustering being strict; the | COMMENT |
| MEDIUM | apps/memos-local-plugin/server/routes/config.ts | 23 | * Issue #1929 — the rerun harness contract tests | COMMENT |
| MEDIUM | …/memos/mem_scheduler/monitors/task_schedule_monitor.py | 110 | # Keep printing robust in face of bad data | COMMENT |
| LOW⚡ | src/memos/mem_scheduler/orm_modules/redis_model.py | 291 | # Generic objects - just return the current instance | COMMENT |
| MEDIUM | src/memos/templates/tree_reorganize_prompts.py | 211 | MEMORY_RELATION_RESOLVER_PROMPT = """You are a memory fusion expert. You are given two statements and their associated m | STRING |
| LOW | src/memos/mem_reader/memory.py | 151 | # If key doesn't exist, simply add the new memory item | COMMENT |
| LOW | src/memos/mem_os/core.py | 511 | # Cube exists, just add user to cube if not already associated | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | examples/mem_scheduler/memos_w_scheduler.py | 74 | {"role": "assistant", "content": "Happy to help! Let me know if you need anything else."}, | CODE |
| MEDIUM | evaluation/scripts/PrefEval/irrelevant_conv.py | 4168 | "Refinery. Let me know if you need anything else!", | CODE |
| MEDIUM | evaluation/scripts/PrefEval/irrelevant_conv.py | 4226 | "Let me know if you need anything else!", | CODE |
| MEDIUM | evaluation/scripts/PrefEval/irrelevant_conv.py | 6302 | "Please let me know if you need any clarification or have " | CODE |
| MEDIUM | evaluation/scripts/PrefEval/irrelevant_conv.py | 6514 | "Please let me know if you need any clarification or have " | CODE |
| MEDIUM | evaluation/scripts/PrefEval/irrelevant_conv.py | 8729 | "Let me know if you need any clarification or have additional " | CODE |
| MEDIUM | evaluation/scripts/PrefEval/irrelevant_conv.py | 8781 | "Let me know if you need any more details!", | CODE |
| MEDIUM | evaluation/scripts/PrefEval/irrelevant_conv.py | 9008 | "information given in the paragraph? Let me know if you need any " | CODE |
| MEDIUM | evaluation/scripts/PrefEval/irrelevant_conv.py | 9056 | "NAME_35. to? Let me know if you need any clarification.", | CODE |
| MEDIUM | evaluation/scripts/PrefEval/irrelevant_conv.py | 9116 | "given? Let me know if you need any clarification.", | CODE |
| MEDIUM | evaluation/scripts/PrefEval/irrelevant_conv.py | 9171 | "paragraph? Let me know if you need any clarification.", | CODE |
| MEDIUM | evaluation/scripts/PrefEval/irrelevant_conv.py | 9474 | "Let me know if you need any clarification or have additional " | CODE |
| MEDIUM | evaluation/scripts/PrefEval/irrelevant_conv.py | 9516 | "Please let me know if you need any clarification or have " | CODE |
| MEDIUM | evaluation/scripts/PrefEval/irrelevant_conv.py | 12411 | "Please let me know if you need any clarification or have " | CODE |
| MEDIUM | apps/memos-local-openclaw/tests/task-processor.test.ts | 313 | insertTestChunk({ id: "s2", sessionKey: "s1", role: "assistant", content: "Sure, here is how you can deploy your API | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/cn/open_source/modules/mos/users.md | 38 | memory.create_user(user_id=user_id, role=UserRole.USER, user_name="John Doe") | CODE |
| LOW | docs/en/open_source/modules/mos/users.md | 38 | memory.create_user(user_id=user_id, role=UserRole.USER, user_name="John Doe") | CODE |
| LOW | …cal-plugin/tests/unit/memory/l2/candidate-pool.test.ts | 133 | title: "placeholder", | CODE |
| LOW | …os-local-plugin/tests/unit/storage/fts-keyword.test.ts | 138 | userText: "Lorem ipsum about postgres replication", | CODE |
| LOW | …mos-local-openclaw/skill/browserwing-executor/SKILL.md | 90 | -d '{"identifier": "@e3", "text": "user@example.com"}' | CODE |
| LOW | …mos-local-openclaw/skill/browserwing-executor/SKILL.md | 377 | "params": {"identifier": "#name", "text": "John Doe"}, | CODE |
| LOW | …ktop/skills/dev-browser/src/snapshot/browser-script.ts | 700 | if (ariaNode.role === "textbox" && element.hasAttribute("placeholder") && element.getAttribute("placeholder") !== ar | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | apps/memos-local-openclaw/tests/chunker.test.ts | 10 | print("world") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | apps/memos-local-plugin/install.sh | 4 | # Usage: | COMMENT |
| LOW | src/memos/mem_scheduler/analyzer/api_analyzer.py | 663 | # Example usage | COMMENT |
| LOW | src/memos/api/mcp_serve.py | 588 | # Usage example | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | evaluation/scripts/PrefEval/irrelevant_conv.py | 8208 | "function doSomething() {\n" | CODE |
| LOW | src/memos/deprecation.py | 162 | def my_function(new_param=None, old_param=None): | STRING |
| LOW | …emos/mem_scheduler/task_schedule_modules/dispatcher.py | 603 | def execute_task( | CODE |
| LOW | src/memos/mem_scheduler/utils/metrics.py | 105 | def my_function(): | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | src/memos/graph_dbs/polardb.py | 2933 | CODE |