讲师中心 微信公众号
AI工具推荐 视频效率加速

软件设计文档生成

Polar Sponsor
爱发电 赞助
.NET 9.0

根据上传需求文档自动生成详细的软件设计文档,包含架构、模块、接口及通信协议等内容,且关键步骤需用户确认。

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
.pdf 使用 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分钟:
  发送: "我先暂停,有需要时说「继续」继续生成"

约束

  1. 所有关键决策必须先询问用户:文件夹名、技术栈、文档章节
  2. 每分钟发送进度通知:即使还没完成
  3. 完成后必须通知用户:告知位置和包含内容
  4. 不支持的文件格式:明确提示用户转换

依赖工具

  • ls, mkdir, mv, touch - 文件操作
  • unzip - 解析docx
  • message - 发送进度通知
目录

热门AI工具

更多
Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

相关专题

更多
Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

0

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

0

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

0

2026.10.22

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

0

2026.10.22

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

0

2026.10.22

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

0

2026.10.22

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

0

2026.10.22

剧云人物设定与关系管理教程
剧云人物设定与关系管理教程

本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn