AI Slop Code RIsk Monitor

NEKOparapa/AiNiee

一款专注于Ai翻译的工具,一键自动翻译RPG SLG游戏,Epub TXT小说,PDF Word MD文档,Srt Vtt Lrc字幕等等复杂长文本。

21.9 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for NEKOparapa/AiNiee, a Python project with 6,343 GitHub stars. SynthScan examined 56,765 lines of code across 282 source files, recording 867 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 21.9 (Elevated pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

21.9
Adjusted Signal
21.9
Raw Pattern Score
100%
Time Factor
2026-10-07
Last Push
6.3K
Stars
Python
Language
56.8K
Lines of Code
282
Files
867
Pattern Hits
2026-10-12
Scan Date
0.23
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 31.3/100 · MEDIUM

Can maintainers explain intent, assumptions, and trade-offs? 442 finding(s).

Hallucinated Dependency & Supply Chain Risk 2.7/100 · LOW

Are imports declared and package/API names verified? 29 finding(s).

Agent Over-Engineering Ratio 60.1/100 · HIGH

Are wrappers, guards, and repeated structures necessary? 656 finding(s).

PR Review Velocity Impact 69.2/100 · HIGH

Which changes need focused human review? 867 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 66MEDIUM 70LOW 731

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 867 distinct pattern matches across 15 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Empty Error Handlers65 hits · 325 pts
SeverityFileLineSnippetContext
HIGHAiNiee.py102except OSError:CODE
HIGHModuleFolders/Config/Config.py74except OSError:CODE
HIGHModuleFolders/Log/Log.py31except Exception:CODE
HIGHModuleFolders/Log/LogSystem.py392except Exception:CODE
HIGHModuleFolders/Log/LogSystem.py88except OSError:CODE
HIGHModuleFolders/Log/LogSystem.py415except Exception:CODE
HIGHModuleFolders/Log/LogSystem.py437except Exception:CODE
HIGHModuleFolders/Log/LogSystem.py493except Exception:CODE
HIGHModuleFolders/Log/LogSystem.py579except Exception:CODE
HIGHModuleFolders/Log/LogSystem.py593except OSError:CODE
HIGHModuleFolders/Log/LogSystem.py335except Exception:CODE
HIGHModuleFolders/Log/LogSystem.py350except Exception:CODE
HIGHModuleFolders/Log/LogSystem.py357except ValueError:CODE
HIGHModuleFolders/Log/LogSystem.py532except Exception:CODE
HIGHModuleFolders/Log/LogSystem.py380except Exception:CODE
HIGHModuleFolders/Service/Cache/CacheManager.py240except OSError:CODE
HIGHModuleFolders/Service/TranslationChecker/RuleChecker.py215except Exception:CODE
HIGHModuleFolders/Service/HttpService/HttpService.py386except:CODE
HIGHModuleFolders/Service/TaskExecutor/AnalysisTask.py698except json.JSONDecodeError:CODE
HIGH…olders/Infrastructure/LLMRequester/LLMClientFactory.py292except Exception:CODE
HIGHModuleFolders/Infrastructure/TaskConfig/TaskConfig.py343except Exception:CODE
HIGHModuleFolders/Domain/FileOutputer/RenpyWriter.py150except Exception:CODE
HIGHModuleFolders/Domain/FileOutputer/TransWriter.py57except IndexError:CODE
HIGH…duleFolders/Domain/FileAccessor/BabeldocPdfAccessor.py196except FinishReading:CODE
HIGHModuleFolders/Domain/FileReader/DirectoryReader.py35except ValueError:CODE
HIGHModuleFolders/Domain/FileReader/ReaderUtil.py222except UnicodeDecodeError:CODE
HIGHModuleFolders/Domain/FileReader/AssReader.py64except IndexError:CODE
HIGHModuleFolders/Base/Base.py98except ValueError:CODE
HIGH…rface/EditView/Proofreading/Search/SearchResultPage.py44except Exception:CODE
HIGH…rface/EditView/Proofreading/Search/SearchResultPage.py48except Exception:CODE
HIGH…EditView/Proofreading/Common/EditableIssueTablePage.py58except Exception:CODE
HIGH…EditView/Proofreading/Common/EditableIssueTablePage.py63except Exception:CODE
HIGH…nterface/EditView/Proofreading/Table/BasicTablePage.py43except Exception:CODE
HIGH…nterface/EditView/Proofreading/Table/BasicTablePage.py47except Exception:CODE
HIGHUserInterface/Widget/SegmentedControl.py50except Exception:CODE
HIGHUserInterface/Widget/SegmentedControl.py56except (TypeError, RuntimeError):CODE
HIGHUserInterface/LogView/LogViewPage.py188except RuntimeError:CODE
HIGHUserInterface/LogView/LogViewPage.py195except Exception:CODE
HIGHUserInterface/LogView/LogViewPage.py199except (TypeError, RuntimeError):CODE
HIGHUserInterface/LogView/LogViewPage.py203except (TypeError, RuntimeError):CODE
HIGHUserInterface/LogView/LogViewPage.py207except (RuntimeError, AttributeError):CODE
HIGHUserInterface/LogView/LogViewPage.py211except (RuntimeError, AttributeError):CODE
HIGHUserInterface/LogView/LogViewPage.py217except Exception:CODE
HIGHUserInterface/Platform/AddAPIDialog.py36except ImportError:CODE
HIGHUserInterface/Platform/ModelBrowserDialog.py121except Exception:CODE
HIGHUserInterface/Platform/ModelBrowserDialog.py173except Exception:CODE
HIGHUserInterface/Platform/ModelBrowserDialog.py218except (TypeError, RuntimeError):CODE
HIGHUserInterface/Platform/ModelBrowserDialog.py363except Exception:CODE
HIGHUserInterface/Platform/ModelBrowserDialog.py375except Exception:CODE
HIGHUserInterface/Platform/ModelBrowserDialog.py387except Exception:CODE
HIGHUserInterface/Platform/ModelBrowserDialog.py401except Exception:CODE
HIGHUserInterface/Platform/APIEditPage.py364except Exception:CODE
HIGHUserInterface/VersionManager/VersionManager.py973except Exception:CODE
HIGHUserInterface/VersionManager/VersionManager.py978except Exception:CODE
HIGHUserInterface/VersionManager/VersionManager.py261except OSError:CODE
HIGHUserInterface/VersionManager/VersionManager.py672except OSError:CODE
HIGHUserInterface/VersionManager/VersionManager.py692except OSError:CODE
HIGHUserInterface/VersionManager/VersionManager.py959except OSError:CODE
HIGHUserInterface/VersionManager/VersionManager.py971except Exception:CODE
HIGHUserInterface/VersionManager/VersionManager.py1019except OSError:CODE
5 more matches not shown…
Excessive Try-Catch Wrapping235 hits · 282 pts
SeverityFileLineSnippetContext
LOWAiNiee.py172 except Exception as e:CODE
LOWModuleFolders/Config/Config.py52 except Exception as error:CODE
LOWModuleFolders/Log/Log.py31 except Exception:CODE
LOWModuleFolders/Log/Log.py40 except Exception:CODE
LOWModuleFolders/Log/Log.py70 except Exception:CODE
LOWModuleFolders/Log/Log.py110 except Exception:CODE
MEDIUMModuleFolders/Log/Log.py37def _safe_str(value) -> str:CODE
MEDIUMModuleFolders/Log/LogSystem.py434def flush(self):CODE
MEDIUMModuleFolders/Log/LogSystem.py455def isatty(self):CODE
MEDIUMModuleFolders/Log/LogSystem.py536def _excepthook(exc_type, exc_value, exc_tb) -> None:CODE
LOW⚡ModuleFolders/Log/LogSystem.py380 except Exception:CODE
LOW⚡ModuleFolders/Log/LogSystem.py384 except Exception:CODE
LOW⚡ModuleFolders/Log/LogSystem.py392 except Exception:CODE
LOW⚡ModuleFolders/Log/LogSystem.py520 except Exception:CODE
LOW⚡ModuleFolders/Log/LogSystem.py528 except Exception:CODE
LOW⚡ModuleFolders/Log/LogSystem.py532 except Exception:CODE
LOW⚡ModuleFolders/Log/LogSystem.py541 except Exception:CODE
LOWModuleFolders/Log/LogSystem.py112 except Exception:CODE
LOWModuleFolders/Log/LogSystem.py278 except Exception:CODE
LOWModuleFolders/Log/LogSystem.py335 except Exception:CODE
LOWModuleFolders/Log/LogSystem.py350 except Exception:CODE
LOWModuleFolders/Log/LogSystem.py415 except Exception:CODE
LOWModuleFolders/Log/LogSystem.py430 except Exception:CODE
LOWModuleFolders/Log/LogSystem.py437 except Exception:CODE
LOWModuleFolders/Log/LogSystem.py452 except Exception:CODE
LOWModuleFolders/Log/LogSystem.py458 except Exception:CODE
LOWModuleFolders/Log/LogSystem.py493 except Exception:CODE
LOWModuleFolders/Log/LogSystem.py554 except Exception:CODE
LOWModuleFolders/Log/LogSystem.py579 except Exception:CODE
LOWModuleFolders/Log/LogSystem.py598 except Exception:CODE
LOWModuleFolders/Log/LogSystem.py633 except Exception as e:CODE
LOWModuleFolders/Log/LogSystem.py654 except Exception as e:CODE
LOWModuleFolders/Service/Cache/CacheItem.py84 except Exception as e:CODE
LOWModuleFolders/Service/Cache/CacheItem.py118 except Exception as e:CODE
MEDIUMModuleFolders/Service/Cache/CacheManager.py656 print(f"Error: 找不到文件 {storage_path}")CODE
MEDIUMModuleFolders/Service/Cache/CacheManager.py682 print(f"Error: 找不到文件 {storage_path}")CODE
LOW…eFolders/Service/TranslationChecker/LanguageChecker.py261 except Exception as e:CODE
LOWModuleFolders/Service/TranslationChecker/RuleChecker.py215 except Exception:CODE
LOWModuleFolders/Service/TranslationChecker/RuleChecker.py239 except Exception:CODE
LOWModuleFolders/Service/TranslationChecker/RuleChecker.py254 except Exception:CODE
LOWModuleFolders/Service/SimpleExecutor/SimpleExecutor.py269 except Exception as e:CODE
LOWModuleFolders/Service/SimpleExecutor/SimpleExecutor.py293 except Exception as e:CODE
LOWModuleFolders/Service/SimpleExecutor/SimpleExecutor.py438 except Exception as e:CODE
LOWModuleFolders/Service/SimpleExecutor/SimpleExecutor.py570 except Exception as e:CODE
LOWModuleFolders/Service/NameExtractor/NameExtractor.py242 except Exception as e:CODE
LOWModuleFolders/Service/HttpService/HttpService.py95 except Exception as e:CODE
LOWModuleFolders/Service/HttpService/HttpService.py293 except Exception as e:CODE
LOWModuleFolders/Service/HttpService/HttpService.py337 except Exception as e:CODE
LOWModuleFolders/Service/HttpService/HttpService.py374 except Exception as e:CODE
MEDIUMModuleFolders/Service/HttpService/HttpService.py199def _parse_int(value) -> int:CODE
MEDIUMModuleFolders/Service/HttpService/HttpService.py350def send_request():CODE
LOW⚡ModuleFolders/Service/TaskExecutor/AnalysisTask.py252 except Exception as error:CODE
LOWModuleFolders/Service/TaskExecutor/AnalysisTask.py212 except Exception as error:CODE
LOWModuleFolders/Service/TaskExecutor/AnalysisTask.py340 except Exception as error:CODE
LOWModuleFolders/Service/TaskExecutor/AnalysisTask.py679 except Exception as error:CODE
LOWModuleFolders/Service/TaskExecutor/TaskExecutor.py59 except Exception:CODE
LOWModuleFolders/Service/TaskExecutor/TaskExecutor.py171 except Exception as error:CODE
LOWModuleFolders/Service/TaskExecutor/TaskExecutor.py217 except Exception as error:CODE
LOWModuleFolders/Service/TaskExecutor/TaskExecutor.py237 except Exception as error:CODE
LOWModuleFolders/Service/TaskExecutor/TaskExecutor.py282 except Exception as error:CODE
175 more matches not shown…
Hyper-Verbose Identifiers253 hits · 252 pts
SeverityFileLineSnippetContext
LOWAiNiee.py142def prepare_runtime_environment() -> str:CODE
LOWModuleFolders/Config/FilePathConfig.py194def bundled_tiktoken_cache_dir() -> Path:CODE
LOWModuleFolders/Config/FilePathConfig.py249def default_polish_output_dir() -> Path:CODE
LOWModuleFolders/Log/Log.py114def _gui_rows_from_rich_table(value):CODE
LOWModuleFolders/Service/Cache/CacheManager.py65 def on_manual_save_cache_requested(self, event: int, data: dict) -> None:CODE
LOWModuleFolders/Service/Cache/CacheManager.py116 def get_project_statistics_path(cls, project_id: str) -> str:CODE
LOWModuleFolders/Service/Cache/CacheManager.py208 def _write_project_cache_files(cls, project: CacheProject) -> None:CODE
LOWModuleFolders/Service/Cache/CacheManager.py267 def _build_history_entry_from_stats(CODE
LOWModuleFolders/Service/Cache/CacheManager.py533 def _reset_project_status_in_memory(self, task_mode: int) -> int:CODE
LOWModuleFolders/Service/Cache/CacheManager.py671 def update_generated_translation(CODE
LOWModuleFolders/Service/Cache/CacheManager.py749 def generate_analysis_source_chunks(self, limit_type: str, limit_count: int) -> List[List[dict]]:CODE
LOW…eFolders/Service/TranslationChecker/LanguageChecker.py80 def _collect_lang_errors_from_cache(self) -> List[Dict]:CODE
LOW…eFolders/Service/TranslationChecker/LanguageChecker.py109 def _build_language_issue_rows_from_results(self, results: List[Dict]) -> List[Dict]:CODE
LOW…eFolders/Service/TranslationChecker/LanguageChecker.py151 def _build_language_report_rows(self, results: List[Dict]) -> List[Dict]:CODE
LOW…lders/Service/TranslationChecker/TerminologyChecker.py39 def _get_project_analysis_data(self) -> Dict[str, Any]:CODE
LOW…lders/Service/TranslationChecker/TerminologyChecker.py61 def _collect_merged_term_rows(self) -> List[Dict[str, str]]:CODE
LOWModuleFolders/Service/TranslationChecker/RuleChecker.py37 def _build_missing_preserve_error(self, label: str, src_detail: str) -> str:CODE
LOWModuleFolders/Service/TranslationChecker/RuleChecker.py48 def _get_project_analysis_data(self) -> Dict[str, Any]:CODE
LOWModuleFolders/Service/TranslationChecker/RuleChecker.py55 def _collect_merged_exclusion_data(self) -> List[Dict[str, str]]:CODE
LOWModuleFolders/Service/SimpleExecutor/SimpleExecutor.py174 def glossary_translation_start(self, event: int, data: dict):CODE
LOWModuleFolders/Service/SimpleExecutor/SimpleExecutor.py330 def handle_table_translation_start(self, event, data: dict):CODE
LOWModuleFolders/Service/SimpleExecutor/SimpleExecutor.py335 def process_table_translation(self, data: dict):CODE
LOWModuleFolders/Service/SimpleExecutor/SimpleExecutor.py472 def handle_table_polish_start(self, event, data: dict):CODE
LOWModuleFolders/Service/NameExtractor/NameExtractor.py203 def extract_names_from_folder(self,folder_path_str: str) -> list:CODE
LOWModuleFolders/Service/HttpService/HttpService.py18class RequestHandler(BaseHTTPRequestHandler):CODE
LOWModuleFolders/Service/TaskExecutor/TranslatorUtil.py58def map_language_code_to_name(language_code: str) -> str:CODE
LOWModuleFolders/Service/TaskExecutor/TranslatorUtil.py82def map_language_name_to_code(language_name: str) -> str:CODE
LOWModuleFolders/Service/TaskExecutor/TranslatorUtil.py101def get_language_display_names(source_lang, target_lang):CODE
LOWModuleFolders/Service/TaskExecutor/TranslatorUtil.py173def get_source_language_for_file(source_language,target_language, language_stats) -> str:CODE
LOW⚡ModuleFolders/Service/TaskExecutor/AnalysisTask.py256 def _get_recommended_translation_language_requirement(self) -> str:CODE
LOW⚡ModuleFolders/Service/TaskExecutor/AnalysisTask.py265 def _build_first_stage_prompt(self, source_text: str) -> tuple[str, list[dict]]:CODE
LOW⚡ModuleFolders/Service/TaskExecutor/AnalysisTask.py491 def _get_candidate_occurrence_count(self, source: str, candidate_type: str) -> int:CODE
LOW⚡ModuleFolders/Service/TaskExecutor/AnalysisTask.py595 def _calculate_progress_percent(self, phase: str, current: int = 0, total: int = 0) -> int:CODE
LOW⚡ModuleFolders/Service/TaskExecutor/AnalysisTask.py620 def _execute_analysis_request(CODE
LOWModuleFolders/Service/TaskExecutor/AnalysisTask.py344 def _prepare_reduction_batches(self, first_stage_results: list) -> list:CODE
LOWModuleFolders/Service/TaskExecutor/AnalysisTask.py423 def _build_second_stage_prompt(self, batch: list) -> tuple[str, list[dict]]:CODE
LOWModuleFolders/Service/TaskExecutor/TaskExecutor.py143 def _resolve_output_source_language(self, configured_source: str | None) -> str | None:CODE
LOWModuleFolders/Service/TaskExecutor/TaskExecutor.py155 def _resolve_output_target_language(configured_target: str | None) -> str | None:CODE
LOWModuleFolders/Service/TaskExecutor/TaskExecutor.py159 def _convert_translated_text_with_opencc(self, preset: str | None) -> bool:CODE
LOWModuleFolders/Service/TaskExecutor/TaskExecutor.py229 def table_proofread_start_target(self, data: dict) -> None:CODE
LOWModuleFolders/Service/TaskExecutor/ProofreadTask.py250 def _build_single_proofread_prompt(self, item: dict) -> tuple[list[dict], str]:CODE
LOWModuleFolders/Infrastructure/Tokener/TiktokenLoader.py26def _seed_cache_from_bundled_files(cache_dir: str, required_encodings: dict) -> None:CODE
LOWModuleFolders/Infrastructure/Tokener/TiktokenLoader.py179def copy_cache_from_system_temp():CODE
LOW…/Infrastructure/LLMRequester/AmazonbedrockRequester.py21 def request_amazonbedrock_anthropic(self, messages, system_prompt, platform_config) -> tuple[bool, str, str, int, inCODE
LOW…lders/Infrastructure/LLMRequester/ModelConfigHelper.py16 def get_claude_max_output_tokens(cls, model_name: str) -> int:CODE
LOW…lders/Infrastructure/LLMRequester/ModelConfigHelper.py23 def is_claude_always_thinking_model(model_name: str) -> bool:CODE
LOW…lders/Infrastructure/LLMRequester/ModelConfigHelper.py40 def get_google_max_output_tokens(cls, model_name: str) -> int:CODE
LOW…lders/Infrastructure/LLMRequester/ModelConfigHelper.py44 def get_thinking_level_options(model_name: str) -> list[str]:CODE
LOW…olders/Infrastructure/LLMRequester/LLMClientFactory.py249 def _create_anthropic_bedrock(self, config):CODE
LOW…Folders/Infrastructure/LLMRequester/OpenaiRequester.py16 def _apply_volcengine_thinking_params(CODE
LOW…Folders/Infrastructure/LLMRequester/OpenaiRequester.py61 def apply_platform_thinking_params(self, base_params: dict, platform_config: dict) -> dict:CODE
LOWModuleFolders/Infrastructure/Platform/AppMetadata.py15def configure_application_metadata(app, version: str) -> None:CODE
LOWModuleFolders/Infrastructure/Platform/RuntimeSetup.py29def prepare_working_directory():CODE
LOWModuleFolders/Infrastructure/Platform/RuntimeSetup.py71def _migrate_legacy_user_data() -> bool:CODE
LOWModuleFolders/Infrastructure/Platform/RuntimeSetup.py118def _looks_like_pending_legacy_config() -> bool:CODE
LOWModuleFolders/Infrastructure/TaskConfig/TaskConfig.py46 def _normalize_project_table_rows(CODE
LOWModuleFolders/Infrastructure/TaskConfig/TaskConfig.py103 def _normalize_interface_role(self, interface_role: str | None) -> str:CODE
LOWModuleFolders/Infrastructure/TaskConfig/TaskConfig.py147 def resolve_platform_tag_for_role(self, interface_role: str | None = None) -> str | None:CODE
LOWModuleFolders/Infrastructure/TaskConfig/TaskConfig.py252 def sync_active_platform_settings(self) -> None:CODE
LOWModuleFolders/Infrastructure/TaskConfig/TaskConfig.py258 def prepare_for_active_platform(self, interface_role: str | None = None) -> None:CODE
193 more matches not shown…
Deep Nesting154 hits · 136 pts
SeverityFileLineSnippetContext
LOWModuleFolders/Config/Config.py34CODE
LOWModuleFolders/Config/Config.py58CODE
LOWModuleFolders/Config/Config.py126CODE
LOWModuleFolders/Log/LogSystem.py236CODE
LOWModuleFolders/Log/LogSystem.py360CODE
LOWModuleFolders/Service/Cache/CacheProject.py75CODE
LOWModuleFolders/Service/Cache/CacheManager.py208CODE
LOWModuleFolders/Service/Cache/CacheManager.py443CODE
LOWModuleFolders/Service/Cache/CacheManager.py533CODE
LOWModuleFolders/Service/Cache/CacheManager.py651CODE
LOWModuleFolders/Service/Cache/CacheManager.py692CODE
LOWModuleFolders/Service/Cache/CacheManager.py734CODE
LOWModuleFolders/Service/Cache/BaseCache.py25CODE
LOWModuleFolders/Service/Cache/BaseCache.py64CODE
LOW…eFolders/Service/TranslationChecker/LanguageChecker.py109CODE
LOW…eFolders/Service/TranslationChecker/LanguageChecker.py174CODE
LOW…eFolders/Service/TranslationChecker/LanguageChecker.py309CODE
LOW…eFolders/Service/TranslationChecker/LanguageChecker.py459CODE
LOW…lders/Service/TranslationChecker/TerminologyChecker.py187CODE
LOWModuleFolders/Service/TranslationChecker/RuleChecker.py125CODE
LOWModuleFolders/Service/TranslationChecker/RuleChecker.py226CODE
LOWModuleFolders/Service/TranslationChecker/RuleChecker.py243CODE
LOWModuleFolders/Service/SimpleExecutor/SimpleExecutor.py41CODE
LOWModuleFolders/Service/SimpleExecutor/SimpleExecutor.py179CODE
LOWModuleFolders/Service/SimpleExecutor/SimpleExecutor.py335CODE
LOWModuleFolders/Service/SimpleExecutor/SimpleExecutor.py477CODE
LOWModuleFolders/Service/NameExtractor/NameExtractor.py12CODE
LOWModuleFolders/Service/NameExtractor/NameExtractor.py55CODE
LOWModuleFolders/Service/NameExtractor/NameExtractor.py73CODE
LOWModuleFolders/Service/NameExtractor/NameExtractor.py99CODE
LOWModuleFolders/Service/NameExtractor/NameExtractor.py203CODE
LOWModuleFolders/Service/HttpService/HttpService.py25CODE
LOWModuleFolders/Service/HttpService/HttpService.py109CODE
LOWModuleFolders/Service/TaskExecutor/TranslatorUtil.py136CODE
LOWModuleFolders/Service/TaskExecutor/AnalysisTask.py48CODE
LOWModuleFolders/Service/TaskExecutor/AnalysisTask.py344CODE
LOWModuleFolders/Service/TaskExecutor/AnalysisTask.py503CODE
LOWModuleFolders/Service/TaskExecutor/AnalysisTask.py620CODE
LOWModuleFolders/Service/TaskExecutor/TaskExecutor.py16CODE
LOWModuleFolders/Service/TaskExecutor/TaskExecutor.py352CODE
LOWModuleFolders/Service/TaskExecutor/TaskExecutor.py551CODE
LOWModuleFolders/Service/TaskExecutor/ProofreadTask.py24CODE
LOWModuleFolders/Infrastructure/Tokener/BabeldocPatch.py20CODE
LOWModuleFolders/Infrastructure/Tokener/BabeldocPatch.py37CODE
LOWModuleFolders/Infrastructure/Tokener/TiktokenLoader.py72CODE
LOW…/Infrastructure/LLMRequester/AmazonbedrockRequester.py21CODE
LOW…/Infrastructure/LLMRequester/AmazonbedrockRequester.py97CODE
LOW…lders/Infrastructure/LLMRequester/LocalLLMRequester.py12CODE
LOW…Folders/Infrastructure/LLMRequester/GoogleRequester.py15CODE
LOW…uleFolders/Infrastructure/LLMRequester/LLMRequester.py14CODE
LOW…ders/Infrastructure/LLMRequester/AnthropicRequester.py12CODE
LOW…Folders/Infrastructure/LLMRequester/OpenaiRequester.py61CODE
LOW…eFolders/Domain/ResponseExtractor/ResponseExtractor.py131CODE
LOWModuleFolders/Domain/FileOutputer/DirectoryWriter.py25CODE
LOWModuleFolders/Domain/FileOutputer/PptxWriter.py20CODE
LOWModuleFolders/Domain/FileOutputer/CsvWriter.py19CODE
LOWModuleFolders/Domain/FileOutputer/FileOutputer.py180CODE
LOWModuleFolders/Domain/FileOutputer/RenpyWriter.py99CODE
LOWModuleFolders/Domain/FileOutputer/AssWriter.py39CODE
LOWModuleFolders/Domain/FileOutputer/TransWriter.py17CODE
94 more matches not shown…
Decorative Section Separators24 hits · 96 pts
SeverityFileLineSnippetContext
MEDIUMModuleFolders/Service/Cache/CacheItem.py6# ============================================================COMMENT
MEDIUMModuleFolders/Service/Cache/CacheItem.py8# ============================================================COMMENT
MEDIUM⚡ModuleFolders/Service/TaskExecutor/AnalysisTask.py315 # ========================================================================COMMENT
MEDIUM⚡ModuleFolders/Service/TaskExecutor/AnalysisTask.py317 # ========================================================================COMMENT
MEDIUM⚡ModuleFolders/Service/TaskExecutor/AnalysisTask.py487 # ========================================================================COMMENT
MEDIUM⚡ModuleFolders/Service/TaskExecutor/AnalysisTask.py489 # ========================================================================COMMENT
MEDIUM⚡ModuleFolders/Service/TaskExecutor/AnalysisTask.py591 # ========================================================================COMMENT
MEDIUM⚡ModuleFolders/Service/TaskExecutor/AnalysisTask.py593 # ========================================================================COMMENT
MEDIUM⚡ModuleFolders/Service/TaskExecutor/AnalysisTask.py616 # ---------------------------------------------------------COMMENT
MEDIUM⚡ModuleFolders/Service/TaskExecutor/AnalysisTask.py618 # ---------------------------------------------------------COMMENT
MEDIUMModuleFolders/Service/TaskExecutor/AnalysisTask.py44 # ========================================================================COMMENT
MEDIUMModuleFolders/Service/TaskExecutor/AnalysisTask.py46 # ========================================================================COMMENT
MEDIUMModuleFolders/Service/TaskExecutor/AnalysisTask.py230 # ========================================================================COMMENT
MEDIUMModuleFolders/Service/TaskExecutor/AnalysisTask.py232 # ========================================================================COMMENT
MEDIUM⚡ModuleFolders/Domain/FileOutputer/FileOutputer.py13# ----------------------------------------------------------------------------COMMENT
MEDIUM⚡ModuleFolders/Domain/FileOutputer/FileOutputer.py15# ----------------------------------------------------------------------------COMMENT
MEDIUM⚡ModuleFolders/Domain/FileOutputer/FileOutputer.py22# ----------------------------------------------------------------------------COMMENT
MEDIUM⚡ModuleFolders/Domain/FileReader/FileReader.py15# ----------------------------------------------------------------------------COMMENT
MEDIUM⚡ModuleFolders/Domain/FileReader/FileReader.py17# ----------------------------------------------------------------------------COMMENT
MEDIUM⚡ModuleFolders/Domain/FileReader/FileReader.py24# ----------------------------------------------------------------------------COMMENT
MEDIUM⚡UserInterface/EditView/Analysis/AnalysisPage.py2091 # ==========================COMMENT
MEDIUM⚡UserInterface/EditView/Analysis/AnalysisPage.py2093 # ==========================COMMENT
MEDIUMUserInterface/EditView/Analysis/AnalysisPage.py120 # ==========================COMMENT
MEDIUMUserInterface/EditView/Analysis/AnalysisPage.py122 # ==========================COMMENT
Modern Structural Boilerplate71 hits · 80 pts
SeverityFileLineSnippetContext
LOWModuleFolders/Service/Cache/CacheManager.py651 def update_item_text(self, storage_path: str, text_index: int, field_name: str, new_text: str) -> None:CODE
LOWModuleFolders/Service/Cache/CacheManager.py787 def set_analysis_data(self, analysis_data: dict) -> None:CODE
LOWModuleFolders/Service/TaskExecutor/TranslatorTask.py58 def set_items(self, items: list[CacheItem]) -> None:CODE
LOWModuleFolders/Service/TaskExecutor/TranslatorTask.py62 def set_previous_items(self, previous_items: list[CacheItem]) -> None:CODE
LOWModuleFolders/Service/TaskExecutor/PolisherTask.py36 def set_items(self, items: list[CacheItem]) -> None:CODE
LOWModuleFolders/Service/TaskExecutor/PolisherTask.py39 def set_previous_items(self, previous_items: list[CacheItem]) -> None:CODE
LOWModuleFolders/Service/TaskExecutor/TaskExecutor.py122 def _set_active_executor(self, executor: concurrent.futures.ThreadPoolExecutor) -> None:CODE
LOW…olders/Infrastructure/RequestLimiter/RequestLimiter.py18 def set_limit(self, rpm_limit: int) -> None:CODE
LOWUserInterface/EditView/EditViewPage.py64 def set_current_step(self, route_key: str) -> None:CODE
LOWUserInterface/EditView/Analysis/AnalysisPage.py978 def _set_filter_for_view(self, view_name: str, filter_value) -> None:CODE
LOWUserInterface/EditView/Analysis/AnalysisPage.py1931 def _update_action_buttons(self, running: bool | None = None) -> None:CODE
LOWUserInterface/EditView/Translation/MonitoringPage.py168 def update_time(self, event: int, data: dict) -> None:CODE
LOWUserInterface/EditView/Translation/MonitoringPage.py199 def update_line(self, event: int, data: dict) -> None:CODE
LOWUserInterface/EditView/Translation/MonitoringPage.py237 def update_task(self, event: int, data: dict) -> None:CODE
LOWUserInterface/EditView/Translation/MonitoringPage.py247 def update_token(self, event: int, data: dict) -> None:CODE
LOWUserInterface/EditView/Translation/MonitoringPage.py272 def update_stability(self, event: int, data: dict) -> None:CODE
LOWUserInterface/EditView/Translation/MonitoringPage.py296 def update_status(self, event: int, data: dict) -> None:CODE
LOWUserInterface/EditView/Translation/BottomCommandBar.py106 def update_task_action_button(self, mode: str | None) -> None:CODE
LOWUserInterface/EditView/Translation/BottomCommandBar.py257 def _update_reset_button_state(self) -> None:CODE
LOWUserInterface/EditView/Proofreading/ProofreadingPage.py133 def update_tree(self, hierarchy: dict) -> None:CODE
LOWUserInterface/EditView/Proofreading/ProofreadingPage.py190 def _update_action_state(self) -> None:CODE
LOW…terface/EditView/Proofreading/Layout/NavigationCard.py33 def update_tree(self, hierarchy: dict) -> None:CODE
LOW…nterface/EditView/Proofreading/Table/BasicTablePage.py120 def _update_status_cell(self, row: int, translation_status: int) -> None:CODE
LOW⚡UserInterface/EditView/Startup/StartupPage.py182 def _set_history_controls_enabled(self, enabled: bool) -> None:CODE
LOW⚡UserInterface/Widget/PlainTextEditCard.py64 def set_text(self, text: str) -> None:CODE
LOW⚡UserInterface/Widget/PlainTextEditCard.py68 def set_fixed_width(self, width: int) -> None:CODE
LOW⚡UserInterface/Widget/PlainTextEditCard.py72 def set_placeholder_text(self, text: str) -> None:CODE
LOWUserInterface/Widget/GroupCard.py40 def set_title(self, title: str) -> None:CODE
LOWUserInterface/Widget/GroupCard.py43 def set_description(self, description: str) -> None:CODE
LOW⚡UserInterface/Widget/SliderCard.py50 def set_text(self, text:str) -> None:CODE
LOW⚡UserInterface/Widget/SliderCard.py53 def set_value(self, value: int) -> None:CODE
LOW⚡UserInterface/Widget/SliderCard.py56 def set_range(self, min: int, max: int) -> None:CODE
LOWUserInterface/Widget/SegmentedControl.py73 def set_current_key(self, key: str) -> None:CODE
LOWUserInterface/Widget/SegmentedControl.py118 def _update_text_colors(self) -> None:CODE
LOWUserInterface/Widget/FlowCard.py61 def set_title(self, title: str) -> None:CODE
LOWUserInterface/Widget/FlowCard.py64 def set_description(self, description: str) -> None:CODE
LOWUserInterface/Widget/EditableComboBoxCard.py71 def set_items(self, items: list) -> None:CODE
LOW⚡UserInterface/Widget/EditableComboBoxCard.py85 def set_current_index(self, index) -> None:CODE
LOW⚡UserInterface/Widget/EditableComboBoxCard.py89 def set_fixed_width(self, width: int) -> None:CODE
LOW⚡UserInterface/Widget/EditableComboBoxCard.py93 def set_placeholder_text(self, text: str) -> None:CODE
LOWUserInterface/Widget/EmptyCard.py36 def set_title(self, title: str) -> None:CODE
LOWUserInterface/Widget/EmptyCard.py39 def set_description(self, description: str) -> None:CODE
LOWUserInterface/Widget/LineEditMessageBox.py40 def set_placeholder_text(self, text: str) -> None:CODE
LOW⚡UserInterface/Widget/LineEditCard.py63 def set_text(self, text: str) -> None:CODE
LOW⚡UserInterface/Widget/LineEditCard.py67 def set_fixed_width(self, width: int) -> None:CODE
LOW⚡UserInterface/Widget/LineEditCard.py71 def set_placeholder_text(self, text: str) -> None:CODE
LOWUserInterface/Widget/ComboBoxCard.py45 def set_items(self, items: list) -> None:CODE
LOWUserInterface/Widget/ComboBoxCard.py55 def set_current_index(self, index) -> None:CODE
LOWUserInterface/Widget/SpinCard.py44 def set_range(self, min, max) -> None:CODE
LOWUserInterface/Widget/SpinCard.py47 def set_value(self, value) -> None:CODE
LOW⚡UserInterface/Widget/PushButtonCard.py49 def set_title(self, title: str) -> None:CODE
LOW⚡UserInterface/Widget/PushButtonCard.py52 def set_description(self, description: str) -> None:CODE
LOW⚡UserInterface/Widget/PushButtonCard.py55 def set_text(self, text: str) -> None:CODE
LOW⚡UserInterface/Widget/PushButtonCard.py58 def set_icon(self, icon: str) -> None:CODE
LOWUserInterface/Platform/AddAPIDialog.py65 def _set_adaptive_size(self) -> None:CODE
LOWUserInterface/Platform/AddAPIDialog.py258 def _set_page(self, page_index: int) -> None:CODE
LOW…gs/TranslationSettings/TranslationExamplePromptPage.py59 def update_table(self) -> None:CODE
LOW⚡…ings/TranslationSettings/CharacterizationPromptPage.py88 def update_table(self) -> None:CODE
LOW⚡…ings/TranslationSettings/CharacterizationPromptPage.py94 def _update_table_rows(self, rows: list[dict] | None) -> None:CODE
LOW…ings/TranslationSettings/CharacterizationPromptPage.py115 def _set_row_highlight(self, row_index: int, highlighted: bool) -> None:CODE
11 more matches not shown…
Over-Commented Block25 hits · 25 pts
SeverityFileLineSnippetContext
LOWAiNiee.py1#COMMENT
LOW…uleFolders/Domain/TextSymbolRepair/TextSymbolRepair.py41 trailing_whitespace = trailing_whitespace_match.group(1) if trailing_whitespace_match else ""COMMENT
LOW…uleFolders/Domain/TextSymbolRepair/TextSymbolRepair.py61 #"source_text": "「息子さんが結婚したの。それはおめでとうございます」乾杯。「めでたいものか、ちくしょう」「まあまあ」乾杯。「俺が育てたのに自分で勝手に育ったようなツラをする」「親はなくても子は育つ」「俺は居COMMENT
LOWModuleFolders/Domain/PromptBuilder/PromptBuilder.py321 # 输入字典示例COMMENT
LOWModuleFolders/Domain/FileReader/BaseReader.py121 processed_items = 0COMMENT
LOWModuleFolders/Domain/FileReader/ReaderUtil.py401# Args:COMMENT
LOWModuleFolders/Domain/FileReader/ReaderUtil.py421# results.append((['no_text'], -1.0, -1.0))COMMENT
LOWModuleFolders/Domain/FileReader/ReaderUtil.py441# if valid_texts:COMMENT
LOWModuleFolders/Domain/FileReader/ReaderUtil.py461# # 如果有至少两个识别结果,则使用最高置信度减去第二个COMMENT
LOWModuleFolders/Domain/FileReader/ReaderUtil.py481# items: 当前处理的缓存项列表COMMENT
LOWModuleFolders/Domain/FileReader/ReaderUtil.py501# if is_symbols_only(cleaned_text):COMMENT
LOWModuleFolders/Domain/FileReader/ReaderUtil.py521# # 计算置信度 - 从percent转换为0-1范围的概率COMMENT
LOW…lders/Domain/FileReader/unused/LanguageDetectorONNX.py1# # 辅助函数:SoftmaxCOMMENT
LOW…lders/Domain/FileReader/unused/LanguageDetectorONNX.py21# _instance = NoneCOMMENT
LOW…lders/Domain/FileReader/unused/LanguageDetectorONNX.py41# self.onnx_model_path = os.path.join(model_path, "onnx", "model_int8.onnx")COMMENT
LOW…lders/Domain/FileReader/unused/LanguageDetectorONNX.py61# # rich.print(f"[[green]INFO[/]] Tokenizer loaded from {self.tokenizer_path}")COMMENT
LOW…lders/Domain/FileReader/unused/LanguageDetectorONNX.py81# rich.print(f"[[red]ERROR[/]] 加载 ONNX 语言检测器失败: {e}")COMMENT
LOW…lders/Domain/FileReader/unused/LanguageDetectorONNX.py101# cls._instance.tokenizer = NoneCOMMENT
LOW…lders/Domain/FileReader/unused/LanguageDetectorONNX.py121# results = self.predict_batch([text])COMMENT
LOW…lders/Domain/FileReader/unused/LanguageDetectorONNX.py141# # 检查 _instance 是否还存在,如果 release 后实例被设为 None,直接访问 self 上的属性会出错COMMENT
LOW…lders/Domain/FileReader/unused/LanguageDetectorONNX.py161# # 2. 准备 ONNX Runtime 输入 (确保 int64 类型)COMMENT
LOW…lders/Domain/FileReader/unused/LanguageDetectorONNX.py181# predicted_class_id = np.argmax(probabilities)COMMENT
LOW…lders/Domain/FileReader/unused/LanguageDetectorONNX.py201# # 排序并过滤COMMENT
LOW…lders/Domain/FileReader/unused/LanguageDetectorONNX.py221# # 对于批处理错误,你可能想返回一个列表,其中每个失败的项都是 None 或错误标记COMMENT
LOWStevExtraction/scratchpad.py21# test.InputFromJson(path=r'res/TrsData.json')COMMENT
Unused Imports16 hits · 16 pts
SeverityFileLineSnippetContext
LOWModuleFolders/Infrastructure/Tokener/Tokener.py2CODE
LOWModuleFolders/Infrastructure/Tokener/Tokener.py3CODE
LOWModuleFolders/Infrastructure/Platform/PlatformPaths.py3CODE
LOWModuleFolders/Domain/FileOutputer/DirectoryWriter.py4CODE
LOWModuleFolders/Domain/FileOutputer/FileOutputer.py10CODE
LOWModuleFolders/Domain/FileOutputer/AssWriter.py3CODE
LOWModuleFolders/Domain/FileOutputer/PoWriter.py5CODE
LOW…Folders/Domain/PromptBuilder/PromptBuilderPolishing.py6CODE
LOWModuleFolders/Domain/FileReader/FileReader.py12CODE
LOWTools/pyinstall.py86CODE
LOWOldPlugin/IOPlugins/CustomRegistry.py7CODE
LOWOldPlugin/IOPlugins/CustomRegistry.py8CODE
LOWUserInterface/EditView/Analysis/AnalysisPage.py2CODE
LOW…Interface/EditView/Translation/LanguageSettingsCard.py3CODE
LOWUserInterface/Platform/ArgsEditPage.py5CODE
LOWStevExtraction/scratchpad.py4CODE
Fake / Example Data12 hits · 14 pts
SeverityFileLineSnippetContext
LOWModuleFolders/Service/TranslationChecker/RuleChecker.py183 if rules_config.get("placeholder"):CODE
LOW⚡ModuleFolders/Service/TaskExecutor/AnalysisTask.py270 fake_user = (CODE
LOW⚡ModuleFolders/Service/TaskExecutor/AnalysisTask.py308 {"role": "user", "content": fake_user},CODE
LOW⚡ModuleFolders/Service/TaskExecutor/AnalysisTask.py480 {"role": "user", "content": fake_user},CODE
LOWModuleFolders/Service/TaskExecutor/AnalysisTask.py454 fake_user = (CODE
LOWModuleFolders/Domain/ResponseChecker/AdvancedChecks.py81 每个占位符字典包含 "placeholder" (占位符字符串) 键。STRING
LOWModuleFolders/Domain/ResponseChecker/AdvancedChecks.py108 placeholder = placeholder_data.get("placeholder")CODE
LOWModuleFolders/Domain/ResponseChecker/AdvancedChecks.py110 # 确保 'placeholder' 键存在且值是字符串COMMENT
LOWModuleFolders/Domain/TextProcessor/TextProcessor.py514 "placeholder": placeholder_val,CODE
LOWModuleFolders/Domain/TextProcessor/TextProcessor.py547 placeholder_text = item.get("placeholder")CODE
LOW⚡UserInterface/EditView/Analysis/AnalysisPage.py2101 if self._contains_category_hint(combined_hint, self.NON_TRANSLATE_PLACEHOLDER, "占位", "placeholder", "%s", "%d", CODE
LOW…ace/EditView/Proofreading/RuleCheck/RuleCheckDialog.py127 "placeholder": self.check_placeholder.isChecked(),CODE
AI Structural Patterns7 hits · 7 pts
SeverityFileLineSnippetContext
LOW…uleFolders/Domain/TextSymbolRepair/TextSymbolRepair.py168CODE
LOWModuleFolders/Domain/ResponseChecker/AdvancedChecks.py286CODE
LOWModuleFolders/Domain/PromptBuilder/PromptBuilder.py276CODE
LOW…uleFolders/Domain/PromptBuilder/PromptBuilderSakura.py33CODE
LOW…uleFolders/Domain/PromptBuilder/PromptBuilderSakura.py43CODE
LOWUserInterface/Widget/ProgressRingCard.py10CODE
LOWUserInterface/Widget/CombinedLineCard.py6CODE
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM…duleFolders/Domain/PromptBuilder/PromptBuilderLocal.py436 # 保留原签名,当前本地模型链路不使用上文 few-shot。COMMENT
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMTools/pyinstall.py12 #"--onefile", # Create a one-file bundled executable.COMMENT
Cross-Language Confusion1 hit · 2 pts
SeverityFileLineSnippetContext
HIGHModuleFolders/Domain/FileReader/ParatranzReader.py22 "context": null,STRING
Dead Code1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMModuleFolders/Domain/ResponseChecker/AdvancedChecks.py390CODE
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOW…olders/Infrastructure/LLMRequester/LLMClientFactory.py35 def handle_request(self, request: httpx.Request) -> httpx.Response:CODE