TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Driving lesson notes app for iPhone: dictate, tidy with Claude or ChatGPT, keep every student's notes on your phone.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
A home-screen app for driving instructors at Key Skills Driving School. Talk through what happened in a lesson and get a professional lesson breakdown (a bare "Covered today" list, then a personal message in the instructor's voice about how it went, then "Focus for next lesson", with no title or date line) that's one tap to copy and send.查看完整 README ↗A home-screen app for driving instructors at Key Skills Driving School (called KSDS Lesson Breakdown until v3.12): lesson breakdowns, the review card, practice routes and test routes. Talk through what happened in a lesson and get a professional lesson breakdown (a bare "Covered today" list, then a personal message in the instructor's voice about how it went, then "Focus for next lesson", with no title or date line) that's one tap to copy and send.
claude-opus-5 with adaptive thinking at low effort and server-side fallbacks, dropping either if the chosen model rejects them. Without a key, it copies a ready-made prompt to paste into the ChatGPT or Claude app.worker/)A Cloudflare Worker (ksds-lessons) plus a D1 database holds the school's Gemini key and the list of approved phones, so staff never need a key. It also fetches practice routes for approved phones, with the school's OpenRouteService key (only coordinates are sent), and keeps the school's test routes (test_routes table): approved phones list them, admins add and delete them, and GET /shared/<id> returns one to anyone holding its random 12-character link. Each keeps its turn-by-turn list for Drive mode, checked with cleanGuide from docs/drive.js (the server imports it, so that file must not touch the page when it loads). Each phone makes up an id and secret token; the server keeps only a hash. The first phone to tap Become the admin claims the school and becomes its one master admin; after that only admins can approve, remove or promote phones, or change the school key (which is never sent back to a phone). The master admin can't be removed or demoted by anyone, and only they can pass the role on (Make master admin on the Phones screen, behind a tick box and a confirmation). Wipe App is refused on the master admin's phone until the role has been passed on. The server builds the prompt itself (it imports docs/ai.js), only answers the app's own origin, allows 200 breakdowns per phone per day, and keeps no lesson text or logs.
Notifications use Web Push (@block65/webcrypto-web-push): the VAPID public key is in wrangler.toml and docs/app.js, the private key is the VAPID_PRIVATE_KEY secret. Deploy with npx wrangler deploy from worker/. For local testing, wrangler dev on port 8787 (the app switches to it automatically on localhost) needs http://localhost:8787 temporarily added to the connect-src list in docs/index.html.
Opening the link on a phone shows a walkthrough until the app is installed. iPhone: Share → Add to Home Screen (Apple offers no shorter route), shown as a looping animation of the three taps plus a browser-specific hint about where Share lives. Android: an Install button that triggers the browser's own install prompt, with menu instructions as the fallback for browsers that don't offer one. Use the installed app on iPhone, not the Safari tab: iOS keeps their storage separate. On Android the two share storage.
Plain HTML/CSS/JS with no build step. The site lives in docs/.
On every release, bump VERSION in docs/app.js and CACHE in docs/sw.js together, or installed phones keep the old files.
docs/vendor/qrcode.js is qrcode-generator 2.0.4 (MIT).
docs/vendor/maplibre/ is MapLibre GL JS 6.14.0 (BSD-3-Clause, license file alongside).
The Routes tab never asks a map server for spots. They're prepared ahead of time from OpenStreetMap (© OpenStreetMap contributors, ODbL) for the school's area, Phoenix and Tempe down to Sun Lakes and over to Queen Creek:
python -I tools/route-spots/fetch.py # downloads the area from the Overpass API (slow; skips cells it already has)
python -I tools/route-spots/build.py # writes docs/route-spots/*.json
Then release as usual. Drive mode (docs/drive.js, map helpers in docs/geo.js) needs no outside service beyond the map tiles: GPS and the voice (speechSynthesis) are the phone's own. Road routes come from OpenRouteService through the school
server, which keeps the key as the ORS_KEY secret (npx wrangler secret put ORS_KEY from worker/). The free key
allows 200 route requests a day for the whole school; one build uses up to 4. Map tiles are
OpenFreeMap's free "dark" style.