dsh-troubleshoot

Diagnose silent failures, plugin loading errors, and missing skills in DeepSeek Harness.

96|8|Updated Aug 13, 2026
One-click install
npx skills add https://github.com/pingfanfan/hello-dsh --skill dsh-troubleshoot-pingfanfan
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: dsh-troubleshoot
Source: https://github.com/pingfanfan/hello-dsh/tree/main/examples/skills/dsh-troubleshoot
Command: npx skills add https://github.com/pingfanfan/hello-dsh --skill dsh-troubleshoot-pingfanfan

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? DeepSeek Harness failures are often silent: configuration is written but never takes effect, plugins load but never inject, and skills exist on disk but never appear in the list. This Skill provides a systematic troubleshooting procedure that prioritizes these silent failures over obvious crashes. ## Core Features & Use Cases - Layered fault localization: Classify symptoms across process startup, configuration, plugin injection, tool registration, skill discovery, and model API layers before debugging. - Silent failure playbook: Covers documented pitfalls such as !!js expressions outside plugin config, default exports breaking the loader's unwrapExports, camelCase frontmatter keys discarding entire skills, and UNKNOWN_TOOL from inactive fibers. - Verification-first workflow: Uses dsh --profile web --dump-config to inspect assembled configuration and npx dsh-doctor for automated read-only checks instead of guessing. - Use Case: Your DSH plugin shows cannot get property "agents" without inject. The Skill identifies the default export as the cause, explains why 178 passing unit tests missed it, and tells you to remove the default export. ## Quick Start Ask the assistant to troubleshoot why my DeepSeek Harness plugin is loaded but throws an inject error, following the dsh-troubleshoot procedure.

Frequently Asked Questions about dsh-troubleshoot

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I troubleshoot a DeepSeek Harness plugin that is not loading?▼

Run `dsh --profile web --dump-config` to inspect the assembled configuration and grep for your plugin. Then check whether it is disabled, whether its fiber is ACTIVE, and whether its declared dependencies have providers, since unmet dependencies leave components silently inactive.

Why does my DSH plugin throw cannot get property without inject?▼

This error occurs when the plugin file has a default export. The loader's unwrapExports prefers exports.default, resolving to the bare apply function while discarding named exports like inject and name. Remove the default export and keep only named exports.

Why is my DSH skill not showing up in the list?▼

Check the frontmatter key casing first: invocation policy keys must be kebab-case like user-invocable, and camelCase like userInvocable causes the entire skill to be discarded. Also verify the name is kebab-case, description exists, and the skill is not in a nested directory.

What does UNKNOWN_TOOL mean in DeepSeek Harness?▼

UNKNOWN_TOOL means the model called a tool absent from the registry. Confirm the providing plugin is in the dump-config output, is not disabled, and its fiber is ACTIVE rather than stuck INACTIVE due to unsatisfied dependencies.

How do I fix EADDRINUSE port 3080 when starting DSH?▼

Run `lsof -nP -iTCP:3080 -sTCP:LISTEN` to find which process holds the port. The most common cause is a previous DSH instance that did not shut down cleanly; kill it and restart.

Can I use !!js expressions in DSH plugin configuration?▼

Only inside a plugin's config block. Cordis evaluates !!js solely within config; using it on metadata fields like disabled or isolate produces a truthy expression object, permanently disabling the plugin with no diagnostic output. Use explicit overlay files instead.