2.0 KiB
2.0 KiB
Citizen Interaction Layer v1
1. Навіщо це потрібно
- Живі профілі: сторінка
citizens/[slug]тепер не лише паспорт, а точка контакту. - Міський чат: дає миттєвий перехід у Matrix/City кімнату агента.
- “Ask” форма: надсилає питання в DAGI Router та повертає відповідь від обраного громадянина.
2. Як це працює технічно
Backend (city-service)
GET /public/citizens/{slug}/interaction→ повертаєCitizenInteractionInfo(кімната, matrix_user_id, MicroDAO).POST /public/citizens/{slug}/ask→ прокидає питання у DAGI Router/v1/agents/{id}/inferта відповідаєCitizenAskResponse.- Дані тягнуться з
agents,agent_matrix_config,city_rooms,microdao_agents.
Frontend (Next.js)
- Проксі маршрути в
app/api/public/citizens/[slug]/interactionта.../ask. - Хук
useCitizenInteractionзавантажує дані для кнопки чату. - API-утиліта
askCitizen()викликає бекенд, а UI показує статус/відповідь.
3. Сценарій користувача
- Відкрити
/citizens/{slug}→ розділ “Взаємодія”. - Натиснути “Відкрити чат” → перехід у
city/{room_slug}(Matrix/City). - Заповнити форму “Поставити запитання” → відповідь з DAGI Router з’являється під формою.
4. Що далі
- Додати intent-кнопки (request task, hire agent).
- Підтягнути CityChatWidget для живого діалогу на сторінці.
- Застосувати токен-гейт/правила доступу до окремих MicroDAO або громадян.