"DeepCode: Open Agentic Coding (Paper2Code & Text2Web & Text2Backend)"
This report presents the forensic synthetic code analysis of HKUDS/DeepCode, a Python project with 16,046 GitHub stars. SynthScan v2.0 examined 86,547 lines of code across 379 source files, recording 1686 pattern matches distributed across 22 syntactic categories. The overall adjusted score of 24.4 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 1686 distinct pattern matches across 22 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | deepcode.py | 452 | def _check_docker_prerequisites(): | CODE |
| LOW⚡ | ui/handlers.py | 404 | def handle_processing_workflow( | CODE |
| LOW⚡ | ui/handlers.py | 791 | def handle_guided_mode_processing(): | CODE |
| LOW | ui/handlers.py | 81 | def _safe_register_signal_handlers(): | CODE |
| LOW | ui/handlers.py | 624 | def update_session_state_with_result(result: Dict[str, Any], input_type: str): | CODE |
| LOW | ui/handlers.py | 688 | async def handle_requirement_analysis_workflow( | CODE |
| LOW | ui/handlers.py | 733 | async def handle_requirement_modification_workflow( | CODE |
| LOW | ui/handlers.py | 885 | def _background_workflow_runner( | CODE |
| LOW | ui/handlers.py | 899 | def background_progress_callback(progress: int, message: str): | CODE |
| LOW | ui/handlers.py | 938 | def handle_start_processing_button(input_source: str, input_type: str): | CODE |
| LOW | ui/handlers.py | 999 | def check_background_workflow_status(): | CODE |
| LOW | ui/components.py | 51 | def clear_guided_answer_inputs(): | CODE |
| LOW | ui/components.py | 189 | def enhanced_progress_display_component( | STRING |
| LOW | ui/components.py | 346 | def results_display_component(result: Any, task_counter: int): | CODE |
| LOW | ui/components.py | 421 | def error_troubleshooting_component(): | CODE |
| LOW | ui/components.py | 656 | def reset_guided_workflow_state(preserve_initial: bool = False): | STRING |
| LOW | ui/components.py | 684 | def requirement_mode_selector() -> str: | STRING |
| LOW | ui/components.py | 710 | def guided_requirement_workflow() -> Tuple[Optional[str], bool]: | STRING |
| LOW | new_ui/backend/settings.py | 130 | def get_document_segmentation() -> Dict[str, Any]: | CODE |
| LOW | new_ui/backend/services/workflow_service.py | 171 | async def _create_progress_callback( | CODE |
| LOW | new_ui/backend/services/workflow_service.py | 203 | def _create_plan_review_callback( | CODE |
| LOW | tools/code_implementation_server.py | 1002 | def _extract_file_section_from_summary( | CODE |
| LOW | tools/code_implementation_server.py | 1122 | def _extract_file_section_alternative( | CODE |
| LOW | tools/command_executor.py | 389 | def generate_execution_summary( | CODE |
| LOW | tools/command_executor.py | 417 | def format_single_command_result( | CODE |
| LOW⚡ | tools/pdf_downloader.py | 619 | def process_markdown_with_images( | CODE |
| LOW | tools/pdf_downloader.py | 1286 | # async def convert_document_to_markdown( | COMMENT |
| LOW | tools/pdf_downloader.py | 81 | async def perform_document_conversion( | CODE |
| LOW | tools/pdf_downloader.py | 163 | def format_file_operation_result( | CODE |
| LOW⚡ | tools/document_segmentation_server.py | 1110 | def _identify_research_paper_sections(self, content: str) -> List[Dict]: | CODE |
| LOW⚡ | tools/document_segmentation_server.py | 1115 | def _enhance_section_with_context(self, section: Dict, content: str) -> Dict: | CODE |
| LOW⚡ | tools/document_segmentation_server.py | 1119 | def _identify_concept_implementation_pairs(self, content: str) -> List[Dict]: | CODE |
| LOW⚡ | tools/document_segmentation_server.py | 1123 | def _merge_concept_with_implementation(self, pair: Dict, content: str) -> Dict: | CODE |
| LOW⚡ | tools/document_segmentation_server.py | 1127 | def _detect_semantic_boundaries(self, content: str) -> List[Dict]: | CODE |
| LOW | tools/document_segmentation_server.py | 204 | def _calculate_weighted_score( | CODE |
| LOW | tools/document_segmentation_server.py | 226 | def detect_segmentation_strategy(self, content: str, doc_type: str) -> str: | CODE |
| LOW | tools/document_segmentation_server.py | 249 | def _calculate_algorithm_density(self, content: str) -> float: | CODE |
| LOW | tools/document_segmentation_server.py | 273 | def _calculate_concept_complexity(self, content: str) -> float: | CODE |
| LOW | tools/document_segmentation_server.py | 286 | def _calculate_implementation_detail_level(self, content: str) -> float: | CODE |
| LOW | tools/document_segmentation_server.py | 397 | def _segment_preserve_algorithm_integrity( | CODE |
| LOW | tools/document_segmentation_server.py | 431 | def _segment_research_paper_semantically( | CODE |
| LOW | tools/document_segmentation_server.py | 456 | def _segment_concept_implementation_hybrid( | CODE |
| LOW | tools/document_segmentation_server.py | 481 | def _segment_by_enhanced_semantic_chunks( | CODE |
| LOW | tools/document_segmentation_server.py | 585 | def _detect_academic_sections(self, content: str) -> List[Dict]: | CODE |
| LOW | tools/document_segmentation_server.py | 644 | def _segment_by_semantic_chunks(self, content: str) -> List[DocumentSegment]: | CODE |
| LOW | tools/document_segmentation_server.py | 743 | def _identify_algorithm_blocks(self, content: str) -> List[Dict]: | CODE |
| LOW | tools/document_segmentation_server.py | 883 | def _merge_related_content_blocks( | CODE |
| LOW | tools/document_segmentation_server.py | 1008 | def _extract_enhanced_keywords(self, content: str, content_type: str) -> List[str]: | CODE |
| LOW | tools/document_segmentation_server.py | 1063 | def _calculate_enhanced_relevance_scores( | CODE |
| LOW | tools/document_segmentation_server.py | 1173 | def _calculate_paragraph_importance( | CODE |
| LOW | tools/document_segmentation_server.py | 1198 | def _calculate_optimal_chunk_size(self, content: str) -> int: | CODE |
| LOW | tools/document_segmentation_server.py | 1209 | def _create_content_aware_chunks(self, content: str, chunk_size: int) -> List[Dict]: | CODE |
| LOW | tools/document_segmentation_server.py | 1354 | def _calculate_relevance_scores( | CODE |
| LOW | tools/document_segmentation_server.py | 1431 | def ensure_segments_dir_exists(segments_dir: str): | CODE |
| LOW | tools/document_segmentation_server.py | 1467 | async def analyze_and_segment_document( | CODE |
| LOW | tools/document_segmentation_server.py | 1813 | def _calculate_adaptive_char_limit( | CODE |
| LOW | tools/document_segmentation_server.py | 1838 | def _calculate_enhanced_keyword_score( | CODE |
| LOW | tools/document_segmentation_server.py | 1869 | def _calculate_completeness_bonus( | CODE |
| LOW | tools/document_segmentation_server.py | 1892 | def _select_segments_with_integrity( | CODE |
| LOW | tools/code_reference_indexer.py | 69 | def load_index_files_from_directory(indexes_directory: str) -> Dict[str, Dict]: | CODE |
| 384 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | deepcode.py | 101 | except Exception: | CODE |
| LOW | deepcode.py | 191 | except Exception as e: | CODE |
| LOW⚡ | deepcode.py | 352 | except Exception: | CODE |
| LOW⚡ | deepcode.py | 355 | except Exception: | CODE |
| LOW⚡ | deepcode.py | 361 | except Exception: | CODE |
| LOW⚡ | deepcode.py | 365 | except Exception: | CODE |
| LOW | deepcode.py | 386 | except Exception as e: | CODE |
| LOW | deepcode.py | 447 | except Exception as e: | CODE |
| LOW | deepcode.py | 623 | except Exception as e: | CODE |
| LOW | deepcode.py | 788 | except Exception as e: | CODE |
| LOW⚡ | ui/handlers.py | 221 | except Exception: | CODE |
| LOW⚡ | ui/handlers.py | 230 | except Exception as e: | CODE |
| LOW⚡ | ui/handlers.py | 237 | except Exception: | CODE |
| LOW⚡ | ui/handlers.py | 287 | except Exception: | CODE |
| LOW⚡ | ui/handlers.py | 293 | except Exception as backup_error: | CODE |
| LOW⚡ | ui/handlers.py | 301 | except Exception: | CODE |
| LOW⚡ | ui/handlers.py | 365 | except Exception as e: | CODE |
| LOW⚡ | ui/handlers.py | 373 | except Exception: | CODE |
| LOW⚡ | ui/handlers.py | 380 | except Exception: | CODE |
| LOW⚡ | ui/handlers.py | 388 | except Exception as backup_error: | CODE |
| LOW⚡ | ui/handlers.py | 395 | except Exception: | CODE |
| LOW⚡ | ui/handlers.py | 783 | except Exception as e: | CODE |
| LOW⚡ | ui/handlers.py | 1231 | except Exception: | CODE |
| LOW⚡ | ui/handlers.py | 1237 | except Exception as e: | CODE |
| LOW⚡ | ui/handlers.py | 1244 | except Exception: | CODE |
| LOW | ui/handlers.py | 59 | except Exception: | CODE |
| LOW | ui/handlers.py | 69 | except Exception: | CODE |
| LOW | ui/handlers.py | 104 | except Exception: | CODE |
| LOW | ui/handlers.py | 175 | except Exception as e: | CODE |
| LOW | ui/handlers.py | 252 | except Exception: | CODE |
| LOW | ui/handlers.py | 272 | except Exception as e: | CODE |
| LOW | ui/handlers.py | 337 | except Exception as e: | CODE |
| LOW | ui/handlers.py | 344 | except Exception: | CODE |
| LOW | ui/handlers.py | 539 | except Exception as e: | CODE |
| LOW | ui/handlers.py | 552 | except Exception as backup_error: | CODE |
| LOW | ui/handlers.py | 679 | except Exception as e: | CODE |
| LOW | ui/handlers.py | 725 | except Exception as e: | CODE |
| LOW | ui/handlers.py | 819 | except Exception as e: | CODE |
| LOW | ui/handlers.py | 848 | except Exception as e: | CODE |
| LOW | ui/handlers.py | 881 | except Exception as e: | CODE |
| LOW | ui/handlers.py | 929 | except Exception as e: | CODE |
| LOW | ui/handlers.py | 976 | except Exception as e: | CODE |
| LOW | ui/handlers.py | 1174 | except Exception: | CODE |
| LOW | ui/handlers.py | 1179 | except Exception: | CODE |
| LOW | ui/handlers.py | 1206 | except Exception: | CODE |
| LOW | ui/handlers.py | 1217 | except Exception: | CODE |
| LOW | ui/handlers.py | 1220 | except Exception: | CODE |
| LOW | ui/sidebar_feed.py | 52 | except Exception: | CODE |
| LOW | ui/sidebar_feed.py | 74 | except Exception: | CODE |
| LOW | ui/components.py | 293 | except Exception as exc: | CODE |
| LOW | ui/components.py | 417 | except Exception: | CODE |
| LOW | ui/components.py | 578 | except Exception as exc: | CODE |
| LOW | new_ui/backend/main.py | 83 | except Exception as exc: | CODE |
| LOW | new_ui/backend/main.py | 93 | except Exception as exc: | CODE |
| LOW | new_ui/backend/main.py | 113 | except Exception: | CODE |
| LOW | new_ui/backend/api/websockets/workflow_ws.py | 40 | except Exception: | CODE |
| LOW | new_ui/backend/api/websockets/agent_ws.py | 34 | except Exception as exc: # noqa: BLE001 - surface, never crash the socket | CODE |
| LOW | new_ui/backend/api/websockets/agent_ws.py | 49 | except Exception: # noqa: BLE001 | CODE |
| LOW | new_ui/backend/api/routes/files.py | 96 | except Exception as e: | CODE |
| LOW | new_ui/backend/api/routes/files.py | 141 | except Exception as e: | CODE |
| 321 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | run.sh | 66 | # ============================================ | COMMENT |
| MEDIUM | new_ui/backend/settings.py | 24 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | new_ui/backend/settings.py | 26 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | new_ui/backend/settings.py | 63 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | new_ui/backend/settings.py | 65 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | new_ui/backend/main.py | 13 | # ============================================================ | COMMENT |
| MEDIUM⚡ | new_ui/backend/main.py | 15 | # ============================================================ | COMMENT |
| MEDIUM⚡ | new_ui/backend/main.py | 24 | # ============================================================ | COMMENT |
| MEDIUM | new_ui/backend/main.py | 155 | # ============================================================ | COMMENT |
| MEDIUM | new_ui/backend/main.py | 158 | # ============================================================ | COMMENT |
| MEDIUM | new_ui/backend/services/workflow_service.py | 743 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | new_ui/backend/services/workflow_service.py | 745 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | core/config.py | 52 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/config.py | 54 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/config.py | 67 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/config.py | 69 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/config.py | 120 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/config.py | 122 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/config.py | 154 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/config.py | 156 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/config.py | 178 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/config.py | 180 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/config.py | 275 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/config.py | 277 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/config.py | 461 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/config.py | 463 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/config.py | 537 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/config.py | 539 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/providers/catalog.py | 59 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/providers/catalog.py | 66 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/providers/openai_compat.py | 366 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | core/providers/openai_compat.py | 368 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | core/providers/openai_compat.py | 552 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | core/providers/openai_compat.py | 554 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | core/providers/openai_compat.py | 998 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | core/providers/openai_compat.py | 1000 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | core/providers/anthropic.py | 129 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | core/providers/anthropic.py | 131 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | core/providers/anthropic.py | 299 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | core/providers/anthropic.py | 301 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | core/providers/anthropic.py | 345 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | core/providers/anthropic.py | 347 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | core/providers/anthropic.py | 388 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | core/providers/anthropic.py | 390 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | core/providers/anthropic.py | 454 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | core/providers/anthropic.py | 456 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | core/providers/anthropic.py | 522 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | core/providers/anthropic.py | 524 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | core/observability/bus.py | 38 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/observability/bus.py | 40 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/observability/bus.py | 52 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/observability/bus.py | 54 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | core/observability/bus.py | 159 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | core/observability/bus.py | 161 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/observability/bus.py | 189 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/observability/bus.py | 191 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/observability/bus.py | 258 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/observability/bus.py | 260 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/sessions/store.py | 65 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | core/sessions/store.py | 67 | # ------------------------------------------------------------------ | COMMENT |
| 54 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | __init__.py | 14 | CODE | |
| LOW | ui/__init__.py | 19 | CODE | |
| LOW | ui/__init__.py | 20 | CODE | |
| LOW | ui/__init__.py | 20 | CODE | |
| LOW | ui/__init__.py | 20 | CODE | |
| LOW | ui/__init__.py | 21 | CODE | |
| LOW | ui/__init__.py | 22 | CODE | |
| LOW | ui/__init__.py | 26 | CODE | |
| LOW | ui/__init__.py | 33 | CODE | |
| LOW | ui/sidebar_feed.py | 5 | CODE | |
| LOW | ui/components.py | 8 | CODE | |
| LOW | new_ui/backend/settings.py | 9 | CODE | |
| LOW | new_ui/backend/models/__init__.py | 3 | CODE | |
| LOW | new_ui/backend/models/__init__.py | 3 | CODE | |
| LOW | new_ui/backend/models/__init__.py | 3 | CODE | |
| LOW | new_ui/backend/models/__init__.py | 3 | CODE | |
| LOW | new_ui/backend/models/__init__.py | 3 | CODE | |
| LOW | new_ui/backend/models/__init__.py | 3 | CODE | |
| LOW | new_ui/backend/models/__init__.py | 3 | CODE | |
| LOW | new_ui/backend/models/__init__.py | 3 | CODE | |
| LOW | new_ui/backend/models/__init__.py | 13 | CODE | |
| LOW | new_ui/backend/models/__init__.py | 13 | CODE | |
| LOW | new_ui/backend/models/__init__.py | 13 | CODE | |
| LOW | new_ui/backend/models/__init__.py | 13 | CODE | |
| LOW | new_ui/backend/models/__init__.py | 13 | CODE | |
| LOW | new_ui/backend/models/__init__.py | 13 | CODE | |
| LOW | new_ui/backend/models/__init__.py | 13 | CODE | |
| LOW | new_ui/backend/api/websockets/logs_ws.py | 15 | CODE | |
| LOW | new_ui/backend/api/websockets/agent_ws.py | 16 | CODE | |
| LOW | new_ui/backend/api/routes/sessions.py | 11 | CODE | |
| LOW | new_ui/backend/api/routes/agent_chats.py | 9 | CODE | |
| LOW | new_ui/backend/api/routes/config.py | 9 | CODE | |
| LOW | new_ui/backend/api/routes/agent_fs.py | 16 | CODE | |
| LOW | new_ui/backend/services/agent_chat_service.py | 19 | CODE | |
| LOW | new_ui/backend/services/openrouter_models.py | 8 | CODE | |
| LOW | new_ui/backend/services/session_service.py | 10 | CODE | |
| LOW | new_ui/backend/services/session_service.py | 12 | CODE | |
| LOW | new_ui/backend/services/session_service.py | 12 | CODE | |
| LOW | new_ui/backend/services/session_service.py | 12 | CODE | |
| LOW | new_ui/backend/services/session_service.py | 12 | CODE | |
| LOW | tools/pdf_converter.py | 13 | CODE | |
| LOW | core/config.py | 25 | CODE | |
| LOW | core/agent_setup.py | 17 | CODE | |
| LOW | core/platform_compat.py | 9 | CODE | |
| LOW | core/llm_runtime.py | 9 | CODE | |
| LOW | core/llm_runtime.py | 20 | CODE | |
| LOW | core/llm_runtime.py | 20 | CODE | |
| LOW | core/schedule/keepalive.py | 11 | CODE | |
| LOW | core/schedule/__init__.py | 15 | CODE | |
| LOW | core/schedule/__init__.py | 15 | CODE | |
| LOW | core/schedule/__init__.py | 16 | CODE | |
| LOW | core/schedule/scheduler.py | 10 | CODE | |
| LOW | core/compat/mcp_app.py | 16 | CODE | |
| LOW | core/compat/request_params.py | 16 | CODE | |
| LOW | core/compat/__init__.py | 26 | CODE | |
| LOW | core/compat/__init__.py | 26 | CODE | |
| LOW | core/compat/__init__.py | 26 | CODE | |
| LOW | core/compat/__init__.py | 26 | CODE | |
| LOW | core/compat/__init__.py | 26 | CODE | |
| LOW | core/compat/__init__.py | 33 | CODE | |
| 288 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | deepcode.py | 149 | CODE | |
| LOW | deepcode.py | 330 | CODE | |
| LOW | deepcode.py | 628 | CODE | |
| LOW | setup.py | 15 | CODE | |
| LOW | ui/layout.py | 82 | CODE | |
| LOW | ui/handlers.py | 182 | CODE | |
| LOW | ui/handlers.py | 309 | CODE | |
| LOW | ui/handlers.py | 791 | CODE | |
| LOW | ui/handlers.py | 1142 | CODE | |
| LOW | ui/handlers.py | 209 | CODE | |
| LOW | ui/components.py | 242 | CODE | |
| LOW | ui/components.py | 529 | CODE | |
| LOW | ui/components.py | 710 | CODE | |
| LOW | new_ui/backend/api/websockets/code_stream_ws.py | 17 | CODE | |
| LOW | new_ui/backend/api/websockets/logs_ws.py | 38 | CODE | |
| LOW | new_ui/backend/api/websockets/workflow_ws.py | 57 | CODE | |
| LOW | new_ui/backend/api/websockets/agent_ws.py | 54 | CODE | |
| LOW | new_ui/backend/api/routes/agent_fs.py | 38 | CODE | |
| LOW | new_ui/backend/services/workflow_service.py | 416 | CODE | |
| LOW | tools/code_implementation_server.py | 176 | CODE | |
| LOW | tools/code_implementation_server.py | 471 | CODE | |
| LOW | tools/code_implementation_server.py | 1122 | CODE | |
| LOW | tools/code_implementation_server.py | 1172 | CODE | |
| LOW | tools/code_implementation_server.py | 1297 | CODE | |
| LOW | tools/code_implementation_server.py | 1323 | CODE | |
| LOW | tools/pdf_utils.py | 9 | CODE | |
| LOW | tools/command_executor.py | 31 | CODE | |
| LOW | tools/command_executor.py | 231 | CODE | |
| LOW | tools/pdf_downloader.py | 887 | CODE | |
| LOW | tools/pdf_downloader.py | 293 | CODE | |
| LOW | tools/pdf_downloader.py | 333 | CODE | |
| LOW | tools/pdf_downloader.py | 438 | CODE | |
| LOW | tools/pdf_downloader.py | 566 | CODE | |
| LOW | tools/git_command.py | 165 | CODE | |
| LOW | tools/git_command.py | 27 | CODE | |
| LOW | tools/document_segmentation_server.py | 1467 | CODE | |
| LOW | tools/document_segmentation_server.py | 1627 | CODE | |
| LOW | tools/document_segmentation_server.py | 158 | CODE | |
| LOW | tools/document_segmentation_server.py | 226 | CODE | |
| LOW | tools/document_segmentation_server.py | 309 | CODE | |
| LOW | tools/document_segmentation_server.py | 327 | CODE | |
| LOW | tools/document_segmentation_server.py | 585 | CODE | |
| LOW | tools/document_segmentation_server.py | 1063 | CODE | |
| LOW | tools/document_segmentation_server.py | 1156 | CODE | |
| LOW | tools/document_segmentation_server.py | 1173 | CODE | |
| LOW | tools/document_segmentation_server.py | 1328 | CODE | |
| LOW | tools/code_reference_indexer.py | 202 | CODE | |
| LOW | tools/pdf_converter.py | 86 | CODE | |
| LOW | tools/pdf_converter.py | 319 | CODE | |
| LOW | tools/pdf_converter.py | 616 | CODE | |
| LOW | tools/code_indexer.py | 450 | CODE | |
| LOW | tools/code_indexer.py | 473 | CODE | |
| LOW | tools/code_indexer.py | 658 | CODE | |
| LOW | tools/code_indexer.py | 770 | CODE | |
| LOW | tools/code_indexer.py | 975 | CODE | |
| LOW | tools/code_indexer.py | 1094 | CODE | |
| LOW | tools/code_indexer.py | 477 | CODE | |
| LOW | core/platform_compat.py | 26 | CODE | |
| LOW | core/compat/agent.py | 36 | CODE | |
| LOW | core/compat/agent.py | 104 | CODE | |
| 96 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | deepcode.py | 413 | # Check if Streamlit is installed | COMMENT |
| LOW | deepcode.py | 524 | # Check if image exists (auto-build on first run) | COMMENT |
| LOW | deepcode.py | 568 | # Check if image exists (auto-build on first run) | COMMENT |
| LOW | deepcode.py | 729 | # Check if new_ui directory exists | COMMENT |
| LOW | deepcode.py | 777 | # Check if processes are still running | COMMENT |
| LOW⚡ | ui/handlers.py | 793 | # Check if questions need to be generated | COMMENT |
| LOW | ui/handlers.py | 84 | # Check if running in main thread | COMMENT |
| LOW | ui/handlers.py | 822 | # Check if detailed requirements need to be generated | COMMENT |
| LOW | ui/handlers.py | 851 | # Check if requirements need to be edited | COMMENT |
| LOW | ui/handlers.py | 967 | # Display result status | COMMENT |
| LOW | ui/handlers.py | 1013 | # Check if background thread has finished | COMMENT |
| LOW | ui/handlers.py | 1027 | # Display result status | COMMENT |
| LOW | ui/sidebar_feed.py | 30 | # Check if we're in a Streamlit context | COMMENT |
| LOW | new_ui/backend/main.py | 60 | # Check if running in Docker/production mode | COMMENT |
| LOW | new_ui/backend/main.py | 177 | # Check if a static file exists at the requested path | COMMENT |
| LOW | new_ui/backend/api/websockets/workflow_ws.py | 192 | # Check if workflow is complete | COMMENT |
| LOW | new_ui/backend/api/routes/workflows.py | 147 | # Check if plugin integration is available | COMMENT |
| LOW | new_ui/backend/services/workflow_service.py | 497 | # Check if workflow was cancelled by user | COMMENT |
| LOW | new_ui/scripts/start_dev.sh | 17 | # Check if we're in the right directory | COMMENT |
| LOW | new_ui/scripts/start_dev.sh | 35 | # Check if pydantic-settings is installed | COMMENT |
| LOW | new_ui/scripts/start_dev.sh | 51 | # Check if node_modules exists | COMMENT |
| LOW | tools/code_implementation_server.py | 428 | # Write file | COMMENT |
| LOW | tools/code_implementation_server.py | 577 | # Write file | COMMENT |
| LOW | tools/code_implementation_server.py | 1032 | # Check if paths match using multiple strategies | COMMENT |
| LOW | tools/code_implementation_server.py | 1143 | # Check if this matches our target | COMMENT |
| LOW | tools/document_segmentation_server.py | 338 | # Check if line is a header | COMMENT |
| LOW | tools/document_segmentation_server.py | 900 | # Check if can merge with the next block | COMMENT |
| LOW | tools/document_segmentation_server.py | 1497 | # Check if analysis already exists and is recent | COMMENT |
| LOW | tools/document_segmentation_server.py | 1859 | # Check if in important position (first 25% of content) | COMMENT |
| LOW | tools/pdf_converter.py | 125 | # Check if LibreOffice is available | COMMENT |
| LOW | tools/code_indexer.py | 617 | # Check if it's in the selected list | COMMENT |
| LOW | tools/code_indexer.py | 1465 | # Display results | STRING |
| LOW | nanobot/nanobot/cli/commands.py | 589 | # Check if already built | COMMENT |
| LOW | nanobot/nanobot/heartbeat/service.py | 117 | # Check if agent said "nothing to do" | COMMENT |
| LOW⚡ | workflows/agent_orchestration_engine.py | 1085 | # Check if file is actually a PDF by reading the first few bytes | COMMENT |
| LOW | workflows/agent_orchestration_engine.py | 1023 | # Check if reference analysis already exists | COMMENT |
| LOW | workflows/agent_orchestration_engine.py | 1285 | # Check if plan is empty or invalid | COMMENT |
| LOW | workflows/agent_orchestration_engine.py | 1352 | # Verify if any repositories were actually downloaded | COMMENT |
| LOW | workflows/agent_orchestration_engine.py | 1418 | # Check if code_base directory exists and has content | COMMENT |
| LOW | workflows/agent_orchestration_engine.py | 1427 | # Check if there are any repositories in the code_base directory | COMMENT |
| LOW | workflows/agent_orchestration_engine.py | 1558 | # Check if initial plan file exists | COMMENT |
| LOW⚡ | workflows/plugins/plan_review.py | 59 | # Check if disabled | COMMENT |
| LOW⚡ | workflows/plugins/plan_review.py | 63 | # Check if already reviewed | COMMENT |
| LOW⚡ | workflows/plugins/plan_review.py | 67 | # Check if we have a plan to review | COMMENT |
| LOW⚡ | workflows/plugins/requirement_analysis.py | 69 | # Check if disabled in context | COMMENT |
| LOW⚡ | workflows/plugins/requirement_analysis.py | 73 | # Check if already processed | COMMENT |
| LOW⚡ | workflows/plugins/requirement_analysis.py | 77 | # Check if we have user input to analyze | COMMENT |
| LOW | workflows/plugins/base.py | 309 | # Check if plugin should trigger | COMMENT |
| LOW⚡ | workflows/agents/code_implementation_agent.py | 459 | # Check if result is a CallToolResult object | COMMENT |
| LOW | workflows/agents/code_implementation_agent.py | 173 | # Check if read tools are disabled | COMMENT |
| LOW | workflows/agents/code_implementation_agent.py | 296 | # Check if a summary exists for this file using read_code_mem MCP tool | COMMENT |
| LOW | workflows/agents/code_implementation_agent.py | 311 | # Check if any summaries were found in the results | COMMENT |
| LOW | workflows/agents/code_implementation_agent.py | 632 | # Check if we should trigger summary / 检查是否应触发总结 | COMMENT |
| LOW | workflows/agents/code_implementation_agent.py | 869 | # Check if recent calls are all read_file or search_reference_code / 检查最近的调用是否都是read_file或search_reference_code | COMMENT |
| LOW | workflows/agents/memory_agent_concise.py | 320 | # Check if file has a code extension | COMMENT |
| LOW | workflows/agents/memory_agent_concise.py | 546 | # Check if it's a known file extension | COMMENT |
| LOW | workflows/agents/memory_agent_concise.py | 703 | # Check if it looks like a file (has extension) | COMMENT |
| LOW | workflows/agents/memory_agent_concise.py | 987 | # Check if we've already seen this file (exact match) | COMMENT |
| LOW | workflows/agents/memory_agent_concise.py | 1386 | # Check if file exists to determine if we need header | STRING |
| LOW | workflows/agents/memory_agent_concise.py | 1588 | "read_file", # Read file contents | STRING |
| 11 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | nanobot/nanobot/config/loader.py | 17 | from nanobot.utils.helpers import get_data_path | CODE |
| CRITICAL | nanobot/nanobot/utils/__init__.py | 3 | from nanobot.utils.helpers import ensure_dir, get_data_path, get_workspace_path | CODE |
| CRITICAL | nanobot/nanobot/agent/memory.py | 6 | from nanobot.utils.helpers import ensure_dir, today_date | CODE |
| CRITICAL⚡ | nanobot/nanobot/cli/commands.py | 196 | from nanobot.utils.helpers import get_workspace_path | CODE |
| CRITICAL | nanobot/nanobot/channels/feishu.py | 147 | response = self._client.im.v1.message_reaction.create(request) | CODE |
| CRITICAL | nanobot/nanobot/channels/feishu.py | 251 | response = self._client.im.v1.message.create(request) | CODE |
| CRITICAL | nanobot/nanobot/session/manager.py | 11 | from nanobot.utils.helpers import ensure_dir, safe_filename | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | __init__.py | 16 | __all__ = [ | CODE |
| LOW | ui/__init__.py | 35 | __all__ = [ | CODE |
| LOW | ui/app.py | 10 | __all__ = ["main"] | CODE |
| LOW | new_ui/backend/models/__init__.py | 23 | __all__ = [ | CODE |
| LOW | new_ui/backend/services/session_service.py | 25 | __all__ = [ | CODE |
| LOW | tools/code_implementation_server.py | 41 | logger = logging.getLogger(__name__) | CODE |
| LOW | tools/document_segmentation_server.py | 79 | logger = logging.getLogger(__name__) | CODE |
| LOW | tools/code_reference_indexer.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | core/config.py | 639 | __all__ = [ | CODE |
| LOW | core/schedule/__init__.py | 18 | __all__ = ["Continuation", "ContinuationDecision", "run_scheduled"] | CODE |
| LOW | core/compat/__init__.py | 42 | __all__ = [ | CODE |
| LOW | core/compat/runtime.py | 126 | def set_runtime(runtime: DeepCodeRuntime | None) -> None: | CODE |
| LOW | core/providers/__init__.py | 25 | __all__ = [ | CODE |
| LOW | core/providers/openai_compat.py | 239 | def _setup_env(self, api_key: str, api_base: str | None) -> None: | CODE |
| LOW | core/providers/openai_responses/__init__.py | 18 | __all__ = [ | CODE |
| LOW | core/observability/records.py | 182 | __all__ = [ | CODE |
| LOW | core/observability/__init__.py | 49 | __all__ = [ | CODE |
| LOW⚡ | core/observability/bus.py | 164 | def set_task_dir(task_id: str, task_dir: Path | str) -> None: | CODE |
| LOW | core/observability/bus.py | 392 | __all__ = [ | CODE |
| LOW | core/observability/context.py | 78 | __all__ = [ | CODE |
| LOW | core/harness/__init__.py | 29 | __all__ = [ | CODE |
| LOW | core/harness/tools/__init__.py | 27 | __all__ = [ | CODE |
| LOW | core/sessions/store.py | 677 | __all__ = [ | CODE |
| LOW | core/sessions/models.py | 237 | __all__ = [ | CODE |
| LOW | core/sessions/__init__.py | 36 | __all__ = [ | CODE |
| LOW | core/team/__init__.py | 30 | __all__ = [ | CODE |
| LOW | core/agent_runtime/__init__.py | 24 | __all__ = [ | CODE |
| LOW | core/agent_runtime/tools/__init__.py | 12 | __all__ = [ | CODE |
| LOW | core/events/__init__.py | 60 | __all__ = [ | CODE |
| LOW | core/loop/__init__.py | 22 | __all__ = [ | CODE |
| LOW | nanobot/nanobot/config/__init__.py | 6 | __all__ = ["Config", "load_config", "get_config_path"] | CODE |
| LOW | nanobot/nanobot/providers/__init__.py | 6 | __all__ = ["LLMProvider", "LLMResponse", "LiteLLMProvider"] | CODE |
| LOW | nanobot/nanobot/providers/litellm_provider.py | 52 | def _setup_env(self, api_key: str, api_base: str | None, model: str) -> None: | CODE |
| LOW | nanobot/nanobot/bus/__init__.py | 6 | __all__ = ["MessageBus", "InboundMessage", "OutboundMessage"] | CODE |
| LOW | nanobot/nanobot/utils/__init__.py | 5 | __all__ = ["ensure_dir", "get_workspace_path", "get_data_path"] | CODE |
| LOW | nanobot/nanobot/agent/__init__.py | 8 | __all__ = ["AgentLoop", "ContextBuilder", "MemoryStore", "SkillsLoader"] | CODE |
| LOW | nanobot/nanobot/agent/tools/cron.py | 18 | def set_context(self, channel: str, chat_id: str) -> None: | CODE |
| LOW | nanobot/nanobot/agent/tools/__init__.py | 6 | __all__ = ["Tool", "ToolRegistry"] | CODE |
| LOW | nanobot/nanobot/agent/tools/message.py | 22 | def set_context(self, channel: str, chat_id: str) -> None: | CODE |
| LOW | nanobot/nanobot/agent/tools/message.py | 27 | def set_send_callback(self, callback: Callable[[OutboundMessage], Awaitable[None]]) -> None: | CODE |
| LOW | nanobot/nanobot/agent/tools/spawn.py | 24 | def set_context(self, channel: str, chat_id: str) -> None: | CODE |
| LOW | nanobot/nanobot/heartbeat/__init__.py | 5 | __all__ = ["HeartbeatService"] | CODE |
| LOW | nanobot/nanobot/cron/__init__.py | 6 | __all__ = ["CronService", "CronJob", "CronSchedule"] | CODE |
| LOW | nanobot/nanobot/channels/__init__.py | 6 | __all__ = ["BaseChannel", "ChannelManager"] | CODE |
| LOW | nanobot/nanobot/session/__init__.py | 5 | __all__ = ["SessionManager", "Session"] | CODE |
| LOW | workflows/__init__.py | 19 | __all__ = [ | CODE |
| LOW | workflows/plan_review_runtime.py | 90 | def update_plan_review_meta(paper_dir: str | Path, **updates: Any) -> None: | CODE |
| LOW | workflows/plugins/__init__.py | 6 | __all__ = [ | CODE |
| LOW | workflows/plugins/base.py | 263 | def set_interaction_callback(self, callback: InteractionCallback) -> None: | CODE |
| LOW | workflows/agents/__init__.py | 12 | __all__ = ["CodeImplementationAgent", "MemoryAgent"] | CODE |
| LOW | utils/__init__.py | 11 | __all__ = [ | CODE |
| LOW | utils/llm_utils.py | 166 | __all__ = [ | CODE |
| LOW⚡ | cli/tui/session_bridge.py | 72 | def set_title_from(self, first_message: str) -> None: | CODE |
| LOW | eval/swebench/__init__.py | 28 | __all__ = ["Instance", "load_local_instances", "Report", "ResultRow"] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ui/handlers.py | 515 | # Step 1: Initialization | COMMENT |
| LOW | tools/code_reference_indexer.py | 356 | # Step 1: Load index files from specified directory | COMMENT |
| LOW⚡ | tools/code_reference_indexer.py | 369 | # Step 2: Parse keywords | COMMENT |
| LOW⚡ | tools/code_reference_indexer.py | 374 | # Step 3: Find relevant reference code | COMMENT |
| LOW⚡ | tools/code_reference_indexer.py | 379 | # Step 4: Find direct relationships | COMMENT |
| LOW⚡ | tools/code_reference_indexer.py | 382 | # Step 5: Format output | COMMENT |
| LOW⚡ | tools/code_indexer.py | 876 | # Step 1: Generate file tree | COMMENT |
| LOW⚡ | tools/code_indexer.py | 880 | # Step 2: Get all files | COMMENT |
| LOW⚡ | tools/code_indexer.py | 884 | # Step 3: LLM pre-filtering of relevant files | COMMENT |
| LOW⚡ | tools/code_indexer.py | 892 | # Step 4: Filter file list based on filtering results | COMMENT |
| LOW | tools/code_indexer.py | 904 | # Step 5: Analyze filtered files (concurrent or sequential) | COMMENT |
| LOW | tools/code_indexer.py | 918 | # Step 6: Create repository index | COMMENT |
| LOW | nanobot/nanobot/skills/skill-creator/SKILL.md | 222 | ### Step 1: Understanding the Skill with Concrete Examples | COMMENT |
| LOW | nanobot/nanobot/skills/skill-creator/SKILL.md | 239 | ### Step 2: Planning the Reusable Skill Contents | COMMENT |
| LOW | nanobot/nanobot/skills/skill-creator/SKILL.md | 263 | ### Step 3: Initializing the Skill | COMMENT |
| LOW | nanobot/nanobot/skills/skill-creator/SKILL.md | 294 | ### Step 4: Edit the Skill | COMMENT |
| LOW | nanobot/nanobot/skills/skill-creator/SKILL.md | 335 | ### Step 5: Packaging a Skill | COMMENT |
| LOW | nanobot/nanobot/skills/skill-creator/SKILL.md | 362 | ### Step 6: Iterate | COMMENT |
| LOW⚡ | workflows/codebase_index_workflow.py | 424 | # Step 1: Determine initial plan file path | STRING |
| LOW⚡ | workflows/codebase_index_workflow.py | 428 | # Step 2: Load target structure | STRING |
| LOW⚡ | workflows/codebase_index_workflow.py | 443 | # Step 3: Check codebase path | STRING |
| LOW⚡ | workflows/codebase_index_workflow.py | 453 | # Step 4: Create output directory | STRING |
| LOW⚡ | workflows/codebase_index_workflow.py | 457 | # Step 5: Load configuration | STRING |
| LOW⚡ | workflows/codebase_index_workflow.py | 463 | # Step 6: Create code indexer | STRING |
| LOW⚡ | workflows/codebase_index_workflow.py | 580 | # Step 7: Build all indexes | STRING |
| LOW⚡ | workflows/codebase_index_workflow.py | 583 | # Step 8: Generate summary report | STRING |
| LOW⚡ | workflows/agent_orchestration_engine.py | 1061 | # Step 1: Check if any markdown files exist | COMMENT |
| LOW⚡ | workflows/agent_orchestration_engine.py | 1082 | # Step 2: Read document content to determine size | COMMENT |
| LOW | workflows/agent_orchestration_engine.py | 1129 | # Step 3: Determine if segmentation should be used | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/pdf_downloader.py | 888 | Download files from URLs or move local files mentioned in natural language instructions. Args: instruc | STRING |
| HIGH | tools/pdf_downloader.py | 1289 | # Convert a document to Markdown format with image extraction support. # Supports both local files and URLs. U | STRING |
| HIGH | tools/git_command.py | 166 | Download GitHub repositories from natural language instructions. Args: instruction: Natural language t | STRING |
| HIGH | nanobot/nanobot/agent/tools/registry.py | 39 | Execute a tool by name with given parameters. Args: name: Tool name. params: T | STRING |
| HIGH | utils/cross_platform_file_handler.py | 96 | Create a temporary file with proper cross-platform handling. This method addresses Windows file handle | STRING |
| HIGH | utils/cross_platform_file_handler.py | 193 | Safely copy a file with proper error handling. This method uses copy instead of move to preserve the o | STRING |
| HIGH | utils/cross_platform_file_handler.py | 256 | Safely move a file (only if explicitly needed). Note: Prefer safe_copy_file to preserve originals. | STRING |
| HIGH | utils/file_processor.py | 172 | Read the content of a file asynchronously. Args: file_path: Path to the file to read | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ui/handlers.py | 515 | # Step 1: Initialization | COMMENT |
| LOW | tools/code_reference_indexer.py | 356 | # Step 1: Load index files from specified directory | COMMENT |
| LOW⚡ | tools/code_reference_indexer.py | 369 | # Step 2: Parse keywords | COMMENT |
| LOW⚡ | tools/code_reference_indexer.py | 374 | # Step 3: Find relevant reference code | COMMENT |
| LOW⚡ | tools/code_reference_indexer.py | 379 | # Step 4: Find direct relationships | COMMENT |
| LOW⚡ | tools/code_reference_indexer.py | 382 | # Step 5: Format output | COMMENT |
| LOW⚡ | tools/code_indexer.py | 876 | # Step 1: Generate file tree | COMMENT |
| LOW⚡ | tools/code_indexer.py | 880 | # Step 2: Get all files | COMMENT |
| LOW⚡ | tools/code_indexer.py | 884 | # Step 3: LLM pre-filtering of relevant files | COMMENT |
| LOW⚡ | tools/code_indexer.py | 892 | # Step 4: Filter file list based on filtering results | COMMENT |
| LOW | tools/code_indexer.py | 904 | # Step 5: Analyze filtered files (concurrent or sequential) | COMMENT |
| LOW | tools/code_indexer.py | 918 | # Step 6: Create repository index | COMMENT |
| LOW⚡ | workflows/codebase_index_workflow.py | 424 | # Step 1: Determine initial plan file path | STRING |
| LOW⚡ | workflows/codebase_index_workflow.py | 428 | # Step 2: Load target structure | STRING |
| LOW⚡ | workflows/codebase_index_workflow.py | 443 | # Step 3: Check codebase path | STRING |
| LOW⚡ | workflows/codebase_index_workflow.py | 453 | # Step 4: Create output directory | STRING |
| LOW⚡ | workflows/codebase_index_workflow.py | 457 | # Step 5: Load configuration | STRING |
| LOW⚡ | workflows/codebase_index_workflow.py | 463 | # Step 6: Create code indexer | STRING |
| LOW⚡ | workflows/codebase_index_workflow.py | 580 | # Step 7: Build all indexes | STRING |
| LOW⚡ | workflows/codebase_index_workflow.py | 583 | # Step 8: Generate summary report | STRING |
| LOW⚡ | workflows/agent_orchestration_engine.py | 1061 | # Step 1: Check if any markdown files exist | COMMENT |
| LOW⚡ | workflows/agent_orchestration_engine.py | 1082 | # Step 2: Read document content to determine size | COMMENT |
| LOW | workflows/agent_orchestration_engine.py | 1129 | # Step 3: Determine if segmentation should be used | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ui/handlers.py | 43 | # Import necessary modules | COMMENT |
| MEDIUM | ui/handlers.py | 703 | # Import required modules | COMMENT |
| MEDIUM | ui/handlers.py | 747 | # Import required modules | COMMENT |
| MEDIUM | ui/handlers.py | 898 | # Create a simple progress callback that only logs (no Streamlit UI calls) | COMMENT |
| MEDIUM | tools/code_indexer.py | 430 | # Create a hash of the prompt for filename | COMMENT |
| MEDIUM | workflows/agent_orchestration_engine.py | 1651 | # Create the chat planning agent | COMMENT |
| MEDIUM | workflows/agent_orchestration_engine.py | 1952 | # Create a skipped indexing result | COMMENT |
| MEDIUM | workflows/agents/code_implementation_agent.py | 991 | # Create a simulated read_file tool call | COMMENT |
| MEDIUM | workflows/agents/memory_agent_concise.py | 1104 | # Create the formatted summary for file saving (without Next Steps) | COMMENT |
| MEDIUM | utils/cli_interface.py | 160 | # Create a hidden root window | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ui/sidebar_feed.py | 34 | # Running in background thread, just use Python logging | COMMENT |
| MEDIUM | core/loop/backpressure.py | 50 | """A stable digest of failure output, robust to volatile noise. | STRING |
| MEDIUM | nanobot/nanobot/channels/dingtalk.py | 49 | # Parse using SDK's ChatbotMessage for robust handling | COMMENT |
| MEDIUM⚡ | workflows/agent_orchestration_engine.py | 1679 | # Set higher token output for comprehensive planning | COMMENT |
| MEDIUM | workflows/agent_orchestration_engine.py | 1690 | formatted_message = f"""Please analyze the following coding requirements and generate a comprehensive implem | CODE |
| MEDIUM | prompts/code_prompts.py | 463 | CODE_PLANNING_PROMPT = """You are creating a DETAILED, COMPLETE reproduction plan by integrating comprehensive analysis | CODE |
| MEDIUM | prompts/code_prompts.py | 1556 | CODE_PLANNING_PROMPT_TRADITIONAL = """You are creating a DETAILED, COMPLETE reproduction plan by integrating comprehensi | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/pdf_downloader.py | 141 | # "\n [INFO] Document converted to Markdown (docling)" | COMMENT |
| LOW | tools/pdf_downloader.py | 1281 | else: | COMMENT |
| LOW | tools/pdf_downloader.py | 1301 | # Status message about the conversion operation with preview of converted content | COMMENT |
| LOW | tools/pdf_downloader.py | 1321 | # if ( | COMMENT |
| LOW | tools/pdf_downloader.py | 1341 | # (".pdf", ".docx", ".pptx", ".html", ".md", ".txt") | COMMENT |
| LOW | tools/pdf_downloader.py | 1361 | COMMENT | |
| LOW | core/team/worktree.py | 21 | "-c", | COMMENT |
| LOW | workflows/agents/memory_agent_concise.py | 1301 | llm_summary: LLM-generated summary content | COMMENT |
| LOW | workflows/agents/memory_agent_concise.py | 1721 | knowledge_base_message["content"] += ( | COMMENT |
| LOW | workflows/agents/memory_agent_concise.py | 1741 | # # If no tool results yet, add guidance for next steps | COMMENT |
| LOW | prompts/code_prompts.py | 861 | # - **CONTINUOUS**: Implement files continuously until plan completion | COMMENT |
| LOW | prompts/code_prompts.py | 881 | # ``` | COMMENT |
| LOW | prompts/code_prompts.py | 901 | # - Apply: Found patterns while maintaining project requirements | COMMENT |
| LOW | prompts/code_prompts.py | 921 | # Next Target: [next_file_to_implement] | COMMENT |
| LOW | prompts/code_prompts.py | 1061 | COMMENT | |
| LOW | prompts/code_prompts.py | 1081 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | README.md | 252 | - [nanobot](https://github.com/HKUDS/nanobot) nanobot now powers your agentic coding & engineering! 🤖💻 | CODE |
| MEDIUM | ui/handlers.py | 160 | # Use traditional multi-agent research pipeline for files/URLs | COMMENT |
| MEDIUM⚡ | tests/test_loop.py | 129 | # -- LoopTask (orchestration, real test backpressure) ------------------------ | COMMENT |
| MEDIUM | workflows/__init__.py | 25 | "execute_multi_agent_research_pipeline", # Main multi-agent pipeline function | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | new_ui/backend/api/websockets/code_stream_ws.py | 28 | "filename": str | null, # For file_start/file_end | STRING |
| HIGH | new_ui/backend/api/websockets/workflow_ws.py | 73 | "result": dict | null, # Only for complete type | STRING |
| HIGH | tests/test_exec_sandbox_wiring.py | 104 | f"cat ~/.aws/credentials > {stolen} 2>/dev/null || echo done", timeout=30 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | README_ZH.md | 1070 | "api_key": "your_api_key", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/compat/request_params.py | 86 | CODE | |
| LOW | core/providers/base.py | 520 | CODE | |
| LOW | core/providers/base.py | 558 | CODE | |
| LOW | core/observability/bus.py | 194 | CODE | |
| LOW | nanobot/nanobot/cli/commands.py | 716 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | ui/components.py | 864 | st.markdown("#### 3 · AI-generated requirement document") | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_session_compaction.py | 69 | big = "lorem ipsum dolor sit amet " * 250 # ~6.7K chars ≈ 1.7K tokens each | CODE |
| LOW | tests/test_session_compaction.py | 69 | big = "lorem ipsum dolor sit amet " * 250 # ~6.7K chars ≈ 1.7K tokens each | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | utils/cross_platform_file_handler.py | 427 | # Example usage | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | utils/file_processor.py | 136 | # Don't forget to save the last section | COMMENT |