EnRaiha/dsh-drill-kit ↗★ 0

dsh-drill

Evidence-gated bug-fix drill for DeepSeek Harness: failure signal to symbols, stage gates that a negative lookup cannot satisfy, plugin-run red/green proofs bound to a commit, c2g localization with a tgrep fallback, and a PR body rendered from the ledger. 适合进行代码Bug修复演练、自动化审计与PR生成的开发者。

패키지
dsh-drill
호환성
미검증
Harness peer 범위
>=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0 || >=0.1.7-0 <0.2.0
버전
0.8.4
라이선스
MIT
최근 업데이트
2026. 9. 25.

설치

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:EnRaiha/dsh-drill-kit

Configuration

Every key has a schema default; override by re-stating the row's whole config in your profile patch.

KeyDefaultMeaning
stateRoot.drillPer-task state directory, relative to the session workspace.
remindertrueRegister the turn-stopping gate reminder.
providerspawnSubagent provider used by drill_review (spawn = fresh context; fork inherits the parent prefix). A role file's provider/model win when both are present.
model''Optional reviewer model override.
defaultRoledrill-auditorRole id drill_review audits with.
maxReviewToolCalls40Fallback budget when the role sets none; 0 disables the cap. A role's own maxToolCalls always wins, including 0 — v0.8.1 fixed a case where a role saying 0 was silently overridden by this fallback. Exceeding the budget aborts the child and records FAIL.
runTimeoutMs900000Default timeout for drill_run.
errorMaxResolve12Cap on frames drill_error resolves against the graph.
prLinttrueScore the rendered PR body with the PR-craft core before recording it.
prCore~/scripts/pr_craft.pyPath to the shared PR-craft core (Kilo and Hermes use the same file).
pythonBinpython3Interpreter used to call the PR-craft core.
c2gEnabledtrueEnable the code2graph-backed stage 1–2 tools.
c2gCacheDir~/.cache/code2graph/projectsc2g cache root.
sqliteBinsqlite3sqlite3 executable used for read-only queries.
c2gDepth3Default transitive-caller depth for drill_blast.
rippleDepth2Default reverse-edge depth for drill_diff dependents.
searchEngineautoauto picks tgrep when an index covers the root (out-of-tree cache first, then /.tgrep), otherwise rg; force with rg or tgrep.
tgrepIndexDir/tgrepWhere out-of-tree tgrep indexes live (one directory per root).
cacheDir~/.cache/dsh-drillCache root for derived data. Never /tmp.
cacheTtlDays7Idle time before a cache entry is removed; 0 disables expiry.
embedEnabledtrueUse the merged c2g store as the second resolution layer.
embedStore~/Embed/c2g/graph_index.sqlitePath to the merged c2g graph store.
embedRepoMap''Override shard labels, e.g. nd_src=nodedb/src,nd_sql=nodedb-sql.
autoIndexfalseWhen true, a missing index is built on the first search instead of falling back to rg. Off by default so a search never writes unexpectedly.
rgBinrgripgrep binary name or absolute path.
tgrepBintgreptgrep binary name or absolute path; ~/.local/bin and ~/.cargo/bin are searched after PATH.
searchMaxHits200Cap on returned hits; the result reports when it truncated.