根据上传需求文档自动生成详细的软件设计文档,包含架构、模块、接口及通信协议等内容,且关键步骤需用户确认。
Skill: 依据文档生成软件设计文档
功能概述
Skill: 依据文档生成软件设计文档是一项面向实际任务的技能,主要用于根据上传的需求文档/技术说明,自动生成可指导开发的设计文档;用户说(任意一项):;
核心要点
- 「依据xxx写设计文档」;
- 「根据xx文档生成设计说明」;
- 「帮我做个设计文档」;
使用与执行
「依据上传的文件写软件设计」;其他明确要求生成设计文档的表达;Step 1: 识别新上传的文件;Step 2: 分析文件名,询问用户确认文件夹名;⚠️ 必须确认 ,不自行决定。
结果检查与注意事项
它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
Skill: 依据文档生成软件设计文档
根据上传的需求文档/技术说明,自动生成可指导开发的设计文档
触发条件
用户说(任意一项):
- 「依据xxx写设计文档」
- 「根据xx文档生成设计说明」
- 「帮我做个设计文档」
- 「依据上传的文件写软件设计」
- 其他明确要求生成设计文档的表达
工作流程
Step 1: 识别新上传的文件
执行: ls -la /root/.openclaw/media/inbound/ 筛选: 最近5分钟内上传的文件(排除临时文件) 输出: 文件列表
Step 2: 分析文件名,询问用户确认文件夹名
分析: - 提取所有文件的公共关键词 - 生成候选文件夹名(如:飞奕多联机空调集中控制和计费软件) 询问用户: "检测到 X 个文件: - file1.docx - file2.docx 建议文件夹名: XXX 确认用这个名?还是你另外起一个?"
⚠️ 必须确认,不自行决定
Step 3: 移动文件到新文件夹
执行:
mkdir -p /workspace/{文件夹名}
mv /inbound/xxx.docx /workspace/{文件夹名}/
Step 4: 提取文件内容
根据文件扩展名选择解析方式:
| 扩展名 | 解析方式 |
|---|---|
| .docx | unzip + 解析 document.xml |
| .doc | 提示用户转换为 docx |
| 使用 pdftotext 或提示用户 | |
| .txt / .md | 直接读取 |
| 其他 | 提示用户转换格式 |
输出: 提取的文本内容(关键章节:功能需求、技术架构、模块设计、通信协议等)
Step 5: 分析内容,列出关键发现,询问用户确认
分析并总结: - 项目类型(嵌入式/Web/API/桌面应用...) - 技术栈(语言、框架、数据库...) - 核心功能模块 - 通信协议 - 存储方案 询问用户: "从文档中分析出以下信息,请确认: 项目类型: 嵌入式系统 处理器: Rockchip RK3506 编程语言: C 操作系统: Linux 通信: 4G / RS485 / 蓝牙 协议: MQTT / Modbus ... 以上正确吗?有补充或修正?"
⚠️ 必须确认,不自行假设
Step 6: 询问文档范围
询问用户: "设计文档需要包含哪些章节? 可选章节: ✓ 功能需求 ✓ 系统架构 ✓ 模块设计(含接口定义) ✓ 数据结构定义 ✓ 通信协议(MQTT/Modbus/蓝牙) ✓ 存储设计(Flash分区/数据库) ✓ API设计 ✓ 接口定义 ✓ 错误处理 ✓ 部署方案 需要哪些?需要补充什么?"
⚠️ 必须确认
Step 7: 开始生成,每分钟发送进度通知
开始前: "好的,开始生成设计文档。预计需要3-5分钟,每分钟我会向你汇报进度。" 执行过程中(每60秒): "⏳ 正在撰写中,请稍候... - 已完成:模块设计章节 - 进度:约60% - 预计还需:2分钟" 最后: "即将完成,正在整理目录结构..."
✅ 每分钟主动发送进度,避免用户以为卡死
Step 8: 生成目录结构 + 空文件
目录结构示例:
{项目名}/
├── DESIGN.md # 设计文档主文件
├── docs/
│ ├── 01-概述.md
│ ├── 02-功能需求.md
│ ├── 03-系统架构.md
│ ├── 04-模块设计/
│ │ ├── 通讯模块.md
│ │ ├── 协议处理模块.md
│ │ ├── 计量计费模块.md
│ │ └── 升级模块.md
│ ├── 05-通信协议.md
│ ├── 06-存储设计.md
│ └── 07-接口定义.md
├── src/
│ ├── main.c
│ ├── config/
│ │ └── config.h
│ ├── modules/
│ │ ├── comm.c / comm.h
│ │ ├── protocol.c / protocol.h
│ │ ├── billing.c / billing.h
│ │ └── upgrade.c / upgrade.h
│ └── include/
│ └── types.h
├── include/ # 头文件目录
├── docs/ # 文档目录
└── README.md
执行:
mkdir -p /workspace/{项目名}/{子目录}
touch /workspace/{项目名}/docs/01-概述.md # 创建空文件
...
Step 9: 生成 DESIGN.md 主文档
内容结构:
# {项目名}软件设计文档
## 一、引言
- 编写目的
- 项目背景
- 术语定义
## 二、系统概述
- 系统目标
- 运行环境
- 技术架构
## 三、功能需求
- 设备控制功能
- 计量计费功能
- 通信功能
- ...
## 四、详细设计
- 模块划分
- 模块间接口
- 核心数据结构
- API定义
## 五、通信协议
- MQTT主题格式
- Modbus寄存器
- 蓝牙协议
## 六、存储设计
- Flash分区
- 数据结构
## 七、错误处理
- 错误码
- 告警定义
## 八、附录
- 版本历史
- 参考资料
Step 10: 完成通知
通知用户:
"✅ 设计文档生成完成!
📁 位置: /workspace/{项目名}/DESIGN.md
📂 目录: /workspace/{项目名}/
包含内容:
- DESIGN.md (主设计文档,33KB)
- docs/ (各章节拆分文件)
- src/ (代码框架目录)
请查看,有需要修改或补充的地方告诉我。"
特殊处理
文件名分析规则
输入: ["飞奕多联机空调集中控制和计费软件登记技术交底文件.docx", "飞奕多联机空调集中控制和计费软件设计说明.docx"] 处理: 1. 提取最长公共子串 2. 去掉"登记技术交底文件"、"设计说明"等后缀 3. 候选: "飞奕多联机空调集中控制和计费软件" 如果无法提取: 询问用户: "你想用什么文件夹名?"
内容提取失败
如果无法提取docx内容: 提示用户: "无法自动解析xxx.docx,请将内容粘贴给我,或转换为txt/md格式"
用户未响应
如果用户在任一步骤超过5分钟未回复: 发送提醒: "还在等你确认信息,请告诉我你的选择~" 超过10分钟: 发送: "我先暂停,有需要时说「继续」继续生成"
约束
- 所有关键决策必须先询问用户:文件夹名、技术栈、文档章节
- 每分钟发送进度通知:即使还没完成
- 完成后必须通知用户:告知位置和包含内容
- 不支持的文件格式:明确提示用户转换
依赖工具
ls,mkdir,mv,touch- 文件操作unzip- 解析docxmessage- 发送进度通知
热门AI工具
相关专题
本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。
0
2026.10.22
本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。
0
2026.10.22
本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。
0
2026.10.22
本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。
0
2026.10.22
本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。
0
2026.10.22
本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。
0
2026.10.22
本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。
0
2026.10.22
PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。
0
2026.10.22
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.4万人学习
共6课时 | 54.7万人学习
最新文章
