更新v2版本适配skill

This commit is contained in:
ljz committed 2026-09-18 01:40:58 +08:00
1 parent 7611f13208
commit 2f3f7d00ec
58 files changed
+180419 -526

No files matched your search

+22 -24
View File
@@ -1,40 +1,38 @@
---
name: system-simulation
description: 读取、校验并简要解释 SystemSimulationApp 工程 JSON v1 或 System XML v3,安全规范化文件文本,并在用户选定结果曲线后启动、监视或取消仿真及导出 CSV。适用于检查模型文件、修复编码或换行、运行仿真和获取结果;不用于旧格式迁移、任意语义修复、自动迭代或网页自动预装。
description: 根据描述在 SystemSimulationApp 中搭建系统、配置参数,生成和校验工程 JSON v2,并通过网页导入或界面操作验收;也支持检查已有 JSON v1/v2、System XML v3,运行和监视仿真、导出曲线与 CSV。
---
# 系统仿真
# 系统仿真建模与文件助手
使用本 Skill 随附的确定性脚本检查模型、调用现有后端并保存结果;不要让语言模型自行重写模型或猜测求解数据。
把用户描述转成可编辑、可校验的工程。组件、参数、版本和物理合同取自当前仓库/服务;用随附脚本执行确定性生成和校验。自然语言解释由智能体完成,脚本接收明确的建模清单,不自行推测系统。
## 基本边界
## 选择路径
- 仅处理 ReactFlow 工程 JSON v1 和 System XML v3。版本缺失、不受支持或模型版本不匹配时,说明问题并停止,不进行迁移猜测。
- 组件参数是仿真前设定的固定输入;结果变量才是可随时间绘制的量。不要把“参数”当成结果曲线。
- 文件通过格式校验不等于物理系统一定可求解。不要隐瞒编译或运行阶段的诊断。
- 不直接覆盖源文件,不自行修改参数、连接、组件类型、模型版本或求解设置。
- 本版不支持把模型自动注入网页、生成可直接打开的预装页面、任意损坏文件修复、模型迁移或自动调参迭代。明确告知用户这些能力尚未实现,不要用手工网页操作冒充支持。
- **描述生成工程、修改拓扑或参数**:读 [建模与验收](references/modeling.md) 和 [文件合同](references/file-contracts.md)。默认生成 JSON v2,再导入网页检查、导出 XML、进行短时仿真和导出回读核对。用户只要求文件时交付文件及实际完成的校验,不擅自扩成完整时长仿真。
- **明确要求在界面模拟操作搭建**:另读 [网页操作](references/browser-workflow.md),通过可用浏览器工具完成添加、连接、参数设置和导出;先读工具操作说明。不要将写文件或调用 API 描述成界面操作。
- **检查已有文件、运行和导出结果**:读 [文件合同](references/file-contracts.md) 和 [运行工作流](references/workflows.md)。
- **仅修复编码、BOM、换行**:读 [文本规范化](references/repair-policy.md)。其限制只适用于 repair-format,不限制用户已授权的建模/参数修改。
处理文件、解释格式或选择结果变量时,读取 [references/file-contracts.md](references/file-contracts.md)。请求文件修复时,再读取 [references/repair-policy.md](references/repair-policy.md)。需要运行、监视、取消仿真或交付结果时,读取 [references/workflows.md](references/workflows.md)。
## 核心约束
## 工作原则
1. 新工程写 projectSchemaVersion: 2;兼容读取 v1,XML 执行格式为 v3。禁止只改 v1 版本号来迁移。v2 数值和表达式均按所选单位解释,由平台转为 SI。
2. 从当前目录选型号,明确实例 ID、真实端口、参数值/单位、介质和边界条件。对影响物理意义的歧义或缺失输入提问;布局可自行决定。使用目录默认值时披露,不能声称为用户给定值。
3. 用户要求创建、配置或修改工程即授权相应工作,无须为每个组件、参数或可逆步骤重复确认。保留已有源文件,默认另存;修改只限所请求范围。不得为了“跑通”擅改物理系统、放宽求解条件或删除失败组件。
4. 新节点使用目录当前版本。已有工程版本不同/缺失时,现行适配层会警告并按当前模型处理,XML/数值内核仍精确检查版本。报告警告,不擅自声称物理语义等价。
5. 区分编辑器结构、活动端口连通、XML 语义、网络编译、浏览器实际导入、数值运行及工程回读。某一层通过不能代替后续层;网络编译不代表 C 编译或积分通过。
6. 参数是固定输入;结果曲线使用真实结果变量 key。尊重用户已给定的曲线与展示方式,只有必要歧义才追问。
7. 依据诊断纠正生成/操作错误后重跑受影响检查。遇到关键输入不足、缺失模型或不可用工具时说明具体缺口,交付已完成结果;不要无限改参数重试或伪造验收通过。
1. 先用 `inspect` 确认输入格式、版本、结构和诊断,再基于检查结果简要解释组件、连接与仿真设置。
2. 如果用户要求修复,只能执行文本规范化。先展示预览和源文件 SHA-256,获得针对该预览的明确确认后,才可写入另一个输出路径;随后重新 `inspect`。
3. 仿真前必须让用户选择直接曲线查看方式,并解析具体结果变量:
- 分别查看所选变量;
- 将多个同单位、可比较的变量叠加;
- 将不同物理量或单位的变量上下排列。
4. 用户用显示名称描述组件或变量时,利用检查结果中的稳定 ID、结果 `key`、物理量和单位消歧。存在重名、多个候选或“参数/结果变量”含义不清时,先询问,不能替用户猜。
5. 使用 `simulate` 的事件流持续判断 queued、validating、compiling、integrating 和结束状态。仿真时间暂时不变但内部活动仍增长时,只说明正在处理慢步,不能宣称卡死。
6. 成功运行后交付用户选择的 SVG 曲线和完整 `results.csv`,并简要说明完成状态、实际仿真终点和重要诊断。失败或取消时交付能够安全生成的部分结果;若运行前即失败而没有 CSV,要明确说明原因。
## 执行入口
脚本命令统一从仓库根目录运行:
在仓库根目录运行。Windows 优先 .venv-win\Scripts\python.exe -X utf8,否则 py -3.12 -X utf8;Linux 优先 .venv/bin/python,否则 python3.12。
```powershell
py -3.12 skills/system-simulation/scripts/simulation_skill.py --help
.\.venv-win\Scripts\python.exe -X utf8 skills/system-simulation/scripts/project_builder.py --help
.\.venv-win\Scripts\python.exe -X utf8 skills/system-simulation/scripts/simulation_skill.py --help
```
Windows 优先使用仓库 `.venv-win\Scripts\python.exe`(若存在),否则使用 `py -3.12`;Linux 优先使用 `.venv/bin/python`,否则使用 `python3.12`。不要调用未经版本确认的 `python`,本项目要求 Python 3.12。
project_builder.py 复用本仓库 Python 依赖、注册表、参数适配及编译器,无需启动服务。simulation_skill.py 调用 loopback 后端,默认 http://127.0.0.1:8000。开发网页通常为 http://127.0.0.1:5173,以实际状态为准。按需参考仓库 README.md 与 docs/standard/platform-dependencies.md;后台启动使用隐藏窗口,不重启用户正在使用的服务来掩盖版本不一致。
优先依赖脚本返回的结构化 JSON/JSONL、稳定错误码和退出码做判断,不解析中文提示文本来驱动下一步。
交付工程文件链接、采用的默认值/待确认输入、各层检查结果和未完成原因。运行过仿真时附实际终点、曲线及完整 CSV;部分结果明确标注。浏览器或原生工具链不可用时,不能把静态校验称为完整验收。