DeepSeek Harness 插件:dsh-init-command(两阶段生成项目 AGENTS.md 指南)

前言

在 DeepSeek Harness (DSH) 生态中,AGENTS.md 文件定义了智能体的行为规范、构建命令与代码风格。手动维护此文件既耗时,又容易因项目变更而滞后。dsh-init-command 插件通过 /init 斜杠命令,利用大模型分析当前项目的目录结构与上下文,自动生成或更新 AGENTS.md。它采用两阶段调用策略:先判断项目类型与工具链,再将判断结果嵌入提示词生成文档。

核心功能

该插件的核心在于通过结构化的两阶段流程,确保生成的文档基于实际项目内容,而非模型的臆测。

  • 两阶段 LLM 生成:第一阶段收集项目两层目录结构,向模型发送提示词,要求其输出结构化的项目类型与工具链(语言、框架、构建工具等);第二阶段将判断结果与目录结构嵌入提示词,生成 AGENTS.md。
  • 阶段二可见性控制:默认情况下,生成阶段只显示模型的 reasoning 流块(思考过程),正文直接写入文件而不进入会话。使用 --dry-run 时,会完整流式预览所有内容。
  • 阶段一思考模式:项目分析任务相对简单,默认关闭思考模式(reasoningEffort: 'off')以节省 token。需要更严谨的分析时,使用 --think 参数开启思考。
  • 两层目录结构收集:自动收集根目录及子目录的条目(过滤 .git、node_modules 等噪音),支持 --depth 设置深度(-1 不限制)和 --ignore 跳过指定条目。
  • 空目录处理:当目录为空(项目尚未制作)时,插件不会盲目生成。它会在会话中询问用户项目内容,或通过 --desc <text> 提供描述来生成一份注明“尚未制作”的规划稿。
  • Git 初始化:提供 --git 参数,在生成文档后自动执行 git init、将默认分支从 master 重命名为 main,并根据项目类型从 GitHub 下载对应的 .gitignore 模板。
  • 初始提交:使用 --commit 参数(隐式启用 --git)创建初始提交。
  • 模型路由回退:模型调用优先级为:插件配置 -> 会话最近一次请求 -> agent 选项。
  • 零依赖:仅使用 Node.js 内置模块,无需构建。

安装与启用

该插件以 bundle 形式安装,会自动注册到指定的 profile 中。

在包含插件目录的路径下执行:

dsh plugin --profile <profile-name> add ./dsh-init-command

安装后,DSH 会将插件加入 dsh.profile.bundles。验证安装是否成功:

dsh --profile <profile-name> --dump-config
# 应输出包含 "# == dsh-init-command" 的配置层

配置

/init 命令需要可用的模型路由。插件配置优先级最高,会话配置次之,agent 选项最低。三者都不可用时,命令将返回错误。

在 cordis.patch.yml 或 profile 的 patch 层中配置:

- insert:
    - id: init
      name: dsh-init-command
      config:
        provider: deepseek
        model: deepseek-chat

使用

在 DSH Web UI 或命令适配器的输入框中,使用以下命令。

命令 行为
/init 两阶段调用模型,在工作区根目录生成或替换 AGENTS.md。阶段二默认显示思考过程、隐藏正文,正文直接写入文件。
/init --dry-run 生成内容但不写入文件,完整流式预览(包含思考过程与最终输出)。
/init --think 阶段一(项目分析)开启模型的思考模式。
/init --git 生成 AGENTS.md 后初始化 Git 仓库,重命名分支,并下载 .gitignore。
/init --commit 生成后创建初始 Git 提交(隐式启用 --git)。
/init --depth <n> 设置目录树收集深度。1 为顶层,2 为两层(默认),-1 不限制。
/init --ignore <pattern> 额外跳过名字匹配的条目(支持逗号分隔或重复使用)。
/init --desc <text> 为空目录提供项目描述,生成规划稿。
/init --git --dry-run 组合使用,仅提示将要进行的操作(初始化、下载模板等),不执行写入。

注意:目录为空时,/init 不会自动生成。需使用 /init --desc "<描述>" 提供描述,或先创建文件再运行。

注意事项

  • 思考模式默认关闭:阶段一默认不开启思考,以提升速度和节省 token。如需更深入的项目分析,请使用 --think。
  • 空目录行为:插件不会为空目录盲目生成,必须通过 --desc 提供描述。
  • 模型路由优先级:请确保在配置、会话或 agent 选项中至少指定了 provider 和 model,否则命令无法执行。
  • 零依赖:插件仅使用 Node 内置模块,确保在无额外环境配置下可运行。
  • 人工审阅:生成的 AGENTS.md 为模型初稿,其中的命令和结构均基于目录收集结果。使用前需人工审阅并按项目实际约定调整。

结语

dsh-init-command 为 DSH 用户提供了从零开始定义项目智能体指南的自动化手段。它通过两阶段调用和结构化输入,降低了维护 AGENTS.md 的门槛,适合需要快速搭建项目 AI 开发环境的场景。

更多详情与源码,请访问:GitHub 仓库 | 社区目录

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

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

小夜