AI Slop Code RIsk Monitor

javaht/claude-desktop-zh-cn

Claude Desktop Chinese Patch (macOS & Windows & Linux)

4.6 Low pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for javaht/claude-desktop-zh-cn, a Python project with 7,541 GitHub stars. SynthScan examined 59,479 lines of code across 36 source files, recording 206 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 4.6 (Low 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.

4.6
Adjusted Signal
4.6
Raw Pattern Score
100%
Time Factor
2026-10-05
Last Push
7.5K
Stars
Python
Language
59.5K
Lines of Code
36
Files
206
Pattern Hits
2026-10-12
Scan Date
0.83
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 4.4/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.8/100 · LOW

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

Agent Over-Engineering Ratio 18.9/100 · LOW

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

PR Review Velocity Impact 25.9/100 · MEDIUM

Which changes need focused human review? 206 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 30MEDIUM 0LOW 176

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 206 distinct pattern matches across 9 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 Handlers30 hits · 148 pts
SeverityFileLineSnippetContext
HIGHscripts/experimental/frida_launch_zh.py544except Exception:CODE
HIGHscripts/experimental/frida_launch_zh.py555except Exception:CODE
HIGHscripts/experimental/frida_launch_zh.py1372except Exception:CODE
HIGHscripts/experimental/frida_launch_zh.py1425except Exception:CODE
HIGHscripts/experimental/frida_launch_zh.py1434except Exception:CODE
HIGHscripts/experimental/frida_launch_zh.py1443except Exception:CODE
HIGHscripts/experimental/frida_launch_zh.py599except Exception:CODE
HIGHscripts/experimental/frida_launch_zh.py721except Exception:CODE
HIGHscripts/experimental/frida_launch_zh.py726except Exception:CODE
HIGHscripts/experimental/frida_launch_zh.py1360except Exception:CODE
HIGHscripts/experimental/frida_launch_zh.py1410except Exception:CODE
HIGHscripts/experimental/frida_launch_zh.py796except Exception:CODE
HIGHscripts/experimental/frida_launch_zh.py1209except Exception:CODE
HIGHscripts/experimental/frida_launch_zh.py1250except Exception:CODE
HIGHscripts/experimental/frida_launch_zh.py1882except Exception:CODE
HIGHscripts/experimental/frida_launch_zh.py151except OSError:CODE
HIGHscripts/experimental/frida_launch_zh.py1900except Exception:CODE
HIGHscripts/experimental/frida_launch_zh.py1653except Exception:CODE
HIGHscripts/experimental/frida_launch_zh.py1661except Exception:CODE
HIGHscripts/experimental/frida_launch_zh.py1682except Exception:CODE
HIGHscripts/experimental/frida_launch_zh.py1693except Exception:CODE
HIGHscripts/experimental/typing_shim_sitecustomize.py32except Exception:CODE
HIGHscripts/experimental/typing_shim_sitecustomize.py30except Exception:CODE
HIGHscripts/experimental/frida_launch_zh_win.py256except Exception:CODE
HIGHscripts/experimental/frida_launch_zh_win.py1070except Exception:CODE
HIGHscripts/experimental/frida_launch_zh_win.py912except Exception:CODE
HIGHscripts/experimental/frida_launch_zh_win.py917except Exception:CODE
HIGHscripts/experimental/frida_launch_zh_win.py925except Exception:CODE
HIGHscripts/experimental/frida_launch_zh_win.py820except Exception:CODE
HIGHscripts/experimental/frida_launch_zh_win.py852except Exception:CODE
Excessive Try-Catch Wrapping88 hits · 60 pts
SeverityFileLineSnippetContext
LOWinstall-linux.sh59except Exception:CODE
LOW⚡scripts/patch_claude_zh_cn.py2536 except Exception:CODE
LOWscripts/patch_claude_zh_cn.py154 except Exception:CODE
LOWscripts/patch_claude_zh_cn.py365 except Exception as exc:CODE
LOWscripts/patch_claude_zh_cn.py2115 except Exception:CODE
LOWscripts/patch_claude_zh_cn.py2256 except Exception:CODE
LOWscripts/patch_claude_zh_cn.py2429 except Exception:CODE
LOWscripts/patch_claude_zh_cn.py2619 except Exception:CODE
LOWscripts/patch_claude_zh_cn.py2936 except Exception:CODE
LOWscripts/patch_claude_zh_cn.py2968 except Exception:CODE
LOWscripts/patch_claude_zh_cn.py3029 except Exception:CODE
LOWscripts/patch_claude_zh_cn.py3211 except Exception:CODE
LOW⚡scripts/experimental/frida_launch_zh.py791 except Exception as exc:CODE
LOW⚡scripts/experimental/frida_launch_zh.py793 except Exception as exc:CODE
LOW⚡scripts/experimental/frida_launch_zh.py796 except Exception:CODE
LOW⚡scripts/experimental/frida_launch_zh.py1200 except Exception as exc:CODE
LOW⚡scripts/experimental/frida_launch_zh.py1206 except Exception as exc:CODE
LOW⚡scripts/experimental/frida_launch_zh.py1209 except Exception:CODE
LOW⚡scripts/experimental/frida_launch_zh.py1425 except Exception:CODE
LOW⚡scripts/experimental/frida_launch_zh.py1434 except Exception:CODE
LOW⚡scripts/experimental/frida_launch_zh.py1443 except Exception:CODE
LOW⚡scripts/experimental/frida_launch_zh.py1643 except Exception as exc:CODE
LOW⚡scripts/experimental/frida_launch_zh.py1653 except Exception:CODE
LOW⚡scripts/experimental/frida_launch_zh.py1661 except Exception:CODE
LOWscripts/experimental/frida_launch_zh.py157 except Exception as exc:CODE
LOWscripts/experimental/frida_launch_zh.py500 except Exception:CODE
LOWscripts/experimental/frida_launch_zh.py544 except Exception:CODE
LOWscripts/experimental/frida_launch_zh.py555 except Exception:CODE
LOWscripts/experimental/frida_launch_zh.py599 except Exception:CODE
LOWscripts/experimental/frida_launch_zh.py626 except Exception as exc:CODE
LOWscripts/experimental/frida_launch_zh.py649 except Exception:CODE
LOWscripts/experimental/frida_launch_zh.py665 except Exception:CODE
LOWscripts/experimental/frida_launch_zh.py721 except Exception:CODE
LOWscripts/experimental/frida_launch_zh.py726 except Exception:CODE
LOWscripts/experimental/frida_launch_zh.py750 except Exception as exc:CODE
LOWscripts/experimental/frida_launch_zh.py814 except Exception as exc: # pragma: no coverCODE
LOWscripts/experimental/frida_launch_zh.py845 except Exception:CODE
LOWscripts/experimental/frida_launch_zh.py872 except Exception:CODE
LOWscripts/experimental/frida_launch_zh.py907 except Exception as exc:CODE
LOWscripts/experimental/frida_launch_zh.py939 except Exception:CODE
LOWscripts/experimental/frida_launch_zh.py969 except Exception:CODE
LOWscripts/experimental/frida_launch_zh.py991 except Exception as exc:CODE
LOWscripts/experimental/frida_launch_zh.py1025 except Exception as exc:CODE
LOWscripts/experimental/frida_launch_zh.py1079 except Exception as exc:CODE
LOWscripts/experimental/frida_launch_zh.py1247 except Exception as exc:CODE
LOWscripts/experimental/frida_launch_zh.py1250 except Exception:CODE
LOWscripts/experimental/frida_launch_zh.py1271 except Exception as exc:CODE
LOWscripts/experimental/frida_launch_zh.py1308 except Exception as exc:CODE
LOWscripts/experimental/frida_launch_zh.py1360 except Exception:CODE
LOWscripts/experimental/frida_launch_zh.py1372 except Exception:CODE
LOWscripts/experimental/frida_launch_zh.py1387 except Exception:CODE
LOWscripts/experimental/frida_launch_zh.py1410 except Exception:CODE
LOWscripts/experimental/frida_launch_zh.py1622 except Exception as exc:CODE
LOWscripts/experimental/frida_launch_zh.py1682 except Exception:CODE
LOWscripts/experimental/frida_launch_zh.py1693 except Exception:CODE
LOWscripts/experimental/frida_launch_zh.py1858 except Exception as exc:CODE
LOWscripts/experimental/frida_launch_zh.py1882 except Exception:CODE
LOWscripts/experimental/frida_launch_zh.py1900 except Exception:CODE
LOWscripts/experimental/frida_launch_zh.py1931 except Exception as exc:CODE
LOWscripts/experimental/frida_launch_zh.py1987 except Exception as exc:CODE
28 more matches not shown…
Hyper-Verbose Identifiers55 hits · 40 pts
SeverityFileLineSnippetContext
LOW⚡scripts/patch_claude_zh_cn.py240def is_plain_ui_text_replacement(source: str) -> bool:CODE
LOW⚡scripts/patch_claude_zh_cn.py245def is_structural_js_literal_context(text: str, literal_start: int) -> bool:CODE
LOW⚡scripts/patch_claude_zh_cn.py250def replace_frontend_hardcoded_text(CODE
LOW⚡scripts/patch_claude_zh_cn.py2528def load_json_object_or_backup(path: Path, dry_run: bool = False) -> dict[str, Any]:CODE
LOW⚡scripts/patch_claude_zh_cn.py2545def ensure_config_library_entry(meta: dict[str, Any], config_id: str) -> None:CODE
LOWscripts/patch_claude_zh_cn.py159def require_virtualization_entitlement(app: Path) -> None:CODE
LOWscripts/patch_claude_zh_cn.py203def patch_language_display_names(app: Path) -> None:CODE
LOWscripts/patch_claude_zh_cn.py220def load_frontend_hardcoded_replacements(lang_code: str) -> list[tuple[str, str]]:CODE
LOWscripts/patch_claude_zh_cn.py321def patch_hardcoded_frontend_strings(app: Path, lang_code: str) -> None:CODE
LOWscripts/patch_claude_zh_cn.py437def encode_asar_header_dynamic(header_string: str) -> bytes:CODE
LOWscripts/patch_claude_zh_cn.py537def replace_asar_file_content(app: Path, file_path: str, patched_content: bytes) -> bool:CODE
LOWscripts/patch_claude_zh_cn.py574def is_online_dom_translation_entry(source: str, target: str) -> bool:CODE
LOWscripts/patch_claude_zh_cn.py583def build_online_translation_map(app: Path, lang_code: str) -> dict[str, str]:CODE
LOWscripts/patch_claude_zh_cn.py607def build_online_dom_translation_script(lang_code: str, mapping: dict[str, str]) -> str:CODE
LOWscripts/patch_claude_zh_cn.py862def build_online_locale_main_process_script(CODE
LOWscripts/patch_claude_zh_cn.py890def strip_online_locale_main_process_patch(text: str) -> tuple[str, bool]:CODE
LOWscripts/patch_claude_zh_cn.py912def strip_online_locale_lock_patch(text: str) -> tuple[str, bool]:CODE
LOWscripts/patch_claude_zh_cn.py967def find_online_locale_lock_asar_target(CODE
LOWscripts/patch_claude_zh_cn.py1007def patch_online_locale_lock_in_asar(app: Path, lang_code: str) -> str:CODE
LOWscripts/patch_claude_zh_cn.py1026def find_main_view_dom_ready_handler(text: str) -> re.Match[str] | None:CODE
LOWscripts/patch_claude_zh_cn.py1054def find_main_process_asar_target(CODE
LOWscripts/patch_claude_zh_cn.py1091def patch_online_locale_main_process(app: Path, lang_code: str) -> None:CODE
LOWscripts/patch_claude_zh_cn.py1216def update_electron_asar_integrity(app: Path, header_string: str) -> None:CODE
LOWscripts/patch_claude_zh_cn.py1314def get_model_picker_replacements(lang_code: str) -> dict[str, str]:CODE
LOWscripts/patch_claude_zh_cn.py1356def patch_model_picker_strings(app: Path, lang_code: str) -> None:CODE
LOWscripts/patch_claude_zh_cn.py1387def get_main_process_menu_replacements(lang_code: str) -> dict[str, str]:CODE
LOWscripts/patch_claude_zh_cn.py1591def get_main_process_menu_intl_replacements(lang_code: str) -> dict[str, str]:CODE
LOWscripts/patch_claude_zh_cn.py1738def get_main_process_menu_role_replacements(lang_code: str) -> dict[str, str]:CODE
LOWscripts/patch_claude_zh_cn.py1839def replace_menu_intl_message_by_id(text: str, message_id: str, target: str) -> tuple[str, int]:CODE
LOWscripts/patch_claude_zh_cn.py1876def replace_menu_literal_length_preserving(text: str, source: str, target: str) -> tuple[str, int]:CODE
LOWscripts/patch_claude_zh_cn.py1896def patch_length_preserving_main_process_menu_labels(app: Path, lang_code: str) -> None:CODE
LOWscripts/patch_claude_zh_cn.py1941def patch_hardcoded_main_process_menu_labels(app: Path, lang_code: str) -> None:CODE
LOWscripts/patch_claude_zh_cn.py2265def _codesign_team_and_signature(path: Path) -> tuple[str, str]:CODE
LOWscripts/patch_claude_zh_cn.py2291def verify_frida_resign_consistent(app: Path) -> None:CODE
LOWscripts/patch_claude_zh_cn.py2445def install_locale_resources_in_place(CODE
LOWscripts/patch_claude_zh_cn.py2557def get_existing_third_party_config(user_home: Path, dry_run: bool = False) -> tuple[Path, Path, dict[str, Any]] | None:CODE
LOWscripts/patch_claude_zh_cn.py2576def set_third_party_config_auto_updates(user_home: Path, enabled: bool, dry_run: bool = False) -> bool:CODE
LOWscripts/patch_claude_zh_cn.py2600def managed_preferences_user_name(user_home: Path) -> str:CODE
LOWscripts/patch_claude_zh_cn.py2607def set_macos_managed_auto_updates(user_home: Path, enabled: bool, dry_run: bool = False) -> bool:CODE
LOWscripts/patch_claude_zh_cn.py2703def discover_cc_switch_skills(skills_dir: Path) -> list[dict[str, Any]]:CODE
LOWscripts/patch_claude_zh_cn.py2728def find_claude_desktop_skills_plugin_root(user_home: Path) -> Path:CODE
LOWscripts/patch_claude_zh_cn.py2972def preinstall_should_restore(app: Path) -> bool:CODE
LOWscripts/patch_claude_zh_cn.py3043def verify_electron_asar_integrity(app: Path) -> None:CODE
LOWscripts/patch_claude_zh_cn.py3065def verify_online_locale_patch(app: Path, lang_code: str) -> None:CODE
LOWscripts/experimental/frida_launch_zh.py264def build_runtime_replacements(app: Path) -> list[dict[str, str]]:CODE
LOWscripts/experimental/frida_launch_zh.py566def make_frida_message_handler(CODE
LOWscripts/experimental/frida_launch_zh.py888def ensure_user_locale_if_wrong(CODE
LOWscripts/experimental/frida_launch_zh.py1293def install_native_menu_hooks(CODE
LOWscripts/experimental/frida_launch_zh.py1786 def refresh_payload_if_needed(*, force: bool = False, reason: str = "change") -> bool:CODE
LOWscripts/experimental/frida_launch_zh_win.py126def replace_asar_file_content_in_file(asar_path: Path, file_path: str, patched_content: bytes) -> bool:CODE
LOWscripts/experimental/frida_launch_zh_win.py157def patch_main_process_menu_in_asar_file(asar_path: Path, lang: str) -> tuple[int, int, int, int]:CODE
LOWscripts/experimental/frida_launch_zh_win.py234def prepare_patched_asar_cache(source_asar: Path, lang: str, source_fp: dict[str, Any]) -> Path:CODE
LOWscripts/experimental/frida_launch_zh_win.py284def build_runtime_replacements(asar_path: Path, exe_path: Path) -> list[dict[str, str]]:CODE
LOWscripts/experimental/frida_launch_zh_win.py767def make_frida_message_handler() -> Any:CODE
LOWscripts/experimental/objc.js1var bridge=function(){let cachedApi=null;const defaultInvocationOptions={exceptions:"propagate"};function getApi(){if(nuCODE
Deep Nesting15 hits · 10 pts
SeverityFileLineSnippetContext
LOWscripts/convert_traditional.py106CODE
LOWscripts/convert_traditional.py119CODE
LOWscripts/convert_traditional.py305CODE
LOWscripts/convert_traditional.py129CODE
LOWscripts/patch_claude_zh_cn.py1173CODE
LOWscripts/patch_claude_zh_cn.py1236CODE
LOWscripts/patch_claude_zh_cn.py2265CODE
LOWscripts/patch_claude_zh_cn.py2291CODE
LOWscripts/patch_claude_zh_cn.py2405CODE
LOWscripts/experimental/frida_launch_zh.py98CODE
LOWscripts/experimental/frida_launch_zh.py1570CODE
LOWscripts/experimental/frida_launch_zh.py1705CODE
LOWscripts/experimental/frida_launch_zh.py2015CODE
LOWscripts/experimental/frida_launch_zh.py1673CODE
LOWscripts/experimental/frida_launch_zh_win.py980CODE
Unused Imports10 hits · 8 pts
SeverityFileLineSnippetContext
LOWscripts/convert_traditional.py21CODE
LOWscripts/patch_linux_asar.py14CODE
LOWscripts/patch_claude_zh_cn.py17CODE
LOWscripts/experimental/frida_launch_zh.py29CODE
LOWscripts/experimental/frida_launch_zh.py62CODE
LOWscripts/experimental/frida_launch_zh_win.py14CODE
LOWscripts/experimental/frida_launch_zh_win.py51CODE
LOWscripts/experimental/cdp_launch_zh.py12CODE
LOWscripts/experimental/cdp_launch_zh.py18CODE
LOW…s/claude-desktop-zh-localize/scripts/verify_mapping.py15CODE
Over-Commented Block2 hits · 2 pts
SeverityFileLineSnippetContext
LOWinstall-linux.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/experimental/requirements-frida.txt1# Frida runtime Chinese launcher dependencies (macOS + Windows experimental).COMMENT
Modern Structural Boilerplate3 hits · 2 pts
SeverityFileLineSnippetContext
LOWscripts/patch_claude_zh_cn.py518def set_asar_offset(entry: dict[str, Any], offset: int) -> None:CODE
LOWscripts/patch_claude_zh_cn.py1216def update_electron_asar_integrity(app: Path, header_string: str) -> None:CODE
LOWscripts/patch_claude_zh_cn.py2405def set_user_locale(user_home: Path, lang_code: str) -> None:CODE
Fake / Example Data2 hits · 2 pts
SeverityFileLineSnippetContext
LOWscripts/patch_claude_zh_cn.py809 '["aria-label","title","placeholder","value"].forEach(a=>{'CODE
LOWscripts/experimental/frida_launch_zh_win.py622 for(const a of ["aria-label","title","placeholder","value"]){CODE
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWscripts/experimental/frida-zh-resident-ctl.sh3# Usage:COMMENT