Introduction¶
The core philosophy of DeepSeek Harness (DSH) is “everything is a plugin.” When building a new project or a new Agent, developers often spend a lot of time writing prompts or organizing project context. Claude Code provides a standard /init workflow; this plugin brings that mechanism into DSH, helping developers quickly create project-level Agent guidance.
What It Is¶
dsh-init is an official mechanism plugin (profile bundle), maintained by evanfang0054. It registers the /init slash command and the init tool in DSH, porting the Claude Code initialization process to enable automated project documentation generation and configuration.
Core Features¶
The plugin provides the following capabilities:
- Command and tool registration: Registers both the
/initslash command and theinitmodel tool. - Documentation generation: Automatically generates
CLAUDE.md, which includes the standard Claude Code file header and a minimal project-level Agent guide. - Symlink mechanism: Creates
AGENTS.mdand sets it as a relative symbolic link pointing toCLAUDE.md, so tools that readAGENTS.md(such as DSH itself, Cursor, and Codex) and tools that readCLAUDE.mdshare the same source of truth without maintaining two copies. - Zero dependencies: The plugin does not depend on other packages; tool definitions are registered directly.
- Seven-stage workflow:
- Interview: Confirm project scope and preferences.
- Reconnaissance: Read the manifest, README, CI configuration, existing rules, etc.
- Fill gaps: Ask questions that the model cannot answer from the code.
- Write file: Generate
CLAUDE.mdand test its validity line by line. - Symlink: Create the
AGENTS.mdsymbolic link. - Local preferences: Generate
CLAUDE.local.md. - Summary: Review the generated artifacts and remind that the workflow can be re-run.
Installation and Activation¶
This package is a standard DSH profile bundle. Install it using DSH’s built-in dsh plugin command.
# 从 npm 安装(推荐)
dsh plugin --profile web add dsh-init
# 从 GitHub 安装
dsh plugin --profile web add github:evanfang0054/dsh-init
# 从本地路径安装(需重启 DSH 生效)
dsh plugin --profile web add /path/to/dsh-init
After installation, you must restart DSH to load the bundle layer. Verify successful installation:
cat ~/.dsh/profiles/web/package.json | grep dsh-init
# "dsh.profile.bundles" 数组里出现 "dsh-init" 即已挂载
If installed from a local path, pnpm will automatically mount it as link (symlink). After modifying the code, restart DSH to apply the changes; you do not need to run the add command again.
Typical Usage¶
After installation and restart, you can trigger initialization in the following ways:
- Slash command: Enter
/in the conversation, chooseinitfrom the completion list, or directly type/init <additional requirements>. - Natural language: Tell the Agent directly, “Initialize this project.”
- Verification: Confirm that
CLAUDE.mdandAGENTS.md(symlink) have been generated.
Notes¶
- Symlinks and Git: Git natively supports symbolic links (mode 120000). On Windows, enable developer mode and set
git config core.symlinks trueto use symbolic links normally. - Existing AGENTS.md: If an
AGENTS.mdfile already exists in the project, the workflow will not silently overwrite it. It will perform a diff comparison first and replace the file only after user confirmation. - CLAUDE.md changes: Because
AGENTS.mdis a symbolic link, changes toCLAUDE.mdalso take effect forAGENTS.md; no manual editing is required. - Updating the plugin: Local path installation is a symbolic link, so you can modify the code and restart DSH; GitHub/npm installation requires re-running the
dsh plugin addcommand.
Closing¶
dsh-init addresses the cumbersome process of project initialization documentation in agent development. Through a standardized seven-stage workflow, it helps developers quickly establish project context and uses the symbolic link mechanism to unify how multiple tools read Agent guidance.