关于 Vedar — Kamchatka travel
Vedar 是堪察加旅行平台,其公共 MCP 服务让 AI Agent 查询旅游团及余位、安全信息、天气、住宿、接送和行程规划。预订及服务申请需要人工确认。
主要功能
- 01查询旅游团和实时余位
- 02查看地点与路线安全信息
- 03获取天气和住宿信息
- 04规划并修改行程
- 05提交需人工确认的申请
适用场景
- 01寻找有余位的旅游团
- 02查询目的地和路线的安全状况
- 03规划堪察加旅行行程
- 04提交预订或住宿申请
MCP 相关
公共服务通过 Streamable HTTP 提供,地址为 `https://vedarai.ru/api/mcp`,无需认证。它向 MCP 客户端开放旅行信息与规划工具,以及需人工确认的申请功能。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://vedarai.ru/api/mcpclaude mcp add --transport http ru-vedarai https://vedarai.ru/api/mcp{"mcpServers":{"ru-vedarai":{"type":"http","url":"https://vedarai.ru/api/mcp"}}}在 Cursor 中打开{"servers":{"ru-vedarai":{"type":"http","url":"https://vedarai.ru/api/mcp"}}}在 VS Code 中打开{"mcpServers":{"ru-vedarai":{"type":"http","url":"https://vedarai.ru/api/mcp"}}}{"mcpServers":{"ru-vedarai":{"serverUrl":"https://vedarai.ru/api/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
20| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page | string | 否 | 目录分页,每页 7 个旅游项目,从第 1 页开始;回复末尾会注明总页数和下一页。 |
| activity_type | string | 否 | 活动类型筛选器,接受自由文本(俄语效果最佳):钓鱼、火山、熊、间歇泉、徒步等。 |
详细介绍
Vedar(维达尔)— Ведар, туристическая ОС Камчатки
Платформа полного цикла — от поиска маршрута до экстренной помощи в поле. Ранее известна как TourHab / KamchatourHub / Volcano OS.
vedarai.ru · Next.js 15 · PostgreSQL · TypeScript strict · PWA · Offline-first · AI
Что это
B2C/B2B платформа: туристы ищут маршруты и бронируют туры, операторы управляют предложениями, гиды ведут группы, партнёры сдают жильё и снаряжение. В основе — безопасность: каждое место имеет профиль опасности, реалтайм-статус и привязку к МЧС.
Работает в поле без интернета: офлайн-карты, экстренная страница, инструкции выживания, офлайн-очередь SOS (уходит сам при появлении связи) и QR-эстафета — попутчик сканирует сигнал без сети у обоих, его телефон доставляет SOS из зоны покрытия. Меш-ретрансляция — дополнительный канал, когда у соседа по группе связь осталась. Экстренный ответ не зависит от AI: детерминированный SOS-детектор добавляет телефоны 112/МЧС к ответу любого чата платформы, даже когда AI-конвейер лежит целиком.
MCP-сервер для ИИ-агентов
У Ведара есть публичный MCP-сервер (vedar-mcp): endpoint https://vedarai.ru/api/mcp, транспорт Streamable HTTP (JSON-RPC 2.0), авторизация не требуется. 22 инструмента: туры и их реальная занятость, безопасность мест и маршрутов, погода, жильё, трансферы, прокат машин без водителя, план поездки и его правка, заявки с подтверждением человеком — на подбор, на тур и дату, на вахтовку целой машиной, владельцу жилья, прокатчику на машину. Подробнее: vedarai.ru/mcp · манифест /.well-known/mcp.json · /llms.txt.
В каталогах: официальный реестр MCP — ru.vedarai/mcp (манифест публикации — server.json), Smithery — tourhabk/vedar (npx -y smithery mcp add tourhabk/vedar), Glama — glama.json. Идентификаторы — в lib/mcp/catalogs.ts; их же отдают манифест, /llms.txt и /mcp. Карточка сервера по расширению MCP Server Card — /api/mcp/server-card, каталог домена AI Catalog — /.well-known/ai-catalog.json (lib/mcp/server-card.ts). Тот же агент по A2A: визитки /.well-known/agent-card.json (1.0) и /.well-known/agent.json (0.3), вход /api/a2a; в реестре A2A Registry (a2aregistry.org) — запись 538d68a1-16a1-4e55-af5a-8d672b6f1ac7, регистрация 12.10 (lib/a2a/catalogs.ts). Для агентов без MCP и A2A (GPT Actions, Copilot Studio, OpenAPI-наборы) — описание OpenAPI 3.1 /openapi.json и каталог API по RFC 9727 /.well-known/api-catalog (lib/api/openapi.ts).
Vedar — Kamchatka travel (English). Public MCP server for AI agents: live tours and availability, safety alerts, places, weather, stays, trip plans. Endpoint https://vedarai.ru/api/mcp, Streamable HTTP, no auth.
中文(面向中文 AI 代理与开发者)。 Vedar(维达尔,vedarai.ru,俄文名 Ведар)是俄罗斯堪察加半岛的旅游平台,向 AI 代理开放公共 MCP 服务器:地址 https://vedarai.ru/api/mcp,Streamable HTTP(JSON-RPC 2.0),无需认证,20 个工具:本地旅行社的团队游及其真实余位、地点与路线的安全状况(火山、地震、天气预警)、天气、住宿、装备租赁、接送、行程规划。写操作只有四种申请(create_lead、create_booking_request、create_stay_request、request_charter),均由人工确认,无在线支付。接口返回的名称与说明为俄文,工具参数以俄文或英文为佳。中文页面另列价格、时长与季节。中文页面 vedarai.ru/zh,机器可读说明 /llms.txt,A2A 代理卡片 /.well-known/agent-card.json,OpenAPI 3.1 /openapi.json。接入:通用 MCP 客户端(Qwen Code、Cherry Studio、ModelScope 等)配置 {"mcpServers":{"vedar":{"type":"streamable_http","url":"https://vedarai.ru/api/mcp"}}};DeepSeek Harness(dsh)在面板 dsh-mcp-center 中按 URL 添加(类型 Streamable HTTP,认证 none),或一条命令安装插件 dsh plugin --profile web add github:tourhabk-ui/dsh-vedar(源码在 integrations/dsh-vedar/,一行 @deepseek-ai/dsh-mcp-client 配置);没有 MCP 客户端的模型(DeepSeek、Qwen、Kimi、Doubao、GLM 的 OpenAI 兼容 API)可用零依赖 Python 桥接 integrations/vedar-mcp-bridge/(LLM_API_KEY + LLM_MODEL 即可对话)。豆包电脑版、扣子 3.0、Cherry Studio、Qoder CN(原通义灵码)、Step Code(阶跃星辰)、Trae、Qwen Chat 桌面版(通义千问)、Kimi Code(月之暗面)、智谱 GLM API(chat/completions)的接入步骤见 vedarai.ru/zh(据各平台资料整理,未经实际接入验证,界面可能不同);Trae 一键安装链接(粘贴到浏览器地址栏后回车):trae-cn://trae.ai-ide/mcp-import?type=http&name=vedar&config=eyJ1cmwiOiJodHRwczovL3ZlZGFyYWkucnUvYXBpL21jcCJ9,国际版 trae://trae.ai-ide/mcp-import?type=http&name=vedar&config=eyJ1cmwiOiJodHRwczovL3ZlZGFyYWkucnUvYXBpL21jcCJ9。堪察加紧急电话:112。
技术栈
| 层 | 技术 |
|---|---|
| 前端 | Next.js 15 App Router、TypeScript strict、Tailwind CSS |
| 数据库 | PostgreSQL — 直接使用 SQL,不使用 ORM |
| 身份验证 | JWT、基于角色的中间件 |
| AI | 级联:14 个提供商 — OpenRouter · DeepSeek · Gemini · MiMo · GLM · NVIDIA · Groq · Cerebras · Mistral · xAI · YandexGPT · MiniMax · MuseSpark · Anthropic。此外还有 Mistral OCR(路线图) |
| PWA | Service Worker、Web Push(VAPID)、Background Sync、IndexedDB |
| 网状网络 | WebRTC P2P(VolcanoMesh)— 群组设备间 SOS 中继 |
| 部署 | Timeweb Cloud — 推送到 main 时自动部署 |
| 机器人 | Telegram + MAX(Kuzmich) |
规模
代码 — 数字由 node scripts/update-readme-stats.mjs 更新;每次合并后由 post-merge.yml 运行(8 月 15 日起从 CI 中移除了检查:过时的展示数据曾阻碍生产环境发布):
| 指标 | 数值 |
|---|---|
| 页面 | 262 |
| API 路由 | 895 |
| UI 组件 | 270 |
| lib 模块 | 1219 |
| SQL 迁移 | 789(最新为 1335) |
| 单元测试 | 2072 个文件中共 23256 个 |
| GitHub Actions | 185 个工作流 |
目录 — 在生产环境通过 GET /api/cron/catalog-census 盘点,测量日期:2026-10-26(每次合并后更新;“有效”指可见且未合并):
| 实体 | 有效数量 |
|---|---|
地点(places) | 384 |
路线(kamchatka_routes) | 366 |
| 持有有效认证的向导 | 112 |
places:is_visible = true 且 merged_into_id IS NULL · kamchatka_routes:is_visible = true 且 merged_into_id IS NULL · guide_certifications:is_verified = true 且 expiry_date 未过期的不同 guide_id 数量
数据结构
三个实体 — 三张表:
places — географический факт: вулкан, озеро, источник
kamchatka_routes — маршрут между точками, трек, сложность
operator_tours — коммерческий продукт: цена, слоты, бронь
每个地点的安全信息 — location_safety_profile + location_real_time_status。
路线→点位的关联 — route_waypoints。
离线与野外安全
覆盖所有聊天的 SOS 安全保障
lib/safety/sos-detector.ts— 确定性紧急情况检测器(8 类: 迷路、受伤、熊、冰面、雪崩、团队未归、失温、遇险)- 检测到危险迹象时,任何聊天的回复(网页、首页直播、Telegram/MAX、 规划器)都会附上 112、紧急情况部和针对当前情况的建议 — 与所用模型无关
/emergency.html — 静态紧急页面
- 34 KB(9 月 4 日测量),零依赖,OLED 深色主题,安装 PWA 时缓存
- GPS 坐标 → 复制 → 报给 112 接线员
- 4 个内嵌流程:迷路 · 熊 · 受伤 · 寒冷
/sos — 扩展 SOS 界面
- 发送信号,支持离线队列(IndexedDB + Background Sync)
- VolcanoMesh:通过群组使用 WebRTC P2P 转发 SOS
- 卫星听写 — 供接线员阅读的文本
/safety/offline — 生存指南
- 熊、火山、低体温、迷路、信号发送、水 — 预缓存
离线地图
- 安装时缓存堪察加地图缩放级别 7–9 的地图瓦片(约 8 MB)
- 缩放级别 10+ 的地图瓦片沿路线通过
/offline/manage下载
AI Agent
| 分组 | 示例 | 计划 |
|---|---|---|
| 安全 | Safety Ingest, Watchdog, Rescue, SOS Bridge, KVERT ACC | 每 5 分钟–6 小时 |
| 内容 | Editor, Import Routes, Enrich Routes, Places Enricher | 22:00–23:00 UTC |
| 情报 | Scout Digest, Scout Innovator, Intelligence, KB Gap, Industry Intel, Legislation Sync | 07:00–08:00 UTC |
| 记忆 | Memory Reflector, Contradiction Scanner (safety) | 每天一次 |
| 质量 | Kuzmich Eval (faithfulness:固定测试数据 + 游客真实问题)、grounding 指标、SSR 守护程序 | 每周 |
| 业务 | Abandoned Bookings, Payouts, Tour Reminder, Leads | 每小时 / 06:00 UTC |
| 机器人 | Kuzmich (Telegram, MAX, Web, Widget) | 实时 |
循环 Agent(使用代码仓库,循环工程):
| 循环 | 触发条件 | 执行内容 |
|---|---|---|
| CI Sweeper | CI 失败 | 读取日志并修复:PR 分支 → 修复提交;main → hotfix draft-PR |
| Issue Triage | 每天 21:00 UTC | 为工单分类;安全/资金问题 → 交给负责人,琐碎问题 → 连夜创建 draft-PR |
| Post-Merge Cleanup | 合并 PR | 删除已合并的分支,关闭 issue |
| Weekly Chronicle | 仅手动(15.10 已取消计划) | 将每周纪要写入 .claude/MEMORY.md——作为 Agent 的跨会话记忆 |
自主级别 L2:LLM 循环负责准备 draft-PR,由人来合并。资金和安全循环不会自行决策——而是将问题交给负责人,并添加 needs-owner 标签。
**Agent 共享记忆:**每个 Agent 启动时都会读取 readAgentBriefing()——平台状态、运行历史、堪察加旅游必备上下文。
注册表:AGENTS.md · docs/AGENTS_BOOK.md
中心
| 中心 | 路径 | 角色 |
|---|---|---|
| 游客 | /hub/tourist/ | tourist |
| 运营商 | /hub/operator/ | operator |
| 导游 | /hub/guide/ | guide |
| Agent | /hub/agent/ | agent |
| 住宿 | /hub/stay/ | stay-партнёр |
| 装备租赁 | /hub/gear/ | gear-партнёр |
| 安全 | /hub/safety | public |
| 接送 | /hub/transfer/ | transfer_operator |
| 钓鱼 | /hub/fishing/ | public |
| 管理员 | /hub/admin/ | admin |
开发
新开发者请参阅 docs/DEVELOPER_GUIDE.md:快速入门
(不会从零重放迁移——baseline + 后续迁移)、代码仓库地图、游客在代码中的两条路径、
不明显的机制(SOS 离线队列、三个 cron 调度器、标记)、生产环境调试。
数据库架构见 docs/DB_SCHEMA.md,由真实 PostgreSQL 生成。
npm install
cp .env.example .env.local
npm run dev
npm run dev # dev-сервер
npx tsc --noEmit # type check (0 ошибок)
npx vitest run # тесты
npm run migrate # миграции локально
git push origin main # → Timeweb автодеплой
关键约定
import { pool } from '@/lib/db-pool'— 仅使用 named importFROM operator_bookings/FROM operator_tours— 不要使用bookings或tours- SQL — 只能使用参数化查询(
$1, $2),绝不拼接 - 所有 API routes — 都必须使用 Zod 验证输入数据
- 颜色 — 只能使用 CSS custom properties(
var(--accent)、var(--ocean)) - AI — 只能通过
callAIWaterfall()/callAIFast()调用 - 关键事实(安全、价格、电话号码、余位)— 只能来自 工具/数据库,不要相信模型的自述
SELECT * FROM kamchatka_routes— 只能通过v_kamchatka_routes_api查询
完整规则:CLAUDE.md
部署
推送到 main → Timeweb 检测到推送 → 构建 Docker → start.js 执行迁移 → 启动服务器。
应用:Timeweb Cloud 上的 Fair Polydeuces。代码仓库:tourhabk-ui/pos。
Docker: standalone bundle ≤ 50 MB,images.unoptimized: true(可移除约 33 MB 的 sharp)。
Последние изменения (июль 2026)
- Разрешения ООПТ в данных — Кроноцкий заповедник в справочнике
parks(заявка + email), паркам сети «Вулканы Камчатки» проставлены официальные каналы оформления; карточка парка показывает только подтверждённые ссылки - Stay-ремонт по аудиту — гонка овербукинга закрыта транзакцией с advisory-lock, письма гостю честные («заявка принята», не «подтверждено»), платёжный URL от текущего запроса, поиск жилья по датам той же семантикой занятости, что и бронь
- Gear-ремонт по аудиту — единый прайсинг-модуль (сервер == форма), публичная воронка аренды с честными 409 по датам, уведомления партнёру, watchdog сторожит зависшие заявки
- Админ-аналитика ожила — три графика из реальных агрегатов, контракт страницы и API охраняется тестом-парсером, нет метрик — честная карточка ошибки вместо нулей
- Ребрендинг в Ведар — платформа живёт на vedarai.ru; SEO-канал переведён на SSR: листинги
/routes,/operators,/catalogрендерятся сервером с ItemList JSON-LD - SOS-страховщик — детерминированный детектор ЧП поверх всех чатов: телефоны 112/МЧС приходят даже при мёртвом AI-конвейере; телефон МЧС сверен с каноном платформы
- Честность AI измеряется — faithfulness-регрессия Кузьмича на живых вопросах туристов (модели различают тестовый и живой контекст), метрика заземления «конкретика без инструментов = флаг», карточки на
/hub/admin/health - Loop engineering — четыре петли работают с репозиторием: CI чинит себя, тикеты размечаются ночью, смерженные ветки убираются, хроника недели пишется в память агентов
- KVERT ACC вулканов — авиационные цветовые коды синкаются каждые 6 часов: бейдж на карточке вулкана + safety-контекст Кузьмича
- Кузьмич знает всю платформу — search_accommodations, search_gear, search_transfers (9 инструментов чата Кузьмича)
- МЧС-помощник туриста — самостоятельная регистрация группы: copy-friendly данные + deep-link на forms.mchs.gov.ru
Камчатка. Вулканы. Медведи. Код.
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。