A Simple and Universal Swarm Intelligence Engine, Predicting Anything. 简洁通用的群体智能引擎,预测万物
This report summarizes scanner evidence for 666ghj/MiroFish, a Python project with 77,875 GitHub stars. SynthScan examined 57,761 lines of code across 104 source files, recording 610 pattern matches distributed across 16 syntactic categories. The legacy adjusted pattern signal is 14.5 (Moderate 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? 283 finding(s).
Are imports declared and package/API names verified? 84 finding(s).
Are wrappers, guards, and repeated structures necessary? 434 finding(s).
Which changes need focused human review? 610 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 610 distinct pattern matches across 16 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 |
|---|---|---|---|---|
| HIGH | tests/test_local_star_count_fetch.py | 30 | except BrokenPipeError: | CODE |
| HIGH | backend/app/utils/file_parser.py | 32 | except UnicodeDecodeError: | CODE |
| HIGH | backend/app/utils/file_parser.py | 42 | except Exception: | CODE |
| HIGH | backend/app/utils/file_parser.py | 51 | except Exception: | CODE |
| HIGH | backend/app/api/simulation.py | 48 | except Exception: | CODE |
| HIGH | backend/app/api/simulation.py | 1150 | except Exception: | CODE |
| HIGH | backend/app/api/simulation.py | 1264 | except Exception: | CODE |
| HIGH | backend/app/services/report_agent.py | 1089 | except json.JSONDecodeError: | CODE |
| HIGH | backend/app/services/report_agent.py | 1104 | except json.JSONDecodeError: | CODE |
| HIGH | backend/app/services/report_agent.py | 1115 | except json.JSONDecodeError: | CODE |
| HIGH | backend/app/services/report_agent.py | 1800 | except Exception: | CODE |
| HIGH | backend/app/services/simulation_runner.py | 756 | except Exception: | CODE |
| HIGH | backend/app/services/simulation_runner.py | 762 | except Exception: | CODE |
| HIGH | backend/app/services/simulation_runner.py | 1005 | except ProcessLookupError: | CODE |
| HIGH | backend/app/services/simulation_runner.py | 874 | except json.JSONDecodeError: | CODE |
| HIGH | backend/app/services/simulation_runner.py | 701 | except Exception: | CODE |
| HIGH | backend/app/services/simulation_runner.py | 1535 | except Exception: | CODE |
| HIGH | backend/app/services/oasis_profile_generator.py | 690 | except: | CODE |
| HIGH | backend/app/services/simulation_ipc.py | 184 | except OSError: | CODE |
| HIGH | backend/app/services/simulation_ipc.py | 377 | except OSError: | CODE |
| HIGH | backend/app/services/simulation_ipc.py | 168 | except OSError: | CODE |
| HIGH | backend/app/services/zep_graph_memory_updater.py | 437 | except Empty: | CODE |
| HIGH | backend/app/services/simulation_config_generator.py | 532 | except: | CODE |
| HIGH | backend/scripts/run_reddit_simulation.py | 765 | except SystemExit: | CODE |
| HIGH | backend/scripts/run_reddit_simulation.py | 211 | except OSError: | CODE |
| HIGH | backend/scripts/run_reddit_simulation.py | 94 | except OSError: | CODE |
| HIGH | backend/scripts/run_reddit_simulation.py | 518 | except Exception: | CODE |
| HIGH | backend/scripts/run_reddit_simulation.py | 676 | except asyncio.TimeoutError: | CODE |
| HIGH | backend/scripts/run_parallel_simulation.py | 898 | except Exception: | CODE |
| HIGH | backend/scripts/run_parallel_simulation.py | 933 | except Exception: | CODE |
| HIGH | backend/scripts/run_parallel_simulation.py | 979 | except Exception: | CODE |
| HIGH | backend/scripts/run_parallel_simulation.py | 1690 | except SystemExit: | CODE |
| HIGH | backend/scripts/run_parallel_simulation.py | 297 | except OSError: | CODE |
| HIGH | backend/scripts/run_parallel_simulation.py | 1087 | except Exception: | CODE |
| HIGH | backend/scripts/run_parallel_simulation.py | 1697 | except Exception: | CODE |
| HIGH | backend/scripts/run_parallel_simulation.py | 1202 | except Exception: | CODE |
| HIGH | backend/scripts/run_parallel_simulation.py | 1401 | except Exception: | CODE |
| HIGH | backend/scripts/run_parallel_simulation.py | 1623 | except asyncio.TimeoutError: | CODE |
| HIGH | backend/scripts/run_twitter_simulation.py | 777 | except SystemExit: | CODE |
| HIGH | backend/scripts/run_twitter_simulation.py | 211 | except OSError: | CODE |
| HIGH | backend/scripts/run_twitter_simulation.py | 94 | except OSError: | CODE |
| HIGH | backend/scripts/run_twitter_simulation.py | 526 | except Exception: | CODE |
| HIGH | backend/scripts/run_twitter_simulation.py | 688 | except asyncio.TimeoutError: | CODE |
| HIGH | scripts/star_history.py | 886 | except OverflowError: | CODE |
| HIGH | scripts/star_history.py | 890 | except OverflowError: | CODE |
| HIGH | scripts/star_history.py | 1342 | except OSError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_local_star_history.py | 98 | def test_backfill_writes_hand_computed_completed_daily_history(self): | CODE |
| LOW | tests/test_local_star_history.py | 168 | def test_backfill_fails_closed_on_cursor_or_count_inconsistency(self): | CODE |
| LOW | tests/test_local_star_history.py | 219 | def test_backfill_accepts_exact_rate_limit_reserve_after_first_page(self): | CODE |
| LOW | tests/test_local_star_history.py | 242 | def test_backfill_refuses_dangling_output_symlink(self): | CODE |
| LOW | tests/test_local_star_history.py | 259 | def test_initialize_starts_from_one_honest_aggregate_snapshot(self): | CODE |
| LOW | tests/test_local_star_history.py | 282 | def test_due_boundary_matches_configured_interval(self): | CODE |
| LOW | tests/test_local_star_history.py | 346 | def test_record_before_due_does_not_write(self): | CODE |
| LOW | tests/test_local_star_history.py | 374 | def test_record_applies_count_file_without_github_credentials(self): | CODE |
| LOW | tests/test_local_star_history.py | 415 | def test_count_file_rejects_symlinks_malformed_and_extreme_values(self): | CODE |
| LOW | tests/test_local_star_history.py | 443 | def test_force_same_day_same_count_is_idempotent(self): | CODE |
| LOW | tests/test_local_star_history.py | 469 | def test_force_same_day_changed_count_replaces_snapshot(self): | CODE |
| LOW | tests/test_local_star_history.py | 495 | def test_new_date_appends_even_when_count_is_unchanged(self): | CODE |
| LOW | tests/test_local_star_history.py | 522 | def test_schema_rejects_unknown_identity_fields_and_boolean_counts(self): | CODE |
| LOW | tests/test_local_star_history.py | 553 | def test_svg_is_accessible_self_contained_and_deterministic(self): | CODE |
| LOW | tests/test_local_star_history.py | 780 | def test_svg_validator_rejects_unreviewed_or_active_content(self): | CODE |
| LOW | tests/test_local_star_history.py | 851 | def test_check_detects_svg_tampering(self): | CODE |
| LOW | tests/test_local_star_history.py | 868 | def test_graphql_gateway_uses_identity_free_paginated_query(self): | CODE |
| LOW | tests/test_local_star_history.py | 924 | def test_graphql_gateway_rejects_malformed_nested_shape(self): | STRING |
| LOW | tests/test_local_star_history.py | 944 | def test_graphql_gateway_does_not_echo_failed_command_stderr(self): | STRING |
| LOW | tests/test_local_star_count_fetch.py | 78 | def test_fetcher_is_standalone_stdlib_only_and_has_fixed_api(self): | CODE |
| LOW | tests/test_local_star_count_fetch.py | 95 | def test_success_stdout_is_only_one_decimal_count(self): | CODE |
| LOW | tests/test_local_star_count_fetch.py | 110 | def test_redirect_is_refused_without_forwarding_token(self): | CODE |
| LOW | tests/test_local_star_count_fetch.py | 126 | def test_malformed_oversized_and_invalid_counts_are_sanitized(self): | CODE |
| LOW | tests/test_local_star_count_fetch.py | 148 | def test_status_and_network_errors_do_not_echo_exception_data(self): | CODE |
| LOW | tests/test_local_star_count_fetch.py | 169 | def test_missing_or_newline_token_is_rejected_without_stdout(self): | CODE |
| LOW | tests/test_local_star_count_fetch.py | 185 | def test_workflow_keeps_credentials_out_of_record_and_render_steps(self): | CODE |
| LOW | tests/test_local_star_count_fetch.py | 248 | def test_workflow_submits_a_verified_pull_request_for_manual_merge(self): | CODE |
| LOW | backend/app/utils/zep.py | 33 | def normalize_zep_search_query(query: Any) -> str: | CODE |
| LOW | backend/app/utils/zep.py | 44 | def normalize_zep_search_limit(limit: Any) -> int: | CODE |
| LOW | backend/app/utils/llm_client.py | 27 | def _is_response_format_unsupported(error: Exception) -> bool: | CODE |
| LOW | backend/app/utils/llm_client.py | 77 | def _contains_additional_json_container(content: str) -> bool: | CODE |
| LOW | backend/app/utils/openai_chat_compat.py | 60 | def extract_chat_completion_text(response: Any) -> str: | CODE |
| LOW | backend/app/utils/ontology.py | 26 | def normalize_ontology_attribute(attribute: Any) -> Optional[Dict[str, Any]]: | CODE |
| LOW | backend/app/utils/ontology.py | 52 | def normalize_ontology_attributes(attributes: Any) -> List[Dict[str, Any]]: | CODE |
| LOW | backend/app/utils/ontology.py | 73 | def normalize_ontology_source_targets( | CODE |
| LOW | backend/app/models/project.py | 228 | def find_projects_by_graph_id(cls, graph_id: str) -> List[Project]: | CODE |
| LOW | backend/app/api/simulation.py | 58 | def optimize_interview_prompt(prompt: str) -> str: | CODE |
| LOW | backend/app/api/simulation.py | 270 | def _check_simulation_prepared(simulation_id: str) -> tuple: | CODE |
| LOW | backend/app/api/simulation.py | 852 | def _get_report_id_for_simulation(simulation_id: str) -> str: | CODE |
| LOW | backend/app/api/simulation.py | 1064 | def get_simulation_profiles_realtime(simulation_id: str): | CODE |
| LOW | backend/app/api/simulation.py | 1179 | def get_simulation_config_realtime(simulation_id: str): | CODE |
| LOW | backend/app/api/simulation.py | 1345 | def download_simulation_config(simulation_id: str): | CODE |
| LOW | backend/app/api/simulation.py | 1374 | def download_simulation_script(script_name: str): | CODE |
| LOW | backend/app/api/graph.py | 76 | def _delete_cloud_graph_if_present(graph_id: str | None) -> None: | CODE |
| LOW | backend/app/api/graph.py | 97 | def _clear_project_graph_reference(project) -> None: | CODE |
| LOW | backend/app/api/graph.py | 110 | def _project_has_active_build(project) -> bool: | CODE |
| LOW | backend/app/api/report.py | 1103 | def get_graph_statistics_tool(): | CODE |
| LOW | backend/app/services/report_agent.py | 258 | def log_section_full_complete( | CODE |
| LOW | backend/app/services/report_agent.py | 1975 | def _get_report_markdown_path(cls, report_id: str) -> str: | CODE |
| LOW | backend/app/services/simulation_runner.py | 882 | def _check_all_platforms_completed(cls, state: SimulationRunState) -> bool: | CODE |
| LOW | backend/app/services/simulation_runner.py | 1925 | def _get_interview_history_from_db( | CODE |
| LOW | backend/app/services/zep_tools.py | 1483 | def _clean_tool_call_response(response: str) -> str: | CODE |
| LOW | backend/app/services/zep_tools.py | 1549 | def _select_agents_for_interview( | CODE |
| LOW | backend/app/services/zep_tools.py | 1632 | def _generate_interview_questions( | CODE |
| LOW | backend/app/services/zep_tools.py | 1681 | def _generate_interview_summary( | CODE |
| LOW | backend/app/services/oasis_profile_generator.py | 274 | def generate_profile_from_entity( | CODE |
| LOW | backend/app/services/oasis_profile_generator.py | 540 | def _generate_profile_with_llm( | CODE |
| LOW | backend/app/services/oasis_profile_generator.py | 721 | def _build_individual_persona_prompt( | CODE |
| LOW | backend/app/services/oasis_profile_generator.py | 818 | def _generate_profile_rule_based( | CODE |
| LOW | backend/app/services/oasis_profile_generator.py | 895 | def generate_profiles_from_entities( | CODE |
| 129 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | backend/app/utils/file_parser.py | 42 | except Exception: | CODE |
| LOW | backend/app/utils/file_parser.py | 51 | except Exception: | CODE |
| LOW | backend/app/utils/file_parser.py | 155 | except Exception as e: | CODE |
| LOW | backend/app/utils/zep.py | 143 | except Exception as error: | CODE |
| LOW | backend/app/utils/retry.py | 226 | except Exception as e: | CODE |
| LOW | backend/app/utils/llm_client.py | 197 | except Exception as error: | CODE |
| LOW | backend/app/api/simulation.py | 48 | except Exception: | CODE |
| LOW | backend/app/api/simulation.py | 114 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 147 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 184 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 261 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 363 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 385 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 516 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 634 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 668 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 782 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 814 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 843 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 896 | except Exception: | CODE |
| LOW | backend/app/api/simulation.py | 906 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 1016 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 1054 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 1150 | except Exception: | CODE |
| LOW | backend/app/api/simulation.py | 1169 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 1264 | except Exception: | CODE |
| LOW | backend/app/api/simulation.py | 1299 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 1335 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 1364 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 1416 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 1490 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 1641 | except Exception as error: | CODE |
| LOW | backend/app/api/simulation.py | 1779 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 1846 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 1914 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 2015 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 2069 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 2109 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 2136 | except Exception as e: | CODE |
| LOW | backend/app/api/simulation.py | 2216 | except Exception as e: | STRING |
| LOW | backend/app/api/simulation.py | 2293 | except Exception as e: | STRING |
| LOW | backend/app/api/simulation.py | 2424 | except Exception as e: | STRING |
| LOW | backend/app/api/simulation.py | 2562 | except Exception as e: | STRING |
| LOW | backend/app/api/simulation.py | 2665 | except Exception as e: | STRING |
| LOW | backend/app/api/simulation.py | 2737 | except Exception as e: | STRING |
| LOW | backend/app/api/simulation.py | 2802 | except Exception as e: | STRING |
| LOW | backend/app/api/simulation.py | 2872 | except Exception as e: | STRING |
| LOW | backend/app/api/graph.py | 394 | except Exception as error: | CODE |
| LOW | backend/app/api/graph.py | 430 | except Exception: | CODE |
| LOW | backend/app/api/graph.py | 801 | except Exception as e: | CODE |
| LOW | backend/app/api/graph.py | 834 | except Exception as e: | CODE |
| LOW | backend/app/api/graph.py | 899 | except Exception as e: | CODE |
| LOW | backend/app/api/graph.py | 958 | except Exception as e: | CODE |
| LOW | backend/app/api/report.py | 288 | except Exception as e: | CODE |
| LOW | backend/app/api/report.py | 297 | except Exception: | CODE |
| LOW | backend/app/api/report.py | 313 | except Exception as e: | CODE |
| LOW | backend/app/api/report.py | 386 | except Exception as e: | CODE |
| LOW | backend/app/api/report.py | 429 | except Exception as e: | CODE |
| LOW | backend/app/api/report.py | 468 | except Exception as e: | CODE |
| LOW | backend/app/api/report.py | 508 | except Exception as e: | CODE |
| 116 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | backend/app/utils/file_parser.py | 6 | CODE | |
| LOW | backend/app/utils/file_parser.py | 8 | CODE | |
| LOW | backend/app/utils/__init__.py | 5 | CODE | |
| LOW | backend/app/utils/__init__.py | 6 | CODE | |
| LOW | backend/app/utils/__init__.py | 7 | CODE | |
| LOW | backend/app/utils/__init__.py | 7 | CODE | |
| LOW | backend/app/utils/__init__.py | 7 | CODE | |
| LOW | backend/app/utils/__init__.py | 7 | CODE | |
| LOW | backend/app/utils/zep.py | 3 | CODE | |
| LOW | backend/app/utils/zep_paging.py | 3 | CODE | |
| LOW | backend/app/utils/openai_chat_compat.py | 8 | CODE | |
| LOW | backend/app/models/__init__.py | 5 | CODE | |
| LOW | backend/app/models/__init__.py | 5 | CODE | |
| LOW | backend/app/models/__init__.py | 6 | CODE | |
| LOW | backend/app/models/__init__.py | 6 | CODE | |
| LOW | backend/app/models/__init__.py | 6 | CODE | |
| LOW | backend/app/models/project.py | 13 | CODE | |
| LOW | backend/app/api/__init__.py | 11 | CODE | |
| LOW | backend/app/api/__init__.py | 12 | CODE | |
| LOW | backend/app/api/__init__.py | 13 | CODE | |
| LOW | backend/app/api/report.py | 12 | CODE | |
| LOW | backend/app/services/report_agent.py | 14 | CODE | |
| LOW | backend/app/services/report_agent.py | 17 | CODE | |
| LOW | backend/app/services/report_agent.py | 25 | CODE | |
| LOW | backend/app/services/report_agent.py | 25 | CODE | |
| LOW | backend/app/services/report_agent.py | 25 | CODE | |
| LOW | backend/app/services/report_agent.py | 25 | CODE | |
| LOW | backend/app/services/simulation_runner.py | 10 | CODE | |
| LOW | backend/app/services/simulation_runner.py | 15 | CODE | |
| LOW | backend/app/services/simulation_runner.py | 21 | CODE | |
| LOW | backend/app/services/simulation_runner.py | 29 | CODE | |
| LOW | backend/app/services/simulation_runner.py | 29 | CODE | |
| LOW | backend/app/services/simulation_runner.py | 1387 | CODE | |
| LOW | backend/app/services/zep_tools.py | 11 | CODE | |
| LOW | backend/app/services/text_processor.py | 5 | CODE | |
| LOW | backend/app/services/__init__.py | 5 | CODE | |
| LOW | backend/app/services/__init__.py | 6 | CODE | |
| LOW | backend/app/services/__init__.py | 7 | CODE | |
| LOW | backend/app/services/__init__.py | 8 | CODE | |
| LOW | backend/app/services/__init__.py | 8 | CODE | |
| LOW | backend/app/services/__init__.py | 8 | CODE | |
| LOW | backend/app/services/__init__.py | 9 | CODE | |
| LOW | backend/app/services/__init__.py | 9 | CODE | |
| LOW | backend/app/services/__init__.py | 10 | CODE | |
| LOW | backend/app/services/__init__.py | 10 | CODE | |
| LOW | backend/app/services/__init__.py | 10 | CODE | |
| LOW | backend/app/services/__init__.py | 11 | CODE | |
| LOW | backend/app/services/__init__.py | 11 | CODE | |
| LOW | backend/app/services/__init__.py | 11 | CODE | |
| LOW | backend/app/services/__init__.py | 11 | CODE | |
| LOW | backend/app/services/__init__.py | 11 | CODE | |
| LOW | backend/app/services/__init__.py | 11 | CODE | |
| LOW | backend/app/services/__init__.py | 19 | CODE | |
| LOW | backend/app/services/__init__.py | 19 | CODE | |
| LOW | backend/app/services/__init__.py | 19 | CODE | |
| LOW | backend/app/services/__init__.py | 19 | CODE | |
| LOW | backend/app/services/__init__.py | 19 | CODE | |
| LOW | backend/app/services/__init__.py | 26 | CODE | |
| LOW | backend/app/services/__init__.py | 26 | CODE | |
| LOW | backend/app/services/__init__.py | 26 | CODE | |
| 19 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | backend/app/utils/file_parser.py | 161 | CODE | |
| LOW | backend/app/utils/llm_client.py | 159 | CODE | |
| LOW | backend/app/utils/openai_chat_compat.py | 60 | CODE | |
| LOW | backend/app/api/simulation.py | 270 | CODE | |
| LOW | backend/app/api/simulation.py | 678 | CODE | |
| LOW | backend/app/api/simulation.py | 852 | CODE | |
| LOW | backend/app/api/simulation.py | 1064 | CODE | |
| LOW | backend/app/api/simulation.py | 1179 | CODE | |
| LOW | backend/app/api/simulation.py | 1502 | CODE | |
| LOW | backend/app/api/graph.py | 266 | CODE | |
| LOW | backend/app/api/graph.py | 460 | CODE | |
| LOW | backend/app/api/report.py | 33 | CODE | |
| LOW | backend/app/services/report_agent.py | 962 | CODE | |
| LOW | backend/app/services/report_agent.py | 1260 | CODE | |
| LOW | backend/app/services/report_agent.py | 2066 | CODE | |
| LOW | backend/app/services/report_agent.py | 2179 | CODE | |
| LOW | backend/app/services/report_agent.py | 2348 | CODE | |
| LOW | backend/app/services/report_agent.py | 2547 | CODE | |
| LOW | backend/app/services/report_agent.py | 2568 | CODE | |
| LOW | backend/app/services/simulation_runner.py | 620 | CODE | |
| LOW | backend/app/services/simulation_runner.py | 767 | CODE | |
| LOW | backend/app/services/simulation_runner.py | 965 | CODE | |
| LOW | backend/app/services/simulation_runner.py | 1087 | CODE | |
| LOW | backend/app/services/simulation_runner.py | 1365 | CODE | |
| LOW | backend/app/services/simulation_runner.py | 1449 | CODE | |
| LOW | backend/app/services/simulation_runner.py | 1554 | CODE | |
| LOW | backend/app/services/simulation_runner.py | 1585 | CODE | |
| LOW | backend/app/services/zep_tools.py | 309 | CODE | |
| LOW | backend/app/services/zep_tools.py | 457 | CODE | |
| LOW | backend/app/services/zep_tools.py | 542 | CODE | |
| LOW | backend/app/services/zep_tools.py | 1483 | CODE | |
| LOW | backend/app/services/zep_tools.py | 1503 | CODE | |
| LOW | backend/app/services/oasis_profile_generator.py | 34 | CODE | |
| LOW | backend/app/services/oasis_profile_generator.py | 58 | CODE | |
| LOW | backend/app/services/oasis_profile_generator.py | 348 | CODE | |
| LOW | backend/app/services/oasis_profile_generator.py | 457 | CODE | |
| LOW | backend/app/services/oasis_profile_generator.py | 540 | CODE | |
| LOW | backend/app/services/oasis_profile_generator.py | 818 | CODE | |
| LOW | backend/app/services/oasis_profile_generator.py | 895 | CODE | |
| LOW | backend/app/services/oasis_profile_generator.py | 933 | CODE | |
| LOW | backend/app/services/simulation_manager.py | 483 | CODE | |
| LOW | backend/app/services/simulation_ipc.py | 117 | CODE | |
| LOW | backend/app/services/zep_entity_reader.py | 221 | CODE | |
| LOW | backend/app/services/graph_builder.py | 218 | CODE | |
| LOW | backend/app/services/graph_builder.py | 270 | CODE | |
| LOW | backend/app/services/graph_builder.py | 407 | CODE | |
| LOW | backend/app/services/graph_builder.py | 777 | CODE | |
| LOW | backend/app/services/zep_graph_memory_updater.py | 142 | CODE | |
| LOW | backend/app/services/zep_graph_memory_updater.py | 410 | CODE | |
| LOW | backend/app/services/zep_graph_memory_updater.py | 560 | CODE | |
| LOW | backend/app/services/simulation_config_generator.py | 435 | CODE | |
| LOW | backend/app/services/simulation_config_generator.py | 730 | CODE | |
| LOW | backend/app/services/simulation_config_generator.py | 910 | CODE | |
| LOW | backend/scripts/run_reddit_simulation.py | 523 | CODE | |
| LOW | backend/scripts/run_parallel_simulation.py | 749 | CODE | |
| LOW | backend/scripts/run_parallel_simulation.py | 857 | CODE | |
| LOW | backend/scripts/run_parallel_simulation.py | 938 | CODE | |
| LOW | backend/scripts/run_parallel_simulation.py | 1101 | CODE | |
| LOW | backend/scripts/run_parallel_simulation.py | 1293 | CODE | |
| LOW | backend/scripts/run_parallel_simulation.py | 1492 | CODE | |
| 5 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | backend/app/services/simulation_runner.py | 0 | select user_id, info, created_at from trace where action = ? and user_id = ? order by created_at desc limit 1 | STRING |
| HIGH | backend/scripts/run_reddit_simulation.py | 0 | select user_id, info, created_at from trace where action = ? and user_id = ? order by created_at desc limit 1 | STRING |
| HIGH | backend/scripts/run_parallel_simulation.py | 0 | select user_id, info, created_at from trace where action = ? and user_id = ? order by created_at desc limit 1 | STRING |
| HIGH | backend/scripts/run_twitter_simulation.py | 0 | select user_id, info, created_at from trace where action = ? and user_id = ? order by created_at desc limit 1 | STRING |
| HIGH | backend/scripts/run_reddit_simulation.py | 0 | 过滤掉 camel-ai 关于 max_tokens 的警告(我们故意不设置 max_tokens,让模型自行决定) | STRING |
| HIGH | backend/scripts/run_parallel_simulation.py | 0 | 过滤掉 camel-ai 关于 max_tokens 的警告(我们故意不设置 max_tokens,让模型自行决定) | STRING |
| HIGH | backend/scripts/run_twitter_simulation.py | 0 | 过滤掉 camel-ai 关于 max_tokens 的警告(我们故意不设置 max_tokens,让模型自行决定) | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | backend/requirements.txt | 1 | # =========================================== | COMMENT |
| MEDIUM⚡ | backend/requirements.txt | 3 | # =========================================== | COMMENT |
| MEDIUM⚡ | backend/requirements.txt | 6 | # =========================================== | COMMENT |
| MEDIUM | backend/app/services/report_agent.py | 470 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | backend/app/services/report_agent.py | 472 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | backend/app/services/report_agent.py | 866 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | backend/app/services/report_agent.py | 868 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | backend/scripts/run_parallel_simulation.py | 28 | # ============================================================ | COMMENT |
| MEDIUM | backend/scripts/run_parallel_simulation.py | 31 | # ============================================================ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | backend/app/services/report_agent.py | 963 | 执行工具调用 Args: tool_name: 工具名称 parameters: 工具参数 report_conte | STRING |
| HIGH | backend/app/services/simulation_runner.py | 1702 | 采访单个Agent Args: simulation_id: 模拟ID agent_id: Agent ID prompt: 采访问 | STRING |
| HIGH | backend/app/services/simulation_runner.py | 1765 | 批量采访多个Agent Args: simulation_id: 模拟ID interviews: 采访列表,每个元素包含 {"agent_id": int | STRING |
| HIGH | backend/app/services/simulation_ipc.py | 124 | 发送命令并等待响应 Args: command_type: 命令类型 args: 命令参数 timeout: 超时时 | STRING |
| HIGH | backend/app/services/simulation_config_generator.py | 256 | 智能生成完整的模拟配置(分步生成) Args: simulation_id: 模拟ID project_id: 项目ID | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | backend/app/services/zep_tools.py | 979 | # Step 1: 使用LLM生成子问题 | COMMENT |
| LOW⚡ | backend/app/services/zep_tools.py | 989 | # Step 2: 对每个子问题进行语义搜索 | COMMENT |
| LOW⚡ | backend/app/services/zep_tools.py | 1069 | # Step 4: 构建所有关系链(不限制数量) | COMMENT |
| LOW⚡ | backend/app/services/zep_tools.py | 1472 | # Step 6: 生成采访摘要 | COMMENT |
| LOW | backend/app/services/zep_tools.py | 1024 | # Step 3: 从边中提取相关实体UUID,只获取这些实体的信息(不获取全部节点) | COMMENT |
| LOW | backend/app/services/zep_tools.py | 1314 | # Step 1: 读取人设文件 | COMMENT |
| LOW | backend/app/services/zep_tools.py | 1325 | # Step 2: 使用LLM选择要采访的Agent(返回agent_id列表) | COMMENT |
| LOW | backend/app/services/zep_tools.py | 1337 | # Step 3: 生成采访问题(如果没有提供) | COMMENT |
| LOW | backend/app/services/zep_tools.py | 1363 | # Step 4: 调用真实的采访API(不指定platform,默认双平台同时采访) | COMMENT |
| LOW | backend/app/services/zep_tools.py | 1393 | # Step 5: 解析API返回结果,构建AgentInterview对象 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | backend/app/api/simulation.py | 1950 | "result": null, | STRING |
| HIGH | backend/app/services/ontology_generator.py | 447 | # occasionally emit a bare string, null, or another scalar. | COMMENT |
| HIGH⚡ | backend/tests/test_profile_field_normalization.py | 16 | assert _coerce_to_str({"unexpected": None}) == '{"unexpected": null}' | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | backend/app/services/zep_tools.py | 979 | # Step 1: 使用LLM生成子问题 | COMMENT |
| LOW⚡ | backend/app/services/zep_tools.py | 989 | # Step 2: 对每个子问题进行语义搜索 | COMMENT |
| LOW⚡ | backend/app/services/zep_tools.py | 1069 | # Step 4: 构建所有关系链(不限制数量) | COMMENT |
| LOW⚡ | backend/app/services/zep_tools.py | 1472 | # Step 6: 生成采访摘要 | COMMENT |
| LOW | backend/app/services/zep_tools.py | 1024 | # Step 3: 从边中提取相关实体UUID,只获取这些实体的信息(不获取全部节点) | COMMENT |
| LOW | backend/app/services/zep_tools.py | 1314 | # Step 1: 读取人设文件 | COMMENT |
| LOW | backend/app/services/zep_tools.py | 1325 | # Step 2: 使用LLM选择要采访的Agent(返回agent_id列表) | COMMENT |
| LOW | backend/app/services/zep_tools.py | 1337 | # Step 3: 生成采访问题(如果没有提供) | COMMENT |
| LOW | backend/app/services/zep_tools.py | 1363 | # Step 4: 调用真实的采访API(不指定platform,默认双平台同时采访) | COMMENT |
| LOW | backend/app/services/zep_tools.py | 1393 | # Step 5: 解析API返回结果,构建AgentInterview对象 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | README.md | 121 | LLM_API_KEY=your_api_key | CODE |
| HIGH | README-ZH.md | 121 | LLM_API_KEY=your_api_key | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | backend/app/utils/__init__.py | 9 | __all__ = ['FileParser', 'LLMClient', 't', 'get_locale', 'set_locale', 'get_language_instruction'] | CODE |
| LOW | backend/app/utils/llm_client.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/app/models/__init__.py | 8 | __all__ = ['TaskManager', 'TaskStatus', 'Project', 'ProjectStatus', 'ProjectManager'] | CODE |
| LOW | backend/app/services/__init__.py | 40 | __all__ = [ | CODE |
| LOW | backend/app/services/ontology_generator.py | 19 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | frontend/package-lock.json | 2010 | "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | backend/app/services/simulation_runner.py | 1362 | CODE | |
| LOW | backend/app/services/ontology_generator.py | 248 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | backend/requirements.txt | 1 | # =========================================== | COMMENT |