Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.
This report presents the forensic synthetic code analysis of volcengine/OpenViking, a Python project with 26,707 GitHub stars. SynthScan v2.0 examined 881,006 lines of code across 3018 source files, recording 13491 pattern matches distributed across 24 syntactic categories. The overall adjusted score of 20.6 places this repository in the Moderate 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 13491 distinct pattern matches across 24 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 |
|---|---|---|---|---|
| LOW | setup.py | 38 | def _sanitize_native_build_env(env): | CODE |
| LOW | setup.py | 71 | def _get_windows_python_sabi_library() -> Path: | CODE |
| LOW | setup.py | 125 | def _copy_artifacts_to_build_lib(self, target_binary=None, target_lib=None): | CODE |
| LOW | setup.py | 142 | def _run_stage_with_artifact_checks( | CODE |
| LOW | setup.py | 152 | def _resolve_cargo_target_dir(self, cargo_project_dir, env): | CODE |
| LOW | setup.py | 189 | def _build_ov_cli_artifact_impl(self, ov_cli_dir, binary_name, ov_target_binary): | CODE |
| LOW | setup.py | 261 | def build_ragfs_python_artifact(self): | CODE |
| LOW | setup.py | 388 | def _should_require_ragfs_artifact(self) -> bool: | CODE |
| LOW | setup.py | 413 | def _clean_stale_engine_artifacts(self, ext_dir: Path): | CODE |
| LOW | benchmark/tau2/llm/scripts/run_eval.py | 104 | def _require_fixed_first_user(config: dict[str, Any]) -> bool: | CODE |
| LOW⚡ | benchmark/tau2/llm/scripts/run_eval.py | 210 | def _train_tool_output_max_chars(strategy: dict[str, Any]) -> int: | CODE |
| LOW⚡ | benchmark/tau2/llm/scripts/run_eval.py | 217 | def _train_skip_failed_sessions(strategy: dict[str, Any]) -> bool: | CODE |
| LOW⚡ | benchmark/tau2/llm/scripts/run_eval.py | 221 | def _manifest_openviking_identity(corpus_dir: Path) -> dict[str, str] | None: | CODE |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 205 | def _compact_train_tool_output(content: Any, *, max_chars: int) -> str: | CODE |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 216 | def _message_text_openviking_text(message: dict[str, Any]) -> tuple[str, str]: | CODE |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 233 | def _message_texts_role_tool_blocks( | CODE |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 311 | def _load_fixed_first_user_fixture(path: Path) -> dict[str, str]: | CODE |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 329 | def _append_incoming_user_context(message: Any, state: Any) -> None: | CODE |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 342 | def _register_fixed_first_user(args: argparse.Namespace) -> str: | CODE |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 902 | def create_openviking_memory_agent(tools, domain_policy, **kwargs): | CODE |
| LOW | benchmark/tau2/llm/scripts/tau2_common.py | 251 | def _has_confirmation_aware_prompt(prompt_text: str) -> bool: | STRING |
| LOW | benchmark/tau2/llm/scripts/tau2_common.py | 259 | def _ensure_confirmation_aware_prompt(repo: Path) -> bool: | STRING |
| LOW | benchmark/tau2/common/tau2_env/tau2_environment.py | 42 | def generate_with_rate_limit_retry(*args: Any, **kwargs: Any) -> Any: | CODE |
| LOW | benchmark/tau2/common/tau2_env/tau2_environment.py | 290 | def _simulation_run_from_env_info(self): | CODE |
| LOW⚡ | benchmark/tau2/train/rollout_executor_vikingbot.py | 1117 | def _read_experience_loader_template_file(relative_path: str) -> str: | CODE |
| LOW⚡ | benchmark/tau2/train/rollout_executor_vikingbot.py | 1121 | def _write_experience_loader_files( | CODE |
| LOW⚡ | benchmark/tau2/train/rollout_executor_vikingbot.py | 1131 | async def _execute_required_experience_loader_read( | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 91 | def _viking_is_tool_result_success(result: Any) -> bool: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 202 | def _make_search_experience_tool(): | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 272 | def _make_read_experience_tool(): | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 392 | async def _experience_search_summary(client: Any, item: Any, rank: int) -> dict[str, Any]: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 1073 | async def _prepare_experience_loader_skill( | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 1295 | def _override_vikingbot_current_time_messages( | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 1428 | def _extract_experience_content(content: str) -> str | None: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 1438 | def _case_memory_context_from_tools(tools_used: list[dict] | None) -> str: | CODE |
| LOW | benchmark/tau2/train/service_app.py | 104 | def _task_indices_from_filters(filters: dict[str, Any]) -> list[int] | None: | CODE |
| LOW | benchmark/tau2/train/case_loader.py | 133 | def _derive_split_tasks_from_tasks_json(tasks_path: Path) -> dict[str, list[str]]: | CODE |
| LOW | benchmark/tau2/train/_rollout_helpers.py | 42 | def _is_communicate_with_user(tool_name: str) -> bool: | CODE |
| LOW | benchmark/tau2/train/_rollout_helpers.py | 46 | def _communicate_text_from_tool_input(tool_input: dict[str, Any] | None) -> str: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 290 | def _resolve_llm_runtime_config( | CODE |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 368 | def _register_native_memory_agent(executor: NativeTau2RolloutExecutor) -> str: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 756 | def _build_rollout_messages_from_simulation( | CODE |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 800 | def _simulation_message_to_rollout_messages( | CODE |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 903 | def _tool_usage_from_simulation(simulation: Any) -> list[dict[str, Any]]: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 927 | def _memory_context_from_simulation(simulation: Any) -> str | None: | CODE |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 89 | async def _list_session_commit_tasks( | CODE |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 113 | def _latest_active_commit_task(tasks: list[dict[str, Any]]) -> dict[str, Any] | None: | CODE |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 120 | async def _recover_commit_after_transport_error( | CODE |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 411 | def extract_trace_id_from_error(error: str) -> str: | CODE |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 900 | async def process_single_session_with_progress(**kwargs) -> Dict[str, Any]: | CODE |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 1173 | async def process_sample_with_limit(sample_id, display_id, sessions): | CODE |
| LOW | benchmark/locomo/vikingbot/preflight_eval_config.py | 79 | def _warn_deprecated_or_conflicting_fields(ov_data: dict) -> None: | CODE |
| LOW⚡ | benchmark/locomo/vikingbot/preflight_eval_runtime.py | 75 | def _resolve_configured_identity_hint() -> tuple[str, str]: | CODE |
| LOW | benchmark/locomo/vikingbot/preflight_eval_runtime.py | 179 | def _resolve_openviking_api_key() -> tuple[str, str]: | CODE |
| LOW⚡ | benchmark/locomo/vikingbot/preflight_eval_runtime.py | 266 | def _parse_health_identity_payload(payload: dict) -> tuple[str, str, str]: | CODE |
| LOW | benchmark/locomo/vikingbot/preflight_eval_runtime.py | 397 | def _ensure_server_and_user_key_ready( | CODE |
| LOW | benchmark/locomo/vikingbot/preflight_eval_runtime.py | 419 | def _ensure_trusted_server_ready( | CODE |
| LOW | benchmark/locomo/vikingbot/preflight_eval_runtime.py | 434 | def _resolve_ready_user_identity( | CODE |
| LOW⚡ | benchmark/locomo/vikingbot/progress_utils.py | 133 | def make_three_state_progress( | CODE |
| LOW | benchmark/locomo/openclaw/eval.py | 475 | def calculate_session_metrics_from_jsonl(jsonl_filename: str, agent_id: str = "main") -> dict: | CODE |
| 6536 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | .pr_agent.toml | 1 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | .pr_agent.toml | 3 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | .pr_agent.toml | 13 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | .pr_agent.toml | 15 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .pr_agent.toml | 17 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .pr_agent.toml | 39 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .pr_agent.toml | 42 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .pr_agent.toml | 63 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .pr_agent.toml | 65 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .pr_agent.toml | 78 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .pr_agent.toml | 82 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .pr_agent.toml | 107 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .pr_agent.toml | 109 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .pr_agent.toml | 287 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | .pr_agent.toml | 289 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | .pr_agent.toml | 330 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | .pr_agent.toml | 332 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | benchmark/locomo/vikingbot/import_to_ov.py | 337 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/vikingbot/import_to_ov.py | 339 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/vikingbot/import_to_ov.py | 487 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/vikingbot/import_to_ov.py | 489 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/vikingbot/import_to_ov.py | 1329 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/vikingbot/import_to_ov.py | 1331 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/vikingbot/progress_utils.py | 51 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/vikingbot/progress_utils.py | 53 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | benchmark/locomo/vikingbot/progress_utils.py | 128 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | benchmark/locomo/vikingbot/progress_utils.py | 130 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/vikingbot/progress_utils.py | 176 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/vikingbot/progress_utils.py | 178 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/vikingbot/progress_utils.py | 248 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/vikingbot/progress_utils.py | 250 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/import_to_ov.py | 128 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/import_to_ov.py | 130 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/import_to_ov.py | 208 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/import_to_ov.py | 210 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/import_to_ov.py | 595 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/import_to_ov.py | 597 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 45 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 47 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 89 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 91 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 199 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 201 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 250 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 252 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 352 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 354 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 747 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 749 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 931 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 933 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 1284 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 1286 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openviking/import_to_ov.py | 202 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openviking/import_to_ov.py | 204 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openviking/import_to_ov.py | 315 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openviking/import_to_ov.py | 317 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openviking/import_to_ov.py | 740 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openviking/import_to_ov.py | 742 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/claudecode/ingest.py | 54 | # --------------------------------------------------------------------------- | COMMENT |
| 1024 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 171 | except Exception as exc: | CODE |
| LOW | setup.py | 240 | except Exception as exc: | CODE |
| LOW | setup.py | 372 | except Exception as exc: | CODE |
| MEDIUM | benchmark/skillsbench/skill_bench_eval.py | 673 | print("Error: --task cannot be combined with --count/--start/--end", file=sys.stderr) | CODE |
| MEDIUM | benchmark/skillsbench/skill_bench_eval.py | 676 | print("Error: --count cannot be combined with --start/--end", file=sys.stderr) | CODE |
| MEDIUM | benchmark/skillsbench/skill_bench_eval.py | 689 | print(f"Error: invalid range --start {start} --end {end}", file=sys.stderr) | CODE |
| MEDIUM | benchmark/skillsbench/skill_bench_eval.py | 692 | print(f"Error: --start {start} exceeds available tasks ({len(tasks)})", file=sys.stderr) | CODE |
| MEDIUM | benchmark/skillsbench/skill_bench_eval.py | 62 | def _onerror(func, p, exc_info): | CODE |
| LOW⚡ | benchmark/skillsbench/skill_bench_eval.py | 68 | except Exception: | CODE |
| LOW⚡ | benchmark/skillsbench/skill_bench_eval.py | 72 | except Exception: | CODE |
| LOW⚡ | benchmark/skillsbench/skill_bench_eval.py | 77 | except Exception: | CODE |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 362 | except Exception: | CODE |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 429 | except Exception as e: | CODE |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 470 | except Exception: | CODE |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 596 | except Exception: | CODE |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 608 | except Exception as e: | CODE |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 649 | except Exception as e: | CODE |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 713 | except Exception as e: | CODE |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 854 | except Exception as e: | CODE |
| LOW | benchmark/tau2/vikingbot/scripts/run_eval_reward.sh | 52 | except Exception: | CODE |
| LOW | …/tau2/vikingbot/scripts/commit_trajectory_to_memory.py | 99 | except Exception as exc: | CODE |
| LOW | …chmark/tau2/vikingbot/scripts/vikingbot_tau2_runner.py | 285 | except Exception: | CODE |
| LOW | benchmark/tau2/llm/scripts/run_eval.py | 1115 | except Exception as exc: | CODE |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 459 | except Exception as exc: | CODE |
| LOW | benchmark/tau2/common/tau2_env/tau2_environment.py | 47 | except Exception as exc: | CODE |
| LOW | benchmark/tau2/common/tau2_env/tau2_environment.py | 75 | except Exception as exc: | CODE |
| LOW | benchmark/tau2/common/tau2_env/tau2_environment.py | 95 | except Exception: | CODE |
| LOW | benchmark/tau2/common/tau2_env/tau2_environment.py | 118 | except Exception as exc: | CODE |
| LOW | benchmark/tau2/common/tau2_env/tau2_environment.py | 131 | except Exception as exc: | CODE |
| LOW | benchmark/tau2/common/tau2_env/tau2_environment.py | 298 | except Exception: | CODE |
| MEDIUM | benchmark/tau2/train/rollout_executor_vikingbot.py | 106 | def _vikingbot_imports() -> dict[str, Any]: | CODE |
| LOW⚡ | benchmark/tau2/train/rollout_executor_vikingbot.py | 977 | except Exception: | CODE |
| LOW⚡ | benchmark/tau2/train/rollout_executor_vikingbot.py | 986 | except Exception: | CODE |
| LOW⚡ | benchmark/tau2/train/rollout_executor_vikingbot.py | 991 | except Exception: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 262 | except Exception as exc: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 323 | except Exception as exc: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 372 | except Exception: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 406 | except Exception: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 422 | except Exception: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 672 | except Exception as exc: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 1006 | except Exception: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 1096 | except Exception as exc: | CODE |
| LOW | benchmark/tau2/train/service_app.py | 42 | except Exception: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 159 | except Exception: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 695 | except Exception as exc: | CODE |
| LOW | benchmark/locomo/vikingbot/run_eval.py | 281 | except Exception: | CODE |
| LOW | benchmark/locomo/vikingbot/run_eval.py | 692 | except Exception: | CODE |
| LOW | benchmark/locomo/vikingbot/run_eval.py | 712 | except Exception as e: | CODE |
| MEDIUM | benchmark/locomo/vikingbot/run_eval.py | 713 | print(f"Error processing QA item: {str(e)}", file=sys.stderr) | CODE |
| MEDIUM | benchmark/locomo/vikingbot/run_eval.py | 80 | def get_session_num(key): | CODE |
| MEDIUM | benchmark/locomo/vikingbot/import_to_ov.py | 1456 | print(f"Error: {e}", file=sys.stderr) | CODE |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 745 | except Exception as e: | CODE |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 908 | except Exception: | CODE |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 1050 | except Exception: | CODE |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 1140 | except Exception: | CODE |
| LOW | benchmark/locomo/vikingbot/preflight_eval_config.py | 98 | except Exception as exc: | CODE |
| LOW | benchmark/locomo/vikingbot/judge.py | 78 | except Exception as e: | STRING |
| MEDIUM | benchmark/locomo/vikingbot/judge.py | 133 | print("Error: API token is required") | CODE |
| LOW | benchmark/locomo/vikingbot/judge.py | 205 | except Exception: | CODE |
| MEDIUM | benchmark/locomo/vikingbot/stat_judge_result.py | 35 | print(f"Error: File not found: {args.input}") | CODE |
| 2066 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …rk/tau2/vikingbot/scripts/provision_openviking_user.py | 4 | CODE | |
| LOW | …/tau2/vikingbot/scripts/commit_trajectory_to_memory.py | 12 | CODE | |
| LOW | …chmark/tau2/vikingbot/scripts/vikingbot_tau2_runner.py | 11 | CODE | |
| LOW | benchmark/tau2/llm/scripts/run_eval.py | 2 | CODE | |
| LOW | …ark/tau2/llm/scripts/build_fixed_first_user_fixture.py | 4 | CODE | |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 2 | CODE | |
| LOW | benchmark/tau2/llm/scripts/tau2_common.py | 1 | CODE | |
| LOW | benchmark/tau2/common/tau2_env/tau2_environment.py | 3 | CODE | |
| LOW | benchmark/tau2/common/tau2_env/tau2_tool_provider.py | 4 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 4 | CODE | |
| LOW | benchmark/tau2/train/service_app.py | 6 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor.py | 4 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor.py | 8 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor.py | 8 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor.py | 8 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor.py | 8 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor.py | 8 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor.py | 19 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor.py | 19 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor.py | 19 | CODE | |
| LOW | benchmark/tau2/train/case_loader.py | 4 | CODE | |
| LOW | benchmark/tau2/train/_rollout_helpers.py | 12 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 4 | CODE | |
| LOW | benchmark/locomo/vikingbot/progress_utils.py | 8 | CODE | |
| LOW | benchmark/locomo/mem0/ingest.py | 26 | CODE | |
| LOW | benchmark/locomo/hermes/import_to_ov.py | 5 | CODE | |
| LOW | benchmark/locomo/hermes/import_e2e.py | 5 | CODE | |
| LOW | benchmark/locomo/hermes/stat_judge_result.py | 1 | CODE | |
| LOW | benchmark/locomo/hermes/import_to_native.py | 9 | CODE | |
| LOW | benchmark/locomo/hermes/eval.py | 5 | CODE | |
| LOW | benchmark/locomo/supermemory/ingest.py | 35 | CODE | |
| LOW | benchmark/RAG/scripts/prepare_dataset.py | 10 | CODE | |
| LOW | benchmark/RAG/scripts/sample_dataset.py | 9 | CODE | |
| LOW | benchmark/RAG/scripts/sample_dataset.py | 14 | CODE | |
| LOW | benchmark/RAG/src/pipeline.py | 4 | CODE | |
| LOW | benchmark/RAG/src/pipeline.py | 5 | CODE | |
| LOW | benchmark/RAG/src/core/vector_store.py | 9 | CODE | |
| LOW | benchmark/cuvs/summarize_collection_runs.py | 4 | CODE | |
| LOW | benchmark/cuvs/run_collection_benchmark.py | 10 | CODE | |
| LOW | benchmark/cuvs/run_index_benchmark.py | 9 | CODE | |
| LOW | benchmark/cuvs/summarize_service_runs.py | 4 | CODE | |
| LOW | benchmark/cuvs/run_service_concurrency_benchmark.py | 9 | CODE | |
| LOW | benchmark/cuvs/summarize_index_runs.py | 9 | CODE | |
| LOW | …grep/vikingdb_bm25/effectiveness/step1_add_resource.py | 18 | CODE | |
| LOW | …eval/grep/vikingdb_bm25/effectiveness/step2_quality.py | 20 | CODE | |
| LOW | …eval/grep/vikingdb_bm25/performance/step3_benchmark.py | 16 | CODE | |
| LOW | …l/grep/vikingdb_bm25/performance/step0_prepare_data.py | 31 | CODE | |
| LOW | …l/grep/vikingdb_bm25/performance/step1_add_resource.py | 16 | CODE | |
| LOW | …rieval/grep/vikingdb_bm25/performance/step2_reindex.py | 17 | CODE | |
| LOW | benchmark/vectordb_perf/run.py | 11 | CODE | |
| LOW | benchmark/vectordb_perf/async_utils.py | 5 | CODE | |
| LOW | benchmark/custom/session_contention_benchmark.py | 4 | CODE | |
| LOW | benchmark/longmemeval/openviking/longmemeval_prompts.py | 1 | CODE | |
| LOW | docker/pending_health_server.py | 18 | CODE | |
| LOW | openviking/snapshot_namespace.py | 10 | CODE | |
| LOW | openviking/snapshot_namespace.py | 17 | CODE | |
| LOW | openviking/snapshot_namespace.py | 18 | CODE | |
| LOW | openviking/client.py | 8 | CODE | |
| LOW | openviking/__init__.py | 22 | CODE | |
| LOW | openviking/_sdk_import.py | 3 | CODE | |
| 1279 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | benchmark/locomo/vikingbot/run_eval.py | 0 | 从 sample 的 conversation 中提取最后一个有内容 session 的时间,返回 iso 格式日期 | STRING |
| HIGH | benchmark/locomo/openclaw/eval.py | 0 | 从 sample 的 conversation 中提取最后一个有内容 session 的时间,返回 iso 格式日期 | STRING |
| HIGH | benchmark/locomo/openviking/run_eval.py | 0 | 从 sample 的 conversation 中提取最后一个有内容 session 的时间,返回 iso 格式日期 | STRING |
| HIGH | benchmark/locomo/vikingbot/import_to_ov.py | 0 | openviking data import tool. import conversations from locomo json or plain text files into openviking memory. usage: # | STRING |
| HIGH | benchmark/locomo/openclaw/import_to_ov.py | 0 | openviking data import tool. import conversations from locomo json or plain text files into openviking memory. usage: # | STRING |
| HIGH | benchmark/locomo/openviking/import_to_ov.py | 0 | openviking data import tool. import conversations from locomo json or plain text files into openviking memory. usage: # | STRING |
| HIGH | benchmark/locomo/claudecode/import_to_ov.py | 0 | openviking data import tool. import conversations from locomo json or plain text files into openviking memory. usage: # | STRING |
| HIGH | benchmark/locomo/vikingbot/import_to_ov.py | 0 | parse txt test file into sessions. each session is a dict with: - messages: list of user message strings - evals: list o | STRING |
| HIGH | benchmark/locomo/openclaw/import_to_ov.py | 0 | parse txt test file into sessions. each session is a dict with: - messages: list of user message strings - evals: list o | STRING |
| HIGH | benchmark/locomo/openviking/import_to_ov.py | 0 | parse txt test file into sessions. each session is a dict with: - messages: list of user message strings - evals: list o | STRING |
| HIGH | benchmark/locomo/claudecode/import_to_ov.py | 0 | parse txt test file into sessions. each session is a dict with: - messages: list of user message strings - evals: list o | STRING |
| HIGH | benchmark/locomo/openclaw/eval.py | 0 | parse txt test file into sessions. each session is a dict with: - messages: list of user message strings - evals: list o | STRING |
| HIGH | benchmark/locomo/vikingbot/import_to_ov.py | 0 | load locomo json and optionally filter to one sample. | STRING |
| HIGH | benchmark/locomo/openclaw/import_to_ov.py | 0 | load locomo json and optionally filter to one sample. | STRING |
| HIGH | benchmark/locomo/openclaw/eval.py | 0 | load locomo json and optionally filter to one sample. | STRING |
| HIGH | benchmark/locomo/openviking/import_to_ov.py | 0 | load locomo json and optionally filter to one sample. | STRING |
| HIGH | benchmark/locomo/claudecode/import_to_ov.py | 0 | load locomo json and optionally filter to one sample. | STRING |
| HIGH | benchmark/locomo/vikingbot/import_to_ov.py | 0 | check if a specific session has already been successfully ingested. | STRING |
| HIGH | benchmark/locomo/openclaw/import_to_ov.py | 0 | check if a specific session has already been successfully ingested. | STRING |
| HIGH | benchmark/locomo/openclaw/eval.py | 0 | check if a specific session has already been successfully ingested. | STRING |
| HIGH | benchmark/locomo/openviking/import_to_ov.py | 0 | check if a specific session has already been successfully ingested. | STRING |
| HIGH | benchmark/locomo/claudecode/import_to_ov.py | 0 | check if a specific session has already been successfully ingested. | STRING |
| HIGH | benchmark/locomo/vikingbot/judge.py | 0 | you are an expert grader that determines if answers to questions match a gold standard answer | STRING |
| HIGH | benchmark/locomo/openclaw/judge.py | 0 | you are an expert grader that determines if answers to questions match a gold standard answer | STRING |
| HIGH | benchmark/locomo/hermes/judge.py | 0 | you are an expert grader that determines if answers to questions match a gold standard answer | STRING |
| HIGH | benchmark/RAG/src/core/judge_util.py | 0 | you are an expert grader that determines if answers to questions match a gold standard answer | STRING |
| HIGH | benchmark/locomo/vikingbot/judge.py | 0 | your task is to label an answer to a question as 'correct' or 'wrong'. you will be given the following data: (1) a quest | STRING |
| HIGH | benchmark/locomo/openclaw/judge.py | 0 | your task is to label an answer to a question as 'correct' or 'wrong'. you will be given the following data: (1) a quest | STRING |
| HIGH | benchmark/locomo/claudecode/judge.py | 0 | your task is to label an answer to a question as 'correct' or 'wrong'. you will be given the following data: (1) a quest | STRING |
| HIGH | benchmark/locomo/hermes/judge.py | 0 | your task is to label an answer to a question as 'correct' or 'wrong'. you will be given the following data: (1) a quest | STRING |
| HIGH | benchmark/locomo/mem0/eval.py | 0 | your task is to label an answer to a question as 'correct' or 'wrong'. you will be given the following data: (1) a quest | STRING |
| HIGH | benchmark/locomo/supermemory/eval.py | 0 | your task is to label an answer to a question as 'correct' or 'wrong'. you will be given the following data: (1) a quest | STRING |
| HIGH | benchmark/locomo/openclaw/import_to_ov.py | 0 | build session messages for one locomo sample. returns list of dicts with keys: messages, meta. each dict represents a se | STRING |
| HIGH | benchmark/locomo/openviking/import_to_ov.py | 0 | build session messages for one locomo sample. returns list of dicts with keys: messages, meta. each dict represents a se | STRING |
| HIGH | benchmark/locomo/claudecode/import_to_ov.py | 0 | build session messages for one locomo sample. returns list of dicts with keys: messages, meta. each dict represents a se | STRING |
| HIGH | benchmark/locomo/openclaw/import_to_ov.py | 0 | save messages to openviking via openviking sdk client. returns token usage dict with embedding and vlm token counts. arg | STRING |
| HIGH | benchmark/locomo/claudecode/import_to_ov.py | 0 | save messages to openviking via openviking sdk client. returns token usage dict with embedding and vlm token counts. arg | STRING |
| HIGH | benchmark/locomo/openviking/import_to_ov.py | 0 | save messages to openviking via openviking sdk client. returns token usage dict with embedding and vlm token counts. arg | STRING |
| HIGH | benchmark/locomo/openclaw/eval.py | 0 | extract assistant text from /v1/responses api response. | STRING |
| HIGH | benchmark/locomo/mem0/eval.py | 0 | extract assistant text from /v1/responses api response. | STRING |
| HIGH | benchmark/locomo/supermemory/eval.py | 0 | extract assistant text from /v1/responses api response. | STRING |
| HIGH | benchmark/RAG/src/adapters/qasper_adapter.py | 0 | {context_text} {missing_rule} --- {category_instruction} question: {qa.question} answer: | STRING |
| HIGH | benchmark/RAG/src/adapters/financebench_adapter.py | 0 | {context_text} {missing_rule} --- {category_instruction} question: {qa.question} answer: | STRING |
| HIGH | benchmark/RAG/src/adapters/locomo_adapter.py | 0 | {context_text} {missing_rule} --- {category_instruction} question: {qa.question} answer: | STRING |
| HIGH | openviking/snapshot_namespace.py | 0 | return the account .ovgitignore content (empty string if absent). | STRING |
| HIGH | openviking/client/local.py | 0 | return the account .ovgitignore content (empty string if absent). | STRING |
| HIGH | openviking_cli/client/base.py | 0 | return the account .ovgitignore content (empty string if absent). | STRING |
| HIGH | openviking/snapshot_namespace.py | 0 | delete the account .ovgitignore control file (missing is success). | STRING |
| HIGH | openviking/client/local.py | 0 | delete the account .ovgitignore control file (missing is success). | STRING |
| HIGH | openviking_cli/client/base.py | 0 | delete the account .ovgitignore control file (missing is success). | STRING |
| HIGH | openviking/async_client.py | 0 | check whether a session exists in storage. args: session_id: session id to check returns: true if the session exists, fa | STRING |
| HIGH | openviking/client/local.py | 0 | check whether a session exists in storage. args: session_id: session id to check returns: true if the session exists, fa | STRING |
| HIGH | openviking_cli/client/base.py | 0 | check whether a session exists in storage. args: session_id: session id to check returns: true if the session exists, fa | STRING |
| HIGH | openviking/async_client.py | 0 | create a new session. args: session_id: optional session id. if provided, creates a session with the given id. if none, | STRING |
| HIGH | openviking/sync_client.py | 0 | create a new session. args: session_id: optional session id. if provided, creates a session with the given id. if none, | STRING |
| HIGH | openviking/client/local.py | 0 | create a new session. args: session_id: optional session id. if provided, creates a session with the given id. if none, | STRING |
| HIGH | openviking/async_client.py | 0 | add a message to a session. args: session_id: session id role: message role ("user" or "assistant") content: text conten | STRING |
| HIGH | openviking/sync_client.py | 0 | add a message to a session. args: session_id: session id role: message role ("user" or "assistant") content: text conten | STRING |
| HIGH | openviking_cli/client/base.py | 0 | add a message to a session. args: session_id: session id role: message role ("user" or "assistant") content: text conten | STRING |
| HIGH | openviking/async_client.py | 0 | list background tasks visible to the current caller. | STRING |
| 75 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | README_JA.md | 141 | "api_key": "your-api-key", | CODE |
| HIGH | README_JA.md | 154 | "api_key": "your-api-key", | CODE |
| HIGH | README_JA.md | 172 | "api_key": "your-api-key", | CODE |
| HIGH | README_JA.md | 185 | "api_key": "your-api-key", | CODE |
| HIGH | README_JA.md | 211 | "api_key" : "<your-api-key>", // モデルサービスAPIキー | CODE |
| HIGH | README_JA.md | 220 | "api_key" : "<your-api-key>", // モデルサービスAPIキー | CODE |
| HIGH | CONTRIBUTING_JA.md | 78 | "api_key": "your-api-key", | CODE |
| HIGH | CONTRIBUTING_JA.md | 86 | "api_key": "your-api-key", | CODE |
| HIGH | README.md | 145 | "api_key": "your-api-key", | CODE |
| HIGH | README.md | 158 | "api_key": "your-api-key", | CODE |
| HIGH | README.md | 176 | "api_key": "your-api-key", | CODE |
| HIGH | README.md | 189 | "api_key": "your-api-key", | CODE |
| HIGH | README.md | 343 | "api_key" : "<your-api-key>", // Model service API Key | CODE |
| HIGH | README.md | 354 | "api_key" : "<your-api-key>", // Model service API Key (optional for openai-codex) | CODE |
| HIGH | README_CN.md | 143 | "api_key": "your-api-key", | CODE |
| HIGH | README_CN.md | 156 | "api_key": "your-api-key", | CODE |
| HIGH | README_CN.md | 174 | "api_key": "your-api-key", | CODE |
| HIGH | README_CN.md | 187 | "api_key": "your-api-key", | CODE |
| HIGH | README_CN.md | 299 | "api_key" : "<your-api-key>", // 模型服务 API Key | CODE |
| HIGH | README_CN.md | 309 | "api_key" : "<your-api-key>", // 模型服务 API Key(openai-codex 可选) | CODE |
| HIGH | CONTRIBUTING.md | 78 | "api_key": "your-api-key", | CODE |
| HIGH | CONTRIBUTING.md | 86 | "api_key": "your-api-key", | CODE |
| HIGH | CONTRIBUTING_CN.md | 78 | "api_key": "your-api-key", | CODE |
| HIGH | CONTRIBUTING_CN.md | 86 | "api_key": "your-api-key", | CODE |
| HIGH | crates/ov_cli/README.md | 28 | "api_key": "your-api-key", | CODE |
| HIGH | openviking/models/embedder/openai_embedders.py | 47 | ... api_key="your-api-key", | STRING |
| HIGH | openviking/models/embedder/openai_embedders.py | 58 | ... api_key="your-api-key", | STRING |
| HIGH | openviking/models/embedder/minimax_embedders.py | 26 | ... api_key="your-api-key", | STRING |
| HIGH | tests/cli/test_doctor.py | 329 | "api_key": "{your-api-key}", | CODE |
| HIGH | docs/images/agents/zh/api.md | 12 | api_key = "[TODO]your-api-key" | CODE |
| HIGH | docs/images/agents/zh/sdk.md | 15 | api_key = "[TODO]your-api-key" | CODE |
| HIGH | docs/images/agents/en/api.md | 12 | api_key = "[TODO]your-api-key" | CODE |
| HIGH⚡ | docs/images/agents/en/sdk.md | 17 | api_key = "[TODO]your-api-key" | CODE |
| HIGH⚡ | docs/zh/faq/faq.md | 91 | "api_key": "your-api-key", | CODE |
| HIGH⚡ | docs/zh/faq/faq.md | 99 | "api_key": "your-api-key", | CODE |
| HIGH⚡ | docs/zh/faq/faq.md | 105 | "api_key": "your-api-key", | CODE |
| HIGH | docs/zh/getting-started/02-quickstart.md | 104 | "api_key" : "<your-api-key>", | CODE |
| HIGH | docs/zh/getting-started/02-quickstart.md | 112 | "api_key" : "<your-api-key>", | CODE |
| HIGH | docs/zh/getting-started/03-quickstart-server.md | 283 | "api_key" : "<your-api-key>", // Model service API Key | CODE |
| HIGH | docs/zh/getting-started/03-quickstart-server.md | 292 | "api_key" : "<your-api-key>", // Model service API Key | CODE |
| HIGH | docs/zh/guides/02-volcengine-purchase-guide.md | 99 | "api_key": "<your-api-key>", | CODE |
| HIGH | docs/zh/guides/02-volcengine-purchase-guide.md | 108 | "api_key": "<your-api-key>", | CODE |
| HIGH | docs/zh/guides/03-deployment.md | 339 | --set openviking.config.embedding.dense.api_key="YOUR_API_KEY" \ | CODE |
| HIGH | docs/zh/guides/03-deployment.md | 340 | --set openviking.config.vlm.api_key="YOUR_API_KEY" | CODE |
| HIGH | docs/zh/guides/01-configuration.md | 33 | "api_key" : "<your-api-key>", | CODE |
| HIGH | docs/zh/guides/01-configuration.md | 41 | "api_key" : "<your-api-key>", | CODE |
| HIGH | docs/zh/guides/01-configuration.md | 201 | "api_key": "your-api-key", | CODE |
| HIGH | docs/zh/guides/01-configuration.md | 282 | "api_key": "your-api-key", | CODE |
| HIGH | docs/zh/guides/01-configuration.md | 488 | "api_key": "your-api-key", | CODE |
| HIGH | docs/zh/guides/01-configuration.md | 519 | "api_key": "your-api-key", | CODE |
| HIGH | docs/zh/guides/01-configuration.md | 534 | "api_key": "your-api-key", | CODE |
| HIGH | docs/zh/guides/01-configuration.md | 540 | "api_key": "your-api-key", | CODE |
| HIGH | docs/zh/guides/01-configuration.md | 555 | "api_key": "your-api-key", | CODE |
| HIGH | docs/zh/guides/01-configuration.md | 619 | "api_key": "your-api-key", | CODE |
| HIGH | docs/zh/guides/01-configuration.md | 662 | "api_key": "your-api-key", | CODE |
| HIGH | docs/zh/guides/01-configuration.md | 818 | "api_key": "your-api-key", | CODE |
| HIGH | docs/zh/guides/06-mcp-integration.md | 50 | "Authorization": "Bearer your-api-key-here" | CODE |
| HIGH | docs/zh/guides/06-mcp-integration.md | 64 | --header "Authorization: Bearer your-api-key-here" | CODE |
| HIGH | docs/zh/guides/06-mcp-integration.md | 76 | "Authorization": "Bearer your-api-key-here" | CODE |
| HIGH | docs/zh/guides/06-mcp-integration.md | 98 | "Authorization": "Bearer your-api-key-here" | CODE |
| 62 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 189 | CODE | |
| LOW | setup.py | 261 | CODE | |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 88 | CODE | |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 196 | CODE | |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 442 | CODE | |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 664 | CODE | |
| LOW | benchmark/tau2/llm/scripts/run_eval.py | 483 | CODE | |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 492 | CODE | |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 650 | CODE | |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 673 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 954 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 1483 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 368 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 800 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 903 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 410 | CODE | |
| LOW | benchmark/locomo/vikingbot/run_eval.py | 68 | CODE | |
| LOW | benchmark/locomo/vikingbot/run_eval.py | 403 | CODE | |
| LOW | benchmark/locomo/vikingbot/run_eval.py | 591 | CODE | |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 120 | CODE | |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 531 | CODE | |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 810 | CODE | |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 1089 | CODE | |
| LOW | benchmark/locomo/vikingbot/stat_judge_result.py | 25 | CODE | |
| LOW | benchmark/locomo/vikingbot/preflight_eval_runtime.py | 99 | CODE | |
| LOW | benchmark/locomo/openclaw/import_to_ov.py | 243 | CODE | |
| LOW | benchmark/locomo/openclaw/stat_judge_result.py | 56 | CODE | |
| LOW | benchmark/locomo/openclaw/eval.py | 216 | CODE | |
| LOW | benchmark/locomo/openclaw/eval.py | 357 | CODE | |
| LOW | benchmark/locomo/openclaw/eval.py | 376 | CODE | |
| LOW | benchmark/locomo/openclaw/eval.py | 475 | CODE | |
| LOW | benchmark/locomo/openclaw/eval.py | 752 | CODE | |
| LOW | benchmark/locomo/openclaw/eval.py | 1042 | CODE | |
| LOW | benchmark/locomo/openclaw/eval.py | 1125 | CODE | |
| LOW | benchmark/locomo/openviking/run_eval.py | 69 | CODE | |
| LOW | benchmark/locomo/openviking/run_eval.py | 127 | CODE | |
| LOW | benchmark/locomo/openviking/run_eval.py | 245 | CODE | |
| LOW | benchmark/locomo/openviking/import_to_ov.py | 84 | CODE | |
| LOW | benchmark/locomo/openviking/import_to_ov.py | 350 | CODE | |
| LOW | benchmark/locomo/openviking/stat_judge_result.py | 27 | CODE | |
| LOW | benchmark/locomo/claudecode/ingest_e2e.py | 119 | CODE | |
| LOW | benchmark/locomo/claudecode/import_to_ov.py | 243 | CODE | |
| LOW | benchmark/locomo/claudecode/stat_judge_result.py | 60 | CODE | |
| LOW | benchmark/locomo/claudecode/eval.py | 105 | CODE | |
| LOW | benchmark/locomo/claudecode/eval.py | 171 | CODE | |
| LOW | benchmark/locomo/mem0/ingest.py | 214 | CODE | |
| LOW | benchmark/locomo/mem0/eval.py | 203 | CODE | |
| LOW | benchmark/locomo/mem0/eval.py | 292 | CODE | |
| LOW | benchmark/locomo/mem0/eval.py | 321 | CODE | |
| LOW | benchmark/locomo/mem0/eval.py | 352 | CODE | |
| LOW | benchmark/locomo/mem0/eval.py | 542 | CODE | |
| LOW | benchmark/locomo/hermes/import_to_ov.py | 296 | CODE | |
| LOW | benchmark/locomo/hermes/import_e2e.py | 473 | CODE | |
| LOW | benchmark/locomo/hermes/stat_judge_result.py | 315 | CODE | |
| LOW | benchmark/locomo/hermes/import_to_native.py | 211 | CODE | |
| LOW | benchmark/locomo/hermes/eval.py | 418 | CODE | |
| LOW | benchmark/locomo/supermemory/eval.py | 176 | CODE | |
| LOW | benchmark/locomo/supermemory/eval.py | 265 | CODE | |
| LOW | benchmark/locomo/supermemory/eval.py | 294 | CODE | |
| LOW | benchmark/locomo/supermemory/eval.py | 323 | CODE | |
| 588 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .pr_agent.toml | 1 | # ============================================================================= | COMMENT |
| LOW | docker-compose.yml | 1 | version: "3.8" | COMMENT |
| LOW | docker-compose.yml | 61 | # Uncomment for public HTTPS: | COMMENT |
| LOW | benchmark/tau2/vikingbot/setup_env.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | benchmark/tau2/vikingbot/setup_env.sh | 21 | # (or when --reinstall is passed); later sources just activate + export. | COMMENT |
| LOW | benchmark/tau2/train/restart_vikingbot_train_eval.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | benchmark/locomo/vikingbot/run_full_eval.sh | 1 | #!/bin/bash | COMMENT |
| LOW | benchmark/locomo/claudecode/run_e2e.sh | 1 | #!/bin/bash | COMMENT |
| LOW | benchmark/locomo/claudecode/run_sdk_iso.sh | 1 | #!/bin/bash | COMMENT |
| LOW | benchmark/locomo/claudecode/run_prompted.sh | 1 | #!/bin/bash | COMMENT |
| LOW | benchmark/RAG/config/config.yaml | 21 | # Number of concurrent worker threads for document ingestion | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 241 | /// Get logical extended attributes | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 261 | #[arg(long, default_value = "false")] | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 381 | /// [Data] Manage installed skills | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 461 | #[arg(value_name = "uri")] | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 561 | /// [Data] Update explicit retrieval tags metadata for a file or directory | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 801 | /// [Data] Privacy config management commands | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 841 | #[arg(value_name = "uri")] | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 1121 | /// Write blob bytes to this file (default: stdout) | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 1241 | /// Delete a session | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 1281 | /// Add skills from a source | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 1361 | #[arg(short = 'f', long = "files")] | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 1381 | /// Wait until processing is complete | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 1441 | #[arg(value_name = "task-or-uri")] | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 1481 | /// List targets by category | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 1501 | /// Privacy config target key | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 1521 | #[arg(long = "labels-json", value_name = "json")] | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 1561 | /// Create a new account with its first admin user | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 1581 | #[arg(value_name = "account-id")] | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 1601 | /// Deterministic API key seed | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 1621 | role: Option<String>, | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 1781 | root_api_key_env: Option<String>, | COMMENT |
| LOW | …es/ragfs-cache-yuanrong-sys/native/yuanrong_bridge.cpp | 1 | #include "yuanrong_bridge.h" | COMMENT |
| LOW | crates/ragfs-cache-mooncake/src/error.rs | 1 | /// Errors returned by the synchronous Mooncake object API. | COMMENT |
| LOW | crates/ragfs-cache-yuanrong/src/error.rs | 1 | /// Errors returned by the synchronous Yuanrong KV boundary. | COMMENT |
| LOW | crates/ragfs-cache-yuanrong/src/config.rs | 1 | use ragfs::cache::{CacheError, CacheResult}; | COMMENT |
| LOW | crates/ragfs-cache-yuanrong/src/store.rs | 1 | use crate::YuanrongStoreError; | COMMENT |
| LOW | crates/ragfs-python/src/lib.rs | 1421 | .collect(); | COMMENT |
| LOW | crates/ragfs-python/src/lib.rs | 1521 | /// recursive: Whether to search recursively in subdirectories (default: false) | COMMENT |
| LOW | crates/ragfs-python/src/lib.rs | 1621 | /// Return one page of flat glob results. | COMMENT |
| LOW | crates/ragfs-python/src/git.rs | 1 | //! PyO3 binding helpers for the Git version-control service. | COMMENT |
| LOW | crates/ragfs-python/src/git.rs | 21 | ObjectStore, RefStore, | COMMENT |
| LOW | crates/ragfs/tests/git_s3_integration.rs | 1 | //! Integration tests for the S3/TOS git storage backend (audit plan §A2). | COMMENT |
| LOW | crates/ragfs/tests/git_s3_integration.rs | 21 | //! "s3": { | COMMENT |
| LOW | crates/ragfs/tests/git_s3_integration.rs | 361 | assert_eq!(from_s3, from_local, "s3 and local stored bytes must be identical"); | COMMENT |
| LOW | crates/ragfs/src/lib.rs | 1 | //! RAGFS - Rust implementation of AGFS (Aggregated File System) | COMMENT |
| LOW | crates/ragfs/src/crypto/mod.rs | 1 | //! Envelope encryption primitives (mirrors the Python `openviking.crypto` layout byte-for-byte). | COMMENT |
| LOW | crates/ragfs/src/core/types.rs | 61 | /// Flat glob match entry. | COMMENT |
| LOW | crates/ragfs/src/core/types.rs | 461 | /// Sync type: "sync" or "async", default async | COMMENT |
| LOW | crates/ragfs/src/core/types.rs | 521 | /// Whether encryption is enabled for this backend | COMMENT |
| LOW | crates/ragfs/src/core/filesystem.rs | 121 | /// * `path` - The path where the file should be created | COMMENT |
| LOW | crates/ragfs/src/core/filesystem.rs | 141 | /// | COMMENT |
| LOW | crates/ragfs/src/core/filesystem.rs | 161 | /// # Arguments | COMMENT |
| LOW | crates/ragfs/src/core/filesystem.rs | 181 | /// | COMMENT |
| LOW | crates/ragfs/src/core/filesystem.rs | 201 | async fn read_dir(&self, path: &str) -> Result<Vec<FileInfo>>; | COMMENT |
| LOW | crates/ragfs/src/core/filesystem.rs | 221 | /// # Errors | COMMENT |
| LOW | crates/ragfs/src/core/filesystem.rs | 241 | /// # Arguments | COMMENT |
| LOW | crates/ragfs/src/core/filesystem.rs | 261 | data.resize(size as usize, 0); | COMMENT |
| LOW | crates/ragfs/src/core/filesystem.rs | 281 | /// this method to provide more efficient implementations. | COMMENT |
| LOW | crates/ragfs/src/core/filesystem.rs | 441 | /// | COMMENT |
| 447 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | openviking/service/resource_service.py | 569 | proc.kill() # type: ignore[possibly-undefined] | CODE |
| HIGH⚡ | openviking/service/resource_service.py | 570 | await proc.communicate() # type: ignore[possibly-undefined] | CODE |
| HIGH⚡ | openviking/session/memory/graph_view.py | 480 | rendered.push(`<ul>${{listItems.join('')}}</ul>`); | CODE |
| HIGH⚡ | openviking/session/memory/graph_view.py | 488 | rendered.push(line); | CODE |
| HIGH⚡ | openviking/session/memory/graph_view.py | 492 | listItems.push(`<li>${{line.replace(/^[-*]\s+/, '')}}</li>`); | CODE |
| HIGH⚡ | openviking/session/memory/graph_view.py | 500 | rendered.push(`<p>${{line}}</p>`); | CODE |
| HIGH⚡ | openviking/session/memory/graph_view.py | 538 | detailTitle.textContent = node.label || node.id; | CODE |
| HIGH⚡ | openviking/session/memory/graph_view.py | 540 | detailContent.innerHTML = renderMarkdown(node.content_full || node.content_preview || '', node.uri || ''); | CODE |
| HIGH⚡ | openviking/session/memory/graph_view.py | 546 | const sourceUri = edge.from || edge.source || ''; | CODE |
| HIGH⚡ | openviking/session/memory/graph_view.py | 547 | const targetUri = edge.to || edge.target || ''; | CODE |
| HIGH⚡ | openviking/session/memory/graph_view.py | 610 | if (activeMemoryTypes.size === 0 && activeLinkTypes.size === 0) {{ | CODE |
| HIGH⚡ | openviking/session/memory/graph_view.py | 615 | const visibleNodes = originalNodes.filter(node => activeMemoryTypes.size === 0 || activeMemoryTypes.has(node.memory_ty | CODE |
| HIGH⚡ | openviking/session/memory/graph_view.py | 617 | const visibleEdges = originalEdges.filter(edge => (activeLinkTypes.size === 0 || activeLinkTypes.has(edge.link_type)) | CODE |
| HIGH | openviking/session/memory/graph_view.py | 381 | values.size = Math.max(values.size || 18, 34); | CODE |
| HIGH | openviking/session/memory/graph_view.py | 390 | values.size = Math.max(values.size || 12, 18); | CODE |
| HIGH | openviking/session/memory/graph_view.py | 418 | if (!segment || segment === '.') {{ | CODE |
| HIGH | openviking/session/memory/graph_view.py | 427 | baseParts.push(segment); | CODE |
| HIGH | openviking/session/memory/graph_view.py | 455 | codeBlocks.push(`<pre><code>${{code.trim()}}</code></pre>`); | CODE |
| HIGH | openviking/session/memory/graph_view.py | 653 | showTooltip(params.event.srcEvent.clientX, params.event.srcEvent.clientY, node.label || node.id, meta, desc, node.uri | CODE |
| HIGH | openviking/session/memory/graph_view.py | 660 | showTooltip(params.event.srcEvent.clientX, params.event.srcEvent.clientY, edge.description || edge.link_type, meta, ed | CODE |
| HIGH | tests/parse/test_ast_extractor.py | 196 | return null; | STRING |
| HIGH | tests/parse/test_ast_extractor.py | 1317 | return title.length > 0 && title.length < 100; | STRING |
| HIGH | tests/cli/conftest.py | 266 | ["bash", "-lc", "command -v openviking || command -v ov"], | CODE |
| HIGH | tests/api_test/conftest.py | 688 | if (!aFailed && bFailed) return 1; | STRING |
| HIGH | tests/api_test/conftest.py | 693 | if (row.nextElementSibling && row.nextElementSibling.classList.contains('extras-row')) { | STRING |
| HIGH | tests/api_test/resources/test_add_resource.py | 42 | f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/resources/test_wait_processed.py | 37 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/admin/test_admin_users.py | 19 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/admin/test_admin_users.py | 43 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/admin/test_admin_users.py | 58 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/admin/test_admin_regenerate_key.py | 16 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/admin/test_admin_regenerate_key.py | 29 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/admin/test_admin_accounts.py | 19 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/admin/test_admin_accounts.py | 44 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/admin/test_admin_accounts.py | 60 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/admin/test_admin_role.py | 16 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/admin/test_admin_role.py | 29 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/filesystem/test_fs_read_write.py | 39 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/filesystem/test_link_relations.py | 15 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/filesystem/test_link_relations.py | 37 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/filesystem/test_link_relations.py | 48 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/filesystem/test_link_relations.py | 59 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/filesystem/test_get_abstract.py | 15 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/filesystem/test_get_abstract.py | 34 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/filesystem/test_fs_mv.py | 29 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/filesystem/test_fs_mkdir_basic.py | 27 | f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/filesystem/test_fs_rm.py | 28 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/filesystem/test_fs_ls.py | 25 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/filesystem/test_fs_tree_basic.py | 25 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/filesystem/test_get_overview.py | 51 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/filesystem/test_fs_stat.py | 25 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/system/test_observer.py | 18 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/system/test_observer.py | 38 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/system/test_observer.py | 58 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/system/test_observer.py | 78 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/system/test_system_status.py | 18 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/system/test_system_wait.py | 18 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/system/test_is_healthy.py | 18 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/sessions/test_session_used_commit.py | 22 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/sessions/test_session_used_commit.py | 33 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| 20 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | benchmark/RAG/src/adapters/qasper_adapter.py | 67 | Load raw data and convert to OpenViking-friendly format. Converts each paper to Markdown docum | STRING |
| HIGH | benchmark/RAG/src/adapters/syllabusqa_adapter.py | 110 | Load raw docx files and convert to OpenViking-friendly format. Only process syllabus documents | STRING |
| HIGH | openviking/metrics/core/types.py | 38 | Normalize a label mapping into the canonical internal representation. Args: labels: Optional label dic | STRING |
| HIGH | openviking/core/path_variables.py | 136 | Resolve variables in a URI template. Args: uri_template: URI template with variables (e.g. | STRING |
| HIGH | openviking/parse/custom.py | 119 | Parse the source using the custom parser. Args: source: File path or content string | STRING |
| HIGH | openviking/parse/custom.py | 142 | Parse content string. Note: Most custom parsers work with file paths, so this may not be suppo | STRING |
| HIGH | openviking/parse/directory_scan.py | 184 | Traverse directory tree and classify every file (phase-one validation). - Skips directories in IGNORE_DIRS (or | STRING |
| HIGH | openviking/parse/base.py | 80 | Unified lazy import utility. Args: module_name: Module name package_name: pip package name (if | STRING |
| HIGH | openviking/parse/parsers/pdf.py | 93 | Parse PDF file. Args: source: Path to PDF file **kwargs: Additional options (r | STRING |
| HIGH | openviking/parse/parsers/pdf.py | 178 | Convert PDF to Markdown using configured strategy. Args: pdf_path: Path to PDF file | STRING |
| HIGH | openviking/parse/parsers/pdf.py | 651 | Convert PDF to Markdown using MinerU API. Args: pdf_path: Path to PDF file res | STRING |
| HIGH | openviking/parse/parsers/pdf.py | 724 | Convert table data to Markdown table format. Args: table: 2D array of table cells | STRING |
| HIGH | openviking/parse/parsers/media/audio.py | 67 | Parse audio file - only copy original file and extract basic metadata, no content understanding. Args: | STRING |
| HIGH | openviking/parse/parsers/media/audio.py | 393 | Parse audio from base64 content string. Args: content: Audio content (base64 or binary str | STRING |
| HIGH | openviking/parse/parsers/media/video.py | 58 | Parse video file - only copy original file and extract basic metadata, no content understanding. Args: | STRING |
| HIGH | openviking/parse/parsers/media/video.py | 244 | Parse video from content string - Not yet implemented. Args: content: Video content (base6 | STRING |
| HIGH | openviking/parse/parsers/media/image.py | 79 | Parse image file - only copy original file and extract basic metadata, no content understanding. Args: | STRING |
| HIGH | openviking/parse/parsers/media/image.py | 288 | Parse image from content string - Not yet implemented. Args: content: Image content (base6 | STRING |
| HIGH | openviking/parse/accessors/local_accessor.py | 66 | Access a local file or directory. Simply wraps the local path in a LocalResource without any f | STRING |
| HIGH | openviking/pyagfs/helpers.py | 59 | Copy a file or directory within AGFS. Args: client: AGFS binding client instance src: Source path i | STRING |
| HIGH | openviking/pyagfs/helpers.py | 96 | Upload a file or directory from local filesystem to AGFS. Args: client: AGFS binding client instance | STRING |
| HIGH | openviking/pyagfs/helpers.py | 133 | Download a file or directory from AGFS to local filesystem. Args: client: AGFS binding client instance | STRING |
| HIGH | openviking/server/config.py | 305 | Load server configuration from ov.conf. Reads the ``server`` section of ov.conf and also ensures the full ov.co | STRING |
| HIGH | openviking/server/auth/registry.py | 28 | Register an auth plugin class. Supports decorator syntax: @registry.register class MyA | STRING |
| HIGH | openviking/server/auth/plugin.py | 39 | Resolve identity from request credentials. Args: request: FastAPI request object. api_k | STRING |
| HIGH | openviking/models/embedder/openai_embedders.py | 295 | Perform dense embedding on text Args: text: Input text is_query: Flag to indicate if th | STRING |
| HIGH | openviking/models/embedder/openai_embedders.py | 349 | Batch embedding (OpenAI native support) Args: texts: List of texts is_query: Flag to in | STRING |
| HIGH | openviking/models/embedder/volcengine_embedders.py | 178 | Perform dense embedding on text or multimodal content Args: content: Input text, or a list of multi | STRING |
| HIGH | openviking/models/embedder/volcengine_embedders.py | 266 | Batch embedding Args: contents: List of texts or multimodal content parts is_query: Fla | STRING |
| HIGH | openviking/models/embedder/volcengine_embedders.py | 374 | Perform sparse embedding on text or multimodal content Args: content: Input text, or a list of mult | STRING |
| HIGH | openviking/models/embedder/volcengine_embedders.py | 442 | Batch sparse embedding Args: contents: List of texts or multimodal content parts is_que | STRING |
| HIGH | openviking/models/embedder/volcengine_embedders.py | 562 | Perform hybrid embedding on text or multimodal content Args: content: Input text, or a list of mult | STRING |
| HIGH | openviking/models/embedder/volcengine_embedders.py | 639 | Batch hybrid embedding Args: contents: List of texts or multimodal content parts is_que | STRING |
| HIGH | openviking/models/embedder/litellm_embedders.py | 170 | Perform dense embedding on text via litellm. Args: text: Input text is_query: Flag to i | STRING |
| HIGH | openviking/models/embedder/litellm_embedders.py | 221 | Batch embedding via litellm. Args: texts: List of texts is_query: Flag to indicate if t | STRING |
| HIGH | openviking/models/embedder/jina_embedders.py | 180 | Perform dense embedding on text Args: text: Input text is_query: Flag to indicate if th | STRING |
| HIGH | openviking/models/embedder/jina_embedders.py | 248 | Batch embedding (Jina native support) Args: texts: List of texts is_query: Flag to indi | STRING |
| HIGH | openviking/models/embedder/base.py | 660 | 指数退避重试函数 Args: func: 要执行的函数 max_wait: 最大总等待时间(秒) base_delay: 基础延迟时间(秒) max_del | STRING |
| HIGH | openviking/models/embedder/base.py | 772 | Execute an embedder method with multi-credential failover support. Args: method_name: Name of the m | STRING |
| HIGH | openviking/models/embedder/base.py | 821 | Execute an async embedder method with multi-credential failover support. Args: method_name: Name of | STRING |
| HIGH | openviking/models/vlm/base.py | 290 | Create VLM instance Args: config: VLM config, must contain 'provider' field Returns: | STRING |
| HIGH | openviking/models/vlm/base.py | 402 | Execute a VLM method with failover support. Args: method_name: Name of the method to call on VLM in | STRING |
| HIGH | openviking/models/vlm/base.py | 446 | Execute an async VLM method with failover support. Args: method_name: Name of the async method to c | STRING |
| HIGH | openviking/models/vlm/base.py | 655 | Execute a VLM method with multi-credential failover support. Args: method_name: Name of the method | STRING |
| HIGH | openviking/models/vlm/base.py | 707 | Execute an async VLM method with multi-credential failover support. Args: method_name: Name of the | STRING |
| HIGH | …nviking/observability/http_observability_middleware.py | 744 | Execute the request with optional span context management. This function encapsulates the common logic for bot | STRING |
| HIGH | …nviking/storage/vectordb/collection/http_collection.py | 31 | Create or retrieve a Collection via HTTP. Args: host: Host address of the HTTP service. port: Port | STRING |
| HIGH | …viking/storage/vectordb/collection/local_collection.py | 63 | Create or retrieve a local Collection. Args: meta_data: Collection metadata configuration path: Per | STRING |
| HIGH | openviking/storage/vectordb/meta/collection_meta.py | 15 | Create a CollectionMeta instance. Args: path (str): The path to store metadata. If empty, creates a volatil | STRING |
| HIGH | openviking/storage/vectordb/meta/index_meta.py | 18 | Create an IndexMeta instance. Args: collection_meta (CollectionMeta): The metadata of the collection this i | STRING |
| HIGH | openviking/storage/vectordb/project/http_project.py | 149 | Create a new collection Args: collection_name: Collection name meta_data: Coll | STRING |
| HIGH | openviking/storage/vectordb/project/http_project.py | 212 | Get or create collection Args: collection_name: Collection name meta_data: Col | STRING |
| HIGH | openviking/storage/vectordb/project/project_group.py | 179 | Create new project Args: project_name: Project name Returns: Newly cr | STRING |
| HIGH | …nviking/storage/vectordb/project/volcengine_project.py | 121 | Create a new collection Args: collection_name: Collection name meta_data: Coll | STRING |
| HIGH | openviking/storage/vectordb/project/local_project.py | 162 | Create new collection. Args: collection_name: Collection name meta_data: Collection met | STRING |
| HIGH | openviking/storage/vectordb/project/local_project.py | 225 | Get or create collection. Args: collection_name: Collection name meta_data: Collection | STRING |
| HIGH | openviking/storage/vectordb/project/project.py | 141 | Create a new collection in the project. Args: collection_name (str): Name for the new collection. M | STRING |
| HIGH | openviking/storage/vectordb/index/index.py | 99 | Perform vector similarity search with optional filtering. Searches the index for vectors most similar to the qu | STRING |
| HIGH | openviking/storage/vectordb/index/index.py | 135 | Perform aggregation operations on the index data. Computes aggregate statistics over index records, optionally | STRING |
| HIGH | openviking/storage/vectordb/index/index.py | 335 | Perform a similarity search on the index using dense vector, sparse vector, and/or filtered criteria. | STRING |
| 34 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/locomo/openclaw/run_full_eval.sh | 77 | # Step 1: 导入数据 | COMMENT |
| LOW⚡ | benchmark/locomo/openclaw/run_full_eval.sh | 101 | # Step 2: 运行 QA 模型(默认输出到 result/qa_results.csv) | COMMENT |
| LOW⚡ | benchmark/locomo/openclaw/run_full_eval.sh | 105 | # Step 3: 裁判打分 | COMMENT |
| LOW⚡ | benchmark/locomo/openclaw/run_full_eval.sh | 109 | # Step 4: 计算结果 | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 20 | ## Step 1: SCAN ALL MEMORIES | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 23 | ## Step 2: ENTITY VERIFICATION | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 26 | ## Step 3: COMBINE AND CROSS-REFERENCE | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 33 | ## Step 4: SELECT THE BEST ANSWER | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 41 | ## Step 5: TEMPORAL GROUNDING | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 49 | ## Step 6: INCLUSION CHECK (for lists and counts) | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 54 | ## Step 7: COMMIT AND ANSWER | COMMENT |
| LOW | benchmark/RAG/scripts/prepare_dataset.py | 38 | # Step 1: Download | COMMENT |
| LOW | benchmark/RAG/scripts/prepare_dataset.py | 53 | # Step 2: Sample | COMMENT |
| LOW | benchmark/retrieval/grep/vikingdb_bm25/README.md | 34 | # Step 1: Import repos (with VLM/embedding, single import) | COMMENT |
| LOW | benchmark/retrieval/grep/vikingdb_bm25/README.md | 38 | # Step 2: Evaluate retrieval quality | COMMENT |
| LOW⚡ | benchmark/retrieval/grep/vikingdb_bm25/README.md | 84 | # Step 0: Generate data (default: 200 dirs x 1000 files = 200K files) | COMMENT |
| LOW⚡ | benchmark/retrieval/grep/vikingdb_bm25/README.md | 90 | # Step 1: Import without indexing (fast) | COMMENT |
| LOW⚡ | benchmark/retrieval/grep/vikingdb_bm25/README.md | 93 | # Step 2: Build vector indexes (requires openviking-server running) | COMMENT |
| LOW⚡ | benchmark/retrieval/grep/vikingdb_bm25/README.md | 97 | # Step 3: Benchmark — run with different engine configs | COMMENT |
| LOW⚡ | openviking/parse/parsers/pdf.py | 124 | # Step 1: Convert PDF to Markdown | COMMENT |
| LOW⚡ | openviking/parse/parsers/pdf.py | 130 | # Step 2: Parse Markdown using MarkdownParser, pass through resource name | COMMENT |
| LOW | openviking/parse/parsers/pdf.py | 144 | # Step 3: Update metadata for PDF origin | COMMENT |
| LOW | openviking/parse/parsers/pdf.py | 490 | # Step 1: Sample font size distribution (every 5th page) | COMMENT |
| LOW | openviking/parse/parsers/pdf.py | 505 | # Step 2: Determine body font size and heading font sizes | COMMENT |
| LOW | openviking/parse/parsers/pdf.py | 531 | # Step 3: Extract heading text page by page | COMMENT |
| LOW | openviking/parse/parsers/pdf.py | 591 | # Step 4: Deduplicate - filter headers appearing on >30% of pages | COMMENT |
| LOW | openviking/storage/viking_fs.py | 1120 | # Step 1: vikingdb recall candidate files | COMMENT |
| LOW | openviking/storage/viking_fs.py | 1160 | # Step 2: local fs precise matching on candidate files | COMMENT |
| LOW | openviking/storage/vectordb/README.md | 111 | # Step 1: 定义集合元数据 | COMMENT |
| LOW | openviking/storage/vectordb/README.md | 124 | # Step 2: 创建集合(内存模式) | COMMENT |
| LOW | openviking/storage/vectordb/README.md | 129 | # Step 3: 准备测试数据 | COMMENT |
| LOW | openviking/storage/vectordb/README.md | 142 | # Step 4: 插入数据 | COMMENT |
| LOW | openviking/storage/vectordb/README.md | 146 | # Step 5: 创建索引 | COMMENT |
| LOW | openviking/storage/vectordb/README.md | 158 | # Step 6: 向量搜索 | COMMENT |
| LOW | openviking/storage/vectordb/README.md | 170 | # Step 7: 带过滤条件的搜索 | COMMENT |
| LOW | openviking/storage/vectordb/README.md | 184 | # Step 8: 清理资源 | COMMENT |
| LOW | …iking/prompts/templates/retrieval/intent_analysis.yaml | 99 | ### Step 1: Identify Task Type | COMMENT |
| LOW⚡ | …iking/prompts/templates/retrieval/intent_analysis.yaml | 113 | ### Step 2: Check Context Coverage | COMMENT |
| LOW⚡ | …iking/prompts/templates/retrieval/intent_analysis.yaml | 123 | ### Step 3: Generate Queries | COMMENT |
| LOW | …pts/templates/retrieval/ov_intent_analysis_sft_v7.yaml | 101 | ### Step 1: Identify Task Type | COMMENT |
| LOW⚡ | …pts/templates/retrieval/ov_intent_analysis_sft_v7.yaml | 115 | ### Step 2: Check Context Coverage | COMMENT |
| LOW⚡ | …pts/templates/retrieval/ov_intent_analysis_sft_v7.yaml | 125 | ### Step 3: Generate Queries | COMMENT |
| LOW | openviking/retrieve/hierarchical_retriever.py | 160 | # Step 1: Determine starting directories based on explicit target dirs. | COMMENT |
| LOW | openviking/retrieve/hierarchical_retriever.py | 212 | # Step 2: Global vector search to supplement starting points | COMMENT |
| LOW | openviking/retrieve/hierarchical_retriever.py | 244 | # Step 3: Pick recursive entry points from directory hits and explicit roots. | COMMENT |
| LOW | openviking/retrieve/hierarchical_retriever.py | 277 | # Step 4: Recursive search | COMMENT |
| LOW | openviking/retrieve/hierarchical_retriever.py | 298 | # Step 6: Convert results | COMMENT |
| LOW | …ing/session/memory/session_extract_context_provider.py | 495 | # Step 1: Separate schemas into multi-file (ls) and single-file (direct read) | COMMENT |
| LOW | …ing/session/memory/session_extract_context_provider.py | 534 | # Step 2: Execute search for each ls directory (instead of ls) | COMMENT |
| LOW | openviking_cli/utils/config/vlm_config.py | 257 | # Step 1: Migrate legacy backup config | COMMENT |
| LOW | openviking_cli/utils/config/vlm_config.py | 319 | # Step 2: If no credentials from backup migration and no explicit credentials, | COMMENT |
| LOW⚡ | openviking_cli/utils/config/vlm_config.py | 355 | # Step 3: Merge migrated credentials with existing credentials | COMMENT |
| LOW⚡ | openviking_cli/utils/config/vlm_config.py | 361 | # Step 4: Assign default IDs and apply top-level defaults | COMMENT |
| LOW | tests/oc2ov_test/upgrade_openviking.sh | 444 | # Step 1: Stop OpenClaw gateway completely | COMMENT |
| LOW | tests/oc2ov_test/upgrade_openviking.sh | 472 | # Step 2: Clean up OpenClaw stale state (lock files, session locks, cache) | COMMENT |
| LOW | tests/oc2ov_test/upgrade_openviking.sh | 563 | # Step 3: Verify OpenViking installation path before starting | COMMENT |
| LOW | tests/oc2ov_test/upgrade_openviking.sh | 759 | # Step 4: Clean up stale OV sessions with failed archives | COMMENT |
| LOW⚡ | tests/oc2ov_test/upgrade_openviking.sh | 788 | # Step 5: Start OpenClaw gateway | COMMENT |
| LOW | tests/oc2ov_test/upgrade_openviking.sh | 849 | # Step 5: Verify OpenViking is correctly loaded by OpenClaw | COMMENT |
| LOW | docs/images/agents/en/claude-code.md | 5 | ## Step 1: Install | COMMENT |
| 109 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …chmark/tau2/vikingbot/scripts/vikingbot_tau2_runner.py | 41 | from vikingbot.utils.helpers import get_source_workspace_path | CODE |
| CRITICAL | benchmark/tau2/train/rollout_executor_vikingbot.py | 122 | from vikingbot.utils.helpers import get_source_workspace_path | CODE |
| CRITICAL | benchmark/tau2/train/rollout_executor_vikingbot.py | 832 | from vikingbot.utils.helpers import cal_str_tokens as _cal | CODE |
| CRITICAL | benchmark/cuvs/run_index_benchmark.py | 509 | self.cp.cuda.Stream.null.synchronize() | CODE |
| CRITICAL | benchmark/cuvs/run_index_benchmark.py | 539 | self.cp.cuda.Stream.null.synchronize() | CODE |
| CRITICAL | examples/openwebui-plugin/tests/test_tools.py | 69 | assert b'"query":"hello"' in route.calls.last.request.content.replace(b" ", b"") | CODE |
| CRITICAL | bot/vikingbot/config/loader.py | 50 | from vikingbot.utils.helpers import get_data_path | CODE |
| CRITICAL | bot/vikingbot/providers/litellm_provider.py | 22 | from vikingbot.utils.helpers import cal_str_tokens | CODE |
| CRITICAL | bot/vikingbot/agent/subagent.py | 19 | from vikingbot.utils.helpers import ensure_non_empty_assistant_content | CODE |
| CRITICAL | bot/vikingbot/agent/memory.py | 14 | from vikingbot.utils.helpers import ensure_dir | CODE |
| CRITICAL | bot/vikingbot/agent/context.py | 17 | from vikingbot.utils.helpers import ensure_non_empty_assistant_content | CODE |
| CRITICAL | bot/vikingbot/agent/context.py | 79 | from vikingbot.utils.helpers import ensure_workspace_templates | CODE |
| CRITICAL | bot/vikingbot/agent/loop.py | 41 | from vikingbot.utils.helpers import cal_str_tokens, ensure_non_empty_assistant_content | CODE |
| CRITICAL | bot/vikingbot/openviking_mount/session_integration.py | 18 | from vikingbot.utils.helpers import get_workspace_path | CODE |
| CRITICAL | bot/vikingbot/openviking_mount/manager.py | 16 | from vikingbot.utils.helpers import get_mounts_path, get_bot_data_path | CODE |
| CRITICAL | bot/vikingbot/hooks/builtins/openviking_hooks.py | 16 | from vikingbot.utils.helpers import cal_str_tokens | CODE |
| CRITICAL | bot/vikingbot/channels/telegram.py | 322 | from vikingbot.utils.helpers import get_media_path | CODE |
| CRITICAL | bot/vikingbot/channels/discord.py | 207 | from vikingbot.utils.helpers import get_media_path | CODE |
| CRITICAL | bot/vikingbot/channels/mochat.py | 19 | from vikingbot.utils.helpers import get_data_path | CODE |
| CRITICAL | bot/vikingbot/channels/feishu.py | 253 | response = await self._client.im.v1.message_resource.aget(request) | CODE |
| CRITICAL | bot/vikingbot/channels/feishu.py | 257 | response = await self._client.im.v1.image.aget(request) | CODE |
| CRITICAL | bot/vikingbot/channels/feishu.py | 291 | response = await self._client.im.v1.chat.aget(request) | CODE |
| CRITICAL | bot/vikingbot/channels/feishu.py | 406 | response = self._client.im.v1.message_reaction.create(request) | CODE |
| CRITICAL | bot/vikingbot/channels/feishu.py | 699 | response = self._client.im.v1.message.reply(request) | CODE |
| CRITICAL | bot/vikingbot/channels/feishu.py | 714 | response = self._client.im.v1.message.create(request) | CODE |
| CRITICAL | bot/vikingbot/channels/feishu.py | 944 | response = await self._client.im.v1.chat_members.aget(request) | CODE |
| CRITICAL | bot/vikingbot/channels/feishu.py | 1008 | user_response = self._client.contact.v3.user.get(user_request) | CODE |
| CRITICAL | bot/vikingbot/session/manager.py | 15 | from vikingbot.utils.helpers import ensure_dir, ensure_non_empty_assistant_content | CODE |
| CRITICAL | bot/vikingbot/session/manager.py | 185 | from vikingbot.utils.helpers import ensure_session_workspace | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/tau2/train/rollout_executor.py | 144 | __all__ = [ | CODE |
| LOW⚡ | benchmark/locomo/mem0/eval.py | 56 | def _update_openclaw_mem0_user(sample_id: str) -> None: | CODE |
| LOW⚡ | benchmark/locomo/supermemory/eval.py | 76 | def _update_openclaw_supermemory_container(sample_id: str) -> None: | CODE |
| LOW | benchmark/cuvs/run_index_benchmark.py | 499 | def set_search_params(self, search_params: dict[str, Any]) -> None: | CODE |
| LOW | openviking/snapshot_namespace.py | 93 | async def set_gitignore(self, *, content: str) -> None: | CODE |
| LOW | openviking/snapshot_namespace.py | 178 | def set_gitignore(self, *, content: str) -> None: | CODE |
| LOW | openviking/client.py | 18 | __all__ = ["SyncOpenViking", "AsyncOpenViking", "SyncHTTPClient", "AsyncHTTPClient"] | CODE |
| LOW | openviking/__init__.py | 72 | __all__ = [ | CODE |
| LOW | openviking/metrics/__init__.py | 45 | __all__ = [ | CODE |
| LOW | openviking/metrics/datasources/__init__.py | 21 | __all__ = [ | CODE |
| LOW | openviking/metrics/datasources/http.py | 61 | def set_inflight(*, route: str, value: float, account_id: str | None = None) -> None: | CODE |
| LOW | openviking/metrics/collectors/__init__.py | 36 | __all__ = [ | CODE |
| LOW | openviking/metrics/core/__init__.py | 11 | __all__ = [ | CODE |
| LOW | openviking/metrics/exporters/__init__.py | 9 | __all__ = ["PrometheusExporter", "OTelMetricExporter"] | CODE |
| LOW | openviking/crypto/__init__.py | 32 | __all__ = [ | CODE |
| LOW | openviking/core/__init__.py | 45 | __all__ = [ | CODE |
| LOW | openviking/privacy/__init__.py | 19 | __all__ = [ | CODE |
| LOW | openviking/ingest/__init__.py | 17 | __all__ = [ | CODE |
| LOW | openviking/ingest/sources/__init__.py | 15 | __all__ = ["claude_code", "codex", "cursor", "hermes", "opencode", "openclaw"] | CODE |
| LOW | openviking/parse/__init__.py | 25 | __all__ = [ | CODE |
| LOW | openviking/parse/parsers/__init__.py | 15 | __all__ = [ | CODE |
| LOW | openviking/parse/parsers/code/__init__.py | 6 | __all__ = [ | CODE |
| LOW | openviking/parse/parsers/code/ast/__init__.py | 29 | __all__ = ["extract_skeleton"] | CODE |
| LOW | openviking/parse/parsers/media/__init__.py | 9 | __all__ = ["ImageParser", "AudioParser", "VideoParser", "get_media_type", "get_media_base_uri"] | CODE |
| LOW | openviking/parse/accessors/__init__.py | 23 | __all__ = [ | CODE |
| LOW | openviking/parse/accessors/web_crawler/__init__.py | 9 | __all__ = [ | CODE |
| LOW | openviking/pyagfs/__init__.py | 156 | __all__ = [ | CODE |
| LOW | openviking/message/__init__.py | 17 | __all__ = [ | CODE |
| LOW⚡ | openviking/server/body_dump_middleware.py | 51 | def _set_span_attr(key: str, value: object) -> None: | CODE |
| LOW | openviking/server/__init__.py | 24 | __all__ = ["create_app", "run_server"] | CODE |
| LOW | openviking/server/dependencies.py | 35 | def set_service(service: Optional[OpenVikingService]) -> None: | CODE |
| LOW | openviking/server/dependencies.py | 54 | def set_server_config(config: "ServerConfig") -> None: | CODE |
| LOW | openviking/server/routers/__init__.py | 29 | __all__ = [ | CODE |
| LOW | openviking/server/routers/bot.py | 43 | def set_bot_api_url(url: str) -> None: | CODE |
| LOW | openviking/server/routers/bot.py | 49 | def set_bot_api_key(api_key: str) -> None: | CODE |
| LOW | openviking/server/api_keys/legacy.py | 452 | async def set_role(self, account_id: str, user_id: str, role: str) -> None: | CODE |
| LOW | openviking/server/api_keys/__init__.py | 22 | __all__ = [ | CODE |
| LOW | openviking/server/api_keys/new.py | 387 | async def set_role(self, account_id: str, user_id: str, role: str) -> None: | CODE |
| LOW | openviking/server/auth/plugins/__init__.py | 16 | __all__ = [ | CODE |
| LOW | openviking/utils/model_retry.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | openviking/utils/__init__.py | 20 | __all__ = [ | CODE |
| LOW | openviking/utils/resource_processor.py | 141 | async def _set_stage(stage: str) -> None: | CODE |
| LOW⚡ | openviking/models/embedder/dashscope_embedders.py | 109 | def _update_telemetry_token_usage(self, response) -> None: | CODE |
| LOW | openviking/models/embedder/openai_embedders.py | 183 | def _update_telemetry_token_usage(self, response) -> None: | CODE |
| LOW | openviking/models/embedder/__init__.py | 59 | __all__ = [ | CODE |
| LOW⚡ | openviking/models/embedder/volcengine_embedders.py | 148 | def _update_telemetry_token_usage(self, response) -> None: | CODE |
| LOW | openviking/models/embedder/volcengine_embedders.py | 344 | def _update_telemetry_token_usage(self, response) -> None: | CODE |
| LOW | openviking/models/embedder/volcengine_embedders.py | 527 | def _update_telemetry_token_usage(self, response) -> None: | CODE |
| LOW | openviking/models/embedder/litellm_embedders.py | 139 | def _update_telemetry_token_usage(self, response) -> None: | CODE |
| LOW | openviking/models/vlm/__init__.py | 20 | __all__ = [ | CODE |
| LOW | openviking/models/vlm/backends/litellm_vlm.py | 175 | def _setup_env(self, api_key: str, model: str | None) -> None: | CODE |
| LOW | openviking/models/rerank/__init__.py | 19 | __all__ = [ | CODE |
| LOW | openviking/observability/events.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | openviking/observability/__init__.py | 12 | __all__ = [ | CODE |
| LOW | openviking/observability/usage_audit/worker.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | openviking/observability/usage_audit/time.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | openviking/observability/usage_audit/__init__.py | 7 | __all__ = ["init_usage_audit_from_server_config", "shutdown_usage_audit"] | CODE |
| LOW | openviking/observability/usage_audit/runtime.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | openviking/observability/usage_audit/inventory.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | openviking/storage/viking_vector_index_backend.py | 87 | async def update_collection_description(self, description: str) -> None: | CODE |
| 122 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/locomo/openclaw/run_full_eval.sh | 77 | # Step 1: 导入数据 | COMMENT |
| LOW⚡ | benchmark/locomo/openclaw/run_full_eval.sh | 101 | # Step 2: 运行 QA 模型(默认输出到 result/qa_results.csv) | COMMENT |
| LOW⚡ | benchmark/locomo/openclaw/run_full_eval.sh | 105 | # Step 3: 裁判打分 | COMMENT |
| LOW⚡ | benchmark/locomo/openclaw/run_full_eval.sh | 109 | # Step 4: 计算结果 | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 20 | ## Step 1: SCAN ALL MEMORIES | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 23 | ## Step 2: ENTITY VERIFICATION | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 26 | ## Step 3: COMBINE AND CROSS-REFERENCE | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 33 | ## Step 4: SELECT THE BEST ANSWER | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 41 | ## Step 5: TEMPORAL GROUNDING | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 49 | ## Step 6: INCLUSION CHECK (for lists and counts) | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 54 | ## Step 7: COMMIT AND ANSWER | COMMENT |
| LOW | benchmark/RAG/scripts/prepare_dataset.py | 38 | # Step 1: Download | COMMENT |
| LOW | benchmark/RAG/scripts/prepare_dataset.py | 53 | # Step 2: Sample | COMMENT |
| LOW⚡ | openviking/parse/parsers/pdf.py | 124 | # Step 1: Convert PDF to Markdown | COMMENT |
| LOW⚡ | openviking/parse/parsers/pdf.py | 130 | # Step 2: Parse Markdown using MarkdownParser, pass through resource name | COMMENT |
| LOW | openviking/parse/parsers/pdf.py | 144 | # Step 3: Update metadata for PDF origin | COMMENT |
| LOW | openviking/parse/parsers/pdf.py | 490 | # Step 1: Sample font size distribution (every 5th page) | COMMENT |
| LOW | openviking/parse/parsers/pdf.py | 505 | # Step 2: Determine body font size and heading font sizes | COMMENT |
| LOW | openviking/parse/parsers/pdf.py | 531 | # Step 3: Extract heading text page by page | COMMENT |
| LOW | openviking/parse/parsers/pdf.py | 591 | # Step 4: Deduplicate - filter headers appearing on >30% of pages | COMMENT |
| LOW | openviking/storage/viking_fs.py | 1120 | # Step 1: vikingdb recall candidate files | COMMENT |
| LOW | openviking/storage/viking_fs.py | 1160 | # Step 2: local fs precise matching on candidate files | COMMENT |
| LOW | …iking/prompts/templates/retrieval/intent_analysis.yaml | 99 | ### Step 1: Identify Task Type | COMMENT |
| LOW⚡ | …iking/prompts/templates/retrieval/intent_analysis.yaml | 113 | ### Step 2: Check Context Coverage | COMMENT |
| LOW⚡ | …iking/prompts/templates/retrieval/intent_analysis.yaml | 123 | ### Step 3: Generate Queries | COMMENT |
| LOW | …pts/templates/retrieval/ov_intent_analysis_sft_v7.yaml | 101 | ### Step 1: Identify Task Type | COMMENT |
| LOW⚡ | …pts/templates/retrieval/ov_intent_analysis_sft_v7.yaml | 115 | ### Step 2: Check Context Coverage | COMMENT |
| LOW⚡ | …pts/templates/retrieval/ov_intent_analysis_sft_v7.yaml | 125 | ### Step 3: Generate Queries | COMMENT |
| LOW | openviking/retrieve/hierarchical_retriever.py | 160 | # Step 1: Determine starting directories based on explicit target dirs. | COMMENT |
| LOW | openviking/retrieve/hierarchical_retriever.py | 212 | # Step 2: Global vector search to supplement starting points | COMMENT |
| LOW | openviking/retrieve/hierarchical_retriever.py | 244 | # Step 3: Pick recursive entry points from directory hits and explicit roots. | COMMENT |
| LOW | openviking/retrieve/hierarchical_retriever.py | 277 | # Step 4: Recursive search | COMMENT |
| LOW | openviking/retrieve/hierarchical_retriever.py | 298 | # Step 6: Convert results | COMMENT |
| LOW | …ing/session/memory/session_extract_context_provider.py | 495 | # Step 1: Separate schemas into multi-file (ls) and single-file (direct read) | COMMENT |
| LOW | …ing/session/memory/session_extract_context_provider.py | 534 | # Step 2: Execute search for each ls directory (instead of ls) | COMMENT |
| LOW | openviking_cli/utils/config/vlm_config.py | 257 | # Step 1: Migrate legacy backup config | COMMENT |
| LOW | openviking_cli/utils/config/vlm_config.py | 319 | # Step 2: If no credentials from backup migration and no explicit credentials, | COMMENT |
| LOW⚡ | openviking_cli/utils/config/vlm_config.py | 355 | # Step 3: Merge migrated credentials with existing credentials | COMMENT |
| LOW⚡ | openviking_cli/utils/config/vlm_config.py | 361 | # Step 4: Assign default IDs and apply top-level defaults | COMMENT |
| LOW | tests/vectordb/test_recall.py | 504 | # We need to check if the data came back. | COMMENT |
| LOW | tests/oc2ov_test/upgrade_openviking.sh | 444 | # Step 1: Stop OpenClaw gateway completely | COMMENT |
| LOW | tests/oc2ov_test/upgrade_openviking.sh | 472 | # Step 2: Clean up OpenClaw stale state (lock files, session locks, cache) | COMMENT |
| LOW | tests/oc2ov_test/upgrade_openviking.sh | 563 | # Step 3: Verify OpenViking installation path before starting | COMMENT |
| LOW | tests/oc2ov_test/upgrade_openviking.sh | 759 | # Step 4: Clean up stale OV sessions with failed archives | COMMENT |
| LOW⚡ | tests/oc2ov_test/upgrade_openviking.sh | 788 | # Step 5: Start OpenClaw gateway | COMMENT |
| LOW | tests/oc2ov_test/upgrade_openviking.sh | 849 | # Step 5: Verify OpenViking is correctly loaded by OpenClaw | COMMENT |
| LOW | …/spdlog-1.14.1/include/spdlog/fmt/bundled/format-inl.h | 1244 | // Step 1: integer promotion & Schubfach multiplier calculation. | COMMENT |
| LOW | …/spdlog-1.14.1/include/spdlog/fmt/bundled/format-inl.h | 1299 | // Step 2: Try larger divisor; remove trailing zeros if necessary. | COMMENT |
| LOW | …/spdlog-1.14.1/include/spdlog/fmt/bundled/format-inl.h | 1331 | // Step 3: Find the significand with the smaller divisor. | COMMENT |
| LOW⚡ | examples/openclaw-plugin/setup-helper/install.js | 2760 | // Step 1: Stop gateway | COMMENT |
| LOW⚡ | examples/openclaw-plugin/setup-helper/install.js | 2764 | // Step 2: Backup config | COMMENT |
| LOW⚡ | examples/openclaw-plugin/setup-helper/install.js | 2769 | // Step 3: Clean plugin config from openclaw.json | COMMENT |
| LOW⚡ | examples/openclaw-plugin/setup-helper/install.js | 2773 | // Step 4: Backup and remove plugin directories | COMMENT |
| LOW⚡ | examples/openclaw-plugin/setup-helper/install.js | 2783 | // Step 5: Remove env files | COMMENT |
| LOW | examples/openclaw-plugin/setup-helper/install.js | 2805 | // Step 6: Write uninstall audit | COMMENT |
| LOW⚡ | …aw-plugin/upgrade_scripts/uninstall-openclaw-plugin.sh | 110 | # Step 1: 停止 OpenClaw gateway | COMMENT |
| LOW⚡ | …aw-plugin/upgrade_scripts/uninstall-openclaw-plugin.sh | 121 | # Step 2: 备份当前配置 | COMMENT |
| LOW⚡ | …aw-plugin/upgrade_scripts/uninstall-openclaw-plugin.sh | 130 | # Step 3: 清理 openclaw.json 中的新版插件配置 | COMMENT |
| LOW⚡ | …aw-plugin/upgrade_scripts/uninstall-openclaw-plugin.sh | 253 | # Step 4: 恢复 OpenClaw memory 为 memory-core | COMMENT |
| LOW⚡ | …aw-plugin/upgrade_scripts/uninstall-openclaw-plugin.sh | 261 | # Step 5: 备份插件目录 | COMMENT |
| 19 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .pr_agent.toml | 122 | require_tests_review = true # Check if tests are present (default: true) | CODE |
| LOW | benchmark/locomo/openclaw/eval.py | 451 | # Check if session_path is already a full path | COMMENT |
| LOW | benchmark/locomo/openclaw/eval.py | 477 | # Check if jsonl_filename is already a full path | COMMENT |
| LOW | benchmark/RAG/scripts/download_dataset.py | 182 | # Check if path exists (either file or directory) | COMMENT |
| LOW | benchmark/RAG/scripts/download_dataset.py | 291 | # Check if any datasets are configured | COMMENT |
| LOW | benchmark/RAG/src/adapters/qasper_adapter.py | 162 | # Check if all answers are marked as unanswerable | COMMENT |
| LOW | benchmark/RAG/src/adapters/syllabusqa_adapter.py | 238 | # Check if heading style | COMMENT |
| LOW | benchmark/RAG/src/adapters/financebench_adapter.py | 54 | # Check if pdfs is in data directory or parent directory | COMMENT |
| LOW⚡ | openviking/crypto/config.py | 69 | # Check if file exists or can be created | COMMENT |
| LOW⚡ | openviking/crypto/config.py | 77 | # Check if parent directory exists or can be written to | COMMENT |
| LOW⚡ | openviking/crypto/config.py | 83 | # Check if we can write to the closest existing ancestor directory | COMMENT |
| LOW | openviking/crypto/providers.py | 240 | # Write file with permissions 0600 | COMMENT |
| LOW⚡ | openviking/crypto/providers.py | 329 | # Check if transit engine is already enabled | COMMENT |
| LOW | openviking/parse/registry.py | 229 | # Check if source looks like a file path (short enough and no newlines) | COMMENT |
| LOW | openviking/parse/tree_builder.py | 70 | # Check if it's a media file first | COMMENT |
| LOW | openviking/parse/vlm.py | 328 | # Check if we have images to process | COMMENT |
| LOW | openviking/parse/parsers/markdown.py | 468 | # Check if in excluded range | COMMENT |
| LOW | openviking/parse/parsers/markdown.py | 473 | # Check if escaped \# | COMMENT |
| LOW | openviking/parse/parsers/zip_parser.py | 65 | # Check if it's a valid ZIP file (non-blocking) | COMMENT |
| LOW | openviking/parse/parsers/zip_parser.py | 82 | # Check if extracted content has a single root directory (non-blocking) | COMMENT |
| LOW | openviking/parse/parsers/directory.py | 96 | # Check if this is a git repository, delegate to CodeRepositoryParser | COMMENT |
| LOW | openviking/parse/parsers/directory.py | 178 | # Check if this is a media parser and we should directly upload | COMMENT |
| LOW | openviking/parse/parsers/code/code.py | 129 | # Check if source is already a local directory (should always be true) | COMMENT |
| LOW | openviking/pyagfs/helpers.py | 77 | # Check if source exists and get its type | COMMENT |
| LOW | openviking/pyagfs/helpers.py | 149 | # Check if remote path exists and get its type | COMMENT |
| LOW⚡ | openviking/pyagfs/helpers.py | 345 | # Check if directory already exists | COMMENT |
| LOW | openviking/server/bootstrap.py | 333 | # Check if vikingbot is available | COMMENT |
| LOW | openviking/server/bootstrap.py | 381 | # Set environment to ensure it uses the same Python environment | COMMENT |
| LOW | openviking/server/api_keys/legacy.py | 135 | # Check if it's a hashed key | COMMENT |
| LOW | openviking/utils/network_guard.py | 133 | # Check if private networks are allowed globally | COMMENT |
| LOW | openviking/utils/network_guard.py | 137 | # Check if host is in allowed code hosting domains | COMMENT |
| LOW | openviking/models/embedder/cohere_embedders.py | 67 | # Check if server-side dimension reduction is supported | COMMENT |
| LOW | openviking/observability/log_trace_bridge.py | 73 | # Check if all elements are of the same primitive type | COMMENT |
| LOW | openviking/storage/viking_fs.py | 741 | # Check if it's temp directory (files already encrypted) | COMMENT |
| LOW⚡ | openviking/storage/queuefs/semantic_processor.py | 192 | # Check if file is a code file | COMMENT |
| LOW⚡ | openviking/storage/queuefs/semantic_processor.py | 197 | # Check if file is a documentation file | COMMENT |
| LOW | …viking/storage/vectordb/collection/local_collection.py | 782 | # Check if the index needs rebuilding | COMMENT |
| LOW | openviking/storage/vectordb/project/local_project.py | 91 | # Check if it's a collection directory (should contain collection_meta.json) | COMMENT |
| LOW | openviking/storage/vectordb/service/api_fastapi.py | 208 | # Check if exists before deleting? The original code didn't check existence explicitly before calling drop, | COMMENT |
| LOW | openviking/storage/vectordb/store/file_store.py | 64 | # Open file in binary read-only mode | COMMENT |
| LOW | openviking/storage/vectordb/store/serializable.py | 84 | # Check if it's the correct C++ enum type | COMMENT |
| LOW | openviking/session/memory/extract_loop.py | 253 | # Check if this is the last iteration - force final result | STRING |
| LOW | openviking/session/memory/extract_loop.py | 286 | # Check if any write_uris target existing files that weren't read | STRING |
| LOW | openviking/session/memory/memory_type_registry.py | 280 | # Check if any field has init_value | COMMENT |
| LOW⚡ | openviking/session/memory/memory_type_registry.py | 302 | # Check if file already exists | COMMENT |
| LOW | openviking/session/memory/memory_type_registry.py | 323 | # Write the file | COMMENT |
| LOW⚡ | openviking/session/memory/utils/uri.py | 168 | # Check if URI starts with any allowed directory | COMMENT |
| LOW⚡ | openviking/session/memory/utils/uri.py | 172 | # Check if URI matches any allowed pattern | COMMENT |
| LOW | openviking/session/memory/merge_op/patch_handler.py | 762 | # Check if all results are successful (including no-change cases) | COMMENT |
| LOW | openviking/session/memory/merge_op/patch_handler.py | 818 | # Check if first line is :start_line: | COMMENT |
| LOW | openviking/session/memory/merge_op/patch_handler.py | 1152 | # Check if all results are successful (including no-change cases) | COMMENT |
| LOW⚡ | openviking_cli/utils/logger.py | 570 | # Check if this logger should be excluded | COMMENT |
| LOW⚡ | openviking_cli/utils/logger.py | 574 | # Check if log level is below the minimum threshold for span events | COMMENT |
| LOW⚡ | openviking_cli/utils/logger.py | 578 | # Check if OTel is available | COMMENT |
| LOW | openviking_cli/utils/logger.py | 401 | # Check if the handler has already been added | COMMENT |
| LOW | tests/debug_trace.py | 265 | # Check if any descendant is an error | COMMENT |
| LOW | …egration/test_volcengine_kms_encryption_integration.py | 528 | # Write file | COMMENT |
| LOW | …egration/test_volcengine_kms_encryption_integration.py | 697 | # Check if session directory files are encrypted | COMMENT |
| LOW | tests/integration/test_quick_start_lite.py | 237 | # Set CWD to examples/ so path="./data" works relative to it | COMMENT |
| LOW | tests/integration/test_vault_encryption_integration.py | 464 | # Write file | COMMENT |
| 23 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | openviking/core/path_variables.py | 154 | # Create a temporary resolver with the custom datetime | COMMENT |
| MEDIUM | openviking/parse/tree_builder.py | 206 | # Create a minimal Context object for the root so that tree.root is not None | COMMENT |
| MEDIUM | openviking/storage/vectordb/project/http_project.py | 168 | # Create a new dict with required fields without modifying the input dict | COMMENT |
| MEDIUM | openviking/telemetry/execution.py | 144 | # Create a new instance from the snapshot | COMMENT |
| MEDIUM | openviking/session/memory/schema_model_generator.py | 149 | # Create the model | COMMENT |
| MEDIUM | openviking/session/memory/merge_op/patch_handler.py | 587 | # Initialize search variables | COMMENT |
| MEDIUM | openviking/session/memory/merge_op/patch_handler.py | 978 | # Initialize search variables | COMMENT |
| MEDIUM⚡ | openviking_cli/utils/config/embedding_config.py | 1031 | # Create a temporary config merged from the model config and credential | COMMENT |
| MEDIUM | tests/test_edge_cases.py | 92 | # Create a filename that's exactly 255 bytes in UTF-8 | COMMENT |
| MEDIUM | tests/misc/test_zip_safe.py | 136 | # Create a zip with raw bytes: write CJK UTF-8 bytes as the filename | COMMENT |
| MEDIUM⚡ | tests/unit/crypto/test_providers_mock.py | 110 | # Create a minimal mock provider that just needs type detection | COMMENT |
| MEDIUM⚡ | tests/unit/crypto/test_providers_mock.py | 120 | # Create a minimal mock provider that just needs type detection | COMMENT |
| MEDIUM | tests/integration/test_encryption_integration.py | 695 | # Create a test directory | STRING |
| MEDIUM | tests/integration/test_quick_start_lite.py | 79 | # Create a temporary config file | COMMENT |
| MEDIUM | tests/integration/test_quick_start_lite.py | 83 | # Create a dummy config structure (minimal valid config for Volcengine provider) | COMMENT |
| MEDIUM | tests/vectordb/test_bytes_row.py | 20 | # Define a complex data structure for testing consistency | COMMENT |
| MEDIUM | tests/server/test_api_sessions.py | 145 | # Create a session first | COMMENT |
| MEDIUM | tests/server/test_api_relations.py | 18 | # Create a second resource to link to | COMMENT |
| MEDIUM | tests/server/test_api_search.py | 715 | # Create a session first | COMMENT |
| MEDIUM⚡ | tests/storage/mock_backend.py | 39 | # Create a dummy collection wrapping MockCollection | COMMENT |
| MEDIUM | tests/storage/test_vectordb_adaptor.py | 24 | # Create a valid config file | COMMENT |
| MEDIUM | tests/telemetry/test_observability_context.py | 487 | # Create a custom context | COMMENT |
| MEDIUM | tests/client/test_windows_path_handling.py | 20 | # Create a directory structure with nested subdirectories | COMMENT |
| MEDIUM | tests/client/test_windows_path_handling.py | 52 | # Create a complex directory structure | COMMENT |
| MEDIUM | tests/client/test_windows_path_handling.py | 91 | # Create a ZIP with backslash paths (simulating Windows-created ZIP) | COMMENT |
| MEDIUM | tests/session/memory/test_schema_models.py | 368 | # Create a temporary YAML file for a new memory type | COMMENT |
| MEDIUM | examples/multi_tenant/admin_workflow.sh | 233 | # Create a second account to test that ADMIN of one account cannot manage another | COMMENT |
| MEDIUM⚡ | examples/basic-usage/basic_usage.py | 240 | # Create a new session | COMMENT |
| MEDIUM | bot/vikingbot/providers/litellm_provider.py | 164 | # Create a copy to avoid modifying the original list | COMMENT |
| MEDIUM | bot/tests/test_chat_functionality.py | 65 | # Create a test response | COMMENT |
| MEDIUM | bot/tests/test_chat_functionality.py | 162 | # Create a test response | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/tau2/common/tau2_env/tau2_environment.py | 188 | CODE | |
| LOW | benchmark/locomo/openviking/run_eval.py | 508 | CODE | |
| LOW | benchmark/locomo/claudecode/eval.py | 292 | CODE | |
| LOW | benchmark/RAG/scripts/prepare_dataset.py | 18 | CODE | |
| LOW | benchmark/longmemeval/openviking/run_eval.py | 368 | CODE | |
| LOW | openviking/async_client.py | 286 | CODE | |
| LOW | openviking/async_client.py | 515 | CODE | |
| LOW | openviking/async_client.py | 566 | CODE | |
| LOW | openviking/sync_client.py | 197 | CODE | |
| LOW | openviking/sync_client.py | 375 | CODE | |
| LOW | openviking/sync_client.py | 414 | CODE | |
| LOW | openviking/metrics/exporters/otel.py | 112 | CODE | |
| LOW | openviking/core/context.py | 66 | CODE | |
| LOW | openviking/server/app.py | 399 | CODE | |
| LOW | openviking/server/routers/filesystem.py | 59 | CODE | |
| LOW | openviking/server/routers/filesystem.py | 104 | CODE | |
| LOW | openviking/utils/resource_processor.py | 109 | CODE | |
| LOW | openviking/models/embedder/dashscope_embedders.py | 59 | CODE | |
| LOW | openviking/models/embedder/vikingdb_embedders.py | 153 | CODE | |
| LOW | openviking/models/embedder/vikingdb_embedders.py | 448 | CODE | |
| LOW | openviking/models/embedder/openai_embedders.py | 66 | CODE | |
| LOW | openviking/models/embedder/gemini_embedders.py | 121 | CODE | |
| LOW | openviking/models/embedder/gemini_embedders.py | 324 | CODE | |
| LOW | openviking/models/embedder/minimax_embedders.py | 35 | CODE | |
| LOW | openviking/models/embedder/jina_embedders.py | 72 | CODE | |
| LOW | …nviking/models/vlm/backends/codex_responses_adapter.py | 288 | CODE | |
| LOW | …nviking/models/vlm/backends/codex_responses_adapter.py | 304 | CODE | |
| LOW | openviking/storage/viking_vector_index_backend.py | 415 | CODE | |
| LOW | openviking/storage/viking_vector_index_backend.py | 930 | CODE | |
| LOW | openviking/storage/viking_fs.py | 166 | CODE | |
| LOW | openviking/storage/viking_fs.py | 2077 | CODE | |
| LOW | openviking/storage/vikingdb_manager.py | 309 | CODE | |
| LOW | openviking/storage/queuefs/semantic_dag.py | 159 | CODE | |
| LOW | openviking/storage/queuefs/understanding_parse_msg.py | 40 | CODE | |
| LOW | openviking/storage/queuefs/semantic_msg.py | 64 | CODE | |
| LOW | openviking/storage/vectordb/utils/data_processor.py | 411 | CODE | |
| LOW | openviking/storage/vectordb/store/local_store.py | 64 | CODE | |
| LOW | openviking/storage/vectordb_adapters/base.py | 479 | CODE | |
| LOW | openviking/integrations/langchain/store.py | 54 | CODE | |
| LOW | openviking/integrations/langchain/tools.py | 47 | CODE | |
| LOW | openviking/integrations/langchain/context.py | 218 | CODE | |
| LOW | openviking/integrations/langchain/context.py | 51 | CODE | |
| LOW | openviking/integrations/langchain/middleware.py | 59 | CODE | |
| LOW | openviking/integrations/langchain/history.py | 40 | CODE | |
| LOW | openviking/eval/ragas/__init__.py | 183 | CODE | |
| LOW | openviking/service/fs_service.py | 84 | CODE | |
| LOW | openviking/service/resource_service.py | 320 | CODE | |
| LOW | openviking/service/resource_service.py | 589 | CODE | |
| LOW | openviking/service/search_service.py | 115 | CODE | |
| LOW | openviking/service/search_service.py | 155 | CODE | |
| LOW | openviking/resource/watch_manager.py | 371 | CODE | |
| LOW | openviking/resource/watch_manager.py | 447 | CODE | |
| LOW | openviking/client/local.py | 126 | CODE | |
| LOW | openviking/client/local.py | 498 | CODE | |
| LOW | openviking/client/local.py | 531 | CODE | |
| LOW | openviking/client/local.py | 681 | CODE | |
| LOW | openviking/client/local.py | 721 | CODE | |
| LOW | openviking/session/session.py | 353 | CODE | |
| LOW | openviking/session/compressor_v3.py | 282 | CODE | |
| LOW | openviking/session/compressor_v3.py | 462 | CODE | |
| 34 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | web-studio/package-lock.json | 12869 | "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz", | CODE |
| MEDIUM | openviking/ingest/models.py | 61 | native_session_id: str # the harness's own session/conversation id | CODE |
| MEDIUM | openviking/ingest/peer.py | 25 | # Join harness/provider/model with the same separator as the OV session id scheme. | COMMENT |
| MEDIUM | openviking/utils/media_processor.py | 26 | # 1. IANA media type mappings (comprehensive) | COMMENT |
| LOW | openviking/storage/vectordb/utils/validation.py | 156 | # Let's normalize everything to lower case if the Literal allows it, or just pass through. | COMMENT |
| MEDIUM | openviking/prompts/templates/memory/tools.yaml | 96 | - "## Guidelines" - best practices | CODE |
| MEDIUM | openviking/prompts/templates/memory/skills.yaml | 90 | - "## Guidelines" - best practices | CODE |
| LOW | openviking/eval/ragas/generator.py | 66 | # For demonstration, we'll just return an empty dataset or mock some logic | COMMENT |
| MEDIUM⚡ | openviking_cli/utils/config/consts.py | 85 | # Per-(harness, session) read-cursor state lives here (NEVER under tool-specific dirs). | COMMENT |
| MEDIUM | tests/vectordb/test_crash_recovery.py | 72 | """Helper to setup collection config for robust test""" | STRING |
| MEDIUM | tests/server/oauth/test_auth_integration.py | 345 | # Token's USER role is preserved — promotion doesn't auto-elevate. | COMMENT |
| MEDIUM | …est/scenarios/slow/test_resource_search_consistency.py | 51 | f"# {kw}\n\nDetailed analysis of GraphQL vs REST API design patterns and best practices." | CODE |
| LOW | tests/session/memory/test_compressor_v2.py | 54 | # For testing purposes, we'll just return the URI as-is | COMMENT |
| MEDIUM | …arty/spdlog-1.14.1/include/spdlog/fmt/bundled/format.h | 3501 | // Compilers are not aware of how to leverage the maximum value of | COMMENT |
| MEDIUM | …/claude-code-memory-plugin/setup-helper/tos-install.sh | 7 | # channel preselected (Claude preselected as the harness). | COMMENT |
| MEDIUM⚡ | examples/memory-plugin-shared/install.sh | 11 | # bash install.sh --harness claude,codex,cursor,trae,trae-cn,opencode,pi --dist github --lang en --url http://127.0.0. | COMMENT |
| MEDIUM⚡ | examples/memory-plugin-shared/install.sh | 13 | # bash install.sh --harness codex --codex-bin codex,traex | COMMENT |
| MEDIUM⚡ | examples/memory-plugin-shared/install.sh | 14 | # bash install.sh --harness claude --claude-bin claude,seed | COMMENT |
| MEDIUM | examples/memory-plugin-shared/install.sh | 59 | # registries, and within one harness the source modes are alternative channels | COMMENT |
| MEDIUM | …amples/codex-memory-plugin/setup-helper/tos-install.sh | 7 | # channel preselected (Codex preselected as the harness). Codex installs from | COMMENT |
| MEDIUM | bot/vikingbot/channels/dingtalk.py | 49 | # Parse using SDK's ChatbotMessage for robust handling | COMMENT |
| LOW | bot/vikingbot/channels/base.py | 344 | # Fallback: just return a link if we have it | COMMENT |
| LOW | bot/demo/werewolf/werewolf_server.py | 896 | # We don't have the date, just use current time | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/unit/test_extra_headers_vlm.py | 742 | "api_key": "placeholder", | CODE |
| LOW | tests/unit/test_extra_headers_vlm.py | 765 | "api_key": "placeholder", | CODE |
| LOW | tests/parse/test_document_parser_threading.py | 66 | source.write_bytes(b"placeholder") | CODE |
| LOW | tests/parse/test_document_parser_threading.py | 96 | upload.write_bytes(b"placeholder") | CODE |
| LOW | tests/parse/test_document_parser_threading.py | 118 | source.write_bytes(b"placeholder") | CODE |
| LOW | tests/parse/test_document_parser_threading.py | 139 | source.write_bytes(b"placeholder") | CODE |
| LOW | tests/parse/test_document_parser_threading.py | 163 | source.write_bytes(b"placeholder") | CODE |
| LOW | tests/parse/test_document_parser_threading.py | 184 | source.write_bytes(b"placeholder") | CODE |
| LOW | tests/parse/test_document_parser_threading.py | 205 | source.write_bytes(b"placeholder") | CODE |
| LOW | tests/parse/test_markdown_link_rewrite.py | 25 | (kb / "文档.md").write_text("placeholder", encoding="utf-8") | CODE |
| LOW | docs/design/memory-link-design.md | 853 | title: "Acme Corp" | CODE |
| LOW | third_party/spdlog-1.14.1/bench/bench.cpp | 223 | const char *msg = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum pharetra | CODE |
| LOW | third_party/spdlog-1.14.1/bench/bench.cpp | 223 | const char *msg = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum pharetra | CODE |
| LOW | third_party/spdlog-1.14.1/bench/latency.cpp | 21 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum pharetra metus cursus " | CODE |
| LOW | third_party/spdlog-1.14.1/bench/latency.cpp | 21 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum pharetra metus cursus " | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 82 | "placeholder": "http://127.0.0.1:1933", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 87 | "placeholder": "assistant", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 92 | "placeholder": "optional-prefix", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 98 | "placeholder": "${OPENVIKING_API_KEY}", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 108 | "placeholder": "(derived from API key)", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 114 | "placeholder": "(derived from API key)", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 120 | "placeholder": "viking://user/memories", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 125 | "placeholder": "15000", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 134 | "placeholder": "semantic", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 140 | "placeholder": "24000", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 150 | "placeholder": "5000", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 161 | "placeholder": "user,agent", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 167 | "placeholder": "6", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 172 | "placeholder": "0.15", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 177 | "placeholder": "4000", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 183 | "placeholder": "5000", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 194 | "placeholder": "4000", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 200 | "placeholder": "agent:*:cron:**", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 206 | "placeholder": "0.5", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 212 | "placeholder": "10", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 228 | "placeholder": "false", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 234 | "placeholder": "false", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 240 | "placeholder": "~/.openclaw/openviking/recall-traces", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 246 | "placeholder": "false", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 252 | "placeholder": "default", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 258 | "placeholder": "memory", | CODE |
| LOW | bot/tests/test_channel_delivery_metadata.py | 241 | async def fake_token(): | CODE |
| LOW | bot/tests/test_channel_delivery_metadata.py | 269 | monkeypatch.setattr(channel, "_get_tenant_access_token", fake_token) | CODE |
| LOW | bot/tests/test_channel_delivery_metadata.py | 288 | async def fake_token(): | CODE |
| LOW | bot/tests/test_channel_delivery_metadata.py | 317 | monkeypatch.setattr(channel, "_get_tenant_access_token", fake_token) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | README.md | 690 | #### 3.1 Single-turn RAG Across 5 Open-source Datasets | COMMENT |
| MEDIUM | README_CN.md | 711 | #### 3.1 多跳、多路 RAG 测试(HotpotQA 数据集) | COMMENT |
| MEDIUM | README_CN.md | 724 | #### 3.2 单轮 RAG 测试(5 个开源数据集均值) | COMMENT |
| MEDIUM | benchmark/RAG/README.md | 1 | # RAG | COMMENT |
| MEDIUM | benchmark/RAG/README_zh.md | 1 | # RAG | COMMENT |
| MEDIUM | benchmark/RAG/config/config.yaml | 1 | # RAG Benchmark Configuration File | COMMENT |
| MEDIUM | benchmark/RAG/src/adapters/syllabusqa_adapter.py | 312 | # Skip "no answer" type questions as RAG results cannot be evaluated | COMMENT |
| MEDIUM | benchmark/RAG/src/adapters/syllabusqa_adapter.py | 393 | # Skip "no answer" type questions as RAG results cannot be evaluated | COMMENT |
| MEDIUM | openviking/models/vlm/backends/litellm_vlm.py | 101 | # Ollama defaults to a 4096-token context window and silently truncates any | COMMENT |
| MEDIUM | openviking/eval/README.md | 24 | │ ├── pipeline.py # RAG 查询流水线 | CODE |
| MEDIUM | openviking_cli/setup_wizard.py | 693 | # few-shot examples into fabricated memories), so there is no sub-4B tier. | COMMENT |
| MEDIUM | tests/cli/test_setup_wizard.py | 153 | # Ollama needs a larger context window (default 4096 truncates OV's | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/tau2/vikingbot/run_full_test.sh | 9 | # Usage: | COMMENT |
| LOW | benchmark/tau2/vikingbot/setup_env.sh | 16 | # Usage: | COMMENT |
| LOW | benchmark/tau2/vikingbot/scripts/run_tau2_domain.sh | 5 | # Usage: | COMMENT |
| LOW | benchmark/locomo/vikingbot/run_full_eval.sh | 4 | # Usage: | COMMENT |
| LOW | third_party/spdlog-1.14.1/include/spdlog/mdc.h | 14 | // Usage example: | COMMENT |
| LOW | examples/multi_tenant/admin_workflow.sh | 26 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | benchmark/retrieval/grep/vikingdb_bm25/ai_wiki.txt | 249 | Generative AI is often trained on unlicensed copyrighted works, including in domains such as images or computer code; th | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/skillsbench/skill_bench_eval.py | 442 | def run_task( | CODE |
| LOW | openviking/telemetry/tracer.py | 394 | async def my_function(): | STRING |
| LOW | openviking/telemetry/tracer.py | 641 | async def my_function(): | STRING |
| LOW⚡ | tests/parse/test_ast_extractor.py | 1249 | assert "def helper(x: int) -> bool" in text | STRING |
| LOW⚡ | tests/parse/test_code_tools.py | 288 | def helper(self): | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | openviking/parse/parsers/code/code.py | 523 | # TODO: implement download logic or rely on caller? | COMMENT |