Build and run agents you can see, understand and trust.
This report presents the forensic synthetic code analysis of agentscope-ai/agentscope, a Python project with 29,931 GitHub stars. SynthScan v2.0 examined 246,350 lines of code across 970 source files, recording 5105 pattern matches distributed across 21 syntactic categories. The overall adjusted score of 39.0 places this repository in the Strong AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 5105 distinct pattern matches across 21 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/mem0_middleware_test.py | 199 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/mem0_middleware_test.py | 201 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/mem0_middleware_test.py | 276 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/mem0_middleware_test.py | 278 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/mem0_middleware_test.py | 844 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/mem0_middleware_test.py | 846 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/mem0_middleware_test.py | 38 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/mem0_middleware_test.py | 40 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/mem0_middleware_test.py | 128 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/mem0_middleware_test.py | 130 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/mem0_middleware_test.py | 533 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/mem0_middleware_test.py | 535 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/model_ollama_test.py | 23 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/model_ollama_test.py | 25 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/model_ollama_test.py | 112 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/model_ollama_test.py | 114 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/model_ollama_test.py | 202 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/model_ollama_test.py | 204 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/model_ollama_test.py | 347 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/model_ollama_test.py | 349 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 188 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 190 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 242 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 244 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 312 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 314 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 393 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 395 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 487 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 489 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 580 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 582 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 803 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/storage_sql_test.py | 805 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/storage_sql_test.py | 830 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/storage_sql_test.py | 832 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/storage_sql_test.py | 924 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/storage_sql_test.py | 926 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/formatter_openai_chat_test.py | 46 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/formatter_openai_chat_test.py | 49 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/formatter_openai_chat_test.py | 110 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/formatter_openai_chat_test.py | 115 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/formatter_openai_chat_test.py | 205 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/formatter_openai_chat_test.py | 211 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/formatter_openai_chat_test.py | 283 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/formatter_openai_chat_test.py | 285 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/formatter_openai_chat_test.py | 587 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/formatter_openai_chat_test.py | 589 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/permission_engine_test.py | 687 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/permission_engine_test.py | 689 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/backend_opensandbox_test.py | 30 | # ── OpenSandbox availability check ───────────────────────────────── | COMMENT |
| MEDIUM | tests/backend_opensandbox_test.py | 60 | # ── exec ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/backend_opensandbox_test.py | 91 | # ── file I/O ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/backend_opensandbox_test.py | 111 | # ── derived filesystem helpers (shell-based) ─────────────────── | COMMENT |
| MEDIUM | tests/hub_router_test.py | 266 | # ── browse ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hub_router_test.py | 332 | # ── install: MCP ────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/hub_router_test.py | 576 | # ── workspace <-> library ───────────────────────────────────── | COMMENT |
| MEDIUM | tests/hub_router_test.py | 700 | # ── install: skill ──────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/formatter_ollama_test.py | 170 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/formatter_ollama_test.py | 172 | # ------------------------------------------------------------------ | COMMENT |
| 1072 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/embedding_openai_test.py | 154 | async def test_retry_on_transient_error( | CODE |
| LOW⚡ | tests/mem0_middleware_test.py | 207 | def test_missing_user_id_raises(self) -> None: | CODE |
| LOW⚡ | tests/mem0_middleware_test.py | 260 | def test_client_alone_does_not_warn(self) -> None: | CODE |
| LOW⚡ | tests/mem0_middleware_test.py | 266 | def test_only_one_of_chat_or_embedding_without_config_raises( | CODE |
| LOW⚡ | tests/mem0_middleware_test.py | 852 | async def test_memory_msg_and_tool_hint_both_present(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 146 | def test_list_of_user_msgs_joined(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 151 | def test_resumption_events_return_none(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 186 | def test_plain_list_of_strings(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 223 | def test_neither_client_nor_models_nor_config_raises(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 231 | def test_client_wins_over_other_backend_kwargs_with_warning( | CODE |
| LOW | tests/mem0_middleware_test.py | 304 | async def test_retrieve_inject_write(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 380 | async def test_memory_message_lands_after_user_message(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 415 | async def test_no_memories_no_injection(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 434 | async def test_search_failure_does_not_break_reply(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 451 | async def test_scope_search_by_agent_false_drops_agent_id( | CODE |
| LOW | tests/mem0_middleware_test.py | 470 | async def test_sync_client_rejected(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 490 | async def test_async_method_wrapped_by_sync_decorator_accepted( | CODE |
| LOW | tests/mem0_middleware_test.py | 567 | async def test_tools_listed_and_hint_in_prompt(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 607 | async def test_middleware_does_not_mutate_toolkit(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 675 | async def test_async_search_accepts_per_call_top_k(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 695 | async def test_tools_auto_allow_permission(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 714 | async def test_search_memory_dedupes_across_keywords(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 736 | async def test_search_memory_failure_returns_error_chunk(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 757 | async def test_add_memory_two_tier_fallback(self) -> None: | CODE |
| LOW | tests/mem0_middleware_test.py | 811 | async def test_add_memory_does_not_persist_thinking(self) -> None: | CODE |
| LOW | tests/compress_context_test.py | 143 | async def _call_api_with_structured_output( | CODE |
| LOW | tests/compress_context_test.py | 176 | def _make_failing_compression_agent( | CODE |
| LOW | tests/compress_context_test.py | 861 | async def test_split_multi_tool_pairs_reaches_stable_boundary( | CODE |
| LOW | tests/compress_context_test.py | 1183 | async def test_context_compression_clears_evicted_read_cache(self) -> None: | CODE |
| LOW | tests/compress_context_test.py | 1255 | async def test_context_compression_keeps_reserved_read_cache( | CODE |
| LOW | tests/compress_context_test.py | 1334 | async def test_context_compression_clears_unreferenced_read_cache( | CODE |
| LOW | tests/compress_context_test.py | 1392 | async def test_context_compression_injects_instructions_as_hint( | CODE |
| LOW | tests/compress_context_test.py | 1457 | async def test_context_compression_overflow_retry_keeps_instructions( | CODE |
| LOW | tests/compress_context_test.py | 1523 | async def test_max_image_num_without_offloader(self) -> None: | CODE |
| LOW | tests/compress_context_test.py | 1727 | async def test_max_image_num_with_offloader(self) -> None: | CODE |
| LOW | tests/compress_context_test.py | 1944 | async def test_max_image_num_default(self) -> None: | CODE |
| LOW | tests/compress_context_test.py | 2140 | async def test_summary_failure_truncates_context(self) -> None: | CODE |
| LOW | tests/compress_context_test.py | 2154 | async def test_offload_reminder_is_not_duplicated(self) -> None: | CODE |
| LOW | tests/agui_protocol_test.py | 73 | async def test_raw_json_stream_is_converted(self) -> None: | CODE |
| LOW | tests/agui_protocol_test.py | 88 | async def test_sse_data_frame_is_converted(self) -> None: | CODE |
| LOW | tests/agui_protocol_test.py | 108 | async def test_sse_heartbeat_is_passed_through(self) -> None: | CODE |
| LOW | tests/agui_protocol_test.py | 115 | async def test_sse_data_frame_with_crlf_is_converted(self) -> None: | CODE |
| LOW | tests/agui_protocol_test.py | 135 | async def test_fastapi_sse_response_is_converted(self) -> None: | CODE |
| LOW | tests/agui_protocol_test.py | 164 | async def test_fastapi_json_response_is_not_converted(self) -> None: | CODE |
| LOW | tests/agui_protocol_test.py | 198 | async def test_reply_start_to_run_started(self) -> None: | CODE |
| LOW | tests/agui_protocol_test.py | 212 | async def test_reply_end_to_run_finished(self) -> None: | CODE |
| LOW | tests/agui_protocol_test.py | 225 | async def test_exceed_max_iters_to_run_error(self) -> None: | CODE |
| LOW | tests/agui_protocol_test.py | 237 | async def test_deprecated_exceed_max_iters_to_custom(self) -> None: | CODE |
| LOW | tests/agui_protocol_test.py | 259 | async def test_model_call_start_to_step_started(self) -> None: | CODE |
| LOW | tests/agui_protocol_test.py | 270 | async def test_model_call_end_to_step_finished(self) -> None: | CODE |
| LOW | tests/agui_protocol_test.py | 346 | async def test_thinking_block_start(self) -> None: | CODE |
| LOW | tests/agui_protocol_test.py | 358 | async def test_thinking_block_delta(self) -> None: | CODE |
| LOW | tests/agui_protocol_test.py | 442 | async def test_tool_result_end_with_buffered_content(self) -> None: | CODE |
| LOW | tests/agui_protocol_test.py | 472 | async def test_tool_result_end_fallback_to_state(self) -> None: | CODE |
| LOW | tests/agui_protocol_test.py | 485 | async def test_tool_result_start_to_custom(self) -> None: | CODE |
| LOW | tests/agui_protocol_test.py | 498 | async def test_tool_result_text_delta_to_custom(self) -> None: | CODE |
| LOW | tests/agui_protocol_test.py | 511 | async def test_tool_result_data_delta_to_custom(self) -> None: | CODE |
| LOW | tests/agui_protocol_test.py | 585 | async def test_require_user_confirm(self) -> None: | CODE |
| LOW | tests/agui_protocol_test.py | 603 | async def test_require_external_execution(self) -> None: | CODE |
| LOW | tests/agui_protocol_test.py | 640 | async def test_external_execution_result(self) -> None: | CODE |
| 1863 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/service_cancel_dispatcher_test.py | 0 | yield the event loop a few times so spawned tasks make progress. | STRING |
| HIGH | tests/service_index_task_consumer_test.py | 0 | yield the event loop a few times so spawned tasks make progress. | STRING |
| HIGH | tests/service_wakeup_dispatcher_test.py | 0 | yield the event loop a few times so spawned tasks make progress. | STRING |
| HIGH | tests/model_ollama_test.py | 0 | non-stream text response returns a single chatresponse. | STRING |
| HIGH | tests/model_anthropic_test.py | 0 | non-stream text response returns a single chatresponse. | STRING |
| HIGH | tests/model_gemini_test.py | 0 | non-stream text response returns a single chatresponse. | STRING |
| HIGH | tests/model_dashscope_test.py | 0 | non-stream text response returns a single chatresponse. | STRING |
| HIGH | tests/model_deepseek_test.py | 0 | non-stream text response returns a single chatresponse. | STRING |
| HIGH | tests/model_openai_response_test.py | 0 | non-stream text response returns a single chatresponse. | STRING |
| HIGH | tests/model_moonshot_test.py | 0 | non-stream text response returns a single chatresponse. | STRING |
| HIGH | tests/model_openai_chat_test.py | 0 | non-stream text response returns a single chatresponse. | STRING |
| HIGH | tests/model_xai_test.py | 0 | non-stream text response returns a single chatresponse. | STRING |
| HIGH | tests/formatter_openai_chat_test.py | 0 | set up shared message fixtures and expected ground-truth dicts. | STRING |
| HIGH | tests/formatter_anthropic_test.py | 0 | set up shared message fixtures and expected ground-truth dicts. | STRING |
| HIGH | tests/formatter_gemini_test.py | 0 | set up shared message fixtures and expected ground-truth dicts. | STRING |
| HIGH | tests/formatter_dashscope_test.py | 0 | set up shared message fixtures and expected ground-truth dicts. | STRING |
| HIGH | tests/formatter_moonshot_test.py | 0 | set up shared message fixtures and expected ground-truth dicts. | STRING |
| HIGH | tests/formatter_openai_response_test.py | 0 | set up shared message fixtures and expected ground-truth dicts. | STRING |
| HIGH | tests/formatter_openai_chat_test.py | 0 | chat formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_ollama_test.py | 0 | chat formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_deepseek_test.py | 0 | chat formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_anthropic_test.py | 0 | chat formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_gemini_test.py | 0 | chat formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_dashscope_test.py | 0 | chat formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_moonshot_test.py | 0 | chat formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_openai_response_test.py | 0 | chat formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_openai_chat_test.py | 0 | multiagent formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_ollama_test.py | 0 | multiagent formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_deepseek_test.py | 0 | multiagent formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_anthropic_test.py | 0 | multiagent formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_gemini_test.py | 0 | multiagent formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_dashscope_test.py | 0 | multiagent formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_moonshot_test.py | 0 | multiagent formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_openai_response_test.py | 0 | multiagent formatter produces exact output for various subsets. | STRING |
| HIGH | tests/formatter_openai_chat_test.py | 0 | complex multi-step sequence with interleaved thinking, text, tool calls, and tool results. | STRING |
| HIGH | tests/formatter_ollama_test.py | 0 | complex multi-step sequence with interleaved thinking, text, tool calls, and tool results. | STRING |
| HIGH | tests/formatter_xai_test.py | 0 | complex multi-step sequence with interleaved thinking, text, tool calls, and tool results. | STRING |
| HIGH | tests/formatter_deepseek_test.py | 0 | complex multi-step sequence with interleaved thinking, text, tool calls, and tool results. | STRING |
| HIGH | tests/formatter_anthropic_test.py | 0 | complex multi-step sequence with interleaved thinking, text, tool calls, and tool results. | STRING |
| HIGH | tests/formatter_gemini_test.py | 0 | complex multi-step sequence with interleaved thinking, text, tool calls, and tool results. | STRING |
| HIGH | tests/formatter_moonshot_test.py | 0 | complex multi-step sequence with interleaved thinking, text, tool calls, and tool results. | STRING |
| HIGH | tests/formatter_openai_response_test.py | 0 | complex multi-step sequence with interleaved thinking, text, tool calls, and tool results. | STRING |
| HIGH | tests/formatter_openai_chat_test.py | 0 | hintblock flushes preceding content and becomes a user message. | STRING |
| HIGH | tests/formatter_ollama_test.py | 0 | hintblock flushes preceding content and becomes a user message. | STRING |
| HIGH | tests/formatter_xai_test.py | 0 | hintblock flushes preceding content and becomes a user message. | STRING |
| HIGH | tests/formatter_deepseek_test.py | 0 | hintblock flushes preceding content and becomes a user message. | STRING |
| HIGH | tests/formatter_anthropic_test.py | 0 | hintblock flushes preceding content and becomes a user message. | STRING |
| HIGH | tests/formatter_gemini_test.py | 0 | hintblock flushes preceding content and becomes a user message. | STRING |
| HIGH | tests/formatter_dashscope_test.py | 0 | hintblock flushes preceding content and becomes a user message. | STRING |
| HIGH | tests/formatter_moonshot_test.py | 0 | hintblock flushes preceding content and becomes a user message. | STRING |
| HIGH | tests/formatter_openai_response_test.py | 0 | hintblock flushes preceding content and becomes a user message. | STRING |
| HIGH | tests/formatter_openai_chat_test.py | 0 | multimodal hintblock becomes a single user message with text + image. | STRING |
| HIGH | tests/formatter_anthropic_test.py | 0 | multimodal hintblock becomes a single user message with text + image. | STRING |
| HIGH | tests/formatter_gemini_test.py | 0 | multimodal hintblock becomes a single user message with text + image. | STRING |
| HIGH | tests/formatter_dashscope_test.py | 0 | multimodal hintblock becomes a single user message with text + image. | STRING |
| HIGH | tests/formatter_moonshot_test.py | 0 | multimodal hintblock becomes a single user message with text + image. | STRING |
| HIGH | tests/formatter_openai_response_test.py | 0 | multimodal hintblock becomes a single user message with text + image. | STRING |
| HIGH | tests/backend_opensandbox_test.py | 0 | a program's stdout/exit code are captured into ``execresult``. | STRING |
| HIGH | tests/backend_e2b_test.py | 0 | a program's stdout/exit code are captured into ``execresult``. | STRING |
| HIGH | tests/backend_daytona_test.py | 0 | a program's stdout/exit code are captured into ``execresult``. | STRING |
| 241 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/tool_lazy_annotations_test.py | 9 | CODE | |
| LOW | tests/rag_vdb_elasticsearch_test.py | 4 | CODE | |
| LOW | tests/workspace_bubblewrap_test.py | 5 | CODE | |
| LOW | tests/tts_gemini_test.py | 79 | CODE | |
| LOW | tests/service_workspace_files_test.py | 9 | CODE | |
| LOW | tests/rag_vdb_mongodb_test.py | 4 | CODE | |
| LOW | src/agentscope/__init__.py | 5 | CODE | |
| LOW | src/agentscope/__init__.py | 5 | CODE | |
| LOW | src/agentscope/__init__.py | 9 | CODE | |
| LOW | src/agentscope/__init__.py | 9 | CODE | |
| LOW | src/agentscope/__init__.py | 10 | CODE | |
| LOW | src/agentscope/middleware/_base.py | 8 | CODE | |
| LOW | src/agentscope/middleware/_base.py | 9 | CODE | |
| LOW | src/agentscope/middleware/_base.py | 10 | CODE | |
| LOW | src/agentscope/middleware/_tts_middleware.py | 18 | CODE | |
| LOW | src/agentscope/middleware/__init__.py | 4 | CODE | |
| LOW | src/agentscope/middleware/__init__.py | 5 | CODE | |
| LOW | src/agentscope/middleware/__init__.py | 6 | CODE | |
| LOW | src/agentscope/middleware/__init__.py | 7 | CODE | |
| LOW | src/agentscope/middleware/__init__.py | 7 | CODE | |
| LOW | src/agentscope/middleware/__init__.py | 7 | CODE | |
| LOW | src/agentscope/middleware/__init__.py | 12 | CODE | |
| LOW | src/agentscope/middleware/__init__.py | 13 | CODE | |
| LOW | src/agentscope/middleware/_rag.py | 61 | CODE | |
| LOW | src/agentscope/middleware/_rag.py | 62 | CODE | |
| LOW | src/agentscope/middleware/_rag.py | 62 | CODE | |
| LOW | src/agentscope/middleware/_budget.py | 11 | CODE | |
| LOW | src/agentscope/middleware/_longterm_memory/__init__.py | 4 | CODE | |
| LOW | src/agentscope/middleware/_longterm_memory/__init__.py | 5 | CODE | |
| LOW | src/agentscope/middleware/_longterm_memory/__init__.py | 6 | CODE | |
| LOW | …iddleware/_longterm_memory/_agentic_memory/__init__.py | 4 | CODE | |
| LOW | …leware/_longterm_memory/_agentic_memory/_middleware.py | 8 | CODE | |
| LOW | …leware/_longterm_memory/_agentic_memory/_middleware.py | 25 | CODE | |
| LOW | …ddleware/_longterm_memory/_mem0/_agentscope_adapter.py | 32 | CODE | |
| LOW | …ddleware/_longterm_memory/_mem0/_agentscope_adapter.py | 55 | CODE | |
| LOW | …agentscope/middleware/_longterm_memory/_mem0/_tools.py | 19 | CODE | |
| LOW | …agentscope/middleware/_longterm_memory/_mem0/_tools.py | 29 | CODE | |
| LOW | …entscope/middleware/_longterm_memory/_mem0/__init__.py | 4 | CODE | |
| LOW | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 13 | CODE | |
| LOW | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 40 | CODE | |
| LOW | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 41 | CODE | |
| LOW | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 42 | CODE | |
| LOW | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 43 | CODE | |
| LOW | …agentscope/middleware/_longterm_memory/_mem0/_utils.py | 8 | CODE | |
| LOW | …agentscope/middleware/_longterm_memory/_reme/_tools.py | 16 | CODE | |
| LOW | …agentscope/middleware/_longterm_memory/_reme/_tools.py | 25 | CODE | |
| LOW | …entscope/middleware/_longterm_memory/_reme/__init__.py | 12 | CODE | |
| LOW | …scope/middleware/_longterm_memory/_reme/_middleware.py | 33 | CODE | |
| LOW | …scope/middleware/_longterm_memory/_reme/_middleware.py | 56 | CODE | |
| LOW | …scope/middleware/_longterm_memory/_reme/_middleware.py | 57 | CODE | |
| LOW | …gentscope/middleware/_longterm_memory/_reme/_config.py | 15 | CODE | |
| LOW | …agentscope/middleware/_longterm_memory/_reme/_utils.py | 8 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_extractor.py | 15 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_extractor.py | 22 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_extractor.py | 23 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_extractor.py | 23 | CODE | |
| LOW | src/agentscope/middleware/_tracing/__init__.py | 4 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_trace.py | 47 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_trace.py | 48 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_trace.py | 49 | CODE | |
| 745 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | tests/builtin_bash_test.py | 584 | "ls && rm -rf /", | CODE |
| HIGH⚡ | tests/builtin_bash_test.py | 585 | "cd /tmp && rm -rf /usr", | CODE |
| HIGH | tests/builtin_bash_test.py | 245 | cmd = "(cd /tmp && ls)" | CODE |
| HIGH⚡ | tests/permission_engine_test.py | 564 | {"command": "ls -la && rm ~/.bashrc"}, | CODE |
| HIGH⚡ | tests/permission_engine_test.py | 576 | {"command": "ls -la && cat file.txt"}, | CODE |
| HIGH⚡ | tests/permission_engine_test.py | 587 | {"command": "ls -la && git commit -m 'test'"}, | CODE |
| HIGH | tests/mcp_streamable_http_client_test.py | 144 | "meta": null, | STRING |
| HIGH | tests/model_gemini_test.py | 749 | """additionalProperties removed; anyOf[X, null] inlined to X.""" | STRING |
| HIGH⚡ | tests/workspace_local_test.py | 1298 | '"finished_at":null},' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1301 | '"created_at":"2026-01-01T00:00:00","finished_at":null}' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1304 | '"usage":null,' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1306 | '"finished_reason":null,"structured_output":null,' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1307 | '"error":null}' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1358 | '"usage":null,' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1359 | '"finished_at":null,' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1360 | '"finished_reason":null,"structured_output":null,' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1361 | '"error":null}' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1367 | '"created_at":"2026-01-02T00:00:00","finished_at":null}' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1370 | '"usage":null,' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1372 | '"finished_reason":null,"structured_output":null,' | CODE |
| HIGH⚡ | tests/workspace_local_test.py | 1373 | '"error":null}' | CODE |
| HIGH | tests/backend_local_test.py | 389 | ["/bin/sh", "-c", "true && echo chained"], | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 151 | resp = await model.push("ignored") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 566 | await model.push("Hello") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 567 | await model.push(" world") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 593 | res = await model.push("Hello") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 603 | await model.push("Hi") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 604 | await model.push(" there") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 608 | await model.push(" friend!") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 618 | await model.push("Hello") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 621 | await model.push(" world") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 632 | await model.push("Hello") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 633 | await model.push(" world") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 677 | await model.push("Hello") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 708 | await model.push("Hi") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 709 | await model.push(" there") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 975 | await model.push("Hello") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 976 | await model.push(" world") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1001 | res = await model.push("Hello") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1014 | await model.push("Hi") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1015 | await model.push(" there") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1019 | await model.push(" friend!") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1032 | await model.push("Hello") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1037 | await model.push(" world") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1053 | await model.push("Hello") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1054 | await model.push(" world") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1066 | res = await model.push("Hello") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1111 | await model.push("Hello") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1168 | await model.push("Hi") | CODE |
| HIGH⚡ | tests/tts_dashscope_test.py | 1169 | await model.push(" there") | CODE |
| HIGH | tests/tts_dashscope_test.py | 659 | await model.push("Hello") | CODE |
| HIGH | tests/tts_dashscope_test.py | 1092 | await model.push("Hello") | CODE |
| HIGH⚡ | tests/backend_applecontainer_test.py | 95 | ["sh", "-c", "echo hello && echo world"], | CODE |
| HIGH⚡ | tests/backend_applecontainer_test.py | 98 | self.assertEqual(argv[-3:], ["sh", "-c", "echo hello && echo world"]) | CODE |
| HIGH⚡ | tests/permission_bash_parser_test.py | 86 | "npm install && npm run build && npm test", | CODE |
| HIGH⚡ | tests/permission_bash_parser_test.py | 100 | ("npm run build || echo failed", ["npm run"]), | CODE |
| HIGH⚡ | tests/permission_bash_parser_test.py | 101 | ("git commit || git status", ["git commit", "git status"]), | CODE |
| HIGH⚡ | tests/permission_bash_parser_test.py | 323 | "ls -la && cat file.txt", | CODE |
| HIGH⚡ | tests/permission_bash_parser_test.py | 324 | "git status && git log", | CODE |
| HIGH⚡ | tests/permission_bash_parser_test.py | 325 | "pwd && ls", | CODE |
| 25 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/agentscope/_utils/_mixin.py | 11 | Get a dictionary item through attribute-style access. Args: key (`str`): The reques | STRING |
| HIGH | src/agentscope/app/deps.py | 38 | Return the caller's user ID from the ``X-User-ID`` request header. Args: x_user_id (`str`): Value of the `` | STRING |
| HIGH | src/agentscope/app/deps.py | 231 | Return the application-wide knowledge base service. Args: request (`Request`): The incoming Fas | STRING |
| HIGH | src/agentscope/app/deps.py | 262 | Return the application-wide knowledge base manager. Args: request (`Request`): The incoming Fas | STRING |
| HIGH | src/agentscope/app/deps.py | 290 | Return the application-wide blob store. Args: request (`Request`): The incoming FastAPI request | STRING |
| HIGH | src/agentscope/app/deps.py | 321 | Return the parser registry configured on the app. Args: request (`Request`): The incoming FastA | STRING |
| HIGH | src/agentscope/app/deps.py | 352 | Return the chunker classes configured on the app. Args: request (`Request`): The incoming FastA | STRING |
| HIGH | src/agentscope/app/_app.py | 50 | Key the hubs by id, rejecting duplicates. Args: hubs (`list | None`): The hubs passed to :func: | STRING |
| HIGH | src/agentscope/app/middleware/_protocol/_base.py | 201 | Deserialize event dictionary to AgentEvent object. Args: event_dict: Dictionary containing event da | STRING |
| HIGH | src/agentscope/app/_router/_channel.py | 87 | Load a channel and assert the caller owns it. Args: channel_id (`str`): The channel to load. user_i | STRING |
| HIGH | src/agentscope/app/_router/_chat.py | 61 | Trigger a chat run for the specified session. Events produced during the run are published to the message bus and | STRING |
| HIGH | src/agentscope/app/_router/_session.py | 196 | Return all sessions for an agent as enriched :class:`SessionView` entries. Each entry bundles what the chat UI | STRING |
| HIGH | src/agentscope/app/_router/_session.py | 295 | Create (or resume) a session for a given agent and workspace. At most one session exists per ``(user_id, agent_id, | STRING |
| HIGH | src/agentscope/app/_router/_session.py | 416 | Request interruption of an in-progress reply for a session. Thin HTTP wrapper around :meth:`ChatService.interrupt`; | STRING |
| HIGH | src/agentscope/app/_router/_session.py | 459 | Update the configuration of an existing session. Rejected while a chat run holds the session: the agent snapshots | STRING |
| HIGH | src/agentscope/app/_router/_session.py | 651 | Return the unified :class:`SessionStatus` for a session. Ownership validation, cluster-liveness probing, and parked | STRING |
| HIGH | src/agentscope/app/_router/_credential.py | 120 | Replace the payload of an existing credential. Args: credential_id (`str`): The credential to update. | STRING |
| HIGH | src/agentscope/app/_router/_hub.py | 40 | Return the hub under ``hub_id`` or raise 404. Args: hubs (`dict[str, HubT]`): The registered hu | STRING |
| HIGH | src/agentscope/app/_router/_agent.py | 176 | Create and persist a new agent configuration. Args: body (`CreateAgentRequest`): Agent configur | STRING |
| HIGH | src/agentscope/app/_router/_agent.py | 228 | Partially update an existing agent configuration. Only the fields present in the request body are updated; all othe | STRING |
| HIGH | src/agentscope/app/_router/_schedule.py | 74 | Create a new schedule and register it with the scheduler. The referenced agent may be either the viewer's own or on | STRING |
| HIGH | src/agentscope/app/_router/_schedule.py | 143 | Partially update a schedule. Fields omitted from the request body keep their current values. Changing ``cron_ex | STRING |
| HIGH | src/agentscope/app/_router/_schedule.py | 231 | Return all sessions triggered by a given schedule. Args: schedule_id (`str`): ID of the schedule. u | STRING |
| HIGH | src/agentscope/app/_service/_download_token.py | 62 | Return the user a token was granted to, for this path. The path is not read out of the token but re-derived from th | STRING |
| HIGH | src/agentscope/app/_service/_knowledge_base.py | 128 | Delegate creation to the manager, mapping policy errors. Args: user_id (`str`): The | STRING |
| HIGH | src/agentscope/app/_service/_knowledge_base.py | 370 | Persist an uploaded document and enqueue it for indexing. Streams ``stream`` into the blob store (so the bytes | STRING |
| HIGH | src/agentscope/app/_service/_knowledge_base.py | 459 | List documents of a knowledge base, filtered and paginated. Service-mode source of truth: reads from storage, N | STRING |
| HIGH | src/agentscope/app/_service/_knowledge_base.py | 530 | Batch-fetch documents for status polling. The endpoint backing this method accepts a comma-separated list | STRING |
| HIGH | src/agentscope/app/_service/_knowledge_base.py | 577 | Fetch one document record, or 404. Args: user_id (`str`): The viewer user id — owne | STRING |
| HIGH | src/agentscope/app/_service/_knowledge_base.py | 621 | List one page of a document's chunks in ``chunk_index`` order. ``page`` / ``page_size`` translate to the dense- | STRING |
| HIGH | src/agentscope/app/_service/_knowledge_base.py | 682 | Open the original uploaded file of a document for streaming. The bytes come straight from the blob store — the | STRING |
| HIGH | src/agentscope/app/_service/_knowledge_base.py | 814 | Search a knowledge base by text query. Args: user_id (`str`): The viewer user id — | STRING |
| HIGH | src/agentscope/app/_service/_embedding.py | 29 | Construct an embedding model from an already-resolved credential. This is the record-in variant used by owner-inter | STRING |
| HIGH | src/agentscope/app/_service/_embedding.py | 100 | Resolve a credential through :class:`ResourceAccessService` and build the corresponding embedding model. Args: | STRING |
| HIGH | src/agentscope/app/_service/_workspace.py | 200 | Return the workspace backing a session. Args: user_id (`str`): The authenticated user ID. | STRING |
| HIGH | src/agentscope/app/_service/_workspace.py | 226 | Report where a session sits and the git state of that place. Args: user_id (`str`): The authenticat | STRING |
| HIGH | src/agentscope/app/_service/_workspace.py | 261 | Load a session and open the workspace it is bound to. Args: user_id (`str`): The authenticated user | STRING |
| HIGH | src/agentscope/app/_service/_workspace.py | 325 | Return the user a token was granted to, for this path. The path is not read out of the token but re-derived fro | STRING |
| HIGH | src/agentscope/app/_service/_workspace.py | 352 | Check a manifest and return the skill's root directory name. Args: manifest (`UploadManifest`): The | STRING |
| HIGH | src/agentscope/app/_service/_workspace.py | 448 | Emit a tar of the uploaded files, chunk by chunk. Args: manifest (`UploadManifest`): The validated | STRING |
| HIGH | src/agentscope/app/_service/_mcp_render.py | 108 | Turn a card plus the user's answers into a connectable client. Args: card (`MCPCard`): The hub | STRING |
| HIGH | src/agentscope/app/_service/_model.py | 15 | Build a chat model instance from a stored credential and config. Credentials are resolved through :class:`ResourceA | STRING |
| HIGH | src/agentscope/app/_manager/_chat_run_registry.py | 43 | Create and register an asyncio task that runs ``coro``. The task auto-removes from the registry when it finishe | STRING |
| HIGH | src/agentscope/app/rag/__init__.py | 51 | Lazy-load attributes that would cause an import cycle. ``run_worker`` is lazy-imported because :mod:`.index_worker` | STRING |
| HIGH | src/agentscope/app/rag/index_worker/__main__.py | 54 | Import ``module:attribute`` and return the attribute. Args: dotted (`str`): A ``module:attribut | STRING |
| HIGH | src/agentscope/app/rag/knowledge_base_manager/_base.py | 133 | Create a new knowledge base for the given user. Implementations must: 1. validate ``embedding_model_co | STRING |
| HIGH | src/agentscope/app/rag/knowledge_base_manager/_base.py | 284 | Resolve a runtime :class:`KnowledgeBase` handle for one KB. Implementations are responsible for: - loo | STRING |
| HIGH | …e/app/rag/knowledge_base_manager/_collection_per_kb.py | 155 | Resolve a :class:`KnowledgeBase` runtime for one knowledge base. Looks the record up in storage (raising | STRING |
| HIGH | src/agentscope/app/storage/_base.py | 117 | Create or update an installed-MCP record. The record's ``client.name`` is unique per user — the workspace | STRING |
| HIGH | src/agentscope/app/storage/_base.py | 209 | Create or update an installed-skill record. The record's ``name`` is unique per user, for the same reason | STRING |
| HIGH | src/agentscope/app/storage/_redis_storage.py | 429 | Create or update an installed-MCP record for the given user. Keeps the name index in step with the write: the n | STRING |
| HIGH | src/agentscope/app/storage/_redis_storage.py | 568 | Create or update an installed-skill record for the user. Mirrors :meth:`upsert_mcp` — see it for the name-index | STRING |
| HIGH | src/agentscope/app/storage/_sql/_storage.py | 270 | Build a dialect-native atomic upsert statement. A single ``INSERT ... ON CONFLICT DO UPDATE`` (Postgres / | STRING |
| HIGH | src/agentscope/app/storage/_sql/_storage.py | 1340 | Persist a channel record and its bot-uniqueness column. Args: record (`ChannelRecord`): | STRING |
| HIGH | src/agentscope/app/_tool/_team_tool_base.py | 111 | Return the team this session **leads**. Args: leader_only (`str`): What only the le | STRING |
| HIGH | src/agentscope/app/hub/_skill/_base.py | 75 | Fetch a single card by its hub-local id, with ``SKILL.md``. Args: user_id (`str`): | STRING |
| HIGH | src/agentscope/app/hub/_skill/_base.py | 99 | Open the skill archive for streaming. Returns rather than yields so the format is known before the firs | STRING |
| HIGH | src/agentscope/app/hub/_skill/_claw_hub.py | 226 | Send a request to the ClawHub API with rate-limit handling. Args: method (`str`): T | STRING |
| HIGH | src/agentscope/app/hub/_skill/_claw_hub.py | 285 | Open a skill archive via ``GET /api/v1/download``. The response headers are awaited here — so a missing skill o | STRING |
| HIGH | src/agentscope/app/hub/_skill/_claw_hub.py | 548 | Browse or search the ClawHub registry in one request. With ``q`` the search endpoint is used, which ranks by re | STRING |
| 31 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_e2e_api.py | 51 | except Exception: | CODE |
| LOW | tests/test_e2e_api.py | 90 | except Exception: | CODE |
| LOW | tests/_daytona_live_utils.py | 46 | except Exception: | CODE |
| LOW | scripts/model_examples/run_tests.py | 87 | except Exception: | CODE |
| LOW | src/agentscope/_utils/_common.py | 135 | except Exception: | CODE |
| LOW | src/agentscope/_utils/_common.py | 243 | except Exception as e: | CODE |
| LOW | src/agentscope/middleware/_rag.py | 280 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/middleware/_rag.py | 730 | except Exception: # pylint: disable=broad-except | CODE |
| LOW⚡ | …leware/_longterm_memory/_agentic_memory/_middleware.py | 774 | except Exception: | CODE |
| LOW | …leware/_longterm_memory/_agentic_memory/_middleware.py | 908 | except Exception: | CODE |
| LOW | …leware/_longterm_memory/_agentic_memory/_middleware.py | 949 | except Exception: | CODE |
| LOW | …agentscope/middleware/_longterm_memory/_mem0/_tools.py | 135 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | …agentscope/middleware/_longterm_memory/_mem0/_tools.py | 230 | except Exception as e: # noqa: BLE001 | CODE |
| MEDIUM | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 715 | def _bg() -> None: | CODE |
| LOW | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 343 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 707 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 734 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | …agentscope/middleware/_longterm_memory/_reme/_tools.py | 146 | except Exception as e: # noqa: BLE001 | CODE |
| LOW⚡ | …scope/middleware/_longterm_memory/_reme/_middleware.py | 518 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | src/agentscope/middleware/_tracing/_extractor.py | 164 | except Exception: | CODE |
| LOW | src/agentscope/middleware/_tracing/_extractor.py | 307 | except Exception: | CODE |
| LOW | src/agentscope/middleware/_tracing/_extractor.py | 431 | except Exception: | CODE |
| LOW | src/agentscope/middleware/_tracing/_extractor.py | 452 | except Exception: | CODE |
| LOW | src/agentscope/app/message_bus/_redis_message_bus.py | 645 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | …c/agentscope/app/middleware/_team_member_middleware.py | 91 | except Exception: # pylint: disable=broad-except | CODE |
| LOW⚡ | …/agentscope/app/middleware/_tool_offload_middleware.py | 174 | except Exception as exc: # pylint: disable=broad-except | CODE |
| LOW | …/agentscope/app/middleware/_tool_offload_middleware.py | 257 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_router/_workspace.py | 87 | except Exception as e: | CODE |
| LOW | src/agentscope/app/_router/_workspace.py | 187 | except Exception as e: | CODE |
| LOW | src/agentscope/app/_router/_workspace.py | 373 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_knowledge_base.py | 432 | except Exception: | CODE |
| LOW | src/agentscope/app/_service/_knowledge_base.py | 898 | except Exception: # noqa: BLE001 — cleanup only | CODE |
| LOW | src/agentscope/app/_service/_index_sweeper.py | 109 | except Exception: # noqa: BLE001 — keep the loop alive | CODE |
| LOW | src/agentscope/app/_service/_index_sweeper.py | 143 | except Exception: # noqa: BLE001 — keep iterating | CODE |
| LOW | src/agentscope/app/_service/_channel.py | 170 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_channel.py | 224 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_chat.py | 280 | except Exception as e: | CODE |
| LOW | src/agentscope/app/_service/_chat.py | 423 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_chat.py | 504 | except Exception: | CODE |
| LOW | src/agentscope/app/_service/_chat.py | 868 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_chat.py | 998 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_chat.py | 1185 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_chat.py | 1344 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_session.py | 412 | except Exception as e: | CODE |
| LOW | src/agentscope/app/_service/_session.py | 558 | except Exception as e: | CODE |
| LOW | src/agentscope/app/_service/_session.py | 722 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_workspace.py | 525 | except Exception as exc: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_workspace.py | 552 | except Exception as exc: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_index_worker.py | 310 | except Exception as exc: # noqa: BLE001 — terminal error sink | CODE |
| LOW⚡ | src/agentscope/app/_service/_index_worker.py | 599 | except Exception: # noqa: BLE001 — last-resort log | CODE |
| LOW | src/agentscope/app/_service/_index_task_consumer.py | 140 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_index_task_consumer.py | 158 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_service/_model.py | 67 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_manager/_cancel_dispatcher.py | 131 | except Exception: | CODE |
| LOW⚡ | src/agentscope/app/_manager/_cancel_dispatcher.py | 191 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_manager/_cancel_dispatcher.py | 220 | except Exception: # pylint: disable=broad-except | CODE |
| LOW⚡ | src/agentscope/app/_manager/_background_task_manager.py | 349 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_manager/_wakeup_dispatcher.py | 173 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_manager/_wakeup_dispatcher.py | 186 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | src/agentscope/app/_manager/_wakeup_dispatcher.py | 265 | except Exception: # pylint: disable=broad-except | CODE |
| 183 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/workspace_bubblewrap_test.py | 606 | CODE | |
| LOW | tests/compress_tool_result_test.py | 325 | CODE | |
| LOW | tests/compress_tool_result_test.py | 481 | CODE | |
| LOW | tests/compress_tool_result_test.py | 340 | CODE | |
| LOW | tests/compress_tool_result_test.py | 496 | CODE | |
| LOW | examples/long_term_memory/agentic_memory/main.py | 115 | CODE | |
| LOW | examples/long_term_memory/mem0/oss_demo.py | 93 | CODE | |
| LOW | examples/long_term_memory/reme/reme_demo.py | 127 | CODE | |
| LOW | scripts/model_examples/run_tests.py | 293 | CODE | |
| LOW | scripts/model_examples/_utils.py | 15 | CODE | |
| LOW | src/agentscope/_utils/_common.py | 269 | CODE | |
| LOW | src/agentscope/_utils/_common.py | 313 | CODE | |
| LOW | src/agentscope/middleware/_tts_middleware.py | 51 | CODE | |
| LOW | src/agentscope/middleware/_rag.py | 196 | CODE | |
| LOW | src/agentscope/middleware/_rag.py | 682 | CODE | |
| LOW | src/agentscope/middleware/_budget.py | 98 | CODE | |
| LOW | …leware/_longterm_memory/_agentic_memory/_middleware.py | 709 | CODE | |
| LOW | …ddleware/_longterm_memory/_mem0/_agentscope_adapter.py | 172 | CODE | |
| LOW | …ddleware/_longterm_memory/_mem0/_agentscope_adapter.py | 191 | CODE | |
| LOW | …agentscope/middleware/_longterm_memory/_mem0/_utils.py | 55 | CODE | |
| LOW | …agentscope/middleware/_longterm_memory/_reme/_utils.py | 51 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_extractor.py | 67 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_extractor.py | 394 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_extractor.py | 456 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_extractor.py | 545 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_converter.py | 63 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_trace.py | 137 | CODE | |
| LOW | src/agentscope/middleware/_tracing/_utils.py | 15 | CODE | |
| LOW | src/agentscope/pipeline/_goal_pipeline.py | 93 | CODE | |
| LOW | src/agentscope/app/_router/_session.py | 764 | CODE | |
| LOW | src/agentscope/app/_router/_session.py | 807 | CODE | |
| LOW | src/agentscope/app/_service/_chat.py | 634 | CODE | |
| LOW | src/agentscope/app/_service/_session.py | 477 | CODE | |
| LOW | src/agentscope/app/_service/_workspace.py | 567 | CODE | |
| LOW | src/agentscope/app/channel/_base.py | 334 | CODE | |
| LOW | src/agentscope/app/channel/_stream.py | 71 | CODE | |
| LOW | src/agentscope/app/channel/_dingtalk/_channel.py | 198 | CODE | |
| LOW | src/agentscope/app/channel/_dingtalk/_channel.py | 291 | CODE | |
| LOW | src/agentscope/app/channel/_discord/_channel.py | 159 | CODE | |
| LOW | src/agentscope/app/channel/_discord/_channel.py | 306 | CODE | |
| LOW | src/agentscope/app/channel/_feishu/_channel.py | 181 | CODE | |
| LOW | src/agentscope/app/channel/_feishu/_channel.py | 376 | CODE | |
| LOW | src/agentscope/app/channel/_feishu/_channel.py | 555 | CODE | |
| LOW | src/agentscope/app/channel/_feishu/_channel.py | 652 | CODE | |
| LOW | src/agentscope/app/hub/_skill/_claw_hub.py | 277 | CODE | |
| LOW | src/agentscope/skill/_local_loader.py | 100 | CODE | |
| LOW | src/agentscope/workspace/_base.py | 1004 | CODE | |
| LOW | src/agentscope/workspace/_base.py | 1060 | CODE | |
| LOW | src/agentscope/workspace/_gateway_client.py | 583 | CODE | |
| LOW | src/agentscope/workspace/_daytona/_daytona_workspace.py | 357 | CODE | |
| LOW | …workspace/_applecontainer/_applecontainer_workspace.py | 303 | CODE | |
| LOW | src/agentscope/workspace/_k8s/_k8s_workspace.py | 502 | CODE | |
| LOW | src/agentscope/workspace/_k8s/_k8s_backend.py | 80 | CODE | |
| LOW | src/agentscope/workspace/_k8s/_k8s_backend.py | 205 | CODE | |
| LOW | src/agentscope/workspace/_k8s/_k8s_backend.py | 324 | CODE | |
| LOW | src/agentscope/workspace/_k8s/_k8s_backend.py | 121 | CODE | |
| LOW | …/agentscope/workspace/_mcp_gateway/_mcp_gateway_app.py | 190 | CODE | |
| LOW | …gentscope/workspace/_bubblewrap/_bubblewrap_backend.py | 199 | CODE | |
| LOW | src/agentscope/workspace/_docker/_docker_backend.py | 136 | CODE | |
| LOW | src/agentscope/workspace/_docker/_docker_workspace.py | 202 | CODE | |
| 86 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/skill_loader_test.py | 19 | # Create a temporary directory for testing | COMMENT |
| MEDIUM | tests/skill_loader_test.py | 80 | # Create a directory without SKILL.md | COMMENT |
| MEDIUM | tests/rag_vdb_milvus_lite_test.py | 79 | # Creating an existing collection is a no-op | COMMENT |
| MEDIUM | tests/builtin_grep_test.py | 22 | # Create a temporary directory with test files | COMMENT |
| MEDIUM⚡ | tests/builtin_file_cache_test.py | 143 | # Create a file | COMMENT |
| MEDIUM⚡ | tests/builtin_file_cache_test.py | 186 | # Create a file | COMMENT |
| MEDIUM⚡ | tests/builtin_file_cache_test.py | 306 | # Create a file | COMMENT |
| MEDIUM | tests/builtin_file_cache_test.py | 21 | # Create a temporary directory | COMMENT |
| MEDIUM | tests/builtin_file_cache_test.py | 34 | # Create a file | COMMENT |
| MEDIUM | tests/builtin_file_cache_test.py | 52 | # Create a file | COMMENT |
| MEDIUM | tests/builtin_file_cache_test.py | 88 | # Create a file | COMMENT |
| MEDIUM | tests/builtin_file_cache_test.py | 116 | # Create a file | COMMENT |
| MEDIUM | tests/builtin_file_cache_test.py | 285 | # Create a file | COMMENT |
| MEDIUM | tests/rag_vdb_qdrant_test.py | 90 | # Creating an existing collection is a no-op | COMMENT |
| MEDIUM | tests/builtin_edit_test.py | 21 | # Create a temporary file for testing | COMMENT |
| MEDIUM | tests/task_tool_test.py | 312 | # Create a task | COMMENT |
| MEDIUM | tests/task_tool_test.py | 388 | # Create a task | COMMENT |
| MEDIUM | tests/task_tool_test.py | 443 | # Create a task | COMMENT |
| MEDIUM | tests/task_tool_test.py | 498 | # Create a task | COMMENT |
| MEDIUM | tests/task_tool_test.py | 627 | # Create a task | COMMENT |
| MEDIUM | tests/task_tool_test.py | 682 | # Create a task with initial metadata | COMMENT |
| MEDIUM⚡ | tests/workspace_local_test.py | 851 | # Create a valid skill | COMMENT |
| MEDIUM⚡ | tests/workspace_local_test.py | 857 | # Create an invalid skill without SKILL.md | COMMENT |
| MEDIUM | tests/workspace_local_test.py | 276 | # Create a test image data (1x1 red pixel PNG) | COMMENT |
| MEDIUM | tests/workspace_local_test.py | 807 | # Create a test skill | COMMENT |
| MEDIUM | tests/workspace_local_test.py | 870 | # Create an invalid skill with malformed frontmatter | COMMENT |
| MEDIUM | tests/toolkit_skill_test.py | 49 | # Create a minimal SKILL.md so LocalSkillLoader can load it | COMMENT |
| MEDIUM | tests/builtin_read_test.py | 26 | # Create a temporary file for testing | COMMENT |
| MEDIUM | tests/rag_vdb_mongodb_test.py | 364 | # Creating an existing collection is a no-op | COMMENT |
| MEDIUM | tests/builtin_glob_test.py | 22 | # Create a temporary directory with test files | COMMENT |
| MEDIUM | examples/pipeline/goal/goal_pipeline.py | 26 | # Create the executor agent | COMMENT |
| MEDIUM | examples/pipeline/goal/goal_pipeline.py | 45 | # Create the verifier agent | COMMENT |
| MEDIUM | src/agentscope/app/middleware/_protocol/_base.py | 75 | # Create a new StreamingResponse with the converted stream | COMMENT |
| MEDIUM | src/agentscope/workspace/_docker/_docker_workspace.py | 319 | # Create the backend now that the container is running. All | COMMENT |
| MEDIUM | src/agentscope/agent/_agent.py | 2051 | # Create a queue to collect events from all concurrent workers. | COMMENT |
| MEDIUM | src/agentscope/state/_state.py | 287 | # Create a new assistant message with the current reply ID | COMMENT |
| MEDIUM | src/agentscope/formatter/_formatter_base.py | 148 | # Create an identifier for such multimodal data for | COMMENT |
| MEDIUM | src/agentscope/tool/_utils.py | 111 | # Create a dynamic model with the function signature | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_e2e_api.py | 57 | def _setup_module() -> None: | CODE |
| LOW | tests/service_team_failure_report_test.py | 76 | async def update_session_state(self, *_: object, **__: object) -> None: | CODE |
| LOW | tests/service_chat_channel_delivery_test.py | 125 | async def update_session_state(self, *_: object, **__: object) -> None: | CODE |
| LOW | tests/service_chat_run_context_test.py | 65 | async def update_session_state(self, *_: object, **__: object) -> None: | CODE |
| LOW | tests/backend_applecontainer_test.py | 303 | async def _setup_container(cls) -> None: | CODE |
| LOW | src/agentscope/__init__.py | 16 | __all__ = [ | CODE |
| LOW | src/agentscope/_utils/_common.py | 23 | def set_id_factory(factory: Callable[[], str]) -> None: | CODE |
| LOW | src/agentscope/_utils/_common.py | 52 | def set_timestamp_factory(factory: Callable[[], str]) -> None: | CODE |
| LOW | src/agentscope/middleware/__init__.py | 15 | __all__ = [ | CODE |
| LOW | src/agentscope/middleware/_longterm_memory/__init__.py | 8 | __all__ = [ | CODE |
| LOW | …iddleware/_longterm_memory/_agentic_memory/__init__.py | 6 | __all__ = ["AgenticMemoryMiddleware"] | CODE |
| LOW | …entscope/middleware/_longterm_memory/_mem0/__init__.py | 6 | __all__ = ["Mem0Middleware"] | CODE |
| LOW | …entscope/middleware/_longterm_memory/_reme/__init__.py | 14 | __all__ = [ | CODE |
| LOW | src/agentscope/middleware/_tracing/__init__.py | 6 | __all__ = [ | CODE |
| LOW⚡ | src/agentscope/middleware/_tracing/_trace.py | 73 | def _set_span_success_status(span: "Span") -> None: | CODE |
| LOW⚡ | src/agentscope/middleware/_tracing/_trace.py | 79 | def _set_span_error_status(span: "Span", e: BaseException) -> None: | CODE |
| LOW | src/agentscope/pipeline/__init__.py | 7 | __all__ = [ | CODE |
| LOW | src/agentscope/credential/__init__.py | 16 | __all__ = [ | CODE |
| LOW | src/agentscope/types/__init__.py | 19 | __all__ = [ | CODE |
| LOW | src/agentscope/app/__init__.py | 9 | __all__ = [ | CODE |
| LOW | src/agentscope/app/message_bus/__init__.py | 9 | __all__ = [ | CODE |
| LOW | src/agentscope/app/middleware/__init__.py | 11 | __all__ = [ | CODE |
| LOW | src/agentscope/app/middleware/_protocol/__init__.py | 7 | __all__ = [ | CODE |
| LOW | src/agentscope/app/_router/__init__.py | 19 | __all__ = [ | CODE |
| LOW | src/agentscope/app/_router/_schema/__init__.py | 91 | __all__ = [ | CODE |
| LOW | src/agentscope/app/access/__init__.py | 24 | __all__ = [ | CODE |
| LOW | src/agentscope/app/_service/__init__.py | 27 | __all__ = [ | CODE |
| LOW | src/agentscope/app/_service/_projectors/__init__.py | 11 | __all__ = [ | CODE |
| LOW | src/agentscope/app/_manager/__init__.py | 11 | __all__ = [ | CODE |
| LOW | src/agentscope/app/_manager/_scheduler/__init__.py | 6 | __all__ = [ | CODE |
| LOW | …/agentscope/app/_manager/_scheduler/_tools/__init__.py | 9 | __all__ = [ | CODE |
| LOW | src/agentscope/app/rag/__init__.py | 79 | __all__ = [ | CODE |
| LOW | …/agentscope/app/rag/knowledge_base_manager/__init__.py | 25 | __all__ = [ | CODE |
| LOW | src/agentscope/app/rag/blob_store/__init__.py | 7 | __all__ = [ | CODE |
| LOW | src/agentscope/app/storage/__init__.py | 68 | __all__ = [ | CODE |
| LOW | src/agentscope/app/storage/_redis_storage.py | 191 | async def _set_with_ttl(self, key: str, value: str) -> None: | CODE |
| LOW | src/agentscope/app/storage/_sql/__init__.py | 12 | __all__ = ["AsyncSQLAlchemyStorage"] | CODE |
| LOW | src/agentscope/app/storage/_model/__init__.py | 38 | __all__ = [ | CODE |
| LOW | src/agentscope/app/channel/__init__.py | 29 | __all__ = [ | CODE |
| LOW | src/agentscope/app/channel/_dingtalk/__init__.py | 6 | __all__ = ["DingTalkChannel"] | CODE |
| LOW | src/agentscope/app/channel/_dingtalk/_tools/__init__.py | 10 | __all__ = [ | CODE |
| LOW | src/agentscope/app/channel/_discord/__init__.py | 5 | __all__ = ["DiscordChannel"] | CODE |
| LOW | src/agentscope/app/channel/_feishu/__init__.py | 5 | __all__ = ["FeishuChannel"] | CODE |
| LOW | src/agentscope/app/channel/_feishu/_tools/__init__.py | 15 | __all__ = [ | CODE |
| LOW | src/agentscope/app/workspace_manager/__init__.py | 18 | __all__ = [ | CODE |
| LOW | src/agentscope/app/_tool/__init__.py | 40 | __all__ = [ | CODE |
| LOW | src/agentscope/app/hub/__init__.py | 21 | __all__ = [ | CODE |
| LOW | src/agentscope/app/hub/_skill/__init__.py | 8 | __all__ = [ | CODE |
| LOW | src/agentscope/app/hub/_mcp/__init__.py | 8 | __all__ = [ | CODE |
| LOW | src/agentscope/skill/__init__.py | 7 | __all__ = [ | CODE |
| LOW | src/agentscope/workspace/_base.py | 1536 | async def _setup_skills(self) -> None: | CODE |
| LOW | src/agentscope/workspace/__init__.py | 17 | __all__ = [ | CODE |
| LOW | src/agentscope/workspace/_sandboxed_base.py | 435 | async def _setup_mcp_gateway(self) -> None: | CODE |
| LOW | src/agentscope/workspace/_e2b/__init__.py | 12 | __all__ = ["E2BWorkspace", "E2BBackend"] | CODE |
| LOW | src/agentscope/workspace/_daytona/__init__.py | 12 | __all__ = [ | CODE |
| LOW | src/agentscope/workspace/_applecontainer/__init__.py | 18 | __all__ = ["AppleContainerBackend", "AppleContainerWorkspace"] | CODE |
| LOW | src/agentscope/workspace/_k8s/__init__.py | 12 | __all__ = ["K8sWorkspace", "K8sBackend"] | CODE |
| LOW | src/agentscope/workspace/_bubblewrap/__init__.py | 7 | __all__ = ["BubblewrapBackend", "BubblewrapWorkspace"] | CODE |
| LOW | …ntscope/workspace/_bubblewrap/_bubblewrap_workspace.py | 339 | async def _setup_mcp_gateway(self) -> None: | CODE |
| LOW | src/agentscope/workspace/_opensandbox/__init__.py | 12 | __all__ = ["OpenSandboxWorkspace", "OpenSandboxBackend"] | CODE |
| 36 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | pyproject.toml | 113 | # ------------ RAG ------------ | COMMENT |
| MEDIUM | pyproject.toml | 188 | # RAG parser tests — used to generate PDF fixtures in-memory | COMMENT |
| MEDIUM | pyproject.toml | 214 | # The Alembic scaffolding for the SQL storage backend lives in the | COMMENT |
| MEDIUM⚡ | tests/middleware_rag_test.py | 439 | # embedding model isn't multimodal — the model only saw text. | COMMENT |
| MEDIUM | docs/changelog.md | 89 | ## RAG | COMMENT |
| MEDIUM | examples/rag/README.md | 1 | # RAG Examples | COMMENT |
| MEDIUM | examples/rag/integrate_with_agent.py | 177 | # ---- Mode 2: agentic ---- | COMMENT |
| MEDIUM | examples/long_term_memory/mem0/README.md | 45 | # chat + embedding model. mem0 defaults for everything else. | COMMENT |
| MEDIUM | scripts/model_examples/README.md | 17 | ├── openai_chat_multiagent.py # OpenAI Chat Completions – multi-agent conversation | CODE |
| MEDIUM⚡ | scripts/model_examples/deepseek_call.py | 30 | # Example 1: Simple user message (streaming, with chain-of-thought) | COMMENT |
| MEDIUM⚡ | src/agentscope/middleware/_rag.py | 303 | # Shared helpers — used by both the tool (agentic mode) and the | COMMENT |
| MEDIUM | src/agentscope/middleware/_rag.py | 472 | # Agent-driven search (agentic mode, the default) | STRING |
| MEDIUM⚡ | …leware/_longterm_memory/_agentic_memory/_middleware.py | 764 | # Cap each file to avoid flooding the context window. | COMMENT |
| MEDIUM⚡ | …leware/_longterm_memory/_agentic_memory/_middleware.py | 777 | # Truncate large files to avoid flooding the context window. | COMMENT |
| MEDIUM⚡ | src/agentscope/app/_service/_chat.py | 839 | # (own embedding model + vector store), so the middleware can | COMMENT |
| MEDIUM | …agentscope/model/_dashscope/_models/qwen3.6-flash.yaml | 25 | # Max chain-of-thought is independent of max_tokens. | COMMENT |
| MEDIUM | …agentscope/model/_dashscope/_models/qwen3.7-flash.yaml | 25 | # Max chain-of-thought is independent of max_tokens. | COMMENT |
| MEDIUM | …agentscope/model/_dashscope/_models/qwen3.5-flash.yaml | 25 | # Max chain-of-thought is independent of max_tokens. | COMMENT |
| MEDIUM | …c/agentscope/model/_dashscope/_models/qwen3.8-max.yaml | 25 | # Max chain-of-thought is 262144 tokens, independent of max_tokens. | COMMENT |
| MEDIUM | …agentscope/model/_moonshot/_models/kimi-k2.7-code.yaml | 15 | # which shares the same context window. | COMMENT |
| MEDIUM | …/model/_moonshot/_models/kimi-k2.7-code-highspeed.yaml | 15 | # which shares the same context window. | COMMENT |
| MEDIUM | …ope/model/_xai/_models/grok-4.20-multi-agent-0309.yaml | 14 | # the context window, matching the ratio of providers that do publish one. | COMMENT |
| MEDIUM | …e/model/_xai/_models/grok-4.20-0309-non-reasoning.yaml | 13 | # the context window, matching the ratio of providers that do publish one. | COMMENT |
| MEDIUM | …scope/model/_xai/_models/grok-4.20-0309-reasoning.yaml | 14 | # the context window, matching the ratio of providers that do publish one. | COMMENT |
| MEDIUM | src/agentscope/model/_xai/_models/grok-build-0.1.yaml | 14 | # the context window, matching the ratio of providers that do publish one. | COMMENT |
| MEDIUM | src/agentscope/model/_xai/_models/grok-4.3.yaml | 16 | # the context window, matching the ratio of providers that do publish one. | COMMENT |
| MEDIUM | src/agentscope/model/_xai/_models/grok-4.5.yaml | 16 | # the context window, matching the ratio of providers that do publish one. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/middleware_budget_test.py | 382 | # Step 1: model produces a tool call that requires confirmation | COMMENT |
| LOW⚡ | tests/service_agent_interrupt_test.py | 207 | # Step 1: Publish interrupt (simulating API endpoint) | COMMENT |
| LOW⚡ | tests/service_agent_interrupt_test.py | 216 | # Step 2: Verify agent was interrupted | COMMENT |
| LOW⚡ | tests/service_agent_interrupt_test.py | 223 | # Step 3: Verify chat-run task is done | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 974 | # Step 1: Checking agent input: | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 981 | # Step 2: Handling agent event if applicable | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1015 | # Step 3: Enter the reasoning-acting loop until reaching max_iters | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1255 | # Step 1: Analyze the current context | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1312 | # Step 2: Check Time Injection | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1370 | # Step 3: Check Plan Tasks | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1383 | # Step 4: Context Length | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 2284 | # Step 1: Check and parse the tool call input: | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 2326 | # Step 2: Check permission by toolkit and permission engine | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 2335 | # Step 3: Handle the permission and execute the tool call if allowed | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 2428 | # Step 4: Delegate raw execution to _acting (middleware hook point) | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 2444 | # Step 5: Truncate the tool result if exceed | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 3256 | # Step 1: Check executable and awaiting tool calls | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 3299 | # Step 2: Check structured output if no blocked tool calls | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 3402 | # Step 3: Exit with the final message, or continue reasoning | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 150 | # Step 1: Deny rules — highest priority (all modes) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 157 | # Step 2: Ask rules → ASK (with suggestions) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 168 | # Step 3: Read-only fast path → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 175 | # Step 4: Tool's own check_permissions | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 194 | # Step 5: Allow rules → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 201 | # Step 6: Mode fallback → ASK the user | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 248 | # Step 1: Deny rules — highest priority (all modes) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 255 | # Step 2: Ask rules → ASK (with suggestions) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 266 | # Step 3: Read-only fast path → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 273 | # Step 4: Tool's own check_permissions | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 280 | # Step 5: Allow rules | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 286 | # Step 6: Mode fallback → DENY (invocation is not read-only) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 330 | # Step 1: Deny rules — highest priority (all modes) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 337 | # Step 2: Ask rules → ASK (with suggestions) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 348 | # Step 3: Read-only fast path → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 355 | # Step 4: Tool's own check_permissions (working-directory auto-allow | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 375 | # Step 5: Allow rules → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 382 | # Step 6: Mode fallback → ASK the user | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 439 | # Step 1: Deny rules — highest priority (all modes) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 446 | # Step 2: Ask rules → ASK (honor explicit user intent to be prompted) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 457 | # Step 3: Read-only fast path → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 464 | # Step 4: Tool's own check_permissions — ALLOW / DENY returned; | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 476 | # Step 5: Allow rules → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 483 | # Step 6: Mode fallback → ALLOW everything else (BYPASS) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 530 | # Step 1: Deny rules — highest priority (all modes) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 537 | # Step 2: Ask rules → DENY (converted; no user available to answer) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 548 | # Step 3: Read-only fast path → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 555 | # Step 4: Tool's own check_permissions | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 574 | # Step 5: Allow rules → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 581 | # Step 6: Mode fallback → DENY (no user available to confirm) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/middleware_budget_test.py | 382 | # Step 1: model produces a tool call that requires confirmation | COMMENT |
| LOW⚡ | tests/service_agent_interrupt_test.py | 207 | # Step 1: Publish interrupt (simulating API endpoint) | COMMENT |
| LOW⚡ | tests/service_agent_interrupt_test.py | 216 | # Step 2: Verify agent was interrupted | COMMENT |
| LOW⚡ | tests/service_agent_interrupt_test.py | 223 | # Step 3: Verify chat-run task is done | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 974 | # Step 1: Checking agent input: | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 981 | # Step 2: Handling agent event if applicable | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1015 | # Step 3: Enter the reasoning-acting loop until reaching max_iters | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1255 | # Step 1: Analyze the current context | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1312 | # Step 2: Check Time Injection | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1370 | # Step 3: Check Plan Tasks | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 1383 | # Step 4: Context Length | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 2284 | # Step 1: Check and parse the tool call input: | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 2326 | # Step 2: Check permission by toolkit and permission engine | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 2335 | # Step 3: Handle the permission and execute the tool call if allowed | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 2428 | # Step 4: Delegate raw execution to _acting (middleware hook point) | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 2444 | # Step 5: Truncate the tool result if exceed | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 3256 | # Step 1: Check executable and awaiting tool calls | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 3299 | # Step 2: Check structured output if no blocked tool calls | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 3402 | # Step 3: Exit with the final message, or continue reasoning | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 150 | # Step 1: Deny rules — highest priority (all modes) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 157 | # Step 2: Ask rules → ASK (with suggestions) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 168 | # Step 3: Read-only fast path → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 175 | # Step 4: Tool's own check_permissions | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 194 | # Step 5: Allow rules → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 201 | # Step 6: Mode fallback → ASK the user | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 248 | # Step 1: Deny rules — highest priority (all modes) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 255 | # Step 2: Ask rules → ASK (with suggestions) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 266 | # Step 3: Read-only fast path → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 273 | # Step 4: Tool's own check_permissions | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 280 | # Step 5: Allow rules | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 286 | # Step 6: Mode fallback → DENY (invocation is not read-only) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 330 | # Step 1: Deny rules — highest priority (all modes) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 337 | # Step 2: Ask rules → ASK (with suggestions) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 348 | # Step 3: Read-only fast path → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 355 | # Step 4: Tool's own check_permissions (working-directory auto-allow | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 375 | # Step 5: Allow rules → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 382 | # Step 6: Mode fallback → ASK the user | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 439 | # Step 1: Deny rules — highest priority (all modes) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 446 | # Step 2: Ask rules → ASK (honor explicit user intent to be prompted) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 457 | # Step 3: Read-only fast path → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 464 | # Step 4: Tool's own check_permissions — ALLOW / DENY returned; | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 476 | # Step 5: Allow rules → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 483 | # Step 6: Mode fallback → ALLOW everything else (BYPASS) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 530 | # Step 1: Deny rules — highest priority (all modes) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 537 | # Step 2: Ask rules → DENY (converted; no user available to answer) | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 548 | # Step 3: Read-only fast path → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 555 | # Step 4: Tool's own check_permissions | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 574 | # Step 5: Allow rules → ALLOW | COMMENT |
| LOW⚡ | src/agentscope/permission/_engine.py | 581 | # Step 6: Mode fallback → DENY (no user available to confirm) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/builtin_file_cache_test.py | 147 | # Read the file to cache it | COMMENT |
| LOW⚡ | tests/builtin_file_cache_test.py | 190 | # Read the file to cache it | COMMENT |
| LOW⚡ | tests/builtin_file_cache_test.py | 310 | # Read the file | COMMENT |
| LOW | tests/builtin_file_cache_test.py | 92 | # Read the file first | COMMENT |
| LOW | tests/builtin_file_cache_test.py | 120 | # Read the file first | COMMENT |
| LOW | tests/builtin_edit_test.py | 86 | # Write file with duplicate content | COMMENT |
| LOW | tests/builtin_edit_test.py | 101 | # Write file with duplicate content | COMMENT |
| LOW | src/agentscope/skill/_local_loader.py | 45 | # Check if SKILL.md exists | COMMENT |
| LOW | src/agentscope/skill/_local_loader.py | 112 | # Check if directory exists | COMMENT |
| LOW | src/agentscope/workspace/_local_workspace.py | 349 | # Check if SKILL.md exists | COMMENT |
| LOW | …workspace/_applecontainer/_applecontainer_workspace.py | 312 | # Check if the image is already available locally. | COMMENT |
| LOW | …workspace/_applecontainer/_applecontainer_workspace.py | 395 | # Check if the container is already running. | COMMENT |
| LOW | src/agentscope/embedding/_dashscope/_model.py | 270 | # Check if adding this item would exceed any limit. | COMMENT |
| LOW⚡ | src/agentscope/agent/_agent.py | 2289 | # Check if the tool is available | COMMENT |
| LOW | src/agentscope/agent/_agent.py | 1543 | # Check if res is an async generator (streaming response) | COMMENT |
| LOW | src/agentscope/agent/_agent.py | 2759 | # Check if the reserved part has tool results that don't have the | COMMENT |
| LOW | src/agentscope/state/_state.py | 59 | # Check if cache is still valid | COMMENT |
| LOW | src/agentscope/formatter/_gemini_formatter.py | 49 | # Check if media type is supported | COMMENT |
| LOW | src/agentscope/formatter/_anthropic_formatter.py | 295 | # Check if media type is supported | COMMENT |
| LOW | src/agentscope/formatter/_ollama_formatter.py | 49 | # Check if media type is supported | COMMENT |
| LOW | src/agentscope/tool/_base.py | 437 | # Check if filename matches dangerous files (case-insensitive) | COMMENT |
| LOW | src/agentscope/tool/_base.py | 444 | # Check if any path segment matches dangerous directories | COMMENT |
| LOW | src/agentscope/tool/_types.py | 131 | # Check if the two definitions are from the same BaseModel | COMMENT |
| LOW | src/agentscope/tool/_response.py | 156 | # Check if the last block is also a TextBlock | COMMENT |
| LOW | src/agentscope/tool/_builtin/_read.py | 500 | # Read file content via backend | COMMENT |
| LOW | src/agentscope/tool/_builtin/_write.py | 252 | # Check if file exists, it must be read first if it exists | COMMENT |
| LOW⚡ | src/agentscope/tool/_builtin/_bash_parser.py | 233 | # Check if base command is in safe commands | COMMENT |
| LOW⚡ | src/agentscope/tool/_builtin/_bash_parser.py | 612 | # Check if environment variables are safe | COMMENT |
| LOW⚡ | src/agentscope/tool/_builtin/_bash_parser.py | 616 | # Check if the command is a safe command that doesn't need permission | COMMENT |
| LOW | src/agentscope/tool/_builtin/_bash_parser.py | 179 | # Check if it's a compound command | COMMENT |
| LOW | src/agentscope/tool/_builtin/_bash_parser.py | 217 | # Check if it starts with a read-only prefix | COMMENT |
| LOW | src/agentscope/tool/_builtin/_bash_parser.py | 332 | # Check if this is a file-manipulating command | COMMENT |
| LOW | src/agentscope/tool/_builtin/_bash_parser.py | 910 | # Check if this node is a dangerous type | COMMENT |
| LOW | src/agentscope/tool/_builtin/_bash.py | 425 | # Check if pattern is a prefix pattern (ends with :*) | STRING |
| LOW | src/agentscope/tool/_builtin/_bash.py | 430 | # Check if pattern has unescaped wildcards | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL⚡ | tests/tts_gemini_test.py | 139 | self.mock_client.aio.models.generate_content.assert_not_called() | CODE |
| CRITICAL⚡ | tests/tts_gemini_test.py | 149 | self.mock_client.aio.models.generate_content.assert_not_called() | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyproject.toml | 121 | "pandas", | COMMENT |
| LOW | examples/long_term_memory/mem0/oss_demo.py | 201 | ) | COMMENT |
| LOW | examples/long_term_memory/mem0/oss_demo.py | 221 | # | COMMENT |
| LOW | examples/long_term_memory/reme/reme_demo.py | 261 | # One middleware, shared across both sessions. ReMe is embedded | COMMENT |
| LOW | examples/web_ui/frontend/src/vite-env.d.ts | 1 | /// <reference types="vite/client" /> | COMMENT |
| LOW | …ntend/src/components/dialog/WorkingDirectoryDialog.tsx | 101 | // The answer, and the single source of truth: whatever the input | COMMENT |
| LOW | examples/web_ui/frontend/src/hooks/useMessages.ts | 301 | } | COMMENT |
| LOW | .github/workflows/github-monitor.yml | 1 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| LOW | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 301 | COMMENT | |
| LOW | src/agentscope/app/_bus_ops.py | 141 | # Three helpers implementing one protocol, whose only job is to make | COMMENT |
| LOW | src/agentscope/app/_lifespan.py | 181 | ) | COMMENT |
| LOW | src/agentscope/app/message_bus/_base.py | 501 | Registry key to delete. | COMMENT |
| LOW | src/agentscope/app/_router/_chat.py | 101 | # ------------------------------------------------------------------ | COMMENT |
| LOW | src/agentscope/app/_service/_chat.py | 661 | # them, and may happen before either is resolved. | COMMENT |
| LOW | src/agentscope/app/_service/_index_worker.py | 421 | ) | COMMENT |
| LOW | src/agentscope/app/storage/_sql/_storage.py | 401 | ).scalar_one() | COMMENT |
| LOW | src/agentscope/app/storage/_sql/_alembic/alembic.ini | 1 | # Alembic configuration for the AgentScope SQL storage backend. | COMMENT |
| LOW | src/agentscope/app/_tool/_agent_invite.py | 361 | # rules are anchored to the leader's workspace, which the | COMMENT |
| LOW | src/agentscope/app/_tool/_agent_create.py | 41 | system_prompt_template=_DEFAULT_SYSTEM_PROMPT_TEMPLATE, | COMMENT |
| LOW | src/agentscope/workspace/_gateway_shim.py | 21 | """ | COMMENT |
| LOW | src/agentscope/workspace/_opensandbox/_constants.py | 21 | #: Per-command timeout for first-time bootstrap shell commands. | COMMENT |
| LOW | src/agentscope/permission/_engine.py | 261 | tool_input, | COMMENT |
| LOW | src/agentscope/tool/_constants.py | 61 | "fdisk", | COMMENT |
| LOW | src/agentscope/tool/_constants.py | 101 | # | COMMENT |
| LOW | src/agentscope/tool/_builtin/_backend.py | 141 | Subclasses must implement three abstract primitives — ``exec_shell``, | COMMENT |
| LOW | src/agentscope/tool/_builtin/_backend.py | 161 | #: .. important:: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 174 | "placeholder": "我的智能体" | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 217 | "placeholder": "简要描述此智能体的专长;允许被邀请时必填。" | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 237 | "placeholder": "会话名称" | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 258 | "placeholder": "我的知识库" | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 262 | "placeholder": "描述知识库用途" | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 292 | "placeholder": "我的知识库" | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 296 | "placeholder": "描述知识库用途" | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 420 | "placeholder": "选择模型", | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 431 | "placeholder": "选择 Embedding 模型", | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 440 | "placeholder": "选择分块策略", | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 460 | "placeholder": "选择维度", | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/zh.json | 464 | "placeholder": "选择权限模式", | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 174 | "placeholder": "My agent" | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 217 | "placeholder": "Briefly describe this agent's expertise; required when invitable is on." | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 237 | "placeholder": "Session name" | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 258 | "placeholder": "My knowledge base" | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 262 | "placeholder": "Describe what this knowledge base is for." | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 292 | "placeholder": "My knowledge base" | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 296 | "placeholder": "Describe what this knowledge base is for." | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 420 | "placeholder": "Select a model", | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 431 | "placeholder": "Select an embedding model", | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 440 | "placeholder": "Select a chunker", | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 460 | "placeholder": "Select a dimension", | CODE |
| LOW | examples/web_ui/frontend/src/i18n/locales/en.json | 464 | "placeholder": "Select permission mode", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 143 | CODE | |
| LOW | src/agentscope/app/_app.py | 78 | CODE | |
| LOW | src/agentscope/app/_router/_knowledge_base.py | 312 | CODE | |
| LOW | src/agentscope/app/_router/_knowledge_base.py | 465 | CODE | |
| LOW | …ope/app/_manager/_scheduler/_tools/_schedule_create.py | 163 | CODE | |
| LOW | …ope/app/workspace_manager/_docker_workspace_manager.py | 65 | CODE | |
| LOW | …app/workspace_manager/_bubblewrap_workspace_manager.py | 40 | CODE | |
| LOW | …workspace_manager/_applecontainer_workspace_manager.py | 50 | CODE | |
| LOW | …pp/workspace_manager/_opensandbox_workspace_manager.py | 57 | CODE | |
| LOW | …tscope/app/workspace_manager/_k8s_workspace_manager.py | 43 | CODE | |
| LOW | …pe/app/workspace_manager/_daytona_workspace_manager.py | 48 | CODE | |
| LOW | …tscope/app/workspace_manager/_e2b_workspace_manager.py | 66 | CODE | |
| LOW | src/agentscope/app/hub/_skill/_claw_hub.py | 86 | CODE | |
| LOW | src/agentscope/workspace/_e2b/_e2b_workspace.py | 75 | CODE | |
| LOW | src/agentscope/workspace/_daytona/_daytona_workspace.py | 79 | CODE | |
| LOW | …workspace/_applecontainer/_applecontainer_workspace.py | 89 | CODE | |
| LOW | src/agentscope/workspace/_k8s/_k8s_workspace.py | 60 | CODE | |
| LOW | …ntscope/workspace/_bubblewrap/_bubblewrap_workspace.py | 77 | CODE | |
| LOW | …scope/workspace/_opensandbox/_opensandbox_workspace.py | 49 | CODE | |
| LOW | src/agentscope/workspace/_docker/_docker_workspace.py | 52 | CODE | |
| LOW | src/agentscope/agent/_agent.py | 115 | CODE | |
| LOW | src/agentscope/model/_ollama/_model.py | 56 | CODE | |
| LOW | src/agentscope/model/_openai_chat/_model.py | 111 | CODE | |
| LOW | src/agentscope/tool/_builtin/_grep.py | 320 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/tool_middleware_test.py | 331 | CODE | |
| MEDIUM | tests/service_inbox_middleware_test.py | 208 | CODE | |
| MEDIUM | tests/service_inbox_middleware_test.py | 114 | CODE | |
| MEDIUM | tests/service_inbox_middleware_test.py | 125 | CODE | |
| MEDIUM | src/agentscope/middleware/_base.py | 99 | CODE | |
| MEDIUM | src/agentscope/middleware/_base.py | 122 | CODE | |
| MEDIUM | src/agentscope/middleware/_base.py | 168 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …scope/middleware/_longterm_memory/_mem0/_middleware.py | 296 | # tools — so just pass through. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/workspace_local_test.py | 605 | {"helper.py": "def helper():\n return 42\n"}, | STRING |