Repository Analysis

xerrors/Yuxi

结合知识库、知识图谱管理的 多租户 Agent Harness 平台。 An agent harness that integrates a LightRAG knowledge base and knowledge graphs. Build with LangChain + Vue + FastAPI, support DeepAgents、MinerU PDF、Neo4j 、MCP.

17.3 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of xerrors/Yuxi, a Python project with 6,119 GitHub stars. SynthScan v2.0 examined 177,771 lines of code across 668 source files, recording 2631 pattern matches distributed across 15 syntactic categories. The overall adjusted score of 17.3 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).

17.3
Adjusted Score
17.3
Raw Score
100%
Time Factor
2026-07-14
Last Push
6.1K
Stars
Python
Language
177.8K
Lines of Code
668
Files
2.6K
Pattern Hits
2026-07-14
Scan Date
0.02
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

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.

Severity Breakdown

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.

CRITICAL 0HIGH 11MEDIUM 155LOW 2465

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 2631 distinct pattern matches across 15 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.

Hyper-Verbose Identifiers1535 hits · 1563 pts
SeverityFileLineSnippetContext
LOWdocker/sandbox_provisioner/app.py227 def _shared_workspace_host_path(self, uid: str) -> Path:CODE
LOWdocker/sandbox_provisioner/app.py236 def _thread_uploads_host_path(self, thread_id: str) -> Path:CODE
LOWdocker/sandbox_provisioner/app.py245 def _thread_outputs_host_path(self, thread_id: str) -> Path:CODE
LOWdocker/sandbox_provisioner/app.py254 def _is_expected_skills_mount(self, container, skills_thread_id: str) -> bool:CODE
LOWdocker/sandbox_provisioner/app.py264 def _has_expected_user_data_mounts(self, container, file_thread_id: str, uid: str) -> bool:CODE
LOWdocker/sandbox_provisioner/app.py176 def _normalize_host_bind_path(path_value: str | None) -> str:CODE
LOWdocker/sandbox_provisioner/app.py324 def _ensure_user_data_writable(container) -> None:CODE
LOWdocker/sandbox_provisioner/app.py680 def _discovered_matches_request(CODE
LOWdocker/sandbox_provisioner/app.py910 def _collect_expired_sandbox_ids(self) -> list[str]:CODE
LOWweb/src/stores/database.js319 function ensureAutoRefreshForProcessing(filesMap, stats = null) {CODE
LOWweb/src/stores/user.js254 async function validateUsernameAndGenerateUid(username) {CODE
LOWweb/src/components/AgentChatComponent.vue1635function mergeOngoingUserMessageIntoHistory(historyConvs, ongoingMessages) {CODE
LOWweb/src/components/AgentChatComponent.vue1672function mergeActiveRunOngoingIntoHistory(historyConvs, ongoingMessages, activeRunId) {CODE
LOWbackend/test/unit/test_tmp_attachment_service.py82 async def get_conversation_by_thread_id(self, thread_id: str):CODE
LOWbackend/test/unit/test_tmp_attachment_service.py98async def test_upload_tmp_attachment_writes_user_scoped_minio_object(monkeypatch):CODE
LOWbackend/test/unit/test_tmp_attachment_service.py114async def test_parse_tmp_attachment_uses_selected_method_and_uploads_markdown(monkeypatch):CODE
LOWbackend/test/unit/test_tmp_attachment_service.py147async def test_confirm_tmp_thread_attachments_materializes_original_and_parsed_files(monkeypatch, tmp_path: Path):CODE
LOWbackend/test/unit/test_tmp_attachment_service.py206async def test_parse_tmp_attachment_uses_object_name_for_type_validation(monkeypatch):CODE
LOWbackend/test/unit/test_tmp_attachment_service.py226async def test_parse_tmp_attachment_handles_url_metacharacters(monkeypatch):CODE
LOWbackend/test/unit/test_tmp_attachment_service.py253async def test_confirm_tmp_thread_attachments_rejects_non_parsed_object(monkeypatch):CODE
LOWbackend/test/unit/test_tmp_attachment_service.py283async def test_confirm_tmp_thread_attachments_validates_batch_before_commit(monkeypatch):CODE
LOWbackend/test/unit/test_tmp_attachment_service.py309async def test_confirm_tmp_thread_attachments_keeps_duplicate_names_separate(monkeypatch, tmp_path: Path):CODE
LOWbackend/test/unit/test_package_import.py4def test_import_yuxi_does_not_eagerly_import_knowledge(monkeypatch):CODE
LOWbackend/test/unit/test_chunking_token_limit.py77 def test_short_text_unchanged(self):CODE
LOWbackend/test/unit/test_chunking_token_limit.py82 def test_splits_long_chinese_text(self):CODE
LOWbackend/test/unit/test_chunking_token_limit.py89 def test_optional_hard_limit_keeps_slightly_oversized_text(self):CODE
LOWbackend/test/unit/test_chunking_token_limit.py94 def test_optional_hard_limit_merges_short_tail(self):CODE
LOWbackend/test/unit/test_chunking_token_limit.py100 def test_splits_long_english_text(self):CODE
LOWbackend/test/unit/test_chunking_token_limit.py107 def test_empty_text_returns_empty(self):CODE
LOWbackend/test/unit/test_chunking_token_limit.py110 def test_whitespace_only_returns_empty(self):CODE
LOWbackend/test/unit/test_chunking_token_limit.py113 def test_zero_limit_floors_to_one(self):CODE
LOWbackend/test/unit/test_chunking_token_limit.py119 def test_punctuation_only_text(self):CODE
LOWbackend/test/unit/test_chunking_token_limit.py129 def test_all_chunks_within_limit_pass_through(self):CODE
LOWbackend/test/unit/test_chunking_token_limit.py134 def test_slightly_oversized_chunk_passes_through(self):CODE
LOWbackend/test/unit/test_chunking_token_limit.py140 def test_oversized_chunk_gets_split_with_merged_tail(self):CODE
LOWbackend/test/unit/test_chunking_token_limit.py150 def test_empty_chunks_filtered(self):CODE
LOWbackend/test/unit/test_chunking_token_limit.py155 def test_zero_limit_returns_stripped(self):CODE
LOWbackend/test/unit/test_chunking_token_limit.py165 def test_normal_document_chunks_within_limit(self):CODE
LOWbackend/test/unit/test_chunking_token_limit.py172 def test_oversized_single_line_gets_split(self):CODE
LOWbackend/test/unit/test_chunking_token_limit.py180 def test_empty_document_returns_empty(self):CODE
LOWbackend/test/unit/test_chunking_token_limit.py196 def test_hard_split_produces_same_result(self):CODE
LOWbackend/test/unit/test_auth_utils.py14def test_generate_api_key_returns_secret_hash_and_prefix():CODE
LOWbackend/test/unit/test_auth_utils.py31def test_access_token_contains_instance_claims(monkeypatch):CODE
LOWbackend/test/unit/test_auth_utils.py43def test_access_token_auto_generates_dev_secret(monkeypatch):CODE
LOWbackend/test/unit/test_auth_utils.py54def test_access_token_requires_configured_secret_in_production(monkeypatch):CODE
LOWbackend/test/unit/test_auth_utils.py63def test_access_token_rejects_public_default_secret_in_production(monkeypatch):CODE
LOWbackend/test/unit/test_auth_utils.py72def test_access_token_auto_generates_dev_instance_id(monkeypatch):CODE
LOWbackend/test/unit/test_auth_utils.py83def test_access_token_requires_instance_id_in_production(monkeypatch):CODE
LOWbackend/test/unit/test_auth_utils.py92def test_verify_access_token_rejects_wrong_issuer(monkeypatch):CODE
LOWbackend/test/unit/test_auth_utils.py104def test_verify_access_token_rejects_wrong_audience(monkeypatch):CODE
LOWbackend/test/unit/test_auth_utils.py117def test_verify_access_token_requires_claims(monkeypatch):CODE
LOWbackend/test/unit/routers/test_user_config_router.py44async def test_user_config_routes_scope_to_current_user(session):CODE
LOWbackend/test/unit/routers/test_user_config_router.py58async def test_user_config_allows_logged_in_user_without_department():CODE
LOWbackend/test/unit/routers/test_skill_router.py150def test_remote_skill_prepare_and_confirm_routes(monkeypatch):CODE
LOWbackend/test/unit/routers/test_skill_router.py153 async def fake_prepare_remote_skill_install(_db, *, source, skills, operator):CODE
LOWbackend/test/unit/routers/test_skill_router.py157 async def fake_confirm_skill_install_draft(_db, *, draft_id, share_config, operator):CODE
LOWbackend/test/unit/routers/test_skill_router.py201def test_dependency_options_route_checks_manage_permission(monkeypatch):CODE
LOWbackend/test/unit/routers/test_skill_router.py204 async def fake_get_manageable_skill_or_raise(_db, user, slug):CODE
LOWbackend/test/unit/routers/test_skill_router.py208 async def fake_get_skill_dependency_options(_db, user, slug=None):CODE
LOWbackend/test/unit/routers/test_skill_router.py60def test_list_visible_skills_route_returns_allowed_levels_and_can_manage(monkeypatch):CODE
1475 more matches not shown…
Decorative Section Separators142 hits · 534 pts
SeverityFileLineSnippetContext
MEDIUMbackend/test/unit/test_chunking_token_limit.py73# ── nlp.hard_split_by_token_limit ──────────────────────────────────COMMENT
MEDIUMbackend/test/unit/test_chunking_token_limit.py125# ── general._ensure_chunk_token_limit ──────────────────────────────COMMENT
MEDIUMbackend/test/unit/test_chunking_token_limit.py161# ── general.chunk_markdown 集成 ────────────────────────────────────COMMENT
MEDIUMbackend/test/unit/test_chunking_token_limit.py190# ── laws parser 回归 ──────────────────────────────────────────────COMMENT
MEDIUMbackend/test/integration/api/test_knowledge_router.py423# =============================================================================COMMENT
MEDIUMbackend/test/integration/api/test_knowledge_router.py425# =============================================================================COMMENT
MEDIUMbackend/test/integration/api/test_knowledge_router.py506# =============================================================================COMMENT
MEDIUMbackend/test/integration/api/test_knowledge_router.py508# =============================================================================COMMENT
MEDIUMbackend/server/main.py5# ==============================================================================COMMENT
MEDIUMbackend/server/main.py8# ==============================================================================COMMENT
MEDIUMbackend/server/routers/mcp_router.py244# =============================================================================COMMENT
MEDIUMbackend/server/routers/mcp_router.py246# =============================================================================COMMENT
MEDIUMbackend/server/routers/mcp_router.py298# =============================================================================COMMENT
MEDIUMbackend/server/routers/mcp_router.py300# =============================================================================COMMENT
MEDIUMbackend/server/routers/mcp_router.py25# =============================================================================COMMENT
MEDIUMbackend/server/routers/mcp_router.py27# =============================================================================COMMENT
MEDIUMbackend/server/routers/mcp_router.py69# =============================================================================COMMENT
MEDIUMbackend/server/routers/mcp_router.py71# =============================================================================COMMENT
MEDIUMbackend/server/routers/mcp_router.py82# =============================================================================COMMENT
MEDIUMbackend/server/routers/mcp_router.py84# =============================================================================COMMENT
MEDIUMbackend/server/routers/auth_dept_router.py25# =============================================================================COMMENT
MEDIUMbackend/server/routers/auth_dept_router.py27# =============================================================================COMMENT
MEDIUMbackend/server/routers/auth_dept_router.py58# =============================================================================COMMENT
MEDIUMbackend/server/routers/auth_dept_router.py60# =============================================================================COMMENT
MEDIUMbackend/server/routers/dashboard_router.py245# =============================================================================COMMENT
MEDIUMbackend/server/routers/dashboard_router.py247# =============================================================================COMMENT
MEDIUMbackend/server/routers/dashboard_router.py316# =============================================================================COMMENT
MEDIUMbackend/server/routers/dashboard_router.py318# =============================================================================COMMENT
MEDIUMbackend/server/routers/dashboard_router.py391# =============================================================================COMMENT
MEDIUMbackend/server/routers/dashboard_router.py393# =============================================================================COMMENT
MEDIUMbackend/server/routers/dashboard_router.py479# =============================================================================COMMENT
MEDIUMbackend/server/routers/dashboard_router.py481# =============================================================================COMMENT
MEDIUMbackend/server/routers/dashboard_router.py583# =============================================================================COMMENT
MEDIUMbackend/server/routers/dashboard_router.py585# =============================================================================COMMENT
MEDIUMbackend/server/routers/dashboard_router.py640# =============================================================================COMMENT
MEDIUMbackend/server/routers/dashboard_router.py642# =============================================================================COMMENT
MEDIUMbackend/server/routers/dashboard_router.py716# =============================================================================COMMENT
MEDIUMbackend/server/routers/dashboard_router.py718# =============================================================================COMMENT
MEDIUMbackend/server/routers/dashboard_router.py48# =============================================================================COMMENT
MEDIUMbackend/server/routers/dashboard_router.py50# =============================================================================COMMENT
MEDIUMbackend/server/routers/dashboard_router.py124# =============================================================================COMMENT
MEDIUMbackend/server/routers/dashboard_router.py126# =============================================================================COMMENT
MEDIUMbackend/server/routers/system_router.py15# =============================================================================COMMENT
MEDIUMbackend/server/routers/system_router.py17# =============================================================================COMMENT
MEDIUMbackend/server/routers/system_router.py51# =============================================================================COMMENT
MEDIUMbackend/server/routers/system_router.py53# =============================================================================COMMENT
MEDIUMbackend/server/routers/system_router.py131# =============================================================================COMMENT
MEDIUMbackend/server/routers/system_router.py133# =============================================================================COMMENT
MEDIUMbackend/server/routers/system_router.py186# =============================================================================COMMENT
MEDIUMbackend/server/routers/system_router.py188# =============================================================================COMMENT
MEDIUMbackend/server/routers/auth_router.py181# =============================================================================COMMENT
MEDIUMbackend/server/routers/auth_router.py183# =============================================================================COMMENT
MEDIUMbackend/server/routers/auth_router.py194# =============================================================================COMMENT
MEDIUMbackend/server/routers/auth_router.py196# =============================================================================COMMENT
MEDIUMbackend/server/routers/auth_router.py294# =============================================================================COMMENT
MEDIUMbackend/server/routers/auth_router.py296# =============================================================================COMMENT
MEDIUMbackend/server/routers/auth_router.py429# =============================================================================COMMENT
MEDIUMbackend/server/routers/auth_router.py431# =============================================================================COMMENT
MEDIUMbackend/server/routers/auth_router.py509# =============================================================================COMMENT
MEDIUMbackend/server/routers/auth_router.py511# =============================================================================COMMENT
82 more matches not shown…
Excessive Try-Catch Wrapping431 hits · 416 pts
SeverityFileLineSnippetContext
MEDIUMdocker/sandbox_provisioner/app.py898def _seed_existing(self) -> None:CODE
MEDIUMdocker/sandbox_provisioner/app.py1039def list_sandboxes():CODE
LOWdocker/sandbox_provisioner/app.py141 except Exception:CODE
LOWdocker/sandbox_provisioner/app.py385 except Exception as exc:CODE
LOWdocker/sandbox_provisioner/app.py390 except Exception as exc:CODE
LOWdocker/sandbox_provisioner/app.py464 except Exception as exc:CODE
LOWdocker/sandbox_provisioner/app.py471 except Exception as exc:CODE
LOWdocker/sandbox_provisioner/app.py525 except Exception:CODE
LOWdocker/sandbox_provisioner/app.py691 except Exception:CODE
LOWdocker/sandbox_provisioner/app.py774 except Exception:CODE
LOWdocker/sandbox_provisioner/app.py813 except Exception as exc:CODE
LOWdocker/sandbox_provisioner/app.py901 except Exception as exc: # noqa: BLE001CODE
LOWdocker/sandbox_provisioner/app.py925 except Exception as exc: # noqa: BLE001CODE
LOWdocker/sandbox_provisioner/app.py998 except Exception as exc: # noqa: BLE001CODE
LOWdocker/sandbox_provisioner/app.py1012 except Exception as exc: # noqa: BLE001CODE
LOWdocker/sandbox_provisioner/app.py1030 except Exception as exc: # noqa: BLE001CODE
LOWdocker/sandbox_provisioner/app.py1042 except Exception as exc: # noqa: BLE001CODE
LOWdocker/sandbox_provisioner/app.py1060 except Exception as exc: # noqa: BLE001CODE
LOWbackend/test/unit/backends/test_semantic_chunking.py19 except Exception as e:CODE
LOWbackend/test/integration/conftest.py138 except Exception as exc:CODE
LOWbackend/test/integration/conftest.py156 except Exception as exc:CODE
LOWbackend/test/integration/conftest.py161 except Exception as exc:CODE
LOWbackend/test/integration/conftest.py166 except Exception as exc:CODE
LOWbackend/test/integration/conftest.py192 except Exception as exc:CODE
LOWbackend/test/integration/conftest.py205 except Exception:CODE
LOWbackend/test/integration/conftest.py209 except Exception as exc:CODE
LOWbackend/test/integration/conftest.py318 except Exception as exc:CODE
MEDIUMbackend/test/integration/conftest.py189def _cleanup_sandbox_containers() -> None:CODE
LOWbackend/server/routers/graph_router.py45 except Exception as e:CODE
LOWbackend/server/routers/graph_router.py72 except Exception as e:CODE
LOWbackend/server/routers/graph_router.py89 except Exception as e:CODE
LOWbackend/server/routers/graph_router.py106 except Exception as e:CODE
LOWbackend/server/routers/knowledge_eval_router.py66 except Exception as e:CODE
LOWbackend/server/routers/knowledge_eval_router.py78 except Exception as e:CODE
LOWbackend/server/routers/knowledge_eval_router.py103 except Exception as e:CODE
LOWbackend/server/routers/knowledge_eval_router.py124 except Exception as e:CODE
LOWbackend/server/routers/knowledge_eval_router.py140 except Exception as e:CODE
LOWbackend/server/routers/knowledge_eval_router.py167 except Exception as e:CODE
LOWbackend/server/routers/knowledge_eval_router.py189 except Exception as e:CODE
LOWbackend/server/routers/knowledge_eval_router.py201 except Exception as e:CODE
LOWbackend/server/routers/knowledge_eval_router.py231 except Exception as e:CODE
LOWbackend/server/routers/knowledge_eval_router.py247 except Exception as e:CODE
LOWbackend/server/routers/mcp_router.py239 except Exception as e:CODE
LOWbackend/server/routers/mcp_router.py266 except Exception as test_error:CODE
LOWbackend/server/routers/mcp_router.py270 except Exception as e:CODE
LOWbackend/server/routers/mcp_router.py293 except Exception as e:CODE
LOWbackend/server/routers/mcp_router.py386 except Exception as tool_error:CODE
LOWbackend/server/routers/mcp_router.py390 except Exception as e:CODE
LOWbackend/server/routers/mcp_router.py110 except Exception as e:CODE
LOWbackend/server/routers/mcp_router.py154 except Exception as e:CODE
LOWbackend/server/routers/mcp_router.py171 except Exception as e:CODE
LOWbackend/server/routers/mcp_router.py215 except Exception as e:CODE
LOWbackend/server/routers/mcp_router.py344 except Exception as tool_error:CODE
LOWbackend/server/routers/mcp_router.py349 except Exception as e:CODE
LOWbackend/server/routers/mcp_router.py413 except Exception as e:CODE
LOWbackend/server/routers/dashboard_router.py239 except Exception as e:CODE
LOWbackend/server/routers/dashboard_router.py310 except Exception as e:CODE
LOWbackend/server/routers/dashboard_router.py385 except Exception as e:CODE
LOWbackend/server/routers/dashboard_router.py473 except Exception as e:CODE
LOWbackend/server/routers/dashboard_router.py577 except Exception as e:CODE
371 more matches not shown…
Unused Imports331 hits · 322 pts
SeverityFileLineSnippetContext
LOWbackend/test/conftest.py1CODE
LOWbackend/test/unit/test_tmp_attachment_service.py1CODE
LOWbackend/test/unit/test_auth_utils.py1CODE
LOWbackend/test/unit/routers/test_user_config_router.py1CODE
LOWbackend/test/unit/routers/test_skill_router.py1CODE
LOWbackend/test/unit/routers/test_system_router.py1CODE
LOWbackend/test/unit/routers/test_subagent.py1CODE
LOW…kend/test/unit/routers/test_agent_invocation_router.py1CODE
LOWbackend/test/unit/routers/test_auth_router_cli_auth.py1CODE
LOWbackend/test/unit/routers/test_api_key_security.py1CODE
LOW…/test/unit/routers/test_dashboard_superadmin_access.py1CODE
LOW…end/test/unit/routers/test_workspace_knowledge_tree.py1CODE
LOW…d/test/unit/routers/test_knowledge_workspace_import.py1CODE
LOWbackend/test/unit/routers/test_mcp_router.py1CODE
LOWbackend/test/unit/config/test_runtime_config_sync.py1CODE
LOWbackend/test/unit/config/test_user_config.py1CODE
LOWbackend/test/unit/plugins/test_ragflow_like_chunking.py1CODE
LOWbackend/test/unit/plugins/test_notion_kb.py1CODE
LOWbackend/test/unit/plugins/test_dify_kb.py1CODE
LOW…/test/unit/backends/test_sandbox_provisioner_config.py1CODE
LOWbackend/test/unit/backends/test_skills_backend.py1CODE
LOW…st/unit/backends/test_skills_backend_error_handling.py1CODE
LOW…kend/test/unit/backends/test_knowledge_base_backend.py1CODE
LOWbackend/test/unit/backends/test_sandbox_backends.py3CODE
LOWbackend/test/unit/backends/test_semantic_chunking.py2CODE
LOW…ckend/test/unit/middlewares/test_summary_middleware.py1CODE
LOW…test/unit/middlewares/test_subagent_task_middleware.py1CODE
LOW…d/test/unit/middlewares/test_token_usage_middleware.py1CODE
LOWbackend/test/unit/middlewares/test_skills_middleware.py1CODE
LOWbackend/test/unit/agents/test_context_auth.py1CODE
LOWbackend/test/unit/agents/test_streaming_toolcall_fix.py11CODE
LOWbackend/test/unit/agents/test_streaming_toolcall_fix.py16CODE
LOWbackend/test/unit/agents/test_summary_graph_config.py1CODE
LOW…end/test/unit/agents/test_base_tool_event_normalize.py1CODE
LOWbackend/test/unit/agents/test_subagent_tool_filter.py1CODE
LOWbackend/test/unit/agents/skills/test_remote_install.py1CODE
LOW…test/unit/agents/skills/test_mysql_reporter_scripts.py1CODE
LOWbackend/test/unit/toolkits/test_install_skill.py1CODE
LOWbackend/test/unit/toolkits/test_tool_registry.py1CODE
LOWbackend/test/unit/toolkits/test_kbs_tools.py1CODE
LOWbackend/test/unit/toolkits/test_ocr_parse_file_tool.py1CODE
LOWbackend/test/unit/utils/test_thread_utils.py1CODE
LOWbackend/test/unit/utils/test_share_config.py1CODE
LOWbackend/test/unit/utils/test_hash_utils.py1CODE
LOWbackend/test/unit/utils/test_image_processor.py1CODE
LOWbackend/test/unit/repositories/test_agent_repository.py1CODE
LOW…nd/test/unit/repositories/test_agent_run_repository.py1CODE
LOW…it/repositories/test_agent_repository_deep_research.py1CODE
LOWbackend/test/unit/storage/test_redis_manager.py1CODE
LOW…kend/test/unit/storage/test_conversation_repository.py1CODE
LOW…kend/test/unit/storage/test_postgres_manager_schema.py1CODE
LOWbackend/test/unit/knowledge/test_parser_facade.py1CODE
LOW…end/test/unit/knowledge/test_runtime_initialization.py1CODE
LOWbackend/test/unit/knowledge/test_file_exists.py1CODE
LOWbackend/test/unit/knowledge/test_office_pdf_preview.py1CODE
LOW…ckend/test/unit/knowledge/test_paddleocr_api_parser.py1CODE
LOWbackend/test/unit/graphs/test_milvus_graph_build.py1CODE
LOW…ckend/test/unit/services/test_auth_service_cli_auth.py1CODE
LOW…kend/test/unit/services/test_mention_search_service.py1CODE
LOW…d/test/unit/services/test_viewer_filesystem_service.py1CODE
271 more matches not shown…
Deep Nesting84 hits · 72 pts
SeverityFileLineSnippetContext
LOWdocker/sandbox_provisioner/app.py349CODE
LOWbackend/test/integration/conftest.py275CODE
LOWbackend/test/e2e/test_subagent_stream_e2e.py149CODE
LOWbackend/server/routers/mcp_router.py304CODE
LOWbackend/server/routers/dashboard_router.py734CODE
LOWbackend/server/routers/knowledge_router.py662CODE
LOWbackend/server/routers/knowledge_router.py1080CODE
LOWbackend/server/routers/knowledge_router.py1448CODE
LOWbackend/server/routers/knowledge_router.py689CODE
LOWbackend/package/yuxi/config/app.py87CODE
LOWbackend/package/yuxi/agents/models.py176CODE
LOWbackend/package/yuxi/agents/context.py388CODE
LOWbackend/package/yuxi/agents/context.py316CODE
LOWbackend/package/yuxi/agents/base.py133CODE
LOWbackend/package/yuxi/agents/base.py204CODE
LOWbackend/package/yuxi/agents/base.py315CODE
LOWbackend/package/yuxi/agents/buildin/__init__.py48CODE
LOWbackend/package/yuxi/agents/backends/sandbox/backend.py388CODE
LOW…ckend/package/yuxi/agents/backends/sandbox/provider.py142CODE
LOW…ckend/package/yuxi/agents/backends/sandbox/provider.py189CODE
LOWbackend/package/yuxi/agents/middlewares/summary.py71CODE
LOWbackend/package/yuxi/agents/middlewares/summary.py312CODE
LOWbackend/package/yuxi/agents/toolkits/utils.py7CODE
LOW…/package/yuxi/agents/toolkits/buildin/install_skill.py147CODE
LOWbackend/package/yuxi/agents/mcp/service.py72CODE
LOWbackend/package/yuxi/agents/mcp/service.py197CODE
LOWbackend/package/yuxi/agents/skills/service.py259CODE
LOWbackend/package/yuxi/agents/skills/service.py776CODE
LOWbackend/package/yuxi/agents/skills/service.py884CODE
LOWbackend/package/yuxi/agents/skills/remote_install.py218CODE
LOW…/agents/skills/buildin/mysql-reporter/scripts/query.py257CODE
LOW…kills/buildin/mysql-reporter/scripts/describe_table.py84CODE
LOWbackend/package/yuxi/utils/image_processor.py86CODE
LOW…ckend/package/yuxi/storage/postgres/models_business.py579CODE
LOWbackend/package/yuxi/knowledge/manager.py913CODE
LOWbackend/package/yuxi/knowledge/base.py216CODE
LOWbackend/package/yuxi/knowledge/base.py277CODE
LOWbackend/package/yuxi/knowledge/base.py974CODE
LOWbackend/package/yuxi/knowledge/base.py1197CODE
LOWbackend/package/yuxi/knowledge/utils/url_fetcher.py37CODE
LOWbackend/package/yuxi/knowledge/parser/unified.py131CODE
LOWbackend/package/yuxi/knowledge/parser/unified.py291CODE
LOWbackend/package/yuxi/knowledge/parser/rapid_ocr.py74CODE
LOWbackend/package/yuxi/knowledge/parser/rapid_ocr.py131CODE
LOWbackend/package/yuxi/knowledge/parser/paddleocr_api.py260CODE
LOWbackend/package/yuxi/knowledge/parser/paddleocr_api.py295CODE
LOWbackend/package/yuxi/knowledge/parser/mineru.py33CODE
LOWbackend/package/yuxi/knowledge/parser/mineru.py93CODE
LOW…ckend/package/yuxi/knowledge/parser/mineru_official.py42CODE
LOW…ckend/package/yuxi/knowledge/parser/mineru_official.py96CODE
LOW…ckend/package/yuxi/knowledge/parser/mineru_official.py298CODE
LOW…nd/package/yuxi/knowledge/chunking/ragflow_like/nlp.py189CODE
LOW…nd/package/yuxi/knowledge/chunking/ragflow_like/nlp.py355CODE
LOW…nd/package/yuxi/knowledge/chunking/ragflow_like/nlp.py460CODE
LOW…xi/knowledge/chunking/ragflow_like/parsers/semantic.py20CODE
LOW…xi/knowledge/chunking/ragflow_like/parsers/semantic.py70CODE
LOW…xi/knowledge/chunking/ragflow_like/parsers/semantic.py121CODE
LOW…e/yuxi/knowledge/chunking/ragflow_like/parsers/laws.py87CODE
LOW…age/yuxi/knowledge/chunking/ragflow_like/parsers/qa.py213CODE
LOW…i/knowledge/chunking/ragflow_like/utils/table_utils.py6CODE
24 more matches not shown…
Modern Structural Boilerplate46 hits · 50 pts
SeverityFileLineSnippetContext
LOWdocker/sandbox_provisioner/app.py17logger = logging.getLogger(__name__)CODE
LOW…end/test/unit/routers/test_knowledge_router_cleanup.py18 async def set_message(self, message: str) -> None:CODE
LOW…end/test/unit/routers/test_knowledge_router_cleanup.py21 async def set_progress(self, progress: float, message: str | None = None) -> None:CODE
LOW…end/test/unit/routers/test_knowledge_router_cleanup.py24 async def set_result(self, result: dict) -> None:CODE
LOWbackend/server/worker_main.py15__all__ = ["WorkerSettings"]CODE
LOWbackend/package/yuxi/config/__init__.py4__all__ = ["UserConfig", "UserConfigSchema", "config"]CODE
LOWbackend/package/yuxi/config/app.py83 def _setup_paths(self) -> None:CODE
LOWbackend/package/yuxi/config/app.py199 def set_value(self, key: str, value: Any) -> None:CODE
LOWbackend/package/yuxi/agents/__init__.py17__all__ = [CODE
LOWbackend/package/yuxi/agents/buildin/__init__.py95__all__ = ["agent_manager"]CODE
LOWbackend/package/yuxi/agents/buildin/chatbot/__init__.py5__all__ = ["ChatBotContext", "ChatBotState", "ChatbotAgent", "SubAgentRunState", "merge_subagent_runs"]CODE
LOW…ckend/package/yuxi/agents/buildin/subagent/__init__.py4__all__ = ["SubAgentBackend", "SubAgentContext"]CODE
LOWbackend/package/yuxi/agents/backends/__init__.py25__all__ = [CODE
LOW…ckend/package/yuxi/agents/backends/sandbox/__init__.py27__all__ = [CODE
LOWbackend/package/yuxi/agents/middlewares/__init__.py7__all__ = [CODE
LOWbackend/package/yuxi/agents/toolkits/__init__.py15__all__ = [CODE
LOW…ckend/package/yuxi/agents/toolkits/buildin/__init__.py5__all__ = [CODE
LOWbackend/package/yuxi/agents/toolkits/kbs/__init__.py7__all__ = ["find_kb_document", "get_common_kb_tools", "open_kb_document"]CODE
LOWbackend/package/yuxi/agents/toolkits/debug/__init__.py3__all__ = []CODE
LOWbackend/package/yuxi/utils/logging_config.py91__all__ = ["logger"]CODE
LOWbackend/package/yuxi/utils/paths.py25__all__ = [CODE
LOWbackend/package/yuxi/utils/datetime_utils.py137__all__ = [CODE
LOW…d/package/yuxi/repositories/conversation_repository.py536 async def _update_message_count(self, conversation_id: int) -> None:CODE
LOWbackend/package/yuxi/repositories/__init__.py1__all__ = []CODE
LOW…ackage/yuxi/repositories/knowledge_chunk_repository.py171 async def update_extraction_result(self, chunk_id: str, extraction_result: dict[str, Any]) -> None:CODE
LOWbackend/package/yuxi/models/__init__.py1__all__ = ["select_model", "select_embedding_model", "get_embedding_model_info_by_id"]CODE
LOWbackend/package/yuxi/storage/neo4j/__init__.py9__all__ = [CODE
LOWbackend/package/yuxi/storage/redis/__init__.py14__all__ = [CODE
LOWbackend/package/yuxi/storage/minio/__init__.py11__all__ = [CODE
LOWbackend/package/yuxi/knowledge/manager.py440 async def update_file_params(self, kb_id: str, file_id: str, params: dict, operator_id: str | None = None) -> None:CODE
LOWbackend/package/yuxi/knowledge/base.py432 async def update_file_params(self, kb_id: str, file_id: str, params: dict, operator_id: str | None = None) -> None:CODE
LOWbackend/package/yuxi/knowledge/base.py1182 def _set_database_stats(self, kb_id: str, stats: dict[str, int]) -> None:CODE
LOWbackend/package/yuxi/knowledge/utils/__init__.py13__all__ = [CODE
LOWbackend/package/yuxi/knowledge/chunking/__init__.py1__all__ = []CODE
LOW…ckage/yuxi/knowledge/chunking/ragflow_like/__init__.py3__all__ = ["chunk_file", "chunk_markdown"]CODE
LOW…xi/knowledge/chunking/ragflow_like/parsers/__init__.py3__all__ = ["general", "qa", "book", "laws", "separator"]CODE
LOWbackend/package/yuxi/knowledge/graphs/__init__.py3__all__ = ["MilvusGraphService"]CODE
LOW…d/package/yuxi/knowledge/graphs/extractors/__init__.py5__all__ = [CODE
LOW…end/package/yuxi/knowledge/implementations/__init__.py14__all__ = ["MilvusKB", "DifyKB", "NotionKB", "ReadOnlyConnectors"]CODE
LOW…ckend/package/yuxi/knowledge/implementations/notion.py427 def _set_cached_page_markdown(self, cache_key: tuple[str, str, str, str], content: str) -> None:CODE
LOW…yuxi/knowledge/implementations/read_only_connectors.py36 async def update_file_params(self, kb_id: str, file_id: str, params: dict, operator_id: str | None = None) -> None:CODE
LOWbackend/package/yuxi/services/oidc_service.py719async def update_oidc_user_login(db, user: User) -> None:CODE
LOWbackend/package/yuxi/services/task_service.py81 async def set_progress(self, progress: float, message: str | None = None) -> None:CODE
LOWbackend/package/yuxi/services/task_service.py88 async def set_message(self, message: str) -> None:CODE
LOWbackend/package/yuxi/services/task_service.py91 async def set_result(self, result: Any) -> None:CODE
LOWbackend/package/yuxi/services/task_service.py427__all__ = ["tasker", "TaskContext", "Tasker"]CODE
Docstring Block Structure8 hits · 40 pts
SeverityFileLineSnippetContext
HIGHbackend/package/yuxi/storage/minio/client.py365 异步上下文管理器:从 MinIO URL 下载文件到临时文件,使用后自动清理 Args: url: MinIO 文件 URL allowed_extensiSTRING
HIGHbackend/package/yuxi/knowledge/factory.py29 创建知识库实例 Args: kb_type: 知识库类型 work_dir: 工作目录 **kwargs: 其他初始化参数 STRING
HIGHbackend/package/yuxi/knowledge/manager.py115 根据数据库ID获取对应的知识库实例 Args: kb_id: 数据库ID Returns: 知识库实例 Raises: STRING
HIGHbackend/package/yuxi/knowledge/utils/kb_utils.py238 解析MinIO URL,提取bucket名称和对象名称 支持标准 HTTP/HTTPS URL 格式: - http(s)://host/bucket-name/path/to/object Args:STRING
HIGHbackend/package/yuxi/knowledge/utils/url_fetcher.py38 Fetch URL content with security checks (size limit, content type, private IP blocking). Args: url: TheSTRING
HIGHbackend/package/yuxi/knowledge/parser/factory.py41 获取文档处理器实例 (单例模式) Args: processor_type: 处理器类型 - "rapid_ocr": RapidOCR 本地 OCSTRING
HIGHbackend/package/yuxi/knowledge/parser/factory.py75 使用指定处理器处理文件 (便捷方法) Args: processor_type: 处理器类型 file_path: 文件路径 parSTRING
HIGHbackend/package/yuxi/knowledge/parser/base.py49 处理文件并返回提取的文本 Args: file_path: 文件路径 params: 处理参数 Returns: STRING
Fake / Example Data15 hits · 20 pts
SeverityFileLineSnippetContext
LOWweb/src/components/MessageInputComponent.vue41 :aria-label="placeholder"CODE
LOWweb/src/components/MessageInputComponent.vue43 :data-placeholder="placeholder"CODE
LOWweb/src/components/AgentInputArea.vue9 :placeholder="placeholder"CODE
LOWweb/src/components/AiTextarea.vue6 :placeholder="placeholder"CODE
LOWbackend/test/unit/routers/test_subagent.py100 async def fake_user():CODE
LOWbackend/test/unit/routers/test_subagent.py104 app.dependency_overrides[get_required_user] = fake_userCODE
LOWbackend/test/unit/routers/test_subagent.py105 app.dependency_overrides[get_admin_user] = fake_userCODE
LOW…kend/test/unit/routers/test_agent_invocation_router.py25 async def fake_user():CODE
LOW…kend/test/unit/routers/test_agent_invocation_router.py28 app.dependency_overrides[get_required_user] = fake_userCODE
LOWbackend/package/yuxi/knowledge/implementations/dify.py32 "placeholder": "例如: https://api.dify.ai/v1",CODE
LOWbackend/package/yuxi/knowledge/implementations/dify.py40 "placeholder": "请输入 Dify API Token",CODE
LOWbackend/package/yuxi/knowledge/implementations/dify.py47 "placeholder": "请输入 Dify dataset_id",CODE
LOW…ckend/package/yuxi/knowledge/implementations/notion.py191 "placeholder": "留空则使用 NOTION_TOKEN / NOTION_API_KEY",CODE
LOW…ckend/package/yuxi/knowledge/implementations/notion.py199 "placeholder": "请输入 Notion data_source_id",CODE
LOW…ckend/package/yuxi/knowledge/implementations/notion.py207 "placeholder": NOTION_DEFAULT_VERSION,CODE
Self-Referential Comments5 hits · 16 pts
SeverityFileLineSnippetContext
MEDIUMbackend/test/integration/api/test_apikey_router.py63 # Create a keyCOMMENT
MEDIUMbackend/test/integration/api/test_apikey_router.py82 # Create a keyCOMMENT
MEDIUMbackend/test/integration/api/test_apikey_router.py99 # Create a keyCOMMENT
MEDIUMbackend/test/integration/api/test_apikey_router.py116 # Create an API keyCOMMENT
MEDIUMbackend/test/integration/api/test_apikey_router.py145 # Create an API keyCOMMENT
Redundant / Tautological Comments9 hits · 13 pts
SeverityFileLineSnippetContext
LOWbackend/test/integration/api/test_graph_router_list.py18 # Check if response is wrappedCOMMENT
LOWbackend/server/routers/knowledge_router.py1379 # Check if it is a folderCOMMENT
LOWbackend/server/routers/knowledge_router.py1425 # Check if it is a folderCOMMENT
LOWbackend/package/yuxi/agents/backends/sandbox/backend.py472 # Check if old_string existsCOMMENT
LOWbackend/package/yuxi/knowledge/base.py1382 # Check if new_parent_id is a child of file_id (or is file_id itself)COMMENT
LOWbackend/package/yuxi/knowledge/utils/url_validator.py39 # Check if URL has a valid schemeCOMMENT
LOWbackend/package/yuxi/knowledge/utils/url_validator.py58 # Check if hostname is in whitelistCOMMENT
LOWbackend/package/yuxi/knowledge/utils/url_validator.py63 # Check if hostname ends with the domain (or matches exactly)COMMENT
LOWscripts/init.sh47# Check if .env file existsCOMMENT
AI Structural Patterns14 hits · 11 pts
SeverityFileLineSnippetContext
LOWbackend/test/unit/services/test_agent_run_service.py1281CODE
LOWbackend/test/unit/services/test_subagent_run_service.py100CODE
LOWbackend/server/routers/workspace_router.py143CODE
LOWbackend/server/routers/knowledge_router.py216CODE
LOWbackend/package/yuxi/agents/toolkits/registry.py39CODE
LOWbackend/package/yuxi/agents/mcp/service.py355CODE
LOWbackend/package/yuxi/agents/mcp/service.py405CODE
LOWbackend/package/yuxi/repositories/agent_repository.py410CODE
LOWbackend/package/yuxi/repositories/agent_repository.py461CODE
LOWbackend/package/yuxi/models/embed.py24CODE
LOWbackend/package/yuxi/storage/minio/client.py146CODE
LOWbackend/package/yuxi/storage/minio/client.py252CODE
LOWbackend/package/yuxi/knowledge/manager.py556CODE
LOWpackages/yuxi-cli/src/yuxi_cli/main.py160CODE
Magic Placeholder Names2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHdocs/advanced/document-processing.md94MINERU_API_KEY=your-api-key-hereCODE
HIGHdocs/advanced/document-processing.md110SILICONFLOW_API_KEY=your-api-key-hereCODE
Over-Commented Block7 hits · 7 pts
SeverityFileLineSnippetContext
LOWbackend/package/yuxi/config/static/bad_keywords.txt1# ==========================================================COMMENT
LOWdocs/advanced/third-party-auth.md21# 认证源名称(显示在登录按钮上的文字,建议简短且具有辨识度, 默认: OIDC登录)COMMENT
LOWdocs/advanced/third-party-auth.md41# Token 端点 (可选,自动从 discovery 获取)COMMENT
LOWdocs/advanced/third-party-auth.md61COMMENT
LOWscripts/bump-version.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/bump-version.sh21# - 用户只说“更新 tag”或“添加 tag”时,先读取 backend/package/pyproject.toml:COMMENT
LOWscripts/bump-version.sh41# git tag v0.7.1.dev2COMMENT
Synthetic Comment Markers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHREADME.en.md21**Image generated by GPT-Image-2.*CODE
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMdocs/intro/project-overview.md40### 2. 知识库与 RAG 一体化能力COMMENT