frasma
Это проект на Next.js, созданный с помощью create-next-app.
Начало работы
Сначала запустите сервер разработки:
npm run dev
# or
yarn devОткройте http://localhost:3000 в браузере, чтобы увидеть результат.
Вы можете начать редактировать страницу, изменив pages/index.tsx. Страница автоматически обновляется при изменении файла.
API-маршруты доступны по адресу http://localhost:3000/api/hello. Этот эндпоинт можно редактировать в pages/api/hello.ts.
Директория pages/api сопоставляется с /api/*. Файлы в этой директории обрабатываются как API-маршруты, а не страницы React.
Related MCP server: Aegis MCP Server
Процессный бриф (запрос стоимости)
Форма на лендинге и чат-виджет отправляют процессный бриф на POST /api/request-process-assessment. Francesco использует этот бриф для подготовки расчёта стоимости.
Поля: имя, рабочий email, необязательные компания и должность, процесс (обязательно), необязательные текущие инструменты и объём.
Когда задан MONGODB_URI, этот же эндпоинт делает upsert для users, вставляет записи в leads и логирует project_brief_submitted.
Необходимые переменные окружения
Создайте в корне проекта файл .env.local со следующим содержимым:
# Destination email (defaults to francemazzi@gmail.com)
MEETING_NOTIFICATION_EMAIL=francemazzi@gmail.com
# Sender identity (defaults to SMTP_USER if using SMTP)
MEETING_FROM_EMAIL=francemazzi@gmail.com
# Sender display name (defaults to "Frasma")
MEETING_FROM_NAME=Frasma
# --- Option A (recommended): Gmail SMTP via App Password ---
SMTP_HOST=smtp.gmail.com
SMTP_PORT=465
SMTP_SECURE=true
SMTP_USER=francemazzi@gmail.com
SMTP_PASS=your_gmail_app_password
# --- Option B: Resend ---
# RESEND_API_KEY=your_resend_api_keyПримечания:
В продакшене эти переменные следует задавать у вашего хостинг-провайдера (например, Vercel).
Если не настроены ни SMTP, ни Resend, API возвращает ошибку, и всплывающее окно показывает её пользователю.
Диагностический чат-агент
Чат на сайте — это ассистент по диагностике процессов. Он использует двуязычную версионируемую базу знаний в lib/knowledge/, чтобы:
выявлять операционные узкие места;
собирать информацию о рабочих процессах, системах, объёмах, базовых метриках, данных и ограничениях;
соотносить потребность с возможностями Frasma;
готовить редактируемый процессный бриф;
отправлять этот бриф на
POST /api/request-process-assessmentтолько после явного подтверждения пользователем.
Если ассистент выходит по таймауту, виджет показывает ту же форму процессного брифа, предзаполненную из истории переписки (без дополнительного вызова LLM).
Каждая сессия браузера хранит conversationId в localStorage. Сообщения сохраняются на серверной стороне в MongoDB Atlas через официальный драйвер Node.js. При повторном открытии виджет восстанавливает переписку через GET /api/conversations/:id. Если MongoDB не настроена, чат продолжает работать в режиме без сохранения состояния.
Не добавляйте в базу знаний и диагностические примеры цены, гарантированную экономию, секреты клиентов, учётные данные или персональные данные третьих лиц.
Требуемая переменная окружения OpenAI (чат-агент + голосовая диктовка на форме оценки процесса):
OPENAI_API_KEY=your_openai_api_key
# Optional; defaults to gpt-4o-mini
OPENAI_CHAT_MODEL=gpt-4o-mini
# Optional; defaults to whisper-1 (process assessment voice dictation)
OPENAI_WHISPER_MODEL=whisper-1Хранение переписки (MongoDB Atlas)
Сохранение переписки необязательно, но в продакшене рекомендуется. При настроенном подключении API сохраняет:
метаданные переписки (
lang,timezone,pagePath, флаги конверсии);сообщения пользователя и ассистента;
события конверсии из процессного брифа (
project_brief_submitted).
Настройка:
Создайте бесплатный кластер M0 в MongoDB Atlas (рекомендуемый регион: Франкфурт или Ирландия).
Создайте пользователя базы данных с правами на чтение и запись.
В разделе Network Access разрешите
0.0.0.0/0(требуется для Vercel serverless).Скопируйте строку подключения и задайте эти переменные окружения локально и на Vercel:
MONGODB_URI=mongodb+srv://user:pass@cluster.mongodb.net/frasma_chat?retryWrites=true&w=majority
CHAT_RETENTION_DAYS=90Индексы и политика TTL на conversations.expiresAt создаются автоматически при первом использовании.
Без MONGODB_URI POST /api/chat и API форм продолжают работать; вызовы сохранения молча пропускаются.
Проверьте подключение:
npm run check:mongodb
curl http://localhost:3000/api/statusОжидаемый результат при корректной настройке:
{
"persistence": { "configured": true, "connected": true }
}Успешный ответ чата также содержит conversationId.
Устранение неполадок MongoDB
В Network Access на Atlas должен быть разрешён адрес
0.0.0.0/0для Vercel serverless.URI должен содержать имя базы данных:
...mongodb.net/frasma_chat?...Если вы сбросили пароль пользователя Atlas, обновите его в
.env.localи на Vercel, а затем выполните новый деплой.URL-кодируйте специальные символы в пароле (
@,#,%и т.д.).После изменения переменных окружения на Vercel запустите новый деплой; изменения env автоматически не применяются к существующим деплоям.
Обнаружение для ИИ и публичный MCP
Публичные точки обнаружения для агентов и людей:
Ресурс | URL |
Хаб для агентов | |
Хаб услуг | |
Кейсы | |
llms.txt | |
llms-it.txt | |
Главная в Markdown |
|
OpenAPI | |
Каталог API | |
Навыки агентов | |
MCP (Streamable HTTP) |
Инструменты MCP (только чтение и передача)
get_frasma_profilesearch_frasma_knowledgeget_diagnostic_frameworkprepare_diagnostic_summary— проверяет диагноз и возвращает URL для передачи (handoff); никогда не отправляет emailprepare_project_brief— проверяет процессный бриф, используемый для расчёта стоимости; никогда не отправляет email
Пример удалённой конфигурации для Cursor / Claude Desktop:
{
"mcpServers": {
"frasma": {
"url": "https://www.frasma.org/api/mcp"
}
}
}Для клиентов, поддерживающих только stdio:
{
"mcpServers": {
"frasma": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://www.frasma.org/api/mcp"]
}
}
}Размещение в каталогах (после деплоя в продакшен)
Убедитесь, что
/for-agents,/servizi,/llms.txt,/llms-it.txtи/api/mcpотвечают в продакшене.Smoke-тест:
curl -H 'Accept: text/markdown' https://www.frasma.org/иhttps://www.frasma.org/servizi/ddt-erp, а также MCPinitialize+tools/listпротив/api/mcp.Отправьте сервер в соответствующие MCP-каталоги с коротким описанием из
/for-agents(упомяните хаб услуг).Поддерживайте дайджест agent-skills в актуальном состоянии при изменении
SKILL.md(shasum -a 256).
Проверка качества:
npm run lint
npm test
npm run buildПодробнее
Чтобы узнать больше о Next.js, обратитесь к следующим ресурсам:
Документация Next.js — изучите возможности Next.js и API.
Learn Next.js — интерактивный учебник по Next.js.
Вы можете посмотреть репозиторий Next.js на GitHub, и ваши отзывы и вклад приветствуются!
Деплой на Vercel
Самый простой способ развернуть приложение Next.js — использовать платформу Vercel от создателей Next.js.
Подробнее см. документацию по деплою Next.js.
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only MCP access to a documented IT fleet: state, changes, posture. 15 tools.
Read-only MCP tools for AI agent discovery, structured resources, and NIULAI information.
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
- LensHubOAuthai.lenshub
Team knowledge from 20 connectors, served to any MCP agent — classified, scored, access-controlled.
Related MCP Servers
- AlicenseAqualityFmaintenanceProvides 14 MCP tools for AI agent infrastructure, enabling knowledge base queries, skill search, handoffs, blueprint validation, trust scoring, identity verification, SLA validation, and compliance checks.22MIT
- AlicenseNot gradedqualityCmaintenanceExposes standard MCP tools for secure calculation, knowledge-base retrieval, document statistics, and sensitive operations like email, export, and deletion with human-in-the-loop approval.MIT
- AlicenseBqualityCmaintenanceEnables support agents to look up customer account details and billing or incident information through two read-only MCP tools for triage workflows.2MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI clients to perform safe, read-only IT diagnostics and retrieve local runbooks, asset records, and knowledge articles through MCP, with allowlisted network checks and audit logging.MIT