Areium/dsh-fail-logger

DeepSeek Harness (DSH) plug-in: automatically records tool failure errors in all execution modes (native tools / PTC run_code / code embedded tool calls), deduplicates, counts, and deterministically sorts them into the machine maintenance record section of the skill - let A

dsh-fail-logger is an all-mode tool failure recorder for DeepSeek Harness: whenever a tool call fails (native mode or PTC run_code), the failure is automatically written into the machine-maintained section of a skill — normalized-dedup, counted, deterministically ranked, TTL-pruned, and redacted — so the next session's model sees the most common failure causes when it loads the skill. It records native tool failures (tool/call + tool/result with isError=true), PTC run_code failures (exception/timeout/abort kinds), and nested tool failures inside code programs; a failure is recorded only when the tool result is marked isError: true (a non-zero exit code shown as plain text does not trigger recording). The generated auto-log section is explicitly reference data, never instructions, and includes a 7-day frequency trend plus per-category tips.

Skill Packs ★ 9 updated 2026-09-20 ✅ runtime-tested
View on GitHub ↗

Install

dsh plugin --profile web add dsh-fail-logger

Install with dsh plugin --profile web add dsh-fail-logger (or pin an exact version with dsh plugin --profile web add dsh-fail-logger@0.5.2, or a GitHub release tag with dsh plugin --profile web add "github:Areium/dsh-fail-logger#v0.5.2"), then restart dsh --profile web. Zero configuration, works out of the box; headless profile uses dsh plugin --profile headless add instead.

Compatibility

DeepSeek Harness web and headless profiles. Works in native mode and PTC (Code Mode). Pure observer: the observation point is the session log (session/event) — the same hook the official telemetry plugin uses; no service injection, no runtime wrapping, can never affect execution. Config (all optional): logDir (default ~/.dsh/skills/fail-log-guide), maxEntries 10, maxMsg 200, marker FAIL-LOG, flushMs 300, ttlDays 30, redact [], ignore [], injectInstructions true.

Details

Recent updates

The current README documents the coverage matrix (native / PTC / nested), the trigger condition (isError: true only), the session-log observation point, the skill auto-log section format with frequency trend, install paths, the full config table, and the security note that logged text is untrusted data.

FAQ

When is a failure recorded?
Only when the tool result is marked isError: true. A non-zero shell exit code presented as plain text ([exit code: 1]) does not trigger recording — only genuinely thrown tool calls (read on a missing file, grep failure, run_code crash) enter the log.
Can it affect execution?
No — it is a pure observer on the session log, the same hook the official telemetry plugin uses; there is no service injection or runtime wrapping.
What do the config options control?
logDir selects the target skill directory, maxEntries caps rows per category, maxMsg limits chars per message, ttlDays drops entries with no new occurrence after N days, redact adds regexes, and ignore excludes tool-name/message patterns.

Alternatives

omdsh-dev/dsh_workflow · lire1131/dsh-undo-plugin · PerryLink/dsh-auto-review

More plugins in Skill Packs

Browse more in Skill Packs

Guides for Skill Packs plugins