前言¶
在 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 开发环境的场景。