Skip to main content
Glama

VoxMesh

VoxMesh — это платформонезависимый голосовой шлюз для AI-агентов на основе искусственного интеллекта.

Проект предназначен для соединения речевого ввода, преобразования речи в текст, AI-агента, MCP-инструментов, преобразования текста в речь и голосового вывода, сохраняя при этом ядро агента (Agent Core) независимым от оборудования, операционных систем и поставщиков AI-решений.

Статус проекта

VoxMesh имеет начальный вертикальный срез в Mock Mode для разработки и проверки архитектуры. Он включает:

  • монорепозиторий на основе pnpm и TypeScript

  • сервер Fastify и веб-консоль React

  • первичную настройку пароля администратора и аутентификацию сеансов

  • хранение разговоров и журналов в SQLite

  • контракты Agent Core, независимые от поставщика

  • детерминированное выполнение Mock LLM и Mock MCP-инструментов

  • запись голоса в Mock-режиме через браузер с Mock STT и генерацией WAV-ответа

  • выбираемые режимы голосового конвейера Composed и Mock Native Multimodal

  • страницы Dashboard, Chat, Conversations и Logs

  • страницу Settings для смены пароля и настройки Mock/Azure OpenAI

  • обработку ключа API Azure OpenAI только на запись и проверку соединения

  • универсальную настройку LLM, совместимую с OpenAI, включая Alibaba Cloud Model Studio

  • локализацию веб-консоли на английский и упрощённый китайский языки

  • определение языка браузера и сохранение выбранного языка

  • режимы оформления Light, Dark и System

  • сохранение выбора оформления с синхронизацией с операционной системой в реальном времени

  • функционально-ориентированные React-компоненты, выполняющие одну задачу

  • поведенческие тесты React Testing Library для каждого текущего UI-компонента

  • TanStack Router с Browser History и страницами с глубокими ссылками

  • TanStack Query для удалённого состояния сервера и инвалидации кэша

  • TanStack Form для сложных рабочих процессов в Settings

  • модульные, интеграционные и сквозные тесты Playwright

Azure Speech, универсальные внешние MCP-транспорты, физический звук и упаковка для развёртывания остаются запланированной работой.

Архитектура рассчитана на:

  • разработку в macOS, Linux и Windows

  • развёртывание на Linux amd64 и arm64

  • развёртывание через Docker Compose и нативный systemd

  • Mock Mode без оборудования и учётных данных внешних сервисов

Related MCP server: Pipecat MCP Server

Требования

  • Node.js 22.12 или новее

  • pnpm 10.27

Быстрый старт

pnpm install
pnpm build
pnpm --filter @voxmesh/server start

Откройте http://127.0.0.1:3000, создайте пароль первого администратора, войдите в систему и используйте Chat. Введите Check the light status, чтобы выполнить поток Mock LLM -> Mock MCP -> Mock LLM.

Страница Chat также предоставляет элементы управления Start recording, Stop recording и Play response. В Mock Mode записанный звук проверяется, преобразуется в детерминированную тестовую фразу, обрабатывается через Agent Core и Mock MCP и возвращается сгенерированным тестовым WAV-файлом.

Используйте Settings, чтобы изменить пароль администратора или переключить Chat между Mock и Azure OpenAI. Azure OpenAI требует HTTPS-конечную точку, имя развёртывания, версию API и ключ API. Ключ API хранится в локальной базе данных SQLite, никогда не возвращается в браузер и защищён правами доступа файловой системы хоста.

Поставщик LLM также может использовать API, совместимый с OpenAI. Для Alibaba Cloud Model Studio настройте базовый URL региона/рабочей области, ключ API и имя модели, например qwen-plus.

Речь Alibaba Cloud использует выделенного поставщика STT/TTS Alibaba Cloud Model Studio, а не совместимый с OpenAI Audio API. Настройте конечную точку WebSocket рабочей области, ключ API, модель ASR или TTS реального времени, язык и голос независимо для STT и TTS.

Используйте селектор языка на экране настройки, входа в систему или в Settings, чтобы переключиться между английским и упрощённым китайским. Предпочтение сохраняется в браузере и применяется немедленно.

Используйте селектор оформления в Settings, чтобы выбрать Light, Dark или System. System — значение по умолчанию, которое следует за изменениями темы операционной системы в реальном времени.

Для разработки фронтенда и бэкенда с автоматической перезагрузкой:

pnpm dev

