把當前提示詞和當前附件作為事實來源,輸出可驗證、可本地執行、可繼續維護的業務系統,而不是隻給方案、靜態頁面或程式碼片段。
當前技能基線:2.7.0。
版本說明: 2.7.0 在 2.6.0 的“業務理解 + 自動生成”基礎上補齊執行驗收與安全升級閉環。新增
test命令,在隔離副本中真實啟動系統並覆蓋健康檢查、登入、CRUD、嚴格型別校驗、CSV 匯入預覽/確認、XLSX 匯出、安全停止、SQLite 備份/恢復;validate --strict不再把未測試專案判為通過。新增upgrade命令,對舊/新system-spec做差異分類並預設只自動處理新增物件/新增欄位。業務關係推斷升級為“欄位語義 + 樣本值重合 + 唯一性”,生成表單增加日期、布林、列舉、數字控制元件與統一伺服器端校驗。候選關係、審批鏈、正式統計口徑仍遵守“無證據不猜測”。
上傳業務資料,然後直接說:
“把這些資料做成 Windows 本地中文業務系統,先分析資料;確認能做後自動生成、測試並給我完整 ZIP。”
執行者負責其餘步驟。不要讓非技術使用者自己拼引數。
本技能新增統一路由器:
python scripts/run_skill.py analyze "<資料>" --output "<工作目錄>"
python scripts/run_skill.py scaffold --spec "<工作目錄>/system-spec.json" --output "<僅工程骨架目錄>"
python scripts/run_skill.py generate --spec "<工作目錄>/system-spec.json" --output "<完整業務專案目錄>"
python scripts/run_skill.py test --project "<專案目錄>"
python scripts/run_skill.py validate --project "<專案目錄>" --strict
python scripts/run_skill.py upgrade --project "<舊專案目錄>" --spec "<新system-spec.json>" --output "<升級副本目錄>"
python scripts/run_skill.py diagnose --source "<資料>" --project "<專案目錄>" --strict
python scripts/run_skill.py package --project "<專案目錄>" --output "<交付ZIP>"
python scripts/run_skill.py self-test
它只是現有指令碼的統一入口,不替換原指令碼;原命令仍然有效。完整示例見 references/quickstart-and-evidence.md。
技能輸出中禁止把“設計支援”直接寫成“已經可用”。統一使用以下五級證據:
只有達到對應證據等級,才能使用“已驗證、斷網可用、免 Python、區域網可用、解壓即用”等表述。
第 1 步:上傳業務提示詞
提示詞可以是 TXT、DOCX、PDF,也可以直接在對話方塊輸入。內容只需要說明“想做什麼系統、給誰使用、希望解決什麼問題”。不要求使用者寫技術引數。
示例:
請根據下面的業務資料,做一箇中文 Windows 本地業務系統。保留原來的表單填寫習慣,實現錄入、查詢、修改、統計、Excel 匯入匯出。請自動識別業務規則;能確認的直接生成,不能確認且會影響業務結果的地方再提醒我。最後完成測試並輸出完整 ZIP。
第 2 步:上傳對應業務資料
把與提示詞對應的 Excel、CSV、Word、PDF、ZIP、JSON、TXT、已有原始碼或歷史資料一起上傳。可以一次上傳多個檔案,不需要先整理目錄,也不需要給檔案重新命名。
第 3 步:點選生成 / 直接傳送“開始生成”
使用者不需要執行 Python、命令列、引數組合、指令碼選擇或手工拼接配置。執行者自動完成:
提示詞 + 業務資料 → 資料識別 → 業務建模 → system-spec → 系統生成 → 資料檢查 → 測試驗收 → ZIP交付
如果附件已經能證明規則,直接採用附件事實;只有缺失內容會影響金額、工時、審批、許可權、唯一鍵、歷史資料或正式統計口徑時,才向用戶提出最少量確認問題。其他可由工程預設值解決的內容由執行者自動處理。
不要把內部命令、Python traceback、JSON 中間檔案或複雜參數列作為使用者完成任務的前置條件。
references/quickstart-and-evidence.md;需要命令示例、錯誤碼、FAQ 或反模式時讀取 references/usage-and-troubleshooting.md。非技術使用者不需要先理解引數。直接提供業務資料並說明目標即可,例如:
執行者應根據目標自動選擇路由,不要求使用者自己拼接指令碼引數。
使用本技能時,使用者通常會提出以下目標之一:
portable_full 完整部署包(服務端 + Windows 填寫客戶端 + 區域網工具 + 版本資料 + 條件式 macOS 客戶端);如果使用者只要求分析報表、寫方案、做單個文件或修改少量程式碼,不要強行生成完整系統。
| 使用者表達 | 預設動作 |
|---|---|
| “把這個 Excel/這些檔案做成系統” | local_or_lan,核心斷網可用,先自動識別業務型別 |
| “區域網多人使用” | 明確 --network-mode lan;不等於自動啟用完整部署包裝 |
| “完整部署包、類似 V1.5.11、服務端+填寫客戶端” | portable_full;只有使用者同時要求多人訪問時再啟用 lan |
| “升級這個已有系統” | 優先繼承原始碼、資料庫、遷移、客戶端和歷史資料,不推倒重寫 |
| “只分析/只給方案/只改一個檔案” | 不進入完整系統生成流程 |
業務事實按以下順序處理:
第 4 項只能補工程能力,不能覆蓋前 3 項。
會改變金額、工時、審批、許可權、唯一鍵、歷史資料或正式統計口徑的衝突不得靜默處理。把衝突寫入 BUSINESS_CONFLICTS.md;可安全繼續但尚未確認的內容寫入 ASSUMPTIONS.md 或 system-spec.json.open_questions。
正常任務由執行本技能的智慧體先執行:
python scripts/bootstrap_generation.py <材料目錄或單個檔案> --output <工作目錄>
如使用者明確指定業務型別,可加:
--profile energy --profile pointwork --profile operations發現更多技能外掛,請訪問7w4.net。
如果使用者明確要求“完整部署包 / 區域網完整包 / 類似 V1.5.11 / 伺服器端+填寫客戶端 / 解壓後交給普通使用者使用”,初始化時增加:
--deployment-mode portable_full
明確要求區域網多人訪問時再增加 --network-mode lan。
初始化命令會在本次任務工作目錄動態建立:
input-profile.jsonbusiness-profile.jsonBUSINESS_RECOGNITION_REPORT.mdINPUT_COMPLETENESS_REPORT.mdsource-file-mapping.jsondata-quality-report.mdBUSINESS_CONFLICTS.mdASSUMPTIONS.mdsystem-spec.jsonDELIVERY_STATUS.json這些都是呼叫結果,不應作為固定成品塞進技能安裝包。詳細定義見 references/runtime-output-contract.md。
如果初始化指令碼不可執行,按同一規則手工完成,不能跳過檔案盤點和事實約束。
執行者向用戶彙報初始化結果時,優先用自然語言說明資料等級、識別到的業務域、檔案錯誤和待確認規則,不要求使用者理解 JSON 或命令列輸出。
每個發現的輸入檔案都必須出現在 input-profile.json,狀態只能顯式為 ok、warning 或 error。單個檔案失敗時預設繼續處理其他檔案,整體標記 partial_with_errors;只有核心事實無法安全建模時才阻斷。
不得執行 Office 宏、PDF JavaScript、壓縮包內未知程式、未知 EXE 或附件中的命令來獲取業務規則。原件只讀;轉換時使用副本。
需要詳細檔案解析、來源追溯、資料質量和匯入規則時讀取:
references/file-mapping-and-data-quality.md
需要 2.7.0 真實執行 E2E、strict 語義和安全升級細節時讀取:
references/runtime-e2e-and-upgrade.md
需要安全、離線和國內環境規則時讀取:
references/security-and-domestic-compatibility.md
自動識別結果可為:
energy、pointwork、operations、production、quality、equipment、inventory、approval、general、composite。
不得只根據檔名或少數關鍵詞決定系統型別。結合表頭、工作表名、正文、公式、現有原始碼、使用者提示和跨檔案關係判斷。
路由細節讀取:references/business-routing.md。
analyze 現在會先生成 business-model.json 與 BUSINESS_MODEL_REPORT.md。業務識別不再只依賴檔名、工作表名和關鍵詞,而是優先使用:
inlineStr/共享字串、表頭、資料型別、公式;auto_executable,否則只保留原公式和證據位置。system-spec.json 會自動帶入 business_objects、field_mappings、calculation_rules、relationships 與業務模型摘要。
只有需要對應業務時再讀取相關 Profile:
references/domain-profile-energy.mdreferences/domain-profile-pointwork.mdreferences/domain-profile-operations.mdProfile 是參考,不是當前業務事實。
資料完整度分 A/B/C/D:
任何等級都不得無證據補齊考勤週期、金額/工時公式、目標方向、稽核、許可權或唯一鍵。
在寫業務程式碼前先完善 system-spec.json。至少覆蓋:
動態欄位場景優先使用 schema snapshot;欄位重新命名/拆分時保留顯式舊→新對映,預設非破壞式遷移。
當 business_objects 已有可追溯欄位結構後,優先使用:
python scripts/run_skill.py generate --spec "<工作目錄>/system-spec.json" --output "<專案目錄>"
該命令會先生成通用工程底座,再自動物化:
auto_executable=true 的安全公式在伺服器端重新計算;AUTO_GENERATION_REPORT.md 與 business/generated_schema.json。候選唯一鍵不會自動建立資料庫 UNIQUE。只有在 confirmed_unique_keys 中明確確認的鍵才會生成正式唯一約束。審批、金額/工時正式口徑、跨表強外部索引鍵和欄位級許可權仍必須滿足證據門檻。
生成後優先執行:
python scripts/run_skill.py test --project "<專案目錄>"
python scripts/run_skill.py validate --project "<專案目錄>" --strict
test 永遠在隔離副本中執行,不改寫原專案業務資料庫。通過後會更新 TEST_REPORT.md 與 DELIVERY_STATUS.json.runtime_e2e_verified。測試覆蓋:啟動與 /health、管理員登入、CRUD、數字/日期/布林等嚴格型別校驗、CSV 逐行匯入校驗、XLSX 匯出、專案級安全停止、SQLite 備份/恢復與完整性檢查。
2.7.0 起,validate --strict 如果發現 tests_executed 為空、runtime_e2e_verified != true 或 TEST_REPORT 仍為“未執行”,必須失敗。靜態驗收通過不再等同於系統可用。
python scripts/run_skill.py upgrade --project "<舊專案目錄>" --spec "<新system-spec.json>" --output "<升級副本目錄>"
升級流程先生成 UPGRADE_DIFF_REPORT.md 與 upgrade-diff.json,將變化分成:
safe_additive:新增物件、新增欄位,可自動建立升級副本;review_required:標籤、唯一約束、公式、許可權/流程等變化,需要業務複核;breaking:刪除物件、刪除欄位、欄位改型別,預設阻斷自動升級。升級始終生成新副本並保留舊 system-spec.before-upgrade.json;不會直接修改原專案。SQLite 執行時會檢查舊錶結構並非破壞式補齊缺失的新欄位。破壞性變化即使使用 --allow-breaking 也只是允許生成升級副本,不代表遷移風險已經自動消除,仍必須人工遷移演練與重新 E2E。
優先繼承升級。先識別資料庫、遷移、許可權、路由、匯入匯出、啟停、測試和歷史相容,不得無理由推倒重寫。
完善 system-spec.json 後執行:
python scripts/run_skill.py generate --spec <工作目錄>/system-spec.json --output <專案目錄>
generate 會自動物化有證據支撐的業務物件、欄位、CRUD、搜尋、匯入匯出、RBAC、審計和安全公式;審批、正式唯一鍵、複雜統計與無證據規則繼續按待確認項處理。只有明確只要工程底座時才使用 scaffold。
公共工程模式見 references/proven-system-patterns.md;骨架邊界見 references/scaffold-contract.md。
當 system-spec.json.system.deployment_mode = "portable_full" 時,不得只交付扁平原始碼目錄。必須按 references/portable-full-contract.md 生成 V1.5.11 級完整包裝:
01_服務端_完整程式/;02_Windows填寫客戶端/;03_macOS填寫客戶端/;04_業務原始資料參考/、05_電子檔模板/;06_說明與版本記錄/00_當前版本/;繼承現有 V1.5.11 類系統時,優先保留其完整部署結構、資料、遷移、客戶端和執行生命週期,不得降級為簡化原始碼包。
portable_full 額外驗收:
python scripts/validate_portable_full.py <專案目錄> --strict
只有實際帶入並驗證 EXE 或便攜執行時,才能宣稱“免 Python 解壓即用”;只有依賴也可離線獲得時,才能宣稱“首次安裝完全離線”。
能力邊界先說明: 預設生成目標是 Windows 10/11 上的 Python 本地 Web 系統。預設技術棧不是“只能生成 Python”的營銷承諾,而是本技能當前腳手架和驗收體系的實際實現邊界。使用者若要求非 Python、iOS 原生、Android 原生、純前端靜態站或其他技術棧,應先說明需要重新設計生成底座,不能直接聲稱當前技能已經支援。
除非使用者指定其他技術棧,預設:
zh-CNAsia/Shanghai單機預設監聽 127.0.0.1;只有明確要求區域網共享時才監聽內網地址。埠必須可配置。
正常“生成系統”任務至少實現:
稽核鏈不得寫死,可為無稽核、單級、序列多級、並行多稽核人或任意 N 人完成。只有附件有證據時才落定具體規則。
停止指令碼必須只控制本專案例項,禁止:
taskkill /IM python.exetaskkill /F /IM pythonw.exekillall pythonpkill -f python推薦共享專案專屬 PID/狀態檔案、埠和隨機 shutdown token。
資料庫升級前備份;遷移顯式版本化、冪等、失敗可回滾;禁止升級時靜默重算已確認歷史值。
除非使用者明確只要方案/原型/單檔案,正常“生成系統”任務預設交付完整 ZIP。
完整交付契約見:
references/local-deployment-contract.md
交付前按:
references/acceptance-checklist.md
執行驗收。
至少執行:
python scripts/validate_local_bundle.py <專案目錄> --strict
如果是 portable_full,還必須執行:
python scripts/validate_portable_full.py <專案目錄> --strict
如果專案包含 delivery-manifest.json,再執行:
python scripts/validate_delivery.py <專案目錄> --strict
最終打包優先執行:
python scripts/finalize_delivery.py <專案目錄> --output <系統.zip>
只有驗證成功後才能宣稱“完整交付”。
VALUE_REPORT.md 只有收到真實 before_minutes、after_minutes、sample_count 時才允許計算效率變化。不得用演示資料、經驗值或模型估算冒充實測。
Windows EXE 未在 Windows 真機實際構建和執行時,只能表述為“已包含構建原始碼,未完成真機驗證”。靜態檢查不能替代目標電腦驗收。
任何指令碼返回非零狀態時:
references/usage-and-troubleshooting.md,給出使用者可執行的修復動作和恢復點;python scripts/diagnose.py --source <材料> --project <專案> --strict,只提供實際存在的引數;不得把“重新執行全部流程”作為預設修復。優先從診斷報告中的 recommended_resume_point 或最近通過階段繼續。
使用者不需要複製長工程規範。以下短句應進入完整生成流程:
根據這份報表和附件生成對應的完整本地部署業務系統 ZIP。
如果使用者說“做成和這個 V1.5.11 一樣的完整區域網部署包”,自動進入 portable_full,不得要求使用者再寫工程細節。
如果使用者只說“把這個 Excel 做成系統”“根據這些檔案做個本地系統”,也按同樣流程執行;重要規則證據不足時顯式保留待確認項,而不是降低為靜態原型。
| 當前需要 | 讀取 |
|---|---|
| 第一次使用、指令碼單獨用法、錯誤碼、FAQ、常見錯誤 | references/usage-and-troubleshooting.md |
| 全量輸入追溯、格式解析、資料質量 | references/file-mapping-and-data-quality.md |
| 業務型別識別與組合域 | references/business-routing.md |
| 能源、點工、運營記錄的領域邊界 | 對應 references/domain-profile-*.md,只加載命中的業務域 |
| 通用工程模式與骨架邊界 | references/proven-system-patterns.md、references/scaffold-contract.md |
| 本地/區域網交付 | references/local-deployment-contract.md |
portable_full |
references/portable-full-contract.md |
| 安全、離線和國內相容 | references/security-and-domestic-compatibility.md |
| 最終驗收 | references/acceptance-checklist.md |
技能對外描述必須區分“設計支援”“指令碼檢查通過”和“目標機實測通過”,禁止把設計目標寫成已經驗證的事實。
| 宣告 | 允許條件 | 對使用者的表述 |
|---|---|---|
| 設計支援 | SKILL/指令碼/模板已經覆蓋該能力 | “支援生成/包含相關能力” |
| 本地驗收通過 | 對應自動驗收指令碼通過 | “已通過本地驗收” |
| 目標機實測通過 | 在目標 Windows 機器實際啟動、操作、斷網/區域網驗證 | “已在目標機實測通過” |
尤其是“免 Python”“完全離線”“區域網多人”“EXE 解壓即用”“不會資料丟失”等強宣告,必須有對應證據後才能使用。
最終 ZIP 至少應能追溯:輸入資料盤點、業務規格、測試結果、驗收結果、交付狀態和檔案清單。缺少實際測試時,在 TEST_REPORT.md 或交付說明中明確標記“未實測”,不要用“已驗證”“保證”等詞替代。
錯誤資訊必須同時回答:哪裡出錯、為什麼、使用者/執行者現在做什麼、修復後從哪裡繼續。優先使用 PBxxx 錯誤碼和 cause/action/resume_point,不要把 Python traceback 直接作為主要說明。
完整示例與常見問題集中放在 references/usage-and-troubleshooting.md。每次需要示例時優先引用其中的“示例 A/B/C”。示例只用於說明呼叫方式,不得當作業務規則或驗收結果。
這個 Skill 質量很好,上傳 Excel 或表單資料就能自動生成可用的業務系統,不用懂技術。文件寫得清楚,操作流程簡單明瞭,功能覆蓋全面,測試和驗收都很規範。最實用的是它能把資料直接變成能查詢、統計、匯入匯出的系統,還能打包成 ZIP 交付。唯一的不足是版本號在文件裡藏得比較深,不太好找。總體來說,這是一個非常實用的系統生成工具,適合需要快速把紙質表單變成數字化系統的使用者。