dsh-init: DeepSeek Harness 的 Claude Code 风格 /init 命令

前言

DeepSeek Harness(DSH)的核心理念是「一切皆插件」。在构建新项目或新 Agent 时,往往需要花费大量时间编写 Prompt 或梳理项目背景。Claude Code 提供了一套标准的 /init 工作流,本插件将其机制引入 DSH,帮助开发者快速建立项目级的 Agent 指引。

是什么

dsh-init 是一个官方机制插件(profile bundle),由 evanfang0054 维护。它通过在 DSH 中注册 /init 斜杠命令和 init 工具,将 Claude Code 的初始化流程移植过来,实现自动化的项目文档生成与配置。

核心功能

该插件提供以下能力:

  1. 命令与工具注册:同时注册斜杠命令 /init 和模型工具 init。
  2. 文档生成:自动生成 CLAUDE.md,该文件包含 Claude Code 标准文件头及极简的项目级 Agent 指引。
  3. 软链机制:创建 AGENTS.md 并将其设为指向 CLAUDE.md 的相对软链接,让读 AGENTS.md 的工具(如 DSH 自身、Cursor、Codex)与读 CLAUDE.md 的工具共享同一份事实来源,无需维护两份内容。
  4. 零依赖:插件自身不依赖其他包,工具定义直接注册。
  5. 七阶段工作流:
    • 访谈:确认项目范围与偏好。
    • 侦查:读取 manifest、README、CI、已有规则等。
    • 补缺口:询问模型无法通过代码回答的问题。
    • 写文件:生成 CLAUDE.md,并逐行测试有效性。
    • 软链:建立 AGENTS.md 软链接。
    • 本地偏好:生成 CLAUDE.local.md。
    • 总结:回顾产物并提醒可重跑。

安装与启用

本包是一个标准的 DSH profile bundle。使用 DSH 自带的 dsh plugin 命令安装即可。

# 从 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

安装后,必须重启 DSH 才能加载 bundle 层。验证安装成功:

cat ~/.dsh/profiles/web/package.json | grep dsh-init
# "dsh.profile.bundles" 数组里出现 "dsh-init" 即已挂载

若通过本地路径安装,pnpm 会自动以 link(软链) 方式挂入,修改代码后重启 DSH 即可生效,无需重新执行 add 命令。

典型用法

安装并重启后,可以通过以下方式触发初始化:

  1. 斜杠命令:在对话中输入 /,在补全列表中选择 init,或直接输入 /init <附加要求>。
  2. 自然语言:直接告诉 Agent “初始化这个项目”。
  3. 验证:确认 CLAUDE.md 和 AGENTS.md(软链)已生成。

注意事项

  • 软链与 Git:Git 原生支持 symlink(模式 120000)。在 Windows 上,需要开启开发者模式并设置 git config core.symlinks true 才能正常使用软链功能。
  • 已有 AGENTS.md:如果项目中已存在 AGENTS.md,工作流不会静默覆盖。它会先进行 diff 对比,经用户确认后才会替换。
  • CLAUDE.md 变更:由于 AGENTS.md 是软链,修改 CLAUDE.md 即同时生效于 AGENTS.md,无需手动修改。
  • 更新插件:本地路径安装是软链,修改代码重启即可;GitHub/npm 安装则需要重新执行 dsh plugin add 命令。

短结尾

dsh-init 解决了智能体开发中项目初始化文档繁琐的问题。通过标准化的七阶段工作流,它帮助开发者快速建立项目上下文,并利用软链机制统一了多工具对 Agent 指引的读取体验。

GitHub 仓库

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