尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Urban RAG walking assistant for Astana with OpenStreetMap data and time-budget validation. Team hackathon prototype.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Aidem подсказывает, куда сходить в Астане, когда у вас есть немного времени. Скажите «час, кофе и парк», и Aidem найдёт место рядом, объяснит, почему именно оно, и посчитает, когда вы вернётесь. Работает в браузере телефона, на часах и через Siri. Ставить ничего не нужно, регистрироваться тоже.
Команда Ascension · Build with AI Hackathon 2026, GDG Astana · кейс НИЦ Smart City «ИИ-помощник по прогулкам в городе Астана». Aidem (ранее SmartWalk): прежнее имя осталось в адресе сайта и репозитория.
Финалистам разрешили доработать решения до питча. Сданная 20 октября версия сохранена тегом submitted-2026-10-20; всё ниже добавлено после отбора.
| Что | Ссылка | |
|---|---|---|
| 🌐 | Работающее демо, телефон или компьютер | ascension-smartwalk.azamatbreach.workers.dev |
| 🎬 | Видео, 3:41 | смотреть на YouTube · скачать MP4 |
| 📊 | Презентация, 14 слайдов на 6 минут | PDF · живая версия с анимацией |
| 🧪 | Тестовые сценарии и ограничения | PDF · протокол 15 сценариев |
| 💡 | Концепция, аудитория, бизнес-идея, риски, план | docs/concept.md |
| 🔒 | Этика и приватность | docs/ethics.md |
| 🧭 | Как работает RAG | docs/how-it-works.md |
| ⌚ | Часы и Siri | /watch · docs/watch.md |
У студента между парами 45 минут. У туриста два часа до вылета. У мамы с ребёнком час, пока не стемнело. Карты показывают сотни мест, но не отвечают на главный вопрос: успею ли я сходить и вернуться?
Aidem начинает именно со времени. Каждая карточка уже посчитана целиком: дорога туда, время на месте, дорога обратно и запас, который вы выбрали сами. Если времени хватает, Aidem предлагает мини-маршрут из трёх мест подряд. А во время прогулки кольцо на экране показывает, сколько осталось до возвращения, и вовремя напоминает «пора обратно».
Все места взяты из открытых данных, которые мы собрали скриптами: 2058 мест Астаны из OpenStreetMap и Overture Maps. Объяснение пишет Gemini, но только по найденным фактам. Чего источник не знает, Aidem так и говорит.
Запросы из задания тоже работают:
Подбор ровно на ваше время. От одного до трёх вариантов, и каждый помещается в выбранные минуты вместе с дорогой обратно. Запас 5, 10 или 15 минут вы выбираете сами. Часы работы проверяются на всё время визита, а не только на момент выхода. В дождь, снег, мороз или сильный ветер обычный запрос подбирает места под крышей.
Понимает, кто вы и с кем. «С ребёнком» подбирает площадки, семейные места и музеи. «Турист» ставит вперёд достопримечательности: у Байтерека первым будет сам Бәйтерек. «Нас четверо» убирает фастфуд, «на коляске» учитывает доступность из OpenStreetMap, «ночью» проверяет, что место ещё работает. Если словарь не узнал слова («подышать свежим воздухом»), запрос понимают эмбеддинги Gemini.
Объясняет и не выдумывает. У каждой карточки есть короткое «почему» и «что делать», строка «чем это лучше других» только по подтверждённым фактам, уровень уверенности и блок «Что мы не проверяли». Блок «Мы учли» показывает, что система поняла из запроса: время, категории, ребёнка, погоду. Если в пределах времени ничего нет, Aidem называет ближайшее подходящее место и что поменять.
Ваши правила. «Больше не предлагать» убирает место из следующих подборов, а «Удиви меня» выбирает случайное, но только среди тех, что прошли все проверки.
Город сегодня. Под вариантами прогулки видны события из афиши sxodim.com, до которых можно дойти пешком. Афишу сервер собирает сам каждое утро.
Друзья и встречи. Можно показать друзьям, где вы, на 15 минут, час или 8 часов, и только по согласию. «Где встретиться» находит кафе, до которого всем идти примерно поровну. Подробнее: docs/friends.md.
Оценки, которые никто не придумал. После прогулки можно поставить от 1 до 5 звёзд, одна оценка с устройства. Среднее показывается от трёх оценок, а на порядок выдачи оценки влияют слабо и только от пяти. Известность по открытым данным подписана отдельно: «это не рейтинг».
Голосом, на трёх языках, на часах. Голос без рук: после ответа можно сказать «второй», «поехали» или «а на полчаса?». Сайт, часы, вкладка «Друзья» и страница агента работают на русском, казахском и английском, и ответы Gemini приходят на языке вопроса. На часах (/watch, Apple Watch и Wear OS) есть стрелка к месту, кольцо времени и напоминание «пора обратно», поиск по названию с учётом выбранного времени, а быстрая команда Siri отвечает на «Куда сходить?». Время на часах и во встречах всегда по Астане, в каком бы поясе ни был телефон. Подробнее: docs/watch.md.
Google и ИИ. Ответы и объяснения пишет Gemini. На странице /agent агент Gemini сам вызывает инструменты (погода, подбор, поиск, мини-маршрут) и показывает каждый шаг понятной строкой: какой инструмент, что сделал и что получил. «Что это за здание?» распознаёт фото, а ответ можно послушать голосом Gemini. Те же инструменты доступны через MCP-сервер, расширение Gemini CLI и агента на Google ADK. У каждого места есть ссылки на Google Maps, 2ГИС и Google Календарь. Подробнее: docs/integrations.md.
Все функции с деталями и API: docs/features.md.
Сначала код находит места в собранной базе и проверяет время, часы работы и погоду. Потом Gemini пишет объяснение, но получает только найденные записи и рассчитанное время. Ответ проверяется: текст с числом, которого нет в данных, или с обещанием вроде «открыто сейчас» отбрасывается, и остаётся рассчитанное объяснение.
flowchart LR
data[("2058 мест<br/>OpenStreetMap и Overture Maps")] --> search
q["«час, кофе и парк»"] --> search["Поиск и фильтры<br/>расстояние, категории,<br/>погода, часы работы"]
search --> time["Проверка времени<br/>туда + на месте +<br/>обратно + запас"]
time --> gemini["Gemini пишет «почему»<br/>только по найденным фактам"]
gemini --> check["Проверка ответа"]
check --> cards["1–3 карточки<br/>и мини-маршрут"]
Пять шагов RAG, сбор данных и лицензии: docs/how-it-works.md.
Подробно: docs/ethics.md.
| Что просили | Где это у нас |
|---|---|
| Концепция: идея, аудитория, сценарии | docs/concept.md и первые слайды презентации |
| Демо на нескольких сценариях | живой сайт, часы, агент; видео на YouTube |
| Описание RAG-подхода | docs/how-it-works.md |
| Тестовые сценарии: вход и ожидаемый ответ | PDF, протокол: 6 из задания и 9 своих, 15 из 15 Pass |
| Презентация на 5–7 минут: бизнес, ограничения, риски, план | PDF, docs/concept.md |
| Этика и приватность | docs/ethics.md |
| Данные собраны автоматически | scripts/import_osm_pois.py, scripts/fetch_overture.py, scripts/build_places.py, афиша собирается Worker каждый день |
| 1–3 пункта с «почему», временем и «что делать» | каждая карточка; проверяется в tests/scenarios.test.mjs |
| Не обещать «открыто сейчас» без данных, указывать уверенность | уровень уверенности, «Что мы не проверяли», проверка ответа модели |
npm install
npm test # автотесты, без сети и без ключей
npm run dev # http://localhost:8789, ключ Gemini в GEMINI_API_KEY по желанию
Демо работает на Cloudflare Workers (бесплатный тариф):
npm run build && npx wrangler deploy # ключ один раз: npx wrangler secret put GEMINI_API_KEY
Друзья, напоминания для часов и афиша поднимаются сами, а проверить деплой можно по /api/status. Пошагово, с Google Cloud Run и списком настроек: docs/deploy.md.
Ролик на 3:41: сайт, телефон и часы в работе, озвучивает команда.
▶ Смотреть на YouTube · скачать видео (MP4, 85 МБ)
src/ сервер: подбор (retrieval), понимание запроса (intent), Gemini, агент, MCP, часы, друзья, афиша
public/ приложение: сайт, /watch, /agent
data/ собранная база мест, снимки источников, отчёты о слиянии, копия афиши
scripts/ сбор данных, сборка, локальный сервер, протокол сценариев и его PDF
tests/ автотесты (npm test), включая сценарии из задания на полной базе
integrations/ агент на Google ADK
docs/ концепция, этика, RAG, функции, деплой, часы, интеграции, протокол
deliverables/ видео, презентация (PDF и живая), PDF сценариев и ограничений, START-HERE
archive/ материалы первой сдачи: старый ролик, скриншоты, сборщики
Азамат (@Azalytical), Алишер и Данияр. Build with AI Hackathon 2026, Астана.
Aidem is a walking assistant for Astana built for the GDG Astana Build with AI Hackathon 2026 (Smart City case). Tell it how much time you have and what you feel like, for example "an hour, coffee and a park", and it suggests one to three places nearby that fit the whole trip: there, the visit, back, and a safety reserve you choose. It is a RAG system: places come from 2,058 Astana venues we collect automatically from OpenStreetMap and Overture Maps, the code checks distance, opening hours and weather, and Gemini writes the explanation from those facts only. Answers that add numbers or promises the data does not support are rejected. The exact location stays on the phone. Try it at ascension-smartwalk.azamatbreach.workers.dev; the interface also works in Kazakh and English, on a watch (/watch) and with a Gemini agent that shows its tool calls (/agent). Run it locally with npm install && npm run dev; deploy notes are in docs/deploy.md.
Данные © OpenStreetMap contributors (ODbL 1.0) и Overture Maps Foundation (условия); у каждой записи своя лицензия в поле source. События принадлежат sxodim.com, у каждого есть ссылка на его страницу. Код приложения под MIT.
| 🤖 | Агент Gemini, MCP, ADK | /agent · docs/integrations.md |
| 🚀 | Как запустить и задеплоить | docs/deploy.md |
| Помечать источник: данные POI или сгенерированная идея |
| метки происхождения у каждого текста |
| Стретч-цели: группа, мини-маршрут, языки, события, доступность | «нас четверо», мини-маршрут из 3 мест, RU · ҚАЗ · EN, «Сегодня в городе», «на коляске» |