* feat(cli): add DeepSeek Harness agent profile Signed-off-by: dongmucat <1127093059@qq.com> * docs(dsh): fix custom install troubleshooting command Signed-off-by: dongmucat <1127093059@qq.com> --------- Signed-off-by: dongmucat <1127093059@qq.com>
3.3 KiB
DeepSeek Harness Integration Guide
This guide explains how to install SkillHub packages into
DeepSeek Harness, whose CLI is dsh.
Verified scope
The directory behavior described here was verified on 2026-09-20 against
@deepseek-ai/dsh-skill-filesystem at DeepSeek Harness commit
ddefc45.
That release is still a 0.1.x developer preview; recheck the roots after upgrading dsh.
Install into native dsh roots
dsh uses <repository>/.dsh/skills for project skills and $DSH_HOME/skills
(default ~/.dsh/skills) for user skills. With the default home:
# User scope: ~/.dsh/skills/<skill-slug>/
skillhub install my-skill --agent dsh --scope user
# Project scope: run from the repository root
cd "$(git rev-parse --show-toplevel)"
skillhub install my-skill --agent dsh --scope project
Explicit --agent dsh without --scope defaults to the user root. Verify the local
SkillHub record with:
skillhub list --agent dsh
dsh watches configured skill roots, so added, renamed, or removed skills appear after the next catalog refresh without restarting the process.
Use the shared .agents/skills roots
dsh also scans project .agents/skills and user ~/.agents/skills. This works with an
older SkillHub CLI that lacks the profile and lets multiple agents share one installation:
skillhub install my-skill --dir "$HOME/.agents/skills"
skillhub install my-skill --dir "$(git rev-parse --show-toplevel)/.agents/skills"
Custom DSH_HOME
The SkillHub profile maps the default ~/.dsh/skills root. If dsh uses a custom
DSH_HOME, pass its actual path explicitly:
skillhub install my-skill --dir "${DSH_HOME:-$HOME/.dsh}/skills"
Project-root difference
dsh finds the nearest .git ancestor and treats it as the project root. SkillHub CLI
profiles use the current working directory. Running --scope project --agent dsh from a
repository subdirectory would therefore write a .dsh/skills directory that dsh does not
treat as the project root. Change to the path returned by git rev-parse --show-toplevel
before project-scoped installation.
Compatibility boundary
- SkillHub writes
<skill-slug>/SKILL.md, matching dsh's one-level bundle discovery. - dsh also accepts a flat
<name>.md; SkillHub packages still require root-levelSKILL.md. SKILL.mdneeds a valid kebab-casenameand a non-emptydescriptionfrontmatter field.- Format compatibility does not guarantee runtime compatibility. Agent-specific tools, commands, MCP servers, environment variables, and operating-system requirements still need separate validation.
- Review package contents and the SkillHub security report before installation. Never put a registry token in a skill package.
Troubleshooting
If dsh does not discover an installed skill:
- Run
skillhub listand verify the recorded directory and status. - Confirm the layout is
<skill-root>/<skill-slug>/SKILL.mdwithout another nesting level. - Check the
nameanddescriptionfrontmatter inSKILL.md. - For project scope, confirm the directory is under the nearest
.gitancestor. - When using
DSH_HOMEorDSH_AGENTS_HOME, confirm installation used the actual configured root.