Веб-консоль доступна по адресу http://127.0.0.1:5173 и проксирует API-запросы на сервер через порт 3000.

Страницы веб-консоли используют стабильные URL, такие как /dashboard, /chat, /conversations, /conversations/<id>, /logs и /settings. Поддерживаются прямой переход, обновление страницы, а также кнопки назад и вперёд в браузере.

Конфигурация

Скопируйте значения из .env.example в ваше окружение или менеджер процессов:

Переменная

Значение по умолчанию

Описание

VOXMESH_HOST

127.0.0.1

Адрес прослушивания сервера

VOXMESH_PORT

3000

Порт прослушивания сервера

VOXMESH_DATABASE_PATH

./data/voxmesh.sqlite

Путь к базе данных SQLite

VOXMESH_SESSION_TTL_SECONDS

86400

Время жизни сеанса администратора

VOXMESH_COOKIE_SECURE

false

Требовать HTTPS для cookie сеанса

Первый пароль администратора должен содержать не менее 10 символов. Пароли хранятся в виде хешей scrypt с солью. Cookie сеанса имеют атрибуты HttpOnly и SameSite=Strict.

Смена пароля администратора аннулирует все активные сеансы. Настройки Azure OpenAI вступают в силу при следующем запросе в Chat. Действие проверки соединения отправляет небольшой запрос к настроенному развёртыванию и может привести к расходам на использование поставщика.

Проверка

pnpm format:check
pnpm lint
pnpm typecheck
pnpm test:unit
pnpm test:integration
pnpm build
pnpm test:e2e

Запустите все необходимые проверки с помощью:

pnpm validate

Playwright MCP

Файл .mcp.json на уровне репозитория настраивает Playwright MCP для исследования браузера через структурированные снимки доступности. Copilot CLI и Claude Code обнаруживают этот файл из корня репозитория после подтверждения доверия к рабочей области.

Сервер использует последний официальный выпуск пакета и изолированные сеансы браузера, поэтому cookie и состояние входа не сохраняются между MCP-сеансами. Перезапустите MCP-клиент после изменения конфигурации.

Тесты по умолчанию и Mock Mode не требуют учётных данных AI, внешних MCP-серверов или аудиооборудования.

Рабочая область

apps/server           Fastify API, authentication, and composition root
apps/web              React and Vite Web Console
apps/web/src/features Feature-oriented pages, forms, and settings components
apps/web/src/components Shared layout components
apps/web/src/router.tsx Typed TanStack Router route tree and guards
apps/web/src/query.ts Typed TanStack Query keys and query options
packages/agent-core   Provider-independent agent runtime and mocks
packages/shared       Runtime schemas and shared contracts
packages/storage      SQLite storage adapter
tests/e2e             Browser end-to-end tests

Документация

Инструкции для агентов написания кода

Политика разработки

Перед реализацией функционального изменения:

  1. Обсудите и подтвердите его поведение, область действия, риски, критерии приёмки и требования к тестированию.

  2. Создайте отдельную ветку от последней main; никогда не редактируйте main и не выполняйте push напрямую в main.

  3. Весь контент репозитория и комментарии в коде должны быть на английском языке.

  4. Добавьте полные модульные тесты, интеграционные тесты, где применимо, и сквозные тесты.

  5. Добавьте документацию для разработчиков на английском языке и полезные комментарии JSDoc или пояснения причин для публичных контрактов, конфигурации, архитектуры, ограничений безопасности и неочевидного поведения.

  6. Запустите все применимые проверки форматирования, линтера, типов, тестов и production-сборки.

  7. Используйте сообщения коммитов и заголовки PR в стиле Conventional Commit и разбивайте несвязанные изменения на отдельные коммиты.

  8. Получите отдельное явное одобрение перед коммитом, push, созданием pull request, слиянием или релизом.

Полную обязательную политику см. в Правилах разработки.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    A local voice interface providing high-performance speech recognition and natural text-to-speech with voice cloning capabilities. It enables AI assistants to speak, listen, and engage in character-based voice conversations through integrated MCP tools.

View all related MCP servers

Related MCP Connectors

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

  • Voice and chat for AI agents — Discord, Teams, Meet, Slack, Zoom, Telegram, WhatsApp, NC Talk, SIP

  • Give AI agents real phone numbers, messages, and voice calls via MCP.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AntaresQAQ/VoxMesh'

If you have feedback or need assistance with the MCP directory API, please join our Discord server