ai-startup-skills
创业公司做 AI 产品的 7 步 Agent Skill 合集:验证 → BP → 政策 → 路演 → 获客 → 定价 → 注册。
Translation pending
A free, local-first suite of Ekahau workflow tools: cloud and file organisation, wall remapping, AP labelling, floor-plan trimming, scale conversion and installer-facing reports.
Translation pending
OtherPython · JavaScriptGitHub @WeirDaveOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
A suite of Ekahau workflow tools
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
A suite of Ekahau workflow tools.
Eight focused utilities for organizing projects, managing Ekahau Cloud, editing walls,
converting scale, building installer-ready reports, trimming floor plans, and labeling access points.
• What WD Wireless Tools Does
• Eight Tools, One Workflow
• Quick Start
• Privacy and Local-First Design
• First Run
• Troubleshooting
• Project Structure
• Help and SupportRead the full README ↗A suite of Ekahau workflow tools.
Eight focused utilities for organizing projects, managing Ekahau Cloud, editing walls, converting scale, building installer-ready reports, trimming floor plans, and labeling access points.
Read the User Guide · Download the Full Suite · Report an Issue
WD Wireless Tools removes the repetitive work around an Ekahau project. It gives wireless engineers a fast local workspace for cloud and file organization, wall remapping, scale conversion, and field-ready reporting—without turning those jobs into another subscription or another place to upload client data.
The suite runs from a tiny local Flask server and opens in your normal browser. Every tool runs on your own machine.
The important distinction: the interface is browser-based, but nothing leaves your machine. Files are read and written locally; Cloud Manager contacts Ekahau Cloud only when you direct it to operate on your own tenant.
Compare Ekahau Cloud projects with local .esx files, find duplicates, and manage project movement from a single table view.
Cloud Manager's EkahauAPI client implements the reverse-engineered upload/download flows required to reproduce the web application's presigned upload and client-side .esx assembly behavior.
Open an .esx, visually remap every wall type, apply reusable templates, and save the updated project.
.esx parsing with JSZip[1]–[9] keyboard shortcutsTurn loose project files into a predictable folder structure after reviewing the proposed result.
.esx discovery and project classificationConvert architectural measurements between feet-and-inches, decimal feet, inches, meters, and millimeters.
4' 6-1/2", 4' 6 1/2", and 1/2"Transform an .esx project into print-ready, installer-facing documents. Nine report formats are available today:
.esx files comparedEvery report's review step also has AP schedule (CSV): one row per access point with each band's channel, width and transmit power, mount, height, aim, grid reference and notes, ready for Excel or a controller provisioning sheet.
Every report supports its own options and print-optimized renderer through the shared report registry.
Crop the empty canvas off a CAD-imported floor plan and rebase every object's coordinates to match.
.esx ready for design workSee your access points on the floor plan, pick a spatial ordering, set a naming pattern, and download a labeled .esx.
Read the device mix out of a project you have already set up in Ekahau, and apply those ratios to the next building.
.esxGet a freshly imported project ready to draw in, in one pass over the file instead of three.
<name> (prepared).esx and Prep offers to show you the folder, because the next thing you do is open it in EkahauAll eight tools are part of the desktop suite. Quick Walls, Scale and Report used to run as a browser demo on the project page; they are desktop-only now too, so every tool behaves the same way and every setting is saved in one place rather than depending on which browser you opened. The project page has a quick start.
Install Python 3.10 or newer first. On Windows, enable Add Python to PATH during installation.
Then run one command. It installs the suite, or updates it if it is already there.
Windows (PowerShell):
irm https://raw.githubusercontent.com/WeirDave/WD-Wireless-Tools/main/install.ps1 | iex
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/WeirDave/WD-Wireless-Tools/main/install.sh | bash
On a fresh install it asks which method you want:
| Method | What it means |
|---|---|
| Git | The folder is a tracked checkout. Updates take seconds because only what changed is downloaded. If git isn't installed, the installer offers to install it first with winget — usually under a minute. |
| ZIP | No dependencies. Each update re-downloads the whole app and verifies its SHA-256. |
Pick either — you can switch later from Menu → About without reinstalling. Skip the prompt with -Method git or -Method zip (--method on macOS/Linux). Either way the installer adds missing Python packages and offers to launch the suite.
WD-Wireless-Tools-vX.X.X.zip asset—not GitHub's automatic “Source code” archive.Start WD Wireless Tools.bat on Windows or Start WD Wireless Tools.command on macOS.The launcher installs missing dependencies, starts the local service, and opens http://localhost:8675. Keep its terminal window open while using the suite.
For detailed, task-by-task instructions, see the WD Wireless Tools User Guide.
Open Menu → About and click Update now. The suite detects how it was installed and uses the right mechanism—a git pull for a cloned install, a verified ZIP download otherwise—then offers to restart into the new version. Progress is printed in the launcher terminal as it happens.
Wall templates, settings, and your saved Cloud session live in ~/.wd_wireless_tools/, outside the application folder, so an update never touches them.
Re-running the install command above does the same thing from a terminal, which is useful on a machine where the suite will not start.
pip install -r requirements.txt
python server.py
The startup banner identifies the installed suite version:
WIRELESS TOOLS v2.238.0
A suite of Ekahau workflow tools.
Open http://localhost:8675/ in your browser to get started.
Press CTRL+C in this window to stop the server.
.esx archives locally in your browser with JSZip.No hosted WD Wireless Tools service receives your survey files. As with any production workflow, keep backups and review previews before bulk file or Cloud operations.
Sign into Ekahau Cloud in a normal Chrome, Edge, or Firefox window, then choose the parent folder containing your local Ekahau projects. Safari, Private, and Incognito sessions are not supported for session discovery. Your selections are remembered locally.
No setup is required. Drop an .esx into Quick Walls or Report, or type a measurement in Scale.
Choose a folder containing loose project files. Squirrel shows the proposed organization before moving anything.
templates/~/.wd_wireless_tools/Install Python 3.10 or newer and enable Add Python to PATH on Windows. Reopen the terminal afterward.
Start WD Wireless Tools.commandRight-click Start WD Wireless Tools.command, choose Open, then confirm Open. This is normally required only once.
Confirm that you are signed into https://www.ekahau.cloud in a normal Chrome, Edge, or Firefox window. Close and reopen the browser if its cookie database is locked.
Close the other running instance, or choose another port:
set PORT=8676 && "Start WD Wireless Tools.bat"
PORT=8676 bash "Start WD Wireless Tools.command"
Open http://localhost:8675 manually while the launcher terminal remains open.
WD-Wireless-Tools/
├── server.py # Local Flask/Waitress service and API routes
├── Start WD Wireless Tools.bat # Windows launcher
├── Start WD Wireless Tools.command # macOS launcher
├── requirements.txt # Python dependencies
├── BACKLOG.md # Unfinished product work only
├── tools/
│ ├── cloud_manager.py # Cloud client and reverse-engineered upload/download flows
│ ├── template_store.py # Wall-template persistence
│ ├── folder_organizer.py # Squirrel scanning and organization
│ ├── rename_manager.py # Bulk rename operations
│ └── settings.py # Suite-wide settings and migration
├── web/ # Application source and the public project page
│ ├── assets/
│ │ ├── versions.json # Suite and component versions
│ │ ├── lib/ # Vendored browser libraries
│ │ └── js/
│ │ ├── wd-shared.js # Shared UI utilities
│ │ ├── walls-swap.js # Wall-remapping workflow
│ │ └── ... # Tool-specific application code
│ └── pages/ # GitHub Pages landing/stub templates
├── templates/ # Bundled wall-type templates
├── docs/
│ └── USER_MANUAL.md # Complete user documentation
├── scripts/
│ ├── build_release.py # Allowlisted release ZIP builder
│ └── make_test_projects.py # Fictional ESX fixture generator
├── tests/ # Python, server, asset, and JavaScript safety tests
└── .github/workflows/ # Tests, releases, and Pages deployment
The local .claude/ directory is development-tool configuration, not application code. It is intentionally excluded because it may contain machine-specific paths and permissions.
.esx files, credentials, session data, or other confidential material to a public issue.Contributions are welcome when they keep the tools focused, understandable, and safe for real wireless work.
Released under the MIT License. © R David Paine III.
Built for wireless engineers, by a wireless engineer.
Made with signal strength and caffeine by WeirDave.