根據上傳的需求文件/技術說明,自動生成可指導開發的設計文件
使用者說(任意一項): - 「依據xxx寫設計文件」 - 「根據xx文件生成設計說明」 - 「幫我做個設計文件」 - 「依據上傳的檔案寫軟體設計」 - 其他明確要求生成設計文件的表達
執行: ls -la /root/.openclaw/media/inbound/
篩選: 最近5分鐘內上傳的檔案(排除臨時檔案)
輸出: 檔案列表
分析:
- 提取所有檔案的公共關鍵詞
- 生成候選資料夾名(如:飛奕多聯機空調集中控制和計費軟體)
詢問使用者:
"檢測到 X 個檔案:
- file1.docx
- file2.docx
建議資料夾名: XXX
確認用這個名?還是你另外起一個?"
⚠️ 必須確認,不自行決定
執行:
mkdir -p /workspace/{資料夾名}
mv /inbound/xxx.docx /workspace/{資料夾名}/
根據副檔名選擇解析方式:
| 副檔名 | 解析方式 |
|---|---|
| .docx | unzip + 解析 document.xml |
| .doc | 提示使用者轉換為 docx |
| 使用 pdftotext 或提示使用者 | |
| .txt / .md | 直接讀取 |
| 其他 | 提示使用者轉換格式 |
輸出: 提取的文本內容(關鍵章節:功能需求、技術架構、模組設計、通訊協議等)本技能來自小蔥技能站7w4.net。
分析並總結:
- 專案型別(嵌入式/Web/API/桌面應用...)
- 技術棧(語言、框架、資料庫...)
- 核心功能模組
- 通訊協議
- 儲存方案
詢問使用者:
"從文件中分析出以下資訊,請確認:
專案型別: 嵌入式系統
處理器: Rockchip RK3506
程式語言: C
作業系統: Linux
通訊: 4G / RS485 / 藍牙
協議: MQTT / Modbus
...
以上正確嗎?有補充或修正?"
⚠️ 必須確認,不自行假設
詢問使用者:
"設計文件需要包含哪些章節?
可選章節:
✓ 功能需求
✓ 系統架構
✓ 模組設計(含介面定義)
✓ 資料結構定義
✓ 通訊協議(MQTT/Modbus/藍牙)
✓ 儲存設計(Flash分割槽/資料庫)
✓ API設計
✓ 介面定義
✓ 錯誤處理
✓ 部署方案
需要哪些?需要補充什麼?"
⚠️ 必須確認
開始前:
"好的,開始生成設計文件。預計需要3-5分鐘,每分鐘我會向你彙報進度。"
執行過程中(每60秒):
"⏳ 正在撰寫中,請稍候...
- 已完成:模組設計章節
- 進度:約60%
- 預計還需:2分鐘"
最後:
"即將完成,正在整理目錄結構..."
✅ 每分鐘主動傳送進度,避免使用者以為卡死
目錄結構示例:
{專案名}/
├── 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 # 建立空檔案
...
內容結構:
# {專案名}軟體設計文件
## 一、引言
- 編寫目的
- 專案背景
- 術語定義
## 二、系統概述
- 系統目標
- 執行環境
- 技術架構
## 三、功能需求
- 裝置控制功能
- 計量計費功能
- 通訊功能
- ...
## 四、詳細設計
- 模組劃分
- 模組間介面
- 核心資料結構
- API定義
## 五、通訊協議
- MQTT主題格式
- Modbus暫存器
- 藍牙協議
## 六、儲存設計
- Flash分割槽
- 資料結構
## 七、錯誤處理
- 錯誤碼
- 告警定義
## 八、附錄
- 版本歷史
- 參考資料
通知使用者:
"✅ 設計文件生成完成!
📁 位置: /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 - 傳送進度通知這個Skill能根據需求文件自動生成軟體設計文件,流程清晰,互動友好,會主動確認關鍵資訊並每分鐘彙報進度。整體質量中規中矩,基礎功能做得不錯,但缺少示例檔案和快速入門指南,新使用者上手有些困難。文件結構詳細但純文本形式看起來有點複雜。