这是一个供水仿真工具。
这是一个基于 Flask + Vue 的 EPANET Web 工作台,用于上传、查看、编辑、分析和导出 .inp 管网模型文件。
当前版本重点覆盖以下能力:
- 稳定的文件上传、示例加载和重新分析流程
- Browser / Map / Property / Report 多面板联动
- 对象创建、属性编辑和结果查看入口
- 结果快照、图表、报表和回放交互
- 中英文界面切换
- 无头浏览器自动回归验证
- 后端:Flask
- 前端:Vue 3 + Vite
- 结果处理:EPANET 相关解析与计算逻辑
- 自动化验证:Playwright(headless)
- 创建并激活 Python 虚拟环境
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt- 安装前端依赖
npm install- 构建前端资源
npm run build- 启动 Flask
export FLASK_APP=web_epanet.py
flask run --port 5000- 打开工作台
- 主入口:http://127.0.0.1:5000/upload
- Net1 示例:http://127.0.0.1:5000/upload?demo=net1
- Sample 示例:http://127.0.0.1:5000/upload?demo=sample
npm run build
./venv/bin/python -m py_compile app/routes.py app/lib/EPANETFunctions9.py
node scripts/validate_workbench_targeted.mjs 'http://127.0.0.1:5000/upload?demo=net1'
node scripts/validate_workbench_sample_targeted.mjs 'http://127.0.0.1:5000/upload?demo=sample'app/: Flask 应用、接口、模板和静态资源frontend/: Vue 工作台源码scripts/: 构建与无头验证脚本original/: 原始参考材料uploads/: 运行时上传文件目录(默认不纳入版本控制)
本项目采用 MIT License,详见 LICENSE。
- 贡献指南:CONTRIBUTING.md
- 行为准则:CODE_OF_CONDUCT.md
- 安全报告:SECURITY.md
- 路线图:docs/ROADMAP.md
- 架构说明:docs/ARCHITECTURE.md
- MCP 规划:docs/MCP_PLAN.md
- MCP 规划文档:docs/MCP_PLAN.md
- Repo-local skill:
ai/skills/open-supply-workbench - Repo-local skill:
ai/skills/open-supply-validation
这些 skills 当前保存在仓库内,适合与项目一起版本化。如果需要让 Codex 自动发现,可以再复制或软链接到 $CODEX_HOME/skills。
本仓库在原始 Web-EPANET 基础上继续演进,当前目标是向桌面版 EPANET 的手工工作流能力靠拢。
This is a water supply simulation tool.
This repository contains a Flask + Vue EPANET web workbench for uploading, inspecting, editing, analysing, and exporting .inp network models.
The current workbench focuses on:
- Stable file upload, demo loading, and rerun flows
- Tight Browser / Map / Property / Report synchronization
- Object creation, property editing, and results entry points
- Snapshot playback, chart, and report interactions
- Built-in Chinese / English language switching
- Headless browser regression coverage
- Backend: Flask
- Frontend: Vue 3 + Vite
- Simulation/report handling: EPANET-related parsing and computation logic
- Regression tooling: Playwright in headless mode
- Create and activate a Python virtual environment
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt- Install frontend dependencies
npm install- Build frontend assets
npm run build- Start Flask
export FLASK_APP=web_epanet.py
flask run --port 5000- Open the workbench
- Main entry: http://127.0.0.1:5000/upload
- Net1 demo: http://127.0.0.1:5000/upload?demo=net1
- Sample demo: http://127.0.0.1:5000/upload?demo=sample
npm run build
./venv/bin/python -m py_compile app/routes.py app/lib/EPANETFunctions9.py
node scripts/validate_workbench_targeted.mjs 'http://127.0.0.1:5000/upload?demo=net1'
node scripts/validate_workbench_sample_targeted.mjs 'http://127.0.0.1:5000/upload?demo=sample'app/: Flask app, routes, templates, and static assetsfrontend/: Vue workbench sourcescripts/: build and headless validation scriptsoriginal/: original reference materialsuploads/: runtime upload directory (ignored by git)
This project is distributed under the MIT License. See LICENSE.
- Contribution guide: CONTRIBUTING.md
- Code of conduct: CODE_OF_CONDUCT.md
- Security policy: SECURITY.md
- Roadmap: docs/ROADMAP.md
- Architecture: docs/ARCHITECTURE.md
- MCP plan: docs/MCP_PLAN.md
- MCP plan: docs/MCP_PLAN.md
- Repo-local skill:
ai/skills/open-supply-workbench - Repo-local skill:
ai/skills/open-supply-validation
These skills live inside the repository so they can be versioned with the tool. If auto-discovery is needed, copy or symlink them into $CODEX_HOME/skills.
The repository builds on the original Web-EPANET work and is being extended toward stronger parity with desktop EPANET manual workflows.





