尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Интерактивный учебный прототип по математике — статическая версия для GitHub Pages
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗«Вектор» — учебный прототип по математике для 5–6 классов: ИИ-наставник ведёт ребёнка по теме, показывает дроби на картинках и подстраивает маршрут под темп ученика. Статический сайт для GitHub Pages.
python3 -m http.server 8000 в папке проекта и открыть http://localhost:8000. Можно и просто открыть index.html.main, папка / (root). Сайт появится по адресу https://<логин>.github.io/vektor-math-lab/.Сборка не нужна. Прогресс хранится в localStorage браузера.
[[полоска 3/5]], [[круг 3/8]], [[прямая 3/4]], [[сравнить 1/3 1/5]], [[прямоугольник 2/3 3/4]], [[смешанное 2 1/3]].Сайт — статический (Vercel), данные и логика входа — в Supabase. Публичный ключ и адрес базы лежат в config.js.
База. В Supabase → SQL Editor по очереди выполнить supabase/schema.sql, supabase/test.sql, supabase/admin.sql, supabase/teacher.sql, supabase/pulse.sql, supabase/ai.sql, supabase/pilot_report.sql. Расход ИИ в долларах по дням — select * from vk_ai_cost;, дневной бюджет — vk_settings.ai.usd_day (по умолчанию $3). Демо для сцены — docs/demo.md.
Серверная функция наставника — supabase/functions/tutor, секрет OPENROUTER_API_KEY (Edge Functions → Secrets).
Администрирование — в SQL Editor:
| Что | Команда |
|---|---|
| Создать 80 профилей и получить пароли | select * from vk_seed(80, '5А:1-28,5Б:29-56,5В:57-80'); |
| Раздать профили по классам | select vk_assign('5А', 1, 28); |
| Контрольный класс (только тест) | select vk_class_group('5Б', 'control'); |
| Учитель | select vk_teacher('uchitel', 'пароль', 'Имя', '5А,5Б'); (5-й параметр true — видит всех) |
| Новый пароль ученику | select vk_reset('ученик17'); |
| Выключить / включить ИИ, лимиты | select vk_ai_set(false); · select vk_ai_set(true, 30, 3000); |
| Расход ИИ по дням | select * from vk_ai_report; |
| Обезличенная выгрузка | select * from vk_export_events; · select * from vk_export_tests; → Export CSV |
| Стереть данные ученика по заявлению родителя | select vk_wipe_student('ученик17'); |
Кабинет учителя — teacher.html (вход — ссылка на экране входа ученика):
Тест до и после. Две формы по 18 заданий (supabase/test.sql), класс получает форму по жребию, после — другую.
Ответы проверяет база, в браузер правильные ответы не попадают. Формы нужно вычитать методисту до пилота.
С сервером сайт показывает экран входа, а прогресс каждого ученика хранится в базе: можно сесть за любой компьютер. Без сервера (GitHub Pages, файл с диска) всё работает как раньше.
public_html) — через «Файловый менеджер» или FTP. Папка server/ не нужна.api/config.example.php в api/config.local.php и вписать данные базы.php api/tools/seed.php --count=80 --site=https://ваш-домен.ru --classes="5А:1-28,5Б:29-56,5В:57-80"
php api/tools/seed.php --teacher=uchitel --teacher-name="Мария Ивановна" --teacher-classes="5А,5Б,5В"
Команда печатает пароль учителя и кладёт в api/tools/out/ два файла: slips_….html — бумажки (12 на лист A4, открыть в браузере и распечатать) и logins_….csv — список для учителя. Скачайте их и удалите с сервера: в базе пароли хранятся только как хеш.php api/tools/seed.php --reset=ученик17 (прогресс сохранится).Логины — ученик1…ученик80, пароль — слово и 4 цифры (зоолог5679). Регистр и пробелы не важны, на английской раскладке подсказка «Смени язык».
5 ошибок подряд блокируют вход на 5 минут. Кнопка «Выйти» — вверху; на общем компьютере выход сам через 20 минут бездействия.
Без интернета ответы копятся в браузере и уходят, когда связь вернётся.
Без подключения наставник работает по конспекту: ведёт урок по методичке и отвечает на простые вопросы. Чтобы он отвечал на любые вопросы, есть два способа (Настройки → ИИ-наставник):
localStorage этого браузера.
Никогда не коммитьте ключ в репозиторий — сайт на GitHub Pages публичный.cd server
npx wrangler login
npx wrangler secret put OPENROUTER_API_KEY # вставьте ключ OpenRouter
npx wrangler deploy # получите адрес вида https://vektor-tutor.<имя>.workers.dev
В server/wrangler.toml укажите адрес своего сайта в ALLOWED_ORIGINS. Прокси принимает запросы только с него,
пропускает только модели из ALLOWED_MODELS и ограничивает длину ответа. Адрес воркера вставьте в настройках «Вектора».Модель по умолчанию — deepseek/deepseek-v4-flash (на октябрь 2026 ≈ $0.014 / $0.35 за миллион входящих / исходящих токенов,
то есть порядка 10–15 центов на тысячу ответов). Список моделей: https://openrouter.ai/deepseek.
content/fractions.js — методички и генераторы задач (уровни 1–3).content/check.js — проверка ответов: дроби, смешанные числа, знаки сравнения.content/visuals.js — рисунки дробей, теги картинок для наставника, лаборатория.content/adaptive.js — модель ученика: темп, уровень задач, норма тренировки.content/tutor.js — ИИ-наставник: промпт по методичке, OpenRouter со стримингом, офлайн-режим.content/game.js — звёзды, звания, цель дня, серия дней, достижения.app.js — экраны и прогресс; style.css, skins.css — оформление.server/ — прокси для Cloudflare Workers.tests/ — автотесты (см. ниже).| Ключ | Что хранит |
|---|---|
vektor-progress-v3 | progress — % по каждой теме; meta[темa] — тренировка, уровень задач, ошибки, подсказки, время, даты повторения, проваленные проверки; attempts — последние 60 попыток (для расчёта темпа); diag — диагностика; settings — имя и стиль объяснений; days — дни занятий |
vektor-ai | режим наставника (off / key / proxy), ключ OpenRouter или адрес прокси, модель |
vektor-progress-v3 → game | звёзды, полученные достижения, цель дня и задачи за сегодня, серия дней, счётчики для достижений |
vektor-skin | выбранный стиль оформления |
Переписка с наставником в браузере не сохраняется — живёт до перезагрузки страницы.
Урок с наставником ──► Тренировка ──► Проверка (4 задачи, зачёт от 3) ──► Повторение через 1, 3, 7 дней
▲ │ ошибка → подсказка / наставник
│ │ 2 чистых быстрых решения → задачи сложнее
│ │ 2 ошибки подряд → задачи проще
└── проверка не сдана дважды → сначала повторить базовую тему
node tests/generators.test.js # 27 000 задач: свой ответ принимается, ошибки распознаются
node tests/tutor.test.js # отрисовка ответов, теги картинок, промпт, темп
node tests/worker.test.mjs # прокси: белые списки, лимиты, CORS
node tests/game.test.js # звёзды, цель дня, серия, достижения
python tests/e2e_scenarios.py # 61 сценарий в браузере (нужен playwright), OpenRouter подменён
python tests/server_scenarios.py # PHP-вариант: вход, прогресс на сервере, работа без сети (нужен php с pdo_sqlite)
python tests/supabase_scenarios.py # Supabase-вариант: 45 сценариев — вход, тест до/после, кабинет, ИИ через сервер (нужны Postgres и bun)
Добавьте объект в массив topics в content/fractions.js (или новый файл раздела) с полями
id, title, goal, requires, explain, mistakes, generate(lv) и запустите тесты. Наставник автоматически возьмёт методичку темы в свой промпт.