⭐ All-in-one AI companion! Super Agent Party = Self hosted neuro sama + openclaw! ⭐ 全能AI伴侣!超级智能体派对 = 自托管neuro sama + openclaw!
This report summarizes scanner evidence for heshengtao/super-agent-party, a JavaScript project with 2,730 GitHub stars. SynthScan examined 475,678 lines of code across 649 source files, recording 1579 pattern matches distributed across 20 syntactic categories. The legacy adjusted pattern signal is 6.0 (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.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 459 finding(s).
Are imports declared and package/API names verified? 166 finding(s).
Are wrappers, guards, and repeated structures necessary? 1145 finding(s).
Which changes need focused human review? 1579 finding(s).
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.
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.
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.
The scanner identified 1579 distinct pattern matches across 20 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.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | server.py | 340 | except Exception: | CODE |
| HIGH | server.py | 8811 | except (WebSocketDisconnect, RuntimeError): | CODE |
| HIGH | server.py | 8829 | except (WebSocketDisconnect, RuntimeError): | CODE |
| HIGH | server.py | 8940 | except WebSocketDisconnect: | CODE |
| HIGH | server.py | 10218 | except Exception: | CODE |
| HIGH | server.py | 1071 | except: pass | CODE |
| HIGH | server.py | 3412 | except asyncio.CancelledError: | CODE |
| HIGH | server.py | 8862 | except FileNotFoundError: | CODE |
| HIGH | server.py | 9862 | except asyncio.TimeoutError: | CODE |
| HIGH | server.py | 10015 | except asyncio.TimeoutError: | CODE |
| HIGH | server.py | 10137 | except asyncio.TimeoutError: | CODE |
| HIGH | server.py | 10348 | except asyncio.TimeoutError: | CODE |
| HIGH | server.py | 187 | except: | CODE |
| HIGH | server.py | 200 | except: | CODE |
| HIGH | server.py | 219 | except: | CODE |
| HIGH | server.py | 1004 | except asyncio.TimeoutError: | CODE |
| HIGH | server.py | 9896 | except asyncio.CancelledError: | CODE |
| HIGH | server.py | 237 | except: | CODE |
| HIGH | server.py | 255 | except: | CODE |
| HIGH | server.py | 272 | except: | CODE |
| HIGH | server.py | 2312 | except Exception: | CODE |
| HIGH | server.py | 5849 | except Exception: | CODE |
| HIGH | server.py | 8436 | except json.JSONDecodeError: | CODE |
| HIGH | server.py | 5152 | except Exception: | CODE |
| HIGH | server.py | 12784 | except: | CODE |
| HIGH | py/ui_tree_helper.py | 105 | except Exception: | CODE |
| HIGH | py/ui_tree_helper.py | 243 | except Exception: | CODE |
| HIGH | py/ui_tree_helper.py | 92 | except Exception: | CODE |
| HIGH | py/ui_tree_helper.py | 249 | except Exception: | CODE |
| HIGH | py/ui_tree_helper.py | 259 | except Exception: | CODE |
| HIGH | py/ui_tree_helper.py | 369 | except Exception: | CODE |
| HIGH | py/ui_tree_helper.py | 362 | except Exception: | CODE |
| HIGH | py/ebd_model_manager.py | 95 | except: | CODE |
| HIGH | py/local_app_control.py | 344 | except Exception: | CODE |
| HIGH | py/local_app_control.py | 385 | except Exception: | CODE |
| HIGH | py/local_app_control.py | 779 | except PermissionError: | CODE |
| HIGH | py/local_app_control.py | 178 | except Exception: | CODE |
| HIGH | py/local_app_control.py | 808 | except PermissionError: | CODE |
| HIGH | py/local_app_control.py | 831 | except ValueError: | CODE |
| HIGH | py/local_app_control.py | 1080 | except Exception: | CODE |
| HIGH | py/local_app_control.py | 244 | except Exception: | CODE |
| HIGH | py/local_app_control.py | 993 | except Exception: | CODE |
| HIGH | py/local_app_control.py | 693 | except PermissionError: | CODE |
| HIGH | py/local_app_control.py | 1013 | except Exception: | CODE |
| HIGH | py/local_app_control.py | 1046 | except Exception: | CODE |
| HIGH | py/local_app_control.py | 1044 | except Exception: | CODE |
| HIGH | py/feishu_bot_manager.py | 488 | except: pass | CODE |
| HIGH | py/feishu_bot_manager.py | 529 | except: pass | CODE |
| HIGH | py/feishu_bot_manager.py | 541 | except: pass | CODE |
| HIGH | py/feishu_bot_manager.py | 551 | except: pass | CODE |
| HIGH | py/feishu_bot_manager.py | 644 | except: pass | CODE |
| HIGH | py/feishu_bot_manager.py | 661 | except: pass | CODE |
| HIGH | py/feishu_bot_manager.py | 681 | except: pass | CODE |
| HIGH | py/feishu_bot_manager.py | 698 | except: pass | CODE |
| HIGH | py/feishu_bot_manager.py | 177 | except: pass | CODE |
| HIGH | py/feishu_bot_manager.py | 182 | except: pass | CODE |
| HIGH | py/feishu_bot_manager.py | 200 | except: pass | CODE |
| HIGH | py/feishu_bot_manager.py | 305 | except: pass | CODE |
| HIGH | py/sleep_guard.py | 121 | except (FileNotFoundError, Exception): | CODE |
| HIGH | py/sleep_guard.py | 136 | except (FileNotFoundError, subprocess.CalledProcessError, Exception): | CODE |
| 100 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | server.py | 8498 | print(f"Error processing FunASR response: {e}") | CODE |
| MEDIUM | server.py | 1696 | print(f"Error parsing param {name}: {e}") | CODE |
| MEDIUM | server.py | 2207 | print(f"Error reading todos: {e}") | CODE |
| MEDIUM | server.py | 2225 | print(f"Error reading AGENTS.md: {e}") | CODE |
| MEDIUM | server.py | 3398 | def reader(): | CODE |
| MEDIUM | server.py | 3407 | def heartbeat(): | CODE |
| MEDIUM | server.py | 6980 | def event_generator(): | CODE |
| MEDIUM | server.py | 8850 | def _find_model_in(scan_dir): | CODE |
| MEDIUM | server.py | 11219 | def stop_qq_bot(): | CODE |
| MEDIUM | server.py | 11263 | def stop_wechat_bot(): | CODE |
| MEDIUM | server.py | 11310 | def stop_feishu_bot(): | CODE |
| MEDIUM | server.py | 11355 | def stop_dingtalk_bot(): | CODE |
| MEDIUM | server.py | 11477 | def stop_telegram_bot(): | CODE |
| MEDIUM | server.py | 11523 | def stop_wecom_bot(): | CODE |
| MEDIUM | server.py | 12135 | def update_proxy(): | CODE |
| MEDIUM | server.py | 12196 | def get_userfile(): | CODE |
| MEDIUM | server.py | 12204 | def get_extfile(): | CODE |
| MEDIUM | server.py | 12291 | def _load_heatmap() -> dict: | CODE |
| LOW⚡ | server.py | 1039 | except Exception as e: | CODE |
| LOW⚡ | server.py | 1049 | except Exception as e: | CODE |
| LOW⚡ | server.py | 1055 | except Exception as e: | CODE |
| LOW⚡ | server.py | 1065 | except Exception as e: | CODE |
| LOW⚡ | server.py | 3582 | except Exception as e: | CODE |
| LOW⚡ | server.py | 5849 | except Exception: | CODE |
| LOW⚡ | server.py | 5856 | except Exception as e: | CODE |
| LOW⚡ | server.py | 5866 | except Exception as e: | CODE |
| LOW⚡ | server.py | 5933 | except Exception as e: | CODE |
| LOW⚡ | server.py | 8497 | except Exception as e: | CODE |
| LOW⚡ | server.py | 8503 | except Exception as e: | CODE |
| LOW⚡ | server.py | 9103 | except Exception as e: | CODE |
| LOW⚡ | server.py | 9136 | except Exception as e: | CODE |
| LOW⚡ | server.py | 9181 | except Exception as e: | CODE |
| LOW⚡ | server.py | 10160 | except Exception as e: | CODE |
| LOW⚡ | server.py | 10175 | except Exception: | CODE |
| LOW⚡ | server.py | 10181 | except Exception as e: | CODE |
| LOW⚡ | server.py | 11128 | except Exception as e: | CODE |
| LOW⚡ | server.py | 11214 | except Exception as e: | CODE |
| LOW⚡ | server.py | 11224 | except Exception as e: | CODE |
| LOW⚡ | server.py | 11246 | except Exception as e: | CODE |
| LOW⚡ | server.py | 11259 | except Exception as e: | CODE |
| LOW⚡ | server.py | 11268 | except Exception as e: | CODE |
| LOW⚡ | server.py | 11290 | except Exception as e: | CODE |
| LOW⚡ | server.py | 11305 | except Exception as e: | CODE |
| LOW⚡ | server.py | 11315 | except Exception as e: | CODE |
| LOW⚡ | server.py | 11337 | except Exception as e: | CODE |
| LOW⚡ | server.py | 11351 | except Exception as e: | CODE |
| LOW⚡ | server.py | 11360 | except Exception as e: | CODE |
| LOW⚡ | server.py | 11380 | except Exception as e: | CODE |
| LOW⚡ | server.py | 11394 | except Exception as e: | CODE |
| LOW⚡ | server.py | 11419 | except Exception as e: | CODE |
| LOW⚡ | server.py | 11433 | except Exception as e: | CODE |
| LOW⚡ | server.py | 11458 | except Exception as e: | CODE |
| LOW⚡ | server.py | 11472 | except Exception as e: | CODE |
| LOW⚡ | server.py | 11482 | except Exception as e: | CODE |
| LOW⚡ | server.py | 11504 | except Exception as e: | CODE |
| LOW⚡ | server.py | 11519 | except Exception as e: | CODE |
| LOW⚡ | server.py | 11528 | except Exception as e: | CODE |
| LOW⚡ | server.py | 12192 | except Exception as e: | CODE |
| LOW⚡ | server.py | 12200 | except Exception as e: | CODE |
| LOW⚡ | server.py | 12208 | except Exception as e: | CODE |
| 579 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL⚡ | py/feishu_bot_manager.py | 477 | upload_resp = self.lark_client.im.v1.file.create(CreateFileRequest.builder().request_body(CreateFileRequestB | CODE |
| CRITICAL⚡ | py/feishu_bot_manager.py | 484 | self.lark_client.im.v1.message.create(req) | CODE |
| CRITICAL⚡ | py/feishu_bot_manager.py | 487 | self.lark_client.im.v1.message.reply(req) | CODE |
| CRITICAL⚡ | py/feishu_bot_manager.py | 521 | upload_resp = self.lark_client.im.v1.file.create(CreateFileRequest.builder().request_body(CreateFile | CODE |
| CRITICAL⚡ | py/feishu_bot_manager.py | 526 | self.lark_client.im.v1.message.create(CreateMessageRequest.builder().receive_id_type("chat_id"). | CODE |
| CRITICAL⚡ | py/feishu_bot_manager.py | 528 | self.lark_client.im.v1.message.reply(ReplyMessageRequest.builder().message_id(original_msg.messa | CODE |
| CRITICAL⚡ | py/feishu_bot_manager.py | 640 | self.lark_client.im.v1.message.create(req) | CODE |
| CRITICAL⚡ | py/feishu_bot_manager.py | 643 | self.lark_client.im.v1.message.reply(req) | CODE |
| CRITICAL⚡ | py/feishu_bot_manager.py | 653 | up_resp = self.lark_client.im.v1.image.create(CreateImageRequest.builder().request_body(CreateImageRequestBo | CODE |
| CRITICAL⚡ | py/feishu_bot_manager.py | 658 | self.lark_client.im.v1.message.create(CreateMessageRequest.builder().receive_id_type("chat_id").request_ | CODE |
| CRITICAL⚡ | py/feishu_bot_manager.py | 660 | self.lark_client.im.v1.message.reply(ReplyMessageRequest.builder().message_id(original_msg.message_id).r | CODE |
| CRITICAL | py/feishu_bot_manager.py | 358 | res_resp = self.lark_client.im.v1.message_resource.get(ResReq.builder().message_id(msg.message_id).file_ | CODE |
| CRITICAL | py/feishu_bot_manager.py | 369 | res_resp = self.lark_client.im.v1.message_resource.get(ResReq.builder().message_id(msg.message_id).file_ | CODE |
| CRITICAL | py/feishu_bot_manager.py | 379 | res_resp = self.lark_client.im.v1.message_resource.get(ResReq.builder().message_id(msg.message_id).file_ | CODE |
| CRITICAL | static/js/vue_methods.js | 19593 | this.tempBehavior.action.random.events.push(''); | CODE |
| CRITICAL | static/js/vue_methods.js | 19602 | this.tempBehavior.action.random.events.splice(eIdx, 1); | CODE |
| CRITICAL | static/js/vue_methods.js | 19638 | this.tempBehavior.action.random.events.push(''); // 增加一个空字符串(即空输入框) | CODE |
| CRITICAL | static/js/vue_methods.js | 19647 | this.tempBehavior.action.random.events.splice(index, 1); | CODE |
| CRITICAL | static/libs/exceljs.min.js | 3 | !function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof defin | CODE |
| CRITICAL | static/libs/exceljs.min.js | 22 | */!function(e){"object"==typeof r&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==i?i:"undefined"! | COMMENT |
| CRITICAL | …tic/libs/three/examples/jsm/postprocessing/GTAOPass.js | 157 | this.gtaoMaterial.uniforms.resolution.value.set( this.width, this.height ); | CODE |
| CRITICAL | …tic/libs/three/examples/jsm/postprocessing/GTAOPass.js | 174 | this.pdMaterial.uniforms.resolution.value.set( this.width, this.height ); | CODE |
| CRITICAL⚡ | …tic/libs/three/examples/jsm/postprocessing/GTAOPass.js | 256 | this.gtaoMaterial.uniforms.resolution.value.set( width, height ); | CODE |
| CRITICAL⚡ | …tic/libs/three/examples/jsm/postprocessing/GTAOPass.js | 257 | this.gtaoMaterial.uniforms.cameraProjectionMatrix.value.copy( this.camera.projectionMatrix ); | CODE |
| CRITICAL⚡ | …tic/libs/three/examples/jsm/postprocessing/GTAOPass.js | 258 | this.gtaoMaterial.uniforms.cameraProjectionMatrixInverse.value.copy( this.camera.projectionMatrixInverse ); | CODE |
| CRITICAL⚡ | …tic/libs/three/examples/jsm/postprocessing/GTAOPass.js | 260 | this.pdMaterial.uniforms.resolution.value.set( width, height ); | CODE |
| CRITICAL⚡ | …tic/libs/three/examples/jsm/postprocessing/GTAOPass.js | 261 | this.pdMaterial.uniforms.cameraProjectionMatrixInverse.value.copy( this.camera.projectionMatrixInverse ); | CODE |
| CRITICAL | …tic/libs/three/examples/jsm/postprocessing/GTAOPass.js | 357 | this.gtaoMaterial.uniforms.sceneBoxMin.value.copy( box.min ); | CODE |
| CRITICAL | …tic/libs/three/examples/jsm/postprocessing/GTAOPass.js | 358 | this.gtaoMaterial.uniforms.sceneBoxMax.value.copy( box.max ); | CODE |
| CRITICAL⚡ | …tic/libs/three/examples/jsm/postprocessing/GTAOPass.js | 514 | this.gtaoMaterial.uniforms.cameraProjectionMatrix.value.copy( this.camera.projectionMatrix ); | CODE |
| CRITICAL⚡ | …tic/libs/three/examples/jsm/postprocessing/GTAOPass.js | 515 | this.gtaoMaterial.uniforms.cameraProjectionMatrixInverse.value.copy( this.camera.projectionMatrixInverse ); | CODE |
| CRITICAL⚡ | …tic/libs/three/examples/jsm/postprocessing/GTAOPass.js | 516 | this.gtaoMaterial.uniforms.cameraWorldMatrix.value.copy( this.camera.matrixWorld ); | CODE |
| CRITICAL⚡ | …tic/libs/three/examples/jsm/postprocessing/GTAOPass.js | 521 | this.pdMaterial.uniforms.cameraProjectionMatrixInverse.value.copy( this.camera.projectionMatrixInverse ); | CODE |
| CRITICAL | …ree/examples/jsm/postprocessing/RenderPixelatedPass.js | 133 | this._fsQuad.material.uniforms.resolution.value.set( x, y, 1 / x, 1 / y ); | CODE |
| CRITICAL | static/libs/three/examples/jsm/loaders/AMFLoader.js | 157 | unit = node.documentElement.attributes.unit.value.toLowerCase(); | CODE |
| CRITICAL | static/libs/three/examples/jsm/lines/Wireframe.js | 100 | this.material.uniforms.resolution.value.set( _viewport.z, _viewport.w ); | CODE |
| CRITICAL | static/libs/three/examples/jsm/lines/LineSegments2.js | 418 | this.material.uniforms.resolution.value.set( _viewport.z, _viewport.w ); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | server.py | 371 | # --------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | server.py | 374 | # --------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | server.py | 384 | # --------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | server.py | 387 | # --------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | server.py | 396 | # --------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | server.py | 398 | # --------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | server.py | 3585 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | server.py | 3587 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | server.py | 5948 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | server.py | 5950 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | server.py | 8308 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 8310 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 8316 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 8318 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 9110 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 9112 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 9141 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 9143 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 9187 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 9189 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 9550 | # --------------------------- | COMMENT |
| MEDIUM⚡ | server.py | 9552 | # --------------------------- | COMMENT |
| MEDIUM⚡ | server.py | 9561 | # --------------------------- | COMMENT |
| MEDIUM⚡ | server.py | 9563 | # --------------------------- | COMMENT |
| MEDIUM⚡ | server.py | 9572 | # --------------------------- | COMMENT |
| MEDIUM⚡ | server.py | 9574 | # --------------------------- | COMMENT |
| MEDIUM⚡ | server.py | 10167 | # ============================================================ | COMMENT |
| MEDIUM⚡ | server.py | 10169 | # ============================================================ | COMMENT |
| MEDIUM⚡ | server.py | 11132 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 11134 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 11203 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 11205 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 11249 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 11251 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 11294 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 11296 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 11340 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 11342 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 11383 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 11385 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 11422 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 11424 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 11461 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 11463 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 11508 | # ========================================== | COMMENT |
| MEDIUM⚡ | server.py | 11510 | # ========================================== | COMMENT |
| MEDIUM | server.py | 288 | # ========================================== | COMMENT |
| MEDIUM | server.py | 290 | # ========================================== | COMMENT |
| MEDIUM | server.py | 353 | # --------------------------------------------------------- | COMMENT |
| MEDIUM | server.py | 356 | # --------------------------------------------------------- | COMMENT |
| MEDIUM | server.py | 1116 | # ── 前端静态资源内容版本号注入 ───────────────────────────────────────────── | COMMENT |
| MEDIUM | server.py | 3540 | # ========================================== | COMMENT |
| MEDIUM | server.py | 3542 | # ========================================== | COMMENT |
| MEDIUM | server.py | 3686 | # ========================================================================= | COMMENT |
| MEDIUM | server.py | 6049 | # ========================================================================= | COMMENT |
| MEDIUM | server.py | 8274 | # ========================================== | COMMENT |
| MEDIUM | server.py | 8276 | # ========================================== | COMMENT |
| MEDIUM | server.py | 8293 | # -------------------------------- | COMMENT |
| MEDIUM | server.py | 9018 | # ========================================== | COMMENT |
| MEDIUM | server.py | 9020 | # ========================================== | COMMENT |
| 90 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | server.py | 5941 | async def generate_complete_response(client,reasoner_client, request: ChatRequest, settings: dict,fastapi_base_url,enabl | CODE |
| LOW⚡ | server.py | 10257 | async def select_external_target_endpoint(request: Request): | CODE |
| LOW⚡ | server.py | 10266 | async def switch_external_target_endpoint(request: Request): | CODE |
| LOW⚡ | server.py | 10275 | async def refresh_external_targets_endpoint(request: Request): | CODE |
| LOW | server.py | 754 | def _wrap_client_chat_with_retry(client, max_retries=3, base_delay=1.0): | CODE |
| LOW | server.py | 1826 | def _build_group_memory_prompt(group: dict, memories: list[dict]) -> str: | CODE |
| LOW | server.py | 1851 | async def _apply_group_memory_context(request: ChatRequest) -> dict: | CODE |
| LOW | server.py | 2050 | async def _invalidate_group_memories_by_chat(source_chat_id: str) -> None: | CODE |
| LOW | server.py | 2061 | async def _invalidate_group_memories_by_group(group_id: str) -> None: | CODE |
| LOW | server.py | 2072 | async def _invalidate_all_group_memories() -> None: | CODE |
| LOW | server.py | 7565 | async def extract_group_memory_endpoint(req: GroupMemoryExtractRequest): | CODE |
| LOW | server.py | 7592 | async def delete_conversation_endpoint(req: DeleteConversationRequest): | CODE |
| LOW | server.py | 7603 | async def clear_group_memory_endpoint(req: ClearGroupMemoryRequest): | CODE |
| LOW | server.py | 7609 | async def clear_all_group_memory_endpoint(): | CODE |
| LOW | server.py | 8616 | async def broadcast_expressions_to_tha(self, expressions: list): | CODE |
| LOW | server.py | 8948 | async def subtitles_websocket_endpoint(websocket: WebSocket): | CODE |
| LOW | server.py | 10241 | async def execute_external_cdp_endpoint(request: Request): | CODE |
| LOW | server.py | 10988 | async def get_file_content_endpoint(file_url: str): | CODE |
| LOW | server.py | 11665 | def _soulx_image_id_from_name(display_name: str) -> str: | CODE |
| LOW | server.py | 2262 | async def get_project_skills_summary(cwd: str, visibility_scope: str = "workspace") -> str: | STRING |
| LOW | server.py | 3180 | def get_drs_stage_system_message(DRS_STAGE,user_prompt,full_content): | STRING |
| LOW | main.js | 609 | function getUsedPortsByOtherAccounts() { | CODE |
| LOW | main.js | 667 | async function showAccountSelectionWindow(registry) { | CODE |
| LOW | main.js | 2564 | function copyImageToClipboardWithFile(image) { | CODE |
| LOW | py/utility_tools.py | 330 | async def get_wikipedia_summary_and_sections( | CODE |
| LOW | py/utility_tools.py | 385 | async def get_wikipedia_section_content( | CODE |
| LOW | py/overlay_router.py | 42 | async def websocket_overlay_endpoint(websocket: WebSocket): | CODE |
| LOW | py/mode_change.py | 10 | async def update_workspace_settings( | CODE |
| LOW | py/local_app_control.py | 121 | async def disconnect_from_external_app(port: int) -> dict: | CODE |
| LOW | py/local_app_control.py | 604 | def _scan_linux_desktop_entries(known_paths: set, search_paths: list) -> list: | CODE |
| LOW | py/local_app_control.py | 703 | def _scan_macos_portable_apps(search_paths: list) -> list: | CODE |
| LOW | py/skills.py | 392 | def _install_skills_from_directory(source_dir: Path) -> List[str]: | CODE |
| LOW | py/skills.py | 613 | async def get_project_skills_status(path: str): | CODE |
| LOW | py/feishu_bot_manager.py | 544 | def _extract_images_from_post(self, post_content): | CODE |
| LOW⚡ | py/cli_tool.py | 60 | async def _ensure_bubblewrap_in_wsl() -> tuple: | CODE |
| LOW | py/cli_tool.py | 735 | async def get_or_create_docker_sandbox(cwd: str, image_name: str = "docker/sandbox-templates:claude-code") -> str: | CODE |
| LOW | py/cli_tool.py | 1877 | async def read_file_range_tool_local(path: str, start_line: int, end_line: int) -> str: | STRING |
| LOW | py/cli_tool.py | 2078 | async def edit_file_string_tool_local(path: str, old_string: str, new_string: str, replace_all: bool = False) -> str: | STRING |
| LOW | py/diary_engine.py | 99 | def get_actions_that_need_tool(self): | CODE |
| LOW | py/diary_engine.py | 260 | async def _try_enable_knowledge_base(self) -> bool: | CODE |
| LOW | py/diary_engine.py | 467 | async def _get_enable_tools_for_action(self, action: str): | CODE |
| LOW⚡ | py/dify_openai.py | 35 | def _extract_conv_id_from_messages(messages: List[ChatCompletionMessageParam]) -> str | None: | CODE |
| LOW | py/affection_system.py | 37 | async def extract_and_update_affection(full_content): | CODE |
| LOW⚡ | py/ws_manager.py | 55 | async def broadcast_settings_update(self, settings: dict, exclude: Optional[WebSocket] = None): | CODE |
| LOW | py/vts_manager.py | 44 | def current_active_expressions(self): | CODE |
| LOW | py/diary_chat_integration.py | 59 | async def summarize_and_save_buffers(idle_minutes: int = 15): | CODE |
| LOW | py/load_files.py | 398 | def _extract_text_from_xml_element(element): | CODE |
| LOW | py/sub_agent.py | 390 | async def run_subtask_in_background(task_id: str, workspace_dir: str, settings: Dict, consensus_content: Optional[str] = | CODE |
| LOW | py/moss_tts.py | 101 | def _validate_generated_frames(frames, audio_codebook_size): | CODE |
| LOW | py/agent.py | 9 | def is_tool_allowed_by_project_config(cwd: str, tool_name: str) -> bool: | CODE |
| LOW | py/agent.py | 29 | def add_tool_to_project_config(cwd: str, tool_name: str): | CODE |
| LOW | py/guard.py | 60 | def check_content_safety_sync(text: str, min_cjk_chars: int = 2) -> tuple: | CODE |
| LOW | py/diary_system.py | 43 | async def _migrate_legacy_if_needed(): | CODE |
| LOW⚡ | py/get_setting.py | 224 | def get_default_settings_sync(): | CODE |
| LOW⚡ | py/get_setting.py | 241 | def _copy_default_skills_sync(): | CODE |
| LOW | py/get_setting.py | 36 | def get_effective_user_data_dir(): | CODE |
| LOW | py/get_setting.py | 484 | def _cleanup_model_paths_sync(user_settings, has_changes): | STRING |
| LOW | py/qq_bot_manager.py | 397 | async def on_group_at_message_create(self, message: GroupMessage): | CODE |
| LOW | py/shortcut_commands.py | 458 | async def build_personality_info_text(lang="zh"): | CODE |
| LOW | py/shortcut_commands.py | 555 | async def handle_personality_command(text, lang="zh"): | CODE |
| 121 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | py/cdp_tool.py | 607 | let best = null, bestScore = 0; | CODE |
| HIGH | py/cdp_tool.py | 613 | const txt = (el.innerText || el.textContent || '').trim().toLowerCase(); | CODE |
| HIGH⚡ | py/cli_tool.py | 62 | check_cmd = ["wsl.exe", "-e", "bash", "-c", "command -v bwrap || echo NOT_FOUND"] | CODE |
| HIGH⚡ | py/cli_tool.py | 90 | "Please manually run in WSL: sudo apt update && sudo apt install bubblewrap" | CODE |
| HIGH⚡ | py/cli_tool.py | 99 | f'source {home}/.zshrc && env', | CODE |
| HIGH⚡ | py/cli_tool.py | 100 | f'source {home}/.bash_profile && env', | CODE |
| HIGH⚡ | py/cli_tool.py | 101 | f'source {home}/.bashrc && env', | CODE |
| HIGH | py/cli_tool.py | 76 | "sudo apt-get update -qq && sudo apt-get install -y -qq bubblewrap" | CODE |
| HIGH | py/cli_tool.py | 1214 | total=$(wc -l < "{path}" 2>/dev/null || echo 0) | STRING |
| HIGH⚡ | py/ext_cdp.py | 117 | if (t === 'INPUT' || t === 'TEXTAREA') return el.value || el.getAttribute('placeholder') || el.name || title || | CODE |
| HIGH⚡ | py/ext_cdp.py | 119 | if (t === 'IMG') return el.alt || title || ''; | CODE |
| HIGH⚡ | py/ext_cdp.py | 120 | if (!el.childNodes.length && title) return title.slice(0, 60); | CODE |
| HIGH⚡ | py/ext_cdp.py | 121 | const txt = el.innerText || el.textContent || title || ''; | CODE |
| HIGH⚡ | py/ext_cdp.py | 138 | const displayTag = role || tag; | CODE |
| HIGH⚡ | py/ext_cdp.py | 140 | const val = (el.value && el.value !== name) ? ' Value: "' + el.value.slice(0, 40) + '"' : ''; | CODE |
| HIGH⚡ | py/ext_cdp.py | 141 | lines.push('[' + uid + '] ' + displayTag + (name ? ' "' + name + '"' : '') + val); | CODE |
| HIGH | py/ext_cdp.py | 235 | let best = null, bestScore = 0; | CODE |
| HIGH | py/ext_cdp.py | 241 | const txt = (el.innerText || el.textContent || '').trim().toLowerCase(); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | server.py | 651 | CODE | |
| LOW | server.py | 732 | CODE | |
| LOW | server.py | 754 | CODE | |
| LOW | server.py | 1304 | CODE | |
| LOW | server.py | 1671 | CODE | |
| LOW | server.py | 2080 | CODE | |
| LOW | server.py | 2092 | CODE | |
| LOW | server.py | 2126 | CODE | |
| LOW | server.py | 2262 | CODE | |
| LOW | server.py | 2338 | CODE | |
| LOW | server.py | 3288 | CODE | |
| LOW | server.py | 3303 | CODE | |
| LOW | server.py | 3393 | CODE | |
| LOW | server.py | 3437 | CODE | |
| LOW | server.py | 5941 | CODE | |
| LOW | server.py | 6946 | CODE | |
| LOW | server.py | 7116 | CODE | |
| LOW | server.py | 7163 | CODE | |
| LOW | server.py | 7843 | CODE | |
| LOW | server.py | 7892 | CODE | |
| LOW | server.py | 8036 | CODE | |
| LOW | server.py | 8243 | CODE | |
| LOW | server.py | 8360 | CODE | |
| LOW | server.py | 8458 | CODE | |
| LOW | server.py | 8688 | CODE | |
| LOW | server.py | 8799 | CODE | |
| LOW | server.py | 8819 | CODE | |
| LOW | server.py | 8837 | CODE | |
| LOW | server.py | 8969 | CODE | |
| LOW | server.py | 9520 | CODE | |
| LOW | server.py | 9678 | CODE | |
| LOW | server.py | 10283 | CODE | |
| LOW | server.py | 10383 | CODE | |
| LOW | server.py | 10962 | CODE | |
| LOW | server.py | 11707 | CODE | |
| LOW | server.py | 11791 | CODE | |
| LOW | server.py | 11956 | CODE | |
| LOW | server.py | 12135 | CODE | |
| LOW | server.py | 12448 | CODE | |
| LOW | server.py | 765 | CODE | |
| LOW | server.py | 2917 | CODE | |
| LOW | server.py | 8616 | CODE | |
| LOW | server.py | 8850 | CODE | |
| LOW | server.py | 9690 | CODE | |
| LOW | server.py | 4093 | CODE | |
| LOW | server.py | 8884 | CODE | |
| LOW | server.py | 9534 | CODE | |
| LOW | server.py | 7339 | CODE | |
| LOW | server.py | 9235 | CODE | |
| LOW | server.py | 9307 | CODE | |
| LOW | py/comfyui_tool.py | 54 | CODE | |
| LOW | py/cdp_tool.py | 105 | CODE | |
| LOW | py/ui_tree_helper.py | 40 | CODE | |
| LOW | py/ui_tree_helper.py | 321 | CODE | |
| LOW | py/ui_tree_helper.py | 334 | CODE | |
| LOW | py/llm_tool.py | 101 | CODE | |
| LOW | py/llm_tool.py | 123 | CODE | |
| LOW | py/ebd_model_manager.py | 112 | CODE | |
| LOW | py/ebd_model_manager.py | 138 | CODE | |
| LOW | py/local_app_control.py | 121 | CODE | |
| 112 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | server.py | 68 | CODE | |
| LOW | server.py | 68 | CODE | |
| LOW | server.py | 68 | CODE | |
| LOW | server.py | 102 | CODE | |
| LOW | server.py | 320 | CODE | |
| LOW | server.py | 321 | CODE | |
| LOW | server.py | 321 | CODE | |
| LOW | server.py | 322 | CODE | |
| LOW | server.py | 324 | CODE | |
| LOW | server.py | 464 | CODE | |
| LOW | server.py | 8839 | CODE | |
| LOW | server.py | 10189 | CODE | |
| LOW | server.py | 10189 | CODE | |
| LOW | py/cdp_tool.py | 2 | CODE | |
| LOW | py/cdp_tool.py | 3 | CODE | |
| LOW | py/cdp_tool.py | 4 | CODE | |
| LOW | py/cdp_tool.py | 8 | CODE | |
| LOW | py/cdp_tool.py | 8 | CODE | |
| LOW | py/utility_tools.py | 9 | CODE | |
| LOW | py/overlay_router.py | 5 | CODE | |
| LOW | py/task_center.py | 2 | CODE | |
| LOW | py/skills.py | 8 | CODE | |
| LOW | py/skills.py | 11 | CODE | |
| LOW | py/skills.py | 12 | CODE | |
| LOW | py/ClaudeAsOpenAI.py | 2 | CODE | |
| LOW | py/ClaudeAsOpenAI.py | 3 | CODE | |
| LOW | py/sleep_guard.py | 16 | CODE | |
| LOW | py/sleep_guard.py | 17 | CODE | |
| LOW | py/cli_tool.py | 14 | CODE | |
| LOW | py/cli_tool.py | 23 | CODE | |
| LOW | py/cli_tool.py | 32 | CODE | |
| LOW | py/discord_bot_manager.py | 9 | CODE | |
| LOW | py/discord_bot_manager.py | 14 | CODE | |
| LOW | py/discord_bot_manager.py | 14 | CODE | |
| LOW | py/tha_engine.py | 5 | CODE | |
| LOW | py/tha_engine.py | 6 | CODE | |
| LOW | py/moss_model_manager.py | 3 | CODE | |
| LOW | py/behavior_engine.py | 6 | CODE | |
| LOW | py/ytdm.py | 2 | CODE | |
| LOW | py/ytdm.py | 3 | CODE | |
| LOW | py/diary_chat_integration.py | 6 | CODE | |
| LOW | py/extensions.py | 4 | CODE | |
| LOW | py/telegram_bot_manager.py | 1 | CODE | |
| LOW | py/telegram_bot_manager.py | 1 | CODE | |
| LOW | py/telegram_bot_manager.py | 2 | CODE | |
| LOW | py/telegram_bot_manager.py | 2 | CODE | |
| LOW | py/load_files.py | 10 | CODE | |
| LOW | py/sub_agent.py | 4 | CODE | |
| LOW | py/sub_agent.py | 6 | CODE | |
| LOW | py/sub_agent.py | 8 | CODE | |
| LOW | py/image_host.py | 1 | CODE | |
| LOW | py/image_host.py | 4 | CODE | |
| LOW | py/image_host.py | 5 | CODE | |
| LOW | py/image_host.py | 7 | CODE | |
| LOW | py/slack_bot_manager.py | 2 | CODE | |
| LOW | py/slack_bot_manager.py | 3 | CODE | |
| LOW | py/mcp_clients.py | 2 | CODE | |
| LOW | py/agent.py | 2 | CODE | |
| LOW | py/sherpa_model_manager.py | 2 | CODE | |
| LOW | py/telegram_client.py | 1 | CODE | |
| 35 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | py/blivedm/handlers.py | 81 | # 收到心跳包,这是blivedm自造的消息,原本的心跳包格式不一样 | COMMENT |
| LOW | static/fontawesome/scss/_functions.scss | 1 | // functions | COMMENT |
| LOW | static/fontawesome/scss/_functions.scss | 21 | // furnished to do so, subject to the following conditions: | COMMENT |
| LOW | static/js/vrm.js | 1761 | // called when the resource is loaded | COMMENT |
| LOW | static/js/vrm.js | 1781 | // // 确保正确混合模式 | COMMENT |
| LOW | static/js/vrm.js | 4701 | // // 解决透明材质黑边问题 | COMMENT |
| LOW | static/js/vue_methods.js | 1301 | // 2. 过滤转义或被 LaTeX 机制转换后的自定义标签(如 \lt 星莱\gt 或 \lt /星莱\gt) | COMMENT |
| LOW | static/js/vue_methods.js | 1461 | COMMENT | |
| LOW | static/js/vue_methods.js | 8081 | // async startWXBot() { | COMMENT |
| LOW | static/js/vue_methods.js | 8101 | // const errorMessage = result.message || '启动失败,请检查配置'; | COMMENT |
| LOW | static/js/vue_methods.js | 8121 | // try { | COMMENT |
| LOW | static/js/vue_methods.js | 8141 | // } | COMMENT |
| LOW | static/js/vue_methods.js | 8161 | // showNotification('微信机器人配置已更新', 'success'); | COMMENT |
| LOW | static/js/vue_methods.js | 8181 | // // 更新机器人运行状态 | COMMENT |
| LOW | …atic/libs/@pixiv/three-vrm/lib/three-vrm.module.min.js | 21 | COMMENT | |
| LOW | …atic/libs/@pixiv/three-vrm/lib/three-vrm.module.min.js | 61 | // #include <uv2_vertex> | COMMENT |
| LOW | …atic/libs/@pixiv/three-vrm/lib/three-vrm.module.min.js | 81 | #ifndef FLAT_SHADED // Normal computed with derivatives when FLAT_SHADED | COMMENT |
| LOW | …atic/libs/@pixiv/three-vrm/lib/three-vrm.module.min.js | 181 | #endif | COMMENT |
| LOW | …atic/libs/@pixiv/three-vrm/lib/three-vrm.module.min.js | 201 | #include <aomap_pars_fragment> | COMMENT |
| LOW | …atic/libs/@pixiv/three-vrm/lib/three-vrm.module.min.js | 341 | // COMPAT: pre-r151 | COMMENT |
| LOW | …atic/libs/@pixiv/three-vrm/lib/three-vrm.module.min.js | 701 | #if THREE_VRM_THREE_REVISION >= 166 | COMMENT |
| LOW | …atic/libs/@pixiv/three-vrm/lib/three-vrm.module.min.js | 741 | spotLightShadow = spotLightShadows[ i ]; | COMMENT |
| LOW | …atic/libs/@pixiv/three-vrm/lib/three-vrm.module.min.js | 781 | COMMENT | |
| LOW | …atic/libs/@pixiv/three-vrm/lib/three-vrm.module.min.js | 801 | } | COMMENT |
| LOW | static/libs/pixi/pixi.min.js | 721 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | COMMENT |
| LOW | static/libs/three/examples/jsm/misc/VolumeSlice.js | 181 | if ( volume.dataType === 'label' ) { | COMMENT |
| LOW | …bs/three/examples/jsm/materials/MeshGouraudMaterial.js | 41 | #include <uv_pars_vertex> | COMMENT |
| LOW | …bs/three/examples/jsm/materials/MeshGouraudMaterial.js | 61 | #include <skinbase_vertex> | COMMENT |
| LOW | …bs/three/examples/jsm/materials/MeshGouraudMaterial.js | 221 | #endif | COMMENT |
| LOW | …bs/three/examples/jsm/materials/MeshGouraudMaterial.js | 241 | #include <specularmap_pars_fragment> | COMMENT |
| LOW | static/libs/three/examples/jsm/objects/SkyMesh.js | 101 | COMMENT | |
| LOW | static/libs/three/examples/jsm/libs/opentype.module.js | 1561 | var value = deltas[pos]; | COMMENT |
| LOW | static/libs/three/examples/jsm/libs/opentype.module.js | 4201 | // discovered inside CID-keyed fonts. When a Top DICT has a reference to | COMMENT |
| LOW | static/libs/three/examples/jsm/libs/opentype.module.js | 5561 | }; | COMMENT |
| LOW | static/libs/three/examples/jsm/libs/opentype.module.js | 5701 | // IANA language subtag registry for IETF BCP 47. | COMMENT |
| LOW | static/libs/three/examples/jsm/libs/opentype.module.js | 8661 | }, | COMMENT |
| LOW | …c/libs/three/examples/jsm/libs/lottie_canvas.module.js | 13421 | } | COMMENT |
| LOW | …c/libs/three/examples/jsm/libs/lottie_canvas.module.js | 13521 | } | COMMENT |
| LOW | static/libs/three/examples/jsm/libs/potpack.module.js | 81 | // space matches the box height; update it accordingly | COMMENT |
| LOW | …atic/libs/three/examples/jsm/shaders/VelocityShader.js | 61 | COMMENT | |
| LOW | …atic/libs/three/examples/jsm/shaders/HalftoneShader.js | 41 | void main() { | COMMENT |
| LOW | …tic/libs/three/examples/jsm/loaders/MaterialXLoader.js | 81 | new MXElement( 'crossproduct', cross, [ 'in' ] ), | COMMENT |
| LOW | static/libs/three/examples/jsm/loaders/EXRLoader.js | 21 | // Redistribution and use in source and binary forms, with or without | COMMENT |
| LOW | static/libs/three/examples/jsm/loaders/EXRLoader.js | 41 | // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | COMMENT |
| LOW | static/libs/three/examples/jsm/loaders/EXRLoader.js | 61 | // // distribution. | COMMENT |
| LOW | static/libs/three/examples/jsm/loaders/TDSLoader.js | 941 | const MDATA = 0x3D3D; | COMMENT |
| LOW | static/libs/three/examples/jsm/loaders/TDSLoader.js | 961 | // const LAYER_FOG = 0x2302; | COMMENT |
| LOW | static/libs/three/examples/jsm/loaders/TDSLoader.js | 981 | const MAT_TWO_SIDE = 0xA081; | COMMENT |
| LOW | static/libs/three/examples/jsm/loaders/TDSLoader.js | 1001 | // const MAT_SXP_OPACMASK_DATA = 0xA32E; | COMMENT |
| LOW | static/libs/three/examples/jsm/loaders/TDSLoader.js | 1021 | // const MAT_ACUBIC = 0xA310; | COMMENT |
| LOW | static/libs/three/examples/jsm/loaders/TDSLoader.js | 1041 | // const DL_EXCLUDE = 0x4654; | COMMENT |
| LOW | static/libs/three/examples/jsm/loaders/TDSLoader.js | 1061 | // const OBJ_MATTE = 0x4013; | COMMENT |
| LOW | static/libs/three/examples/jsm/loaders/TDSLoader.js | 1081 | // const OBJECT_NODE_TAG = 0xB002; | COMMENT |
| LOW | static/libs/three/examples/jsm/loaders/TDSLoader.js | 1101 | // const FALL_TRACK_TAG = 0xB028; | COMMENT |
| LOW | static/libs/three/examples/jsm/loaders/TDSLoader.js | 1121 | // const USE_SCALE = 0x6120; | COMMENT |
| LOW | scripts/anime4k-entry.js | 1 | // Build entry for Anime4K WebGPU super-resolution bundle. | COMMENT |
| LOW | …/sap-extension-creator/assets/node-template/index.html | 81 | .msg.user .bubble { background: var(--accent); color: #fff; } | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | py/web_search.py | 1056 | # Step 1: Initialize MCP session | COMMENT |
| LOW | py/web_search.py | 1082 | # Step 2: Call you-search | COMMENT |
| LOW⚡ | py/acpx_tools.py | 564 | # Step 1: Ensure persistent session exists | COMMENT |
| LOW⚡ | py/acpx_tools.py | 580 | # Step 2: Set session permission mode via set-mode | COMMENT |
| LOW⚡ | py/acpx_tools.py | 596 | # Step 3: Build and execute prompt command | COMMENT |
| LOW⚡ | static/libs/three/examples/jsm/loaders/SVGLoader.js | 824 | // Step 3: Compute (cx, cy) from (cx', cy') | COMMENT |
| LOW⚡ | static/libs/three/examples/jsm/loaders/SVGLoader.js | 828 | // Step 4: Compute θ1 and Δθ | COMMENT |
| LOW | skills/sap-extension-creator/SKILL.md | 36 | ### Step 1: Gather Requirements | COMMENT |
| LOW | skills/sap-extension-creator/SKILL.md | 49 | ### Step 2: Scaffold the Extension | COMMENT |
| LOW | skills/sap-extension-creator/SKILL.md | 58 | ### Step 3: Write package.json | COMMENT |
| LOW | skills/sap-extension-creator/SKILL.md | 94 | ### Step 4: Write index.html | COMMENT |
| LOW | skills/sap-extension-creator/SKILL.md | 111 | ### Step 5: Write index.js (Node.js only) | COMMENT |
| LOW | skills/sap-extension-creator/SKILL.md | 121 | ### Step 6: Implement Tool Registration (optional, works in both modes) | COMMENT |
| LOW | skills/find-skills/SKILL.md | 36 | ### Step 1: Understand What They Need | COMMENT |
| LOW | skills/find-skills/SKILL.md | 44 | ### Step 2: Search for Skills | COMMENT |
| LOW | skills/find-skills/SKILL.md | 67 | ### Step 3: Present Options to the User | COMMENT |
| LOW | skills/find-skills/SKILL.md | 87 | ### Step 4: Offer to Install | COMMENT |
| LOW | skills/skill-creator/SKILL.md | 215 | ### Step 1: Understanding the Skill with Concrete Examples | COMMENT |
| LOW | skills/skill-creator/SKILL.md | 232 | ### Step 2: Planning the Reusable Skill Contents | COMMENT |
| LOW | skills/skill-creator/SKILL.md | 256 | ### Step 3: Initializing the Skill | COMMENT |
| LOW | skills/skill-creator/SKILL.md | 279 | ### Step 4: Edit the Skill | COMMENT |
| LOW | skills/skill-creator/SKILL.md | 320 | ### Step 5: Packaging a Skill | COMMENT |
| LOW | skills/skill-creator/SKILL.md | 347 | ### Step 6: Iterate | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | server.py | 2696 | - **Input**: `{ "type": "Input", "props": { "label": "标签", "key": "field_name", "placeholder": "..." } }` | CODE |
| LOW | server.py | 2766 | "placeholder": "例如:ls, pwd, whoami, date, echo 'Hello' 等" | CODE |
| LOW⚡ | py/ext_cdp.py | 117 | if (t === 'INPUT' || t === 'TEXTAREA') return el.value || el.getAttribute('placeholder') || el.name || title || | CODE |
| LOW | static/js/vue_methods.js | 18370 | if (el.tagName === 'INPUT' || el.tagName === 'TEXTAREA') return el.value || el.getAttribute('placeho | CODE |
| LOW⚡ | static/js/locales/en-US.js | 510 | "default": "John Doe", | CODE |
| LOW⚡ | static/js/locales/en-US.js | 511 | "enum": ["John Doe", "Jane Doe"] | CODE |
| LOW⚡ | static/js/locales/en-US.js | 511 | "enum": ["John Doe", "Jane Doe"] | CODE |
| LOW⚡ | static/js/locales/zh-CN.js | 511 | "default": "John Doe", | CODE |
| LOW⚡ | static/js/locales/zh-CN.js | 512 | "enum": ["John Doe", "Jane Doe"] | CODE |
| LOW⚡ | static/js/locales/zh-CN.js | 512 | "enum": ["John Doe", "Jane Doe"] | CODE |
| LOW | static/libs/highlight.min.js | 313 | }),ae=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code", | CODE |
| LOW | …/sap-extension-creator/assets/node-template/index.html | 219 | $('#userInput').placeholder = t('placeholder'); | CODE |
| LOW | …ap-extension-creator/assets/static-template/index.html | 276 | $('#userInput').placeholder = t('placeholder'); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | py/web_search.py | 1056 | # Step 1: Initialize MCP session | COMMENT |
| LOW | py/web_search.py | 1082 | # Step 2: Call you-search | COMMENT |
| LOW⚡ | py/acpx_tools.py | 564 | # Step 1: Ensure persistent session exists | COMMENT |
| LOW⚡ | py/acpx_tools.py | 580 | # Step 2: Set session permission mode via set-mode | COMMENT |
| LOW⚡ | py/acpx_tools.py | 596 | # Step 3: Build and execute prompt command | COMMENT |
| LOW⚡ | static/libs/three/examples/jsm/loaders/SVGLoader.js | 824 | // Step 3: Compute (cx, cy) from (cx', cy') | COMMENT |
| LOW⚡ | static/libs/three/examples/jsm/loaders/SVGLoader.js | 828 | // Step 4: Compute θ1 and Δθ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | static/js/vue_data.js | 323 | "Authorization": "Bearer YOUR_API_KEY" | CODE |
| HIGH | static/js/vue_data.js | 343 | "Authorization": "Bearer YOUR_API_KEY" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | py/ResponsesAsOpenAI.py | 108 | CODE | |
| LOW | py/GeminiAsOpenAI.py | 49 | CODE | |
| LOW | py/ClaudeAsOpenAI.py | 147 | CODE | |
| LOW | py/pollinations.py | 164 | CODE | |
| LOW | py/task_tools.py | 116 | CODE | |
| LOW | py/know_base.py | 75 | CODE | |
| LOW | py/know_base.py | 79 | CODE | |
| LOW | py/ext_cdp.py | 23 | CODE | |
| LOW | py/a2a_tool.py | 39 | CODE | |
| LOW | py/moss/tts_runtime.py | 725 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | py/skills.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | py/tha_engine.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | py/load_files.py | 750 | logger = logging.getLogger(__name__) | CODE |
| LOW | py/live_router.py | 547 | __all__ = ["router", "ws_router"] | CODE |
| LOW | py/moss/ort_cpu_runtime.py | 788 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | py/skills.py | 107 | 解析技能元数据 (SKILL.md 的 YAML Frontmatter) Args: skill_dir: 技能目录路径 skill_id: 技能唯一标识 Re | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | static/js/vue_data.js | 2091 | print(response.choices[0].message.content)`, | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | py/pollinations.py | 14 | # Check if the provided values are default ones, if so, override them with settings | COMMENT |
| LOW | py/pollinations.py | 69 | # Check if the provided values are default ones, if so, override them with settings | COMMENT |
| LOW | skills/skill-creator/scripts/init_skill.py | 208 | # Check if directory already exists | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | server.py | 5873 | def run_task(): | CODE |
| LOW | …atic/libs/three/examples/jsm/libs/rhino3dm/rhino3dm.js | 9 | var Module=typeof rhino3dm!="undefined"?rhino3dm:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promi | CODE |
| LOW | …bs/three/examples/jsm/libs/rhino3dm/rhino3dm.module.js | 9 | var Module=typeof rhino3dm!="undefined"?rhino3dm:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promi | CODE |
| LOW | static/libs/three/examples/jsm/loaders/FBXLoader.js | 4154 | function getData( polygonVertexIndex, polygonIndex, vertexIndex, infoObject ) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …c/libs/three/examples/jsm/libs/lottie_canvas.module.js | 13461 | // For robust unpredictability, the function call below automatically | COMMENT |