尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證food lab
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗PWA для оцінки калорійності страви по фото. Ти фотографуєш тарілку і вводиш вагу порції, а застосунок показує інгредієнти, їхні частки, ккал, КБЖВ, «на що впливає» й факти. Також є історія розборів і денна ціль.
api/analyze.js. Ключ зберігається лише на сервері.index.html розмітка
privacy.html політика конфіденційності (uk/en)
feedback.js модуль відгуків: «точно / неточно» під розбором і повідомлення розробнику
admin.html дашборд тестування (тільки для ADMIN_EMAILS)
app.css стилі (світла й темна тема)
i18n.js переклади інтерфейсу (uk, en) і приклад розбору
app.js логіка: камера, аналіз, історія, ціль, налаштування, встановлення
sw.js service worker (оболонка застосунку працює офлайн)
manifest.webmanifest маніфест PWA
icons/ іконки
api/analyze.js серверна функція Vercel → Claude API (перевірка входу, денний ліміт)
api/account.js видалення акаунта разом з усіма даними
api/nutrients.js калорійність інгредієнта, доданого під час редагування (швидка модель, не з'їдає ліміт)
api/_sb.js спільні функції для роботи з Supabase
api/stats.js дані для дашборда
supabase/feedback.sql таблиці відгуків; supabase/feedback_rollback.sql прибирає їх
supabase/schema.sql таблиці, правила доступу, ліміт, сховище мініатюр
vercel.json заголовки
Варіант A, без командного рядка:
kaloriya, Private, «Create».kaloriya (а не саму папку) разом із підпапками api та icons. Потім натисни «Commit changes».Варіант B: підключи GitHub до Claude (Settings → Connectors). Тоді Claude сам викладатиме оновлення в репозиторій.
kaloriya вибери «Import».ANTHROPIC_API_KEY — ключ з кроку 1ACCESS_CODE — будь-яке слово, яке ти даватимеш тестувальникам (необов'язково, але дуже раджу: без нього будь-хто з посиланням витрачатиме твій баланс)kaloriya-xxxx.vercel.app.Змінив ключ чи код? Project → Settings → Environment Variables, потім Deployments → «Redeploy».
Вхід без пароля: email і код з листа. Історія, мініатюри фото, ціль і мова зберігаються в акаунті. Те, що до входу лежало на телефоні, переноситься в акаунт під час першого входу.
Налаштування:
supabase/schema.sql → Run.{{ .Token }} (код), а не посилання.SUPABASE_URL, SUPABASE_SECRET_KEY, за бажанням DAILY_LIMIT (за замовчуванням 15).app.js (об'єкт SB). Вони публічні, дані захищають правила доступу в базі.Поки SUPABASE_URL і SUPABASE_SECRET_KEY не задані, застосунок працює без входу, як раніше.
Під кожним розбором є кнопки «Точно / Неточно» (для «неточно» можна дописати, що не так), а в налаштуваннях форма «Написати розробнику». Модуль окремий: feedback.js + таблиці з supabase/feedback.sql.
Як вимкнути:
FEEDBACK = off → Redeploy. Кнопки й форма зникнуть, решта працює як раніше. Увімкнути назад: видалити змінну або поставити on.feedback.js і рядок <script src="/feedback.js"> в index.html (або git revert коміту з відгуками), потім запустити supabase/feedback_rollback.sql./admin.html — активні користувачі й аналізи по днях, утримання, точність, неточні розбори з коментарями, повідомлення, список тестувальників.
Доступ: додай у Vercel ADMIN_EMAILS (через кому) зі своїм email, увійди в застосунок цим email на тому ж пристрої й відкрий /admin.html.
Мова визначається з налаштувань телефона, а в «Налаштуваннях» її можна змінити вручну. Модель відповідає тією ж мовою (параметр lang у запиті до /api/analyze).
Щоб додати мову: у i18n.js скопіюй блок en, переклади значення й додай код мови в LANGS. Потім додай промпт цією мовою в PROMPTS у api/analyze.js.
Посилання на банку Monobank і Ko-fi задаються на початку app.js в об'єкті DONATE. Порожній рядок ховає кнопку. Кнопки є в «Налаштуваннях», а після 10-го аналізу застосунок раз на місяць ненав'язливо нагадує про підтримку.
CLAUDE_MODEL (необов'язково) — модель для аналізу фото, за замовчуванням claude-sonnet-5-5.CLAUDE_FAST_MODEL (необов'язково) — модель для калорійності доданих інгредієнтів, за замовчуванням claude-haiku-5-5.api/analyze.js, константа RATE).