Self-evolving memory OS for LLM & AI Agents: ultra-persistent memory, hybrid-retrieval, and cross-task skill reuse, with 35.24% token savings and DeepSeek Harness support.
This report summarizes scanner evidence for MemTensor/MemOS, a TypeScript project with 11,800 GitHub stars. SynthScan examined 503,001 lines of code across 1856 source files, recording 4638 pattern matches distributed across 27 syntactic categories. The legacy adjusted pattern signal is 15.8 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 2436 finding(s).
Are imports declared and package/API names verified? 300 finding(s).
Are wrappers, guards, and repeated structures necessary? 3371 finding(s).
Which changes need focused human review? 4638 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 4638 distinct pattern matches across 27 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| 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 |
| 765 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 | 16 | def test_memos_hello_world_logger_called(): | CODE |
| LOW | tests/test_hello_world.py | 25 | def test_memos_dany_hello_world_logger_called(): | CODE |
| LOW⚡ | tests/test_hello_world.py | 54 | def test_memos_chend_hello_world_logger_called(): | CODE |
| LOW⚡ | tests/test_hello_world.py | 63 | def test_memos_wanghy_hello_world_logger_called(): | CODE |
| LOW⚡ | tests/test_hello_world.py | 72 | def test_memos_huojh_hello_world_logger_called(): | CODE |
| LOW⚡ | tests/test_hello_world.py | 83 | def test_memos_niusm_hello_world_logger_called(): | CODE |
| LOW⚡ | tests/test_hello_world.py | 92 | def test_memos_wangyzh_hello_world_logger_called(): | CODE |
| LOW⚡ | tests/test_hello_world.py | 101 | def test_memos_zhaojihao_hello_world_logger_called(): | CODE |
| LOW⚡ | tests/test_hello_world.py | 110 | def test_memos_yuqingchen_hello_world_logger_called(): | CODE |
| LOW | tests/test_yunxiao_github_sync.py | 33 | def test_preflight_documented_schema() -> None: | CODE |
| LOW | tests/test_yunxiao_github_sync.py | 138 | def test_sync_one_close_updates_status() -> None: | 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 | 19 | def test_setup_logfile_creates_file(tmp_path, monkeypatch): | CODE |
| LOW⚡ | tests/test_log.py | 26 | def test_get_logger_returns_logger(): | CODE |
| LOW⚡ | tests/test_log.py | 35 | def test_get_logger_configures_logging_once_per_process(monkeypatch): | CODE |
| LOW | tests/test_log.py | 48 | def test_get_logger_reconfigures_after_process_fork(monkeypatch): | CODE |
| LOW | tests/test_log.py | 66 | def test_summarize_search_request_uses_metadata_and_query_hash_only(): | CODE |
| LOW | tests/test_log.py | 92 | def test_summarize_search_results_only_counts_buckets_and_items(): | CODE |
| LOW | tests/test_log.py | 129 | def test_summarize_textual_memories_only_counts_types(): | 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 |
| 1376 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 |
| 805 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/llms/test_qps_rate_limit_redis.py | 25 | CODE | |
| LOW | tests/llms/test_qps_rate_limit_redis.py | 124 | 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 | scripts/yunxiao_github_sync.py | 410 | 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 | 95 | CODE | |
| LOW | …lugin/adapters/hermes/memos_provider/daemon_manager.py | 67 | CODE | |
| LOW | …lugin/adapters/hermes/memos_provider/daemon_manager.py | 359 | CODE | |
| LOW | …lugin/adapters/hermes/memos_provider/daemon_manager.py | 517 | CODE | |
| LOW | …ocal-plugin/adapters/hermes/memos_provider/__init__.py | 835 | CODE | |
| LOW | …ocal-plugin/adapters/hermes/memos_provider/__init__.py | 971 | CODE | |
| LOW | …ocal-plugin/adapters/hermes/memos_provider/__init__.py | 1129 | CODE | |
| 247 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/mem_scheduler/test_config.py | 428 | 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 | 457 | 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 | 671 | "new_preference": null, | CODE |
| HIGH | src/memos/templates/prefer_complete_prompt.py | 672 | "new_context_summary": null, | CODE |
| HIGH | src/memos/templates/prefer_complete_prompt.py | 699 | "old_preference": null, | CODE |
| HIGH | src/memos/templates/prefer_complete_prompt.py | 700 | "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/test_yunxiao_github_sync.py | 1 | CODE | |
| LOW | tests/plugins/test_plugin_component_init.py | 1 | CODE | |
| LOW | tests/graph_dbs/test_neo4j_vector_search.py | 265 | CODE | |
| LOW | …ts/mem_scheduler/test_mem_read_handler_fast_cleanup.py | 1 | 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 | scripts/yunxiao_github_sync.py | 1 | CODE | |
| LOW | …ocal-plugin/tests/python/test_shared_bridge_runtime.py | 3 | 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/runtime_home.py | 9 | CODE | |
| LOW | …dapters/hermes/memos_provider/shared_bridge_runtime.py | 10 | 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 | |
| 160 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 | 937 | 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 | 288 | 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 | 107 | Chat with MemOS for chat complete response (non-streaming). Args: chat_req: Chat complete | STRING |
| HIGH | src/memos/api/handlers/chat_handler.py | 242 | 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 | 427 | 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 |
|---|---|---|---|---|
| HIGH | tests/mem_scheduler/test_version_control.py | 28 | except (OSError, PermissionError): | CODE |
| HIGH | tests/mem_user/test_mem_user.py | 35 | except (OSError, PermissionError): | CODE |
| HIGH | tests/mem_user/test_mem_user.py | 91 | except (OSError, PermissionError): | CODE |
| HIGH | tests/mem_cube/test_general.py | 62 | except Exception: | CODE |
| HIGH | examples/mem_scheduler/memos_w_scheduler.py | 162 | except json.JSONDecodeError: | CODE |
| HIGH | examples/extras/nli_e2e_example.py | 47 | except requests.ConnectionError: | CODE |
| HIGH | examples/extras/nli_e2e_example.py | 49 | except Exception: | CODE |
| HIGH | scripts/yunxiao_github_sync.py | 265 | except YunxiaoApiError: | CODE |
| HIGH | evaluation/scripts/locomo/locomo_eval.py | 147 | except ZeroDivisionError: | CODE |
| HIGH | evaluation/scripts/longmemeval/lme_eval.py | 80 | except ZeroDivisionError: | CODE |
| HIGH | …lugin/adapters/hermes/memos_provider/daemon_manager.py | 540 | except Exception: | CODE |
| HIGH | …lugin/adapters/hermes/memos_provider/daemon_manager.py | 559 | except Exception: | CODE |
| HIGH | …lugin/adapters/hermes/memos_provider/daemon_manager.py | 592 | except (OSError, ProcessLookupError): | CODE |
| HIGH | …plugin/adapters/hermes/memos_provider/bridge_client.py | 368 | except (BrokenPipeError, OSError, ValueError): | CODE |
| HIGH | …plugin/adapters/hermes/memos_provider/bridge_client.py | 641 | except (BrokenPipeError, OSError, ValueError): | CODE |
| HIGH | src/memos/log.py | 226 | except Exception: | CODE |
| HIGH | src/memos/context/context.py | 349 | except Exception: | CODE |
| HIGH | src/memos/mem_scheduler/base_scheduler.py | 261 | except Exception: | CODE |
| HIGH | …mos/mem_scheduler/task_schedule_modules/redis_queue.py | 1136 | except Exception: | CODE |
| HIGH | …mos/mem_scheduler/task_schedule_modules/redis_queue.py | 1475 | except Exception: | CODE |
| HIGH | …/memos/mem_scheduler/monitors/task_schedule_monitor.py | 109 | except Exception: | CODE |
| HIGH | …memos/mem_scheduler/analyzer/mos_for_test_scheduler.py | 288 | except Exception: | CODE |
| HIGH | …memos/mem_scheduler/analyzer/mos_for_test_scheduler.py | 227 | except Exception: | CODE |
| HIGH | src/memos/api/handlers/chat_handler.py | 1147 | except ValueError: | CODE |
| HIGH | src/memos/mem_reader/utils.py | 51 | except json.JSONDecodeError: | CODE |
| HIGH | src/memos/mem_reader/utils.py | 58 | except json.JSONDecodeError: | CODE |
| HIGH | src/memos/mem_reader/read_multi_modal/utils.py | 79 | except json.JSONDecodeError: | CODE |
| HIGH | src/memos/mem_reader/read_multi_modal/utils.py | 86 | except json.JSONDecodeError: | CODE |
| HIGH | src/memos/mem_reader/read_multi_modal/utils.py | 102 | except json.JSONDecodeError: | CODE |
| HIGH | src/memos/mem_reader/read_multi_modal/image_parser.py | 352 | except json.JSONDecodeError: | CODE |
| HIGH | src/memos/mem_reader/read_multi_modal/image_parser.py | 360 | except json.JSONDecodeError: | CODE |
| HIGH | src/memos/mem_reader/read_multi_modal/image_parser.py | 377 | except json.JSONDecodeError: | CODE |
| HIGH | …memories/textual/tree_text_memory/retrieve/reasoner.py | 58 | except json.JSONDecodeError: | CODE |
| HIGH | src/memos/mem_os/main.py | 392 | except Exception: | CODE |
| 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 | 42 | # 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 | 1022 | # 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 | 111 | # 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 | 162 | # Create a new memory item for each chunk, preserving original metadata | COMMENT |
| MEDIUM | src/memos/mem_reader/multi_modal_struct.py | 219 | # 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 | 608 | # Check if process exists (signal 0 doesn't actually send a signal) | COMMENT |
| LOW | …lugin/adapters/hermes/memos_provider/daemon_manager.py | 623 | # 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 | 4156 | # Check if key is an array field | COMMENT |
| LOW⚡ | src/memos/graph_dbs/polardb.py | 4159 | # Check if key starts with "info." prefix | COMMENT |
| LOW⚡ | src/memos/graph_dbs/polardb.py | 4162 | # Check if info field is an array field | COMMENT |
| LOW⚡ | src/memos/graph_dbs/polardb.py | 4370 | # Check if value is a dict with comparison operators (gt, lt, gte, lte, =, contains) | COMMENT |
| LOW⚡ | src/memos/graph_dbs/polardb.py | 4379 | # Check if key is a datetime field | COMMENT |
| LOW⚡ | src/memos/graph_dbs/polardb.py | 4384 | # Check if key starts with "info." prefix (for nested fields like info.A, info.B) | COMMENT |
| LOW⚡ | src/memos/graph_dbs/polardb.py | 4542 | # Check if key is an array field | COMMENT |
| LOW⚡ | src/memos/graph_dbs/polardb.py | 4545 | # Check if key starts with "info." prefix | COMMENT |
| LOW⚡ | src/memos/graph_dbs/polardb.py | 4548 | # Check if info field is an array field | COMMENT |
| LOW | src/memos/graph_dbs/polardb.py | 4006 | # Check if value is a dict with comparison operators (gt, lt, gte, lte, =, contains, in, like) | COMMENT |
| LOW | src/memos/graph_dbs/polardb.py | 4017 | # Check if key is a datetime field | COMMENT |
| LOW | src/memos/graph_dbs/polardb.py | 4022 | # Check if key starts with "info." prefix (for nested fields like info.A, info.B) | COMMENT |
| LOW | src/memos/graph_dbs/polardb.py | 4062 | # Check if key starts with "info." prefix | COMMENT |
| LOW | src/memos/graph_dbs/polardb.py | 4129 | # Check if key starts with "info." prefix | COMMENT |
| LOW | src/memos/graph_dbs/polardb.py | 4278 | # Check if key starts with "info." prefix | COMMENT |
| LOW | src/memos/graph_dbs/polardb.py | 4299 | # Check if key starts with "info." prefix (for simple equality) | COMMENT |
| LOW | src/memos/graph_dbs/polardb.py | 4430 | # Check if key starts with "info." prefix | COMMENT |
| LOW | src/memos/graph_dbs/polardb.py | 4515 | # Check if key starts with "info." prefix | COMMENT |
| LOW | src/memos/graph_dbs/polardb.py | 4651 | # Check if key starts with "info." prefix | COMMENT |
| LOW | src/memos/graph_dbs/polardb.py | 4714 | # 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 | 22 | "api_key": "your-api-key", | CODE |
| HIGH | tests/embedders/test_ark.py | 50 | "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 | 539 | "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 | 338 | "api_key": os.getenv("OPENAI_API_KEY", "your-api-key-here"), | CODE |
| HIGH | src/memos/api/config.py | 362 | "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 | 36 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ocal-plugin/adapters/hermes/memos_provider/__init__.py | 94 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ocal-plugin/adapters/hermes/memos_provider/__init__.py | 2535 | __all__ = ["PLUGIN_ID", "PLUGIN_VERSION", "MemTensorProvider", "register"] | CODE |
| LOW | …dapters/hermes/memos_provider/shared_bridge_runtime.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | …dapters/hermes/memos_provider/shared_bridge_runtime.py | 599 | __all__ = [ | CODE |
| LOW | …plugin/adapters/hermes/memos_provider/bridge_client.py | 35 | 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 | 522 | 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 | 49 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/memos/api/server_api.py | 25 | 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 | 40 | __all__ = [ | CODE |
| LOW | src/memos/api/handlers/formatters_handler.py | 17 | __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 |
| 12 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 | # panels, dropped writes, mid-session ownership flips). Picking | COMMENT |
| LOW | apps/memos-local-plugin/core/pipeline/orchestrator.ts | 601 | COMMENT | |
| LOW | apps/memos-local-plugin/core/pipeline/orchestrator.ts | 881 | }, | COMMENT |
| LOW | apps/memos-local-plugin/core/pipeline/memory-core.ts | 701 | // ─── Dirty closed-episode rescore backoff (issue #1808) ── | COMMENT |
| LOW | apps/memos-local-plugin/core/pipeline/memory-core.ts | 1101 | // through relation classification. Only hard-stale open topics are | COMMENT |
| LOW | apps/memos-local-plugin/core/pipeline/memory-core.ts | 1141 | // Write the lightweight flag BEFORE close() so that even if | COMMENT |
| LOW | apps/memos-local-plugin/core/pipeline/memory-core.ts | 2061 | // Prefer the dedicated reflect LLM stats so an independently | COMMENT |
| LOW | apps/memos-local-plugin/core/pipeline/memory-core.ts | 4741 | }; | COMMENT |
| LOW | apps/memos-local-plugin/core/pipeline/memory-core.ts | 6281 | .filter((turnId) => Number.isFinite(turnId)), | COMMENT |
| LOW | apps/memos-local-plugin/core/pipeline/deps.ts | 281 | scorerModel: bgLlm?.model, | COMMENT |
| LOW | apps/memos-local-plugin/core/capture/capture.ts | 401 | const normalized = normalizeSteps(rawAll, deps.cfg); | COMMENT |
| LOW | apps/memos-local-plugin/core/memory/l3/cluster.ts | 201 | // No centroid (none of the members had a vec). Trust the bucket; | COMMENT |
| LOW | apps/memos-local-plugin/core/config/defaults.ts | 121 | // Bound topic-end reflect work so dirty startup recovery cannot replay | COMMENT |
| LOW | apps/memos-local-plugin/core/config/defaults.ts | 141 | // - "task_downstream": inject both blocks | COMMENT |
| LOW | apps/memos-local-plugin/core/config/defaults.ts | 161 | gamma: 0.9, | COMMENT |
| LOW | apps/memos-local-plugin/core/config/defaults.ts | 181 | // they always satisfy the looser bound. Operators wanting the | COMMENT |
| LOW | apps/memos-local-plugin/core/config/defaults.ts | 241 | minSupport: 1, | COMMENT |
| LOW | apps/memos-local-plugin/core/config/index.ts | 101 | // `resolveConfig` is the single choke point for both disk and | COMMENT |
| LOW | apps/memos-local-plugin/core/storage/migrator.ts | 301 | } | COMMENT |
| LOW | apps/memos-local-plugin/core/session/manager.ts | 161 | // V7 §0.2 — a user-initiated session close (`/new`, `/quit`, the | 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 | 1681 | ]), | COMMENT |
| LOW | …al-plugin/tests/unit/adapters/openclaw-runtime.test.ts | 261 | // ─── Regressions for issue #1815 ──────────────────────────────────────────── | 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 | 1181 | host_home = Path(tmp) / "different-hermes-home" | COMMENT |
| LOW | …memos-local-plugin/tests/e2e/v7-full-chain.e2e.test.ts | 661 | // stays empty; that's expected for this scenario. | 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 | 181 | minTraceSim: 0.35 # hide Tier-2 traces below cosine threshold | 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 | 61 | // | COMMENT |
| LOW | apps/memos-local-plugin/adapters/openclaw/bridge.ts | 561 | // `message_received.content` value instead (see | COMMENT |
| LOW | apps/memos-local-plugin/adapters/openclaw/bridge.ts | 661 | const stub = queue.shift(); | COMMENT |
| LOW | apps/memos-local-plugin/adapters/openclaw/index.ts | 161 | await core.init(); | COMMENT |
| LOW | apps/memos-local-plugin/adapters/openclaw/index.ts | 401 | COMMENT | |
| LOW | apps/memos-local-plugin/adapters/openclaw/index.ts | 421 | // pressure can exceed 30 s. Awaiting that chain inside the hook | 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 | 421 | # Hermes does not pass the live conversation history to `prefetch`. | COMMENT |
| LOW | …ocal-plugin/adapters/hermes/memos_provider/__init__.py | 581 | # We DON'T call `episode.open` ourselves. The core's `onTurnStart` | COMMENT |
| LOW | …ocal-plugin/adapters/hermes/memos_provider/__init__.py | 1761 | COMMENT | |
| LOW | …s/memos-local-plugin/viewer/src/views/SettingsView.tsx | 381 | | { ok: false; error: string } | 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 | apps/MemOS-Cloud-OpenClaw-Plugin/index.js | 721 | 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 | 1034 | # General LLM for non-chat/doc tasks (hallucination filter, rewrite, merge, etc.) | COMMENT |
| MEDIUM | src/memos/api/config.py | 1169 | # 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 | 1128 | # 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 |
|---|---|---|---|---|
| CRITICAL⚡ | tests/llms/test_qps_rate_limit.py | 235 | llm.backup_client.chat.completions.create.assert_not_called() | CODE |
| CRITICAL | …in/tests/unit/adapters/deepseek-harness-viewer.test.ts | 295 | const registeredEvents = host.context.on.mock.calls.map(([event]) => event); | CODE |
| CRITICAL | …in/tests/unit/adapters/deepseek-harness-viewer.test.ts | 320 | const disposedRegistration = host.context.on.mock.calls.find( | CODE |
| 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 | 202 | # 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 | 1615 | CODE | |
| LOW | src/memos/graph_dbs/polardb.py | 1719 | CODE | |
| LOW | src/memos/graph_dbs/polardb.py | 1845 | 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 | 142 | CODE | |
| LOW | src/memos/api/client.py | 192 | CODE | |
| LOW | src/memos/api/client.py | 252 | CODE | |
| LOW | src/memos/api/client.py | 770 | 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 | 1151 | 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 | 355 | 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 | 671 | // 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 |
|---|---|---|---|---|
| HIGH | …mos-local-plugin/tests/unit/install/install-sh.test.ts | 102 | elif [[ "$1" == "-p" ]]; then | CODE |
| HIGH | …in/tests/unit/install/install-gateway-recovery.test.ts | 48 | elif [[ "\${1:-}" == "-p" ]]; then | CODE |
| HIGH | apps/memos-local-openclaw/tests/chunker.test.ts | 10 | print("world") | 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 | 163 | 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 |
|---|---|---|---|---|
| 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 | 2990 | CODE |