Repository Analysis

Hmbown/DeepSeek-TUI

DeepSeek + MiMo coding agent in terminal

4.2 Likely human-written View on GitHub
4.2
Adjusted Score
4.2
Raw Score
100%
Time Factor
2026-05-30
Last Push
36,111
Stars
Rust
Language
300,411
Lines of Code
516
Files
723
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 11HIGH 4MEDIUM 214LOW 494

Pattern Findings

723 matches across 12 categories. Click a row to expand file-level details.

Decorative Section Separators207 hits · 618 pts
SeverityFileLineSnippet
MEDIUMconfig.example.toml1# ╔══════════════════════════════════════════════════════════════════════════════╗
MEDIUMconfig.example.toml5# ╚══════════════════════════════════════════════════════════════════════════════╝
MEDIUMconfig.example.toml9# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml11# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml58# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml60# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml64# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml66# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml106# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml108# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml113# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml115# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml349# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml351# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml361# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml363# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml372# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml374# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml382# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml384# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml29# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml31# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml45# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml47# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml86# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml92# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml140# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml142# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml176# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml178# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml265# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml267# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml288# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml290# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml312# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml314# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml331# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml333# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml404# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml406# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml424# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml426# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml444# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml446# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml462# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml464# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml487# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml489# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml517# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml519# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml546# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml548# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml581# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml583# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml602# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMconfig.example.toml604# ─────────────────────────────────────────────────────────────────────────────────
MEDIUMcrates/config/src/lib.rs1557// ── CodeWhale state root (v0.8.44) ──────────────────────────────────
MEDIUMcrates/tui/src/prompts.rs225// ── Prompt layers loaded at compile time ──────────────────────────────
MEDIUMcrates/tui/src/prompts.rs422// ── Legacy prompt constants (kept for backwards compatibility) ────────
MEDIUMcrates/tui/src/prompts.rs428// ── Personality selection ─────────────────────────────────────────────
147 more matches not shown…
Over-Commented Block473 hits · 449 pts
SeverityFileLineSnippet
LOWconfig.example.toml1# ╔══════════════════════════════════════════════════════════════════════════════╗
LOWconfig.example.toml21api_key = "YOUR_DEEPSEEK_API_KEY" # must be non-empty
LOWconfig.example.toml41# deepseek-ai/DeepSeek-V4-Pro — SGLang self-hosted Pro model ID
LOWconfig.example.toml61# Display estimated usage in USD or CNY. Aliases `yuan` and `rmb` normalize to `cny`.
LOWconfig.example.toml81# Project-level config (.deepseek/config.toml in the workspace) replaces
LOWconfig.example.toml101# is loaded into the model context; less common native tools are discoverable
LOWconfig.example.toml121#
LOWconfig.example.toml141# Bubblewrap (Linux only, additional filesystem isolation)
LOWconfig.example.toml161# # does NOT auto-approve: git push, git checkout
LOWconfig.example.toml181# `--provider wanjie-ark` / `/provider fireworks` switches between them without
LOWconfig.example.toml201
LOWconfig.example.toml221# model = "deepseek-ai/deepseek-v4-flash"
LOWconfig.example.toml241# Fireworks AI-hosted DeepSeek V4 (https://fireworks.ai)
LOWconfig.example.toml261# api_key = "OPTIONAL_OLLAMA_TOKEN"
LOWconfig.example.toml281# # WARNING: treat config.toml like a secret file when
LOWconfig.example.toml301# `example.com`. To cover both, list both. `*.example.com` is also accepted.
LOWconfig.example.toml321# Default: 5 MiB.
LOWconfig.example.toml341# "never" = suppress all turn-completion notifications;
LOWconfig.example.toml361# ─────────────────────────────────────────────────────────────────────────────────
LOWconfig.example.toml381
LOWconfig.example.toml401cycle_threshold = 768000
LOWconfig.example.toml461
LOWconfig.example.toml481# include_summary = false # include elapsed time + cost in the notification body
LOWconfig.example.toml501# typically far less thanks to git's content-addressed storage. The session
LOWconfig.example.toml521# the engine asks an LSP server for diagnostics on the file and injects them
LOWconfig.example.toml541# include_warnings = false
LOWconfig.example.toml561# reconciled later. Hook failure / timeout simply contributes no vars —
LOWconfig.example.toml581# ─────────────────────────────────────────────────────────────────────────────────
LOWconfig.example.toml601
LOWcrates/config/src/lib.rs221 pub tools: Option<ToolsToml>,
LOWcrates/config/src/lib.rs241 #[serde(flatten)]
LOWcrates/config/src/lib.rs341#[derive(Debug, Clone, Serialize, Deserialize, Default)]
LOWcrates/tui/tests/integration_mock_llm.rs1//! Integration tests for the [`MockLlmClient`](mock::MockLlmClient).
LOWcrates/tui/tests/integration_mock_llm.rs21//! and decline to dispatch; the mock surfaces capture-side hooks for that.
LOWcrates/tui/tests/integration_mock_llm.rs41use futures_util::StreamExt;
LOWcrates/tui/tests/integration_mock_llm.rs481// === 7. Capacity-gate observation ===========================================
LOWcrates/tui/tests/integration_mock_llm.rs541 // We test via the mock pathway: the non-streaming compaction call (test 5
LOWcrates/tui/tests/integration_mock_llm.rs561// today because `core::engine::Engine` holds a concrete `Option<DeepSeekClient>`
LOWcrates/tui/tests/integration_mock_llm.rs581 // The cycle_manager path replaces high-level compaction in v0.6.6+; this
LOWcrates/tui/tests/integration_mock_llm.rs601 // Once the refactor lands:
LOWcrates/tui/tests/qa_pty.rs1//! End-to-end TUI scenarios driven through a real pseudo-terminal.
LOWcrates/tui/tests/skill_install.rs1//! Integration tests for the community-skill installer (#140).
LOWcrates/tui/tests/protocol_recovery.rs1//! Protocol-recovery contract tests.
LOWcrates/tui/tests/support/llm_client.rs1//! Test-only mirror of the production `llm_client` module surface.
LOWcrates/tui/tests/support/qa_harness/mod.rs1//! Minimal PTY/frame-capture harness for TUI integration tests.
LOWcrates/tui/src/workspace_trust.rs1//! Per-workspace trust list of external paths the agent may read/write
LOWcrates/tui/src/session_manager.rs121 pub workspace: PathBuf,
LOWcrates/tui/src/session_manager.rs141
LOWcrates/tui/src/session_manager.rs441 Ok(sessions)
LOWcrates/tui/src/prompts.rs21 /// Resolved BCP-47 locale tag for the `## Environment` block in
LOWcrates/tui/src/prompts.rs61pub const HANDOFF_RELATIVE_PATH: &str = ".codewhale/handoff.md";
LOWcrates/tui/src/prompts.rs221 "## Previous Session Relay\n\nThe previous session in this workspace left a relay artifact at `{HANDOFF_RELATIVE
LOWcrates/tui/src/prompts.rs241/// — which previously got overpowered by overwhelmingly English task
LOWcrates/tui/src/prompts.rs261/// that for v0.8.29. The reasons, ranked:
LOWcrates/tui/src/prompts.rs281/// their other project — is reinforce the locale directive in
LOWcrates/tui/src/prompts.rs301}
LOWcrates/tui/src/prompts.rs401/// require confirmation, or are blocked.
LOWcrates/tui/src/prompts.rs721 {
LOWcrates/tui/src/prompts.rs781 }
LOWcrates/tui/src/prompts.rs1621 assert!(prompt.contains("Mode: Agent"));
413 more matches not shown…
Hallucination Indicators11 hits · 125 pts
SeverityFileLineSnippet
CRITICALcrates/cli/src/lib.rs2074 store.config.providers.deepseek.api_key.as_deref(),
CRITICALcrates/cli/src/lib.rs2261 store.config.providers.deepseek.api_key.as_deref(),
CRITICALcrates/cli/src/lib.rs2297 store.config.providers.ollama.base_url.as_deref(),
CRITICALcrates/cli/src/lib.rs2334 assert!(store.config.providers.deepseek.api_key.is_none());
CRITICALcrates/cli/src/lib.rs2458 store.config.providers.deepseek.api_key.as_deref(),
CRITICALcrates/cli/src/lib.rs2497 assert!(store.config.providers.deepseek.api_key.is_none());
CRITICALcrates/cli/src/lib.rs2498 assert!(store.config.providers.fireworks.api_key.is_none());
CRITICALcrates/cli/src/lib.rs2536 assert!(store.config.providers.deepseek.api_key.is_none());
CRITICALcrates/cli/src/lib.rs2537 assert!(store.config.providers.openrouter.api_key.is_none());
CRITICALcrates/cli/src/lib.rs2538 assert!(store.config.providers.novita.api_key.is_none());
CRITICALcrates/cli/src/lib.rs2570 store.config.providers.openrouter.api_key.as_deref(),
Magic Placeholder Names3 hits · 28 pts
SeverityFileLineSnippet
HIGHconfig.example.toml124# sandbox_api_key = "YOUR_API_KEY" # Optional Bearer token sent with requests
HIGHconfig.example.toml369# api_key = "YOUR_API_KEY" # Optional: defaults to main api_key
HIGHdocs/SANDBOX.md205sandbox_api_key = "YOUR_API_KEY"
AI Slop Vocabulary6 hits · 15 pts
SeverityFileLineSnippet
MEDIUMcrates/tui/src/main.rs491 #[arg(long, default_value = "printf eval-harness")]
MEDIUMcrates/tui/src/main.rs494 #[arg(long, default_value = "eval-harness")]
MEDIUMcrates/tui/src/llm_client/mod.rs3//! This module provides a unified interface for LLM providers with robust retry logic,
MEDIUMweb/package-lock.json10931 "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz",
MEDIUMweb/app/[locale]/page.tsx289 <Link href={isZh ? "/zh/contribute#recursive-harness" : "/contribute#recursive-harness"} className="px-4
MEDIUMweb/components/ticker.tsx6 const doubled = [...items, ...items]; // seamless loop
Verbosity Indicators6 hits · 9 pts
SeverityFileLineSnippet
LOWcrates/tui/src/tools/web_run.rs921 // Step 1: fetch the HTML page to obtain the `vqd` token used by the images API.
LOWcrates/tui/src/tools/web_run.rs953 // Step 2: query the DuckDuckGo images JSON endpoint.
LOWcrates/cli/src/update.rs40 // Step 1: Fetch latest release metadata
LOWcrates/cli/src/update.rs58 // Step 2: Download the aggregated SHA256 checksum manifest if available
LOWcrates/cli/src/update.rs80 // Step 3: Download and verify every colocated binary in the install.
LOWcrates/cli/src/update.rs126 // Step 4: Replace binaries atomically after all downloads verify.
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippet
HIGHcrates/tui/src/tui/widgets/footer.rs125/// when width is 0. The result is the same visual width as requested (one
Hyper-Verbose Identifiers7 hits · 7 pts
SeverityFileLineSnippet
LOWcrates/tui/src/tui/translation.rs164 "function calculateTotalRevenueForQuarterlyReport() { return; }"
LOWcrates/tui/src/repl/runtime.rs605def _normalize_dependency_mode(mode):
LOWweb/lib/facts-drift.ts70function deriveProvidersFromConfig(cfg: string): ProviderFact[] {
LOWnpm/codewhale/scripts/preflight-glibc.js52function detectBinaryRequiredGlibc(filePath) {
LOWnpm/codewhale/scripts/install.js110function shouldSkipOptionalPostinstall(
LOWnpm/codewhale/scripts/install.js1026async function adoptExistingBinaryIfValid(targetPath, assetName, version, getChecksums, marker) {
LOWnpm/codewhale/scripts/install.js1093function shouldIgnoreInstallFailure(
Excessive Try-Catch Wrapping5 hits · 6 pts
SeverityFileLineSnippet
LOWcrates/tui/src/repl/runtime.rs591 except Exception as e:
LOWcrates/tui/src/repl/runtime.rs768 except Exception:
LOWcrates/tui/src/repl/runtime.rs891 except Exception:
LOWcrates/tui/src/repl/runtime.rs943 except Exception as e:
MEDIUMcrates/tui/src/repl/runtime.rs764def _json_safe(value):
Fake / Example Data2 hits · 2 pts
SeverityFileLineSnippet
LOWcrates/tui/src/tools/recall_archive.rs662 let text = "lorem ipsum dolor sit amet, the quick brown fox jumps over the lazy dog";
LOWcrates/tui/src/tools/recall_archive.rs662 let text = "lorem ipsum dolor sit amet, the quick brown fox jumps over the lazy dog";
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippet
LOWscripts/release/install.sh29# Check if BIN_DIR is on PATH
Unused Imports1 hit · 1 pts
SeverityFileLineSnippet
LOWscripts/measure-tool-catalog.py9