AI Slop Code RIsk Monitor

ValueCell-ai/ClawX

ClawX is a desktop app that provides a graphical interface for OpenClaw AI agents. It turns CLI-based AI orchestration into a desktop experience without using the terminal. China website is https://clawx.com.cn.

5.4 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for ValueCell-ai/ClawX, a TypeScript project with 7,607 GitHub stars. SynthScan examined 214,822 lines of code across 944 source files, recording 876 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 5.4 (Moderate pattern signal); it is not an authorship estimate.

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

5.4
Adjusted Signal
5.4
Raw Pattern Score
100%
Time Factor
2026-09-30
Last Push
7.6K
Stars
TypeScript
Language
214.8K
Lines of Code
944
Files
876
Pattern Hits
2026-10-12
Scan Date
0.01
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 15.0/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 3.2/100 · LOW

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

Agent Over-Engineering Ratio 20.7/100 · LOW

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

PR Review Velocity Impact 23.0/100 · LOW

Which changes need focused human review? 876 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 5HIGH 0MEDIUM 101LOW 770

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 876 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.

Hyper-Verbose Identifiers700 hits · 686 pts
SeverityFileLineSnippetContext
LOWtests/unit/wecom-plugin-account-fallback.test.ts27async function executeWithoutCredentials(accountId?: string): Promise<string> {CODE
LOWtests/unit/acp-chat-service.test.ts73function createPassthroughAccessRegistry() {CODE
LOWtests/unit/provider-runtime-sync.test.ts114function expectNoGatewayLifecycleCalls(gateway: ReturnType<typeof createGateway>): void {CODE
LOWtests/unit/openclaw-restart-recovery-patch.test.ts15function assertValidUnifiedDiffHunks(patch: string): void {CODE
LOWtests/unit/openclaw-restart-recovery-patch.test.ts458 const start = bundle.indexOf('function buildExecApprovalRequestToolParams(params)');CODE
LOWtests/unit/chat-history-reply-while-sending.test.tsx115function timelineWithAssistantReply(): AcpTimelineSnapshot {CODE
LOWtests/unit/office-file-viewers.test.tsx408 function ResolveFirstAfterReplacementCommit({ replaced }: { replaced: boolean }) {CODE
LOWtests/unit/attachment-open-with-native.test.ts64function isWindowsNativeHandlerRecord(value: unknown): value is WindowsNativeHandlerRecord {CODE
LOWtests/unit/openclaw-acp-stream-patch.test.ts165function extractFinalStreamReconciler(bundle: string): FinalStreamReconciler {CODE
LOWtests/unit/openclaw-acp-stream-patch.test.ts191function extractPostLedgerTranscriptSelector(bundle: string): PostLedgerTranscriptSelector {CODE
LOWtests/unit/openclaw-acp-stream-patch.test.ts192 const start = bundle.indexOf('function selectPostLedgerTranscript(');CODE
LOWtests/unit/openclaw-acp-stream-patch.test.ts210function extractAmbientChatHandler(bundle: string): AmbientChatHandler {CODE
LOW⚡tests/unit/openclaw-acp-stream-patch.test.ts242 .replace('getOrCreateAmbientChatRun', 'function getOrCreateAmbientChatRun');CODE
LOW⚡tests/unit/openclaw-acp-stream-patch.test.ts249function extractAmbientReplayBaselineResolver(bundle: string): AmbientReplayBaselineResolver {CODE
LOW⚡tests/unit/openclaw-acp-stream-patch.test.ts250 const start = bundle.indexOf('function resolveAmbientReplayBaseline(');CODE
LOWtests/unit/openclaw-acp-stream-patch.test.ts308function extractGatewayEventHandler(bundle: string): GatewayEventHandler {CODE
LOWtests/unit/openclaw-acp-stream-patch.test.ts321function extractAmbientSessionLifecycle(bundle: string): AmbientSessionLifecycle {CODE
LOWtests/unit/comms-scripts.test.ts9function buildPassingScenarioMetrics() {CODE
LOWtests/unit/whatsapp-login.test.ts66function cleanupWhatsAppLoginCredentials(accountId: string): void {CODE
LOWtests/unit/chat-acp-inline-timeline.test.tsx210function timelineWithProcessBlocks(): AcpTimelineSnapshot {CODE
LOWtests/unit/chat-input.test.tsx203function configureAgentAndModelPickers() {CODE
LOWtests/unit/e2e-parallel-policy.test.ts74function untaggedGlobalClipboardCalls(file: string, source: string): string[] {CODE
LOW⚡tests/e2e/chat-new-session-date.spec.ts13function defaultWorkspaceSessionGroupTestId(): string {CODE
LOW⚡tests/e2e/chat-new-session-date.spec.ts17function defaultWorkspaceSessionGroupToggleTestId(): string {CODE
LOW⚡tests/e2e/chat-new-session-date.spec.ts21function defaultWorkspaceSessionLoadMoreTestId(): string {CODE
LOWtests/e2e/chat-new-session-date.spec.ts34async function installDynamicAcpPromptMocks(app: ElectronApplication): Promise<void> {CODE
LOWtests/e2e/chat-new-session-date.spec.ts114async function emitAcpSessionDisplayName(app: ElectronApplication, sessionKey: string): Promise<void> {CODE
LOWtests/e2e/token-usage.spec.ts12async function seedTokenUsageTranscripts(homeDir: string): Promise<void> {CODE
LOWtests/e2e/chat-acp-inline-timeline.spec.ts36function defaultWorkspaceSessionGroupTestId(): string {CODE
LOWtests/e2e/chat-acp-inline-timeline.spec.ts138async function installAcpLoadReplayBySessionMock(CODE
LOWtests/e2e/chat-acp-inline-timeline.spec.ts195async function installAcpLoadRecorderMock(app: ElectronApplication) {CODE
LOWtests/e2e/chat-acp-inline-timeline.spec.ts241async function getRecordedAcpLoadSessionKeys(app: ElectronApplication) {CODE
LOWtests/e2e/chat-acp-inline-timeline.spec.ts272async function getRecordedMediaSaveImagePayloads(app: ElectronApplication) {CODE
LOWtests/e2e/chat-acp-inline-timeline.spec.ts278async function installAcpPromptSuccessMock(app: ElectronApplication) {CODE
LOWtests/e2e/chat-acp-inline-timeline.spec.ts294async function installAcpPromptTimingMock(CODE
LOWtests/e2e/chat-acp-inline-timeline.spec.ts334async function installAcpPromptFailureMock(CODE
LOWtests/e2e/chat-acp-inline-timeline.spec.ts377async function installSettledAcpHydrationMock(CODE
LOWtests/e2e/chat-acp-inline-timeline.spec.ts451async function installTargetAgentRequestRecorder(app: ElectronApplication) {CODE
LOWtests/e2e/chat-acp-inline-timeline.spec.ts495async function installAcpPromptDeferredMock(app: ElectronApplication) {CODE
LOWtests/e2e/chat-acp-inline-timeline.spec.ts519async function installAcpReactivationWithPartialTimingMock(CODE
LOWtests/e2e/chat-workspace-context.spec.ts43function workspaceSessionGroupTestId(workspacePath: string): string {CODE
LOWtests/e2e/chat-acp-slash-command-replies.spec.ts18async function installSlashCommandReplyMock(app: ElectronApplication) {CODE
LOWtests/e2e/chat-run-state-events.spec.ts65function generatedImageHostApiMocks(generatedPath: string, identity: string): Record<string, unknown> {CODE
LOWtests/e2e/chat-skill-trigger-i18n.spec.ts15async function openChatWithInstalledMocks(app: ElectronApplication) {CODE
LOWtests/e2e/dialog-transitions.spec.ts11function defaultWorkspaceSessionGroupTestId(): string {CODE
LOWtests/e2e/dialog-transitions.spec.ts24async function expectSubtleDialogAnimation(locator: Locator): Promise<void> {CODE
LOWtests/e2e/office-document-preview.spec.ts132async function waitForChangedStableCanvasBacking(CODE
LOWtests/e2e/chat-question-directory.spec.ts47async function installQuestionDirectoryMocks(CODE
LOWtests/e2e/chat-sidebar-session-attention.spec.ts37async function installSessionAttentionMocks(app: ElectronApplication): Promise<void> {CODE
LOW⚡shared/sidebar-layout.ts30export function getMacTrafficLightFrameHeight(darwinMajor: number): number {CODE
LOW⚡shared/sidebar-layout.ts37export function getMacTrafficLightChromeOffset(CODE
LOW⚡shared/sidebar-layout.ts44export function getMacTrafficLightPosition(options: {CODE
LOWshared/web-browser.ts8export function normalizeWebBrowserHtmlFileUrl(input: string): string | null {CODE
LOW⚡shared/chat/openclaw-internal.ts4export function containsOpenClawHeartbeatPollSentinel(value: string | null | undefined): boolean {CODE
LOW⚡shared/chat/openclaw-internal.ts8export function isOpenClawHeartbeatPollText(value: string | null | undefined): boolean {CODE
LOW⚡shared/chat/openclaw-internal.ts12export function isOpenClawHeartbeatAckText(value: string | null | undefined): boolean {CODE
LOW⚡shared/chat/session-title.ts14export function stripAcpWorkingDirectoryPrefix(text: string): string {CODE
LOW⚡shared/chat/session-title.ts18export function isAcpWorkingDirectoryTruncatedTitle(text: string): boolean {CODE
LOW⚡shared/chat/session-title.ts22export function isGatewayAcpPlaceholderDisplayName(text: string): boolean {CODE
LOW⚡shared/chat/session-title.ts26export function isOpenClawSessionIdFallbackTitle(CODE
640 more matches not shown…
Decorative Section Separators98 hits · 304 pts
SeverityFileLineSnippetContext
MEDIUMtailwind.config.js229 // ── B. ClawX brand tokens ────────────────────────────────────COMMENT
MEDIUMtailwind.config.js250 // ── C. ClawX neutral surfaces ────────────────────────────────COMMENT
MEDIUMtailwind.config.js262 // ── D. ClawX usage accents ──────────────────────────────────COMMENT
MEDIUMtests/unit/sanitize-config.test.ts850 // ── plugins.load.paths regression tests (issue #607) ──────────COMMENT
MEDIUMtests/unit/sanitize-config.test.ts850 // ── plugins.load.paths regression tests (issue #607) ──────────COMMENT
MEDIUMtests/unit/sanitize-config.test.ts1083 // ── bundled plugin allowlist reconciliation tests ──────────────COMMENT
MEDIUM.github/workflows/release.yml295 # ──────────────────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/release.yml297 # ──────────────────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/release.yml379 # ──────────────────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/release.yml390 # ──────────────────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/release.yml569 # ──────────────────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/release.yml576 # ──────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡electron/utils/plugin-install.ts1117// ── Bulk startup installer ───────────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/plugin-install.ts131// ── Known plugin-ID corrections ─────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/plugin-install.ts376// ── Plugin npm name mapping ──────────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/plugin-install.ts798// ── pnpm-aware node_modules copy helpers ─────────────────────────────────────COMMENT
MEDIUMelectron/utils/plugin-install.ts906// ── Core install / upgrade logic ─────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/plugin-install.ts1046// ── Candidate source path builder ────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/plugin-install.ts1067// ── Per-channel plugin helpers ───────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/openclaw-cli.ts20// ── Quoting helpers ──────────────────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/openclaw-cli.ts40// ── CLI command string (for display / copy) ──────────────────────────────────COMMENT
MEDIUMelectron/utils/openclaw-cli.ts253// ── Packaged CLI wrapper path ────────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/openclaw-cli.ts289// ── macOS / Linux install ────────────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/openclaw-cli.ts334// ── Auto-install on first launch ─────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/openclaw-cli.ts494// ── Completion helpers ───────────────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/minimax-oauth.ts16// ── Constants ────────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/minimax-oauth.ts44// ── Types ────────────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/minimax-oauth.ts87// ── OAuth flow steps ─────────────────────────────────────────COMMENT
MEDIUMelectron/utils/minimax-oauth.ts211// ── Public API ───────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/openclaw-workspace.ts19// ── Helpers ──────────────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/openclaw-workspace.ts119// ── Pure helpers (no I/O) ────────────────────────────────────────COMMENT
MEDIUMelectron/utils/openclaw-workspace.ts196// ── Workspace directory resolution ───────────────────────────────COMMENT
MEDIUMelectron/utils/openclaw-workspace.ts263// ── Bootstrap file repair ────────────────────────────────────────COMMENT
MEDIUMelectron/utils/openclaw-workspace.ts307// ── Context merging ──────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/logger.ts46// ── Async write buffer ───────────────────────────────────────────COMMENT
MEDIUMelectron/utils/logger.ts86// ── Initialisation ───────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/logger.ts115// ── Level / path accessors ───────────────────────────────────────COMMENT
MEDIUMelectron/utils/logger.ts129// ── Formatting ───────────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/logger.ts150// ── Core write ───────────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/logger.ts178// ── Public log methods ───────────────────────────────────────────COMMENT
MEDIUMelectron/utils/logger.ts212// ── Log retrieval (for UI / diagnostics) ─────────────────────────COMMENT
MEDIUMelectron/utils/openclaw-auth.ts303// ── Helpers ──────────────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/openclaw-auth.ts339// ── Types ────────────────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/openclaw-auth.ts462// ── Auth Profiles I/O ────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/openclaw-auth.ts558// ── Agent Discovery ──────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/openclaw-auth.ts570// ── OpenClaw Config Helpers ──────────────────────────────────────COMMENT
MEDIUMelectron/utils/openclaw-auth.ts1006// ── Exported Functions (all async) ───────────────────────────────COMMENT
MEDIUMelectron/utils/openclaw-auth.ts3152 // ── skills section ──────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/openclaw-auth.ts3171 // ── plugins section ──────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/openclaw-auth.ts3268 // ── tools.web.search.kimi ─────────────────────────────────────COMMENT
MEDIUMelectron/utils/openclaw-auth.ts3331 // ── tools.profile & sessions.visibility ───────────────────────COMMENT
MEDIUMelectron/utils/openclaw-auth.ts3399 // ── tools.exec approvals (OpenClaw 3.28+) ──────────────────────COMMENT
MEDIUMelectron/utils/openclaw-auth.ts3419 // ── session.dmScope ─────────────────────────────────────────────COMMENT
MEDIUMelectron/utils/openclaw-auth.ts3437 // ── Skill Workshop hard-disable (OpenClaw 6.10+) ─────────────────COMMENT
MEDIUMelectron/utils/openclaw-auth.ts3544 // ── plugins.entries.feishu cleanup ──────────────────────────────COMMENT
MEDIUMelectron/utils/openclaw-auth.ts3564 // ── MiniMax merged-plugin compatibility cleanup ─────────────COMMENT
MEDIUMelectron/utils/openclaw-auth.ts3592 // ── acpx legacy config/install cleanup ─────────────────────COMMENT
MEDIUMelectron/utils/openclaw-auth.ts3700 // ── wecom-openclaw-plugin → wecom migration ────────────────COMMENT
MEDIUMelectron/utils/openclaw-auth.ts3725 // ── official DingTalk connector → dingtalk identity ─────────COMMENT
MEDIUMelectron/utils/openclaw-auth.ts3765 // ── external channel plugin registration cleanup ────────────COMMENT
38 more matches not shown…
Hallucination Indicators5 hits · 75 pts
SeverityFileLineSnippetContext
CRITICAL⚡tests/unit/gateway-events.test.ts106 expect(hostApiMock.gateway.rpc.mock.calls.some(([method]) => method === 'sessions.list')).toBe(true);CODE
CRITICAL⚡tests/unit/gateway-events.test.ts108 const initialSubscribeCalls = hostApiMock.gateway.rpc.mock.calls.filter(CODE
CRITICAL⚡tests/unit/gateway-events.test.ts111 const initialListCalls = hostApiMock.gateway.rpc.mock.calls.filter(CODE
CRITICAL⚡tests/unit/gateway-events.test.ts118 expect(hostApiMock.gateway.rpc.mock.calls.filter(CODE
CRITICAL⚡tests/unit/gateway-events.test.ts121 expect(hostApiMock.gateway.rpc.mock.calls.filter(CODE
Fake / Example Data61 hits · 67 pts
SeverityFileLineSnippetContext
LOWtests/unit/asr-settings.test.tsx135 'placeholder',CODE
LOWtests/unit/asr-settings.test.tsx148 expect(screen.getByTestId('asr-api-key-input')).not.toHaveAttribute('placeholder');CODE
LOWtests/unit/asr-settings.test.tsx211 'placeholder',CODE
LOWtests/unit/provider-runtime-sync.test.ts305 email: 'user@example.com',CODE
LOWtests/unit/attachment-open-with.test.ts268 const loadIcon = vi.fn(async () => ({ isEmpty: () => false, toPNG: () => Buffer.from('placeholder') }));CODE
LOWtests/e2e/chat-workspace-context.spec.ts378 observer.observe(input, { attributes: true, attributeFilter: ['placeholder'] });CODE
LOWtests/e2e/provider-lifecycle.spec.ts533 await expect(modelIdInput).toHaveAttribute('placeholder', 'deepseek-flash');CODE
LOWtests/e2e/provider-lifecycle.spec.ts563 await expect(modelIdInput).toHaveAttribute('placeholder', expectedModelId);CODE
LOWtests/e2e/image-generation-settings.spec.ts135 await expect(page.getByTestId('image-generation-relay-api-key')).toHaveAttribute('placeholder', /.+/);CODE
LOWshared/i18n/locales/ja/channels.json181 "placeholder": "123456:ABC-DEF..."CODE
LOWshared/i18n/locales/ja/channels.json185 "placeholder": "例: 123456789, 987654321",CODE
LOW⚡shared/i18n/locales/ja/channels.json203 "placeholder": "Discord ボットトークン"CODE
LOW⚡shared/i18n/locales/ja/channels.json207 "placeholder": "例: 123456789012345678",CODE
LOW⚡shared/i18n/locales/ja/channels.json212 "placeholder": "例: 123456789012345678",CODE
LOWshared/i18n/locales/ja/channels.json251 "placeholder": "dingxxxxxx"CODE
LOWshared/i18n/locales/ja/channels.json255 "placeholder": "アプリのシークレット"CODE
LOWshared/i18n/locales/ja/channels.json271 "placeholder": "cli_xxxxxx"CODE
LOWshared/i18n/locales/ja/channels.json275 "placeholder": "アプリのシークレット"CODE
LOWshared/i18n/locales/ja/channels.json291 "placeholder": "ww_xxxxxx"CODE
LOWshared/i18n/locales/ja/channels.json295 "placeholder": "WeCom Bot のシークレット"CODE
LOWshared/i18n/locales/ja/channels.json309 "placeholder": "QQ ボットの App ID"CODE
LOWshared/i18n/locales/ja/channels.json313 "placeholder": "QQ ボットの Client Secret"CODE
LOWshared/i18n/locales/ru/channels.json181 "placeholder": "123456:ABC-DEF..."CODE
LOWshared/i18n/locales/ru/channels.json185 "placeholder": "напр., 123456789, 987654321",CODE
LOW⚡shared/i18n/locales/ru/channels.json203 "placeholder": "Токен вашего Discord-бота"CODE
LOW⚡shared/i18n/locales/ru/channels.json207 "placeholder": "напр., 123456789012345678",CODE
LOW⚡shared/i18n/locales/ru/channels.json212 "placeholder": "напр., 123456789012345678",CODE
LOWshared/i18n/locales/ru/channels.json251 "placeholder": "dingxxxxxx"CODE
LOWshared/i18n/locales/ru/channels.json255 "placeholder": "Секрет вашего приложения"CODE
LOWshared/i18n/locales/ru/channels.json271 "placeholder": "cli_xxxxxx"CODE
LOWshared/i18n/locales/ru/channels.json275 "placeholder": "Секрет вашего приложения"CODE
LOWshared/i18n/locales/ru/channels.json291 "placeholder": "ww_xxxxxx"CODE
LOWshared/i18n/locales/ru/channels.json295 "placeholder": "Секрет вашего WeCom бота"CODE
LOWshared/i18n/locales/ru/channels.json310 "placeholder": "Ваш QQ Bot App ID"CODE
LOWshared/i18n/locales/ru/channels.json314 "placeholder": "Ваш QQ Bot Client Secret"CODE
LOWshared/i18n/locales/zh/channels.json181 "placeholder": "123456:ABC-DEF..."CODE
LOWshared/i18n/locales/zh/channels.json185 "placeholder": "例如 123456789, 987654321",CODE
LOW⚡shared/i18n/locales/zh/channels.json203 "placeholder": "您的 Discord 机器人令牌"CODE
LOW⚡shared/i18n/locales/zh/channels.json207 "placeholder": "例如 123456789012345678",CODE
LOW⚡shared/i18n/locales/zh/channels.json212 "placeholder": "例如 123456789012345678",CODE
LOWshared/i18n/locales/zh/channels.json251 "placeholder": "dingxxxxxx"CODE
LOWshared/i18n/locales/zh/channels.json255 "placeholder": "您的应用密钥"CODE
LOWshared/i18n/locales/zh/channels.json271 "placeholder": "cli_xxxxxx"CODE
LOWshared/i18n/locales/zh/channels.json275 "placeholder": "您的应用密钥"CODE
LOWshared/i18n/locales/zh/channels.json292 "placeholder": "ww_xxxxxx"CODE
LOWshared/i18n/locales/zh/channels.json296 "placeholder": "您的企业微信机器人 Secret"CODE
LOWshared/i18n/locales/zh/channels.json311 "placeholder": "您的 QQ 机器人 App ID"CODE
LOWshared/i18n/locales/zh/channels.json315 "placeholder": "您的 QQ 机器人 Client Secret"CODE
LOWshared/i18n/locales/en/channels.json181 "placeholder": "123456:ABC-DEF..."CODE
LOWshared/i18n/locales/en/channels.json185 "placeholder": "e.g. 123456789, 987654321",CODE
LOW⚡shared/i18n/locales/en/channels.json203 "placeholder": "Your Discord bot token"CODE
LOW⚡shared/i18n/locales/en/channels.json207 "placeholder": "e.g., 123456789012345678",CODE
LOW⚡shared/i18n/locales/en/channels.json212 "placeholder": "e.g., 123456789012345678",CODE
LOWshared/i18n/locales/en/channels.json251 "placeholder": "dingxxxxxx"CODE
LOWshared/i18n/locales/en/channels.json255 "placeholder": "Your app secret"CODE
LOWshared/i18n/locales/en/channels.json271 "placeholder": "cli_xxxxxx"CODE
LOWshared/i18n/locales/en/channels.json275 "placeholder": "Your app secret"CODE
LOWshared/i18n/locales/en/channels.json291 "placeholder": "ww_xxxxxx"CODE
LOWshared/i18n/locales/en/channels.json295 "placeholder": "Your WeCom Bot secret"CODE
LOWshared/i18n/locales/en/channels.json310 "placeholder": "Your QQ Bot App ID"CODE
1 more matches not shown…
Excessive Try-Catch Wrapping3 hits · 5 pts
SeverityFileLineSnippetContext
LOWscripts/crop_qr.py46 except Exception as e:CODE
MEDIUMscripts/crop_qr.py47 print(f"Error processing {path}: {e}")CODE
MEDIUMscripts/crop_qr.py14def process_image(path):CODE
Verbosity Indicators2 hits · 4 pts
SeverityFileLineSnippetContext
LOW⚡src/pages/Setup/index.tsx676 // Step 1: Initialize all skills to 'installing' state for UICOMMENT
LOW⚡src/pages/Setup/index.tsx680 // Step 2: Call the backend to install uv and setup PythonCOMMENT
Structural Annotation Overuse2 hits · 4 pts
SeverityFileLineSnippetContext
LOW⚡src/pages/Setup/index.tsx676 // Step 1: Initialize all skills to 'installing' state for UICOMMENT
LOW⚡src/pages/Setup/index.tsx680 // Step 2: Call the backend to install uv and setup PythonCOMMENT
Over-Commented Block4 hits · 4 pts
SeverityFileLineSnippetContext
LOWelectron-builder.yml41 # CUA's UniFFI loader resolves its adjacent platform library relative to itsCOMMENT
LOWresources/skills/computer-use/EMBEDDING.md321// SPDX-License-Identifier: MITCOMMENT
LOW.github/workflows/release.yml201 }COMMENT
LOWelectron/gateway/process-launcher.ts141 // which causes:COMMENT
Self-Referential Comments1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMelectron/utils/uv-env.ts22 '# This file is managed by ClawX.',CODE