BikeControl (SwiftControl)
使用 Zwift Click、Zwift Play、Shimano Di2 或任何藍牙控制器,搭配 MyWhoosh、Rouvy、Zwift 等。iOS、Android、Windows、macOS 均可免費試用。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Free, open-source AI running coaching for school teams, plus Kestrel Lab for open running models.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Free, open-source AI running coaching for school teams. Live at https://kestrel.jakecapmeil.workers.dev.
Running apps charge for adaptive training plans and AI coaching. Kestrel makes those open: the coach, the plans, the race models and the code. It keeps a whole team on one calendar, and it lets anyone publish running models for everyone else to use.
For an athlete
For a team
Kestrel Lab (/lab): the model side.
/api/v1/predict) with personal API keys./legal.| Part | What |
|---|---|
src/index.js | Cloudflare Worker: the API and the rules above. |
src/train/ | The training engine from Kestrel Calendar: plans, coach, log, fitness, workouts, watch sync, plan push, calculators. |
docs/model-research.md | Which models are on Kestrel, which to add next, and how purposes and courses work. |
src/models.js | Kestrel Lab's model engine (purposes, courses, one evaluator per model kind, plus upload validation) and the adapters the fitness engine calls. |
public/index.html | The app (the Kestrel views). public/kestrel.js adds sign-in, teams, the AI choice and settings; public/kestrel.css is the design. |
src/train/courses.js | Courses and course PRs. 48 built-in courses (each checked against a published source, with GPS start bounds so a run is matched to its course); courses people add live in the courses table, are shared, and are chosen by hand on the run. |
public/records.js | You → Records (PRs that update themselves, the courses you follow), the course picker, and a run's route (flat, elevation, and 3D terrain through MapLibre with OpenStreetMap and AWS terrain tiles). |
public/lab/ | Kestrel Lab. |
migrations/ | Cloudflare D1 (SQLite) schema. |
models/ | The built-in open-weight models and their cards. |
scripts/ | check-models.mjs (the engine matches the original KestrelPredict code and rejects bad files) and auth-stub.mjs (a local stand-in for Supabase sign-in). |
wrangler.jsonc (SUPABASE_URL, SUPABASE_KEY).npm install
npx wrangler d1 create kestrel_db # put the id in wrangler.jsonc
npm run migrate:remote
openssl rand -hex 32 | npx wrangler secret put KESTREL_SECRET # encrypts watch keys
npx wrangler secret put GEMINI_API_KEY # optional: the free default AI (aistudio.google.com)
# optional free fallbacks, tried in this order when Gemini is busy, before Workers AI:
npx wrangler secret put GROQ_API_KEY # console.groq.com
npx wrangler secret put CEREBRAS_API_KEY # cloud.cerebras.ai
npx wrangler secret put OPENROUTER_API_KEY # openrouter.ai (its ":free" models)
npm run deploy
To develop locally without Supabase:
npm run auth-stub and npm run migrate:local.npx wrangler dev --port 8788 --var SUPABASE_URL:http://localhost:8799 --var SUPABASE_KEY:stub.password.Kestrel started as a calendar for the Hunter Kestrel running team, so everyone could say whether they were coming to practice, and grew feature by feature into a training platform for any team. It is an entry in the 2026 Congressional App Challenge. The libraries, services and datasets it builds on are in THIRD_PARTY.md.
public/vendor/body-muscles/).Kestrel grew out of Kestrel Calendar, a team calendar and coaching app built for one high school cross-country team. The KestrelPredict research (datasets, experiments, training scripts) is in that repository, under research/hawkspredict.