43c0ba7e44 feat(speech): implement TTS and STT model layer and pipeline stages (LANG-251) (#2839)
* feat(speech): implement TTS and STT model layer and pipeline stages (LANG-251)

Co-authored-by: multica-agent <[email protected]>

* fix(speech): fix invoke signatures and provider lookup in speech stages and model testing

Co-authored-by: multica-agent <[email protected]>

* feat(speech): rename STT to ASR, improve TTS voice parameter handling and failure recovery

Co-authored-by: multica-agent <[email protected]>

* fix(persistence, lint, web): fix migration revision id, legacy table check, ruff duplicates, and frontend types

Co-authored-by: multica-agent <[email protected]>

* fix(speech): restore migration and CI contracts

Co-authored-by: multica-agent <[email protected]>

* fix(pipeline,ui): fix select dropdown width gap, add speech to guided tour, and configure show_if for speech options

Co-authored-by: multica-agent <[email protected]>

* feat(speech,openclaw): support silk audio transcoding, graceful fallback, duration estimation, and multi-lang deploy docs

Co-authored-by: multica-agent <[email protected]>

* fix(audio): enhance ffmpeg executable detection via venv and imageio_ffmpeg

Co-authored-by: multica-agent <[email protected]>

* fix(provider): improve LiteLLM error classification and avoid falling back to Unknown error

Co-authored-by: multica-agent <[email protected]>

* fix(openclaw): serialize voice_item attributes and improve transcoding fallback logging

Co-authored-by: multica-agent <[email protected]>

* fix(audio,openclaw): handle transient TMPDIR deletion and add size attribute to voice_item

Co-authored-by: multica-agent <[email protected]>

* fix(openclaw): download and convert inbound voice messages and align voice sending protocol

Co-authored-by: multica-agent <[email protected]>

* fix(models): redesign add model popover tabs layout and include ASR/TTS models in provider counts and scanning

Co-authored-by: multica-agent <[email protected]>

* fix(audio): decrypt and transcode wecombot voice to mp3, align openclaw weixin voice delivery

Co-authored-by: multica-agent <[email protected]>

* fix(wecombot): transcode outbound voice to silk and support voice_delivery mode

Co-authored-by: multica-agent <[email protected]>

* fix(discord,web): map audio attachments to voice for ASR, prefer base64 voice in webui

Co-authored-by: multica-agent <[email protected]>

* fix(telegram): deliver voice replies in streaming and non-streaming modes with quote origin

Co-authored-by: multica-agent <[email protected]>

* feat(dingtalk): route voice messages through pipeline ASR and send TTS replies as voice

Inbound DingTalk audio now arrives as a Voice component with its duration,
so the pipeline speech recognition switch decides how it is transcribed.
DingTalk's own recognition text is used only when the audio cannot be
downloaded.

Outbound Voice components are transcoded to ogg/opus, uploaded as voice
media and sent as native sampleAudio messages in both the omni and legacy
adapters. Audio over 60 seconds, or audio that cannot be transcoded or is
rejected as a voice message, is sent as a file instead. Voice parts no longer
leak into the reply text as "[Voice]".

Also estimate ogg durations from the granule position and ignore non-audio
MIME hints when extracting voice bytes, so ffmpeg can probe the input.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-authored-by: multica-agent <[email protected]>

* fix(ci): include speech model counts in provider responses and fix lint/image build

- Copy every count returned by get_provider_model_counts into the provider
  payload instead of indexing asr_count/tts_count, and update the test fakes
  to return the speech model counts.
- Install libc6-dev in the runtime image so the pilk audio extra can compile.
- Apply ruff and prettier formatting required by the lint jobs.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-authored-by: multica-agent <[email protected]>

* test(e2e): expect the speech step in the pipeline setup guide

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-authored-by: multica-agent <[email protected]>

---------

Co-authored-by: multica-agent <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
2026-11-02 23:51:22 +08:00
2025-11-06 21:34:02 +08:00
2025-09-13 09:44:18 +08:00

LangBot

LangBot - Easy-to-use global IM bot platform designed for the LLM era | Product Hunt

Production-grade platform for building agentic IM bots.

Quickly build, debug, and ship AI bots to Slack, Discord, Telegram, WeChat, and more.

English / 简体中文 / 繁體中文 / 日本語 / Español / Français / 한국어 / Русский / Tiếng Việt

Discord Ask DeepWiki GitHub release (latest by date) python GitHub stars

Website | Features | Docs | API | Cloud | Plugin Market | Roadmap


What is LangBot?

LangBot is an open-source, production-grade platform for building AI-powered instant messaging bots. It connects Large Language Models (LLMs) to any chat platform, enabling you to create intelligent agents that can converse, execute tasks, and integrate with your existing workflows.

LangBot web management dashboard — real-time monitoring of message volume, model calls, success rate and active sessions

Key Capabilities

  • AI Conversations & Agents — Multi-turn dialogues, tool calling, multi-modal support, streaming output. Built-in RAG (knowledge base) with deep integration to Dify, Coze, n8n, Langflow, Deerflow, Weknora.
  • Universal IM Platform Support — One codebase for Discord, Telegram, Slack, LINE, QQ, WeChat, WeCom, Lark, DingTalk, KOOK.
  • Production-Ready — Access control, rate limiting, sensitive word filtering, comprehensive monitoring, and exception handling. Trusted by enterprises.
  • Plugin Ecosystem — Hundreds of plugins, event-driven architecture, component extensions, and MCP protocol support.
  • Web Management Panel — Configure, manage, and monitor your bots through an intuitive browser interface. No YAML editing required.
  • Multi-Pipeline Architecture — Different bots for different scenarios, with comprehensive monitoring and exception handling.

→ Learn more about all features

📍 Practical guides: deploy a multi-platform AI bot in 5 minutes, connect DeepSeek to WeChat, Discord, and Telegram, run a Dify Agent in Discord, Telegram, and Slack, and build an n8n-powered chatbot.


😎 Stay Updated

Click the Star and Watch buttons in the top-right corner of the repository to get the latest updates.

star gif

Quick Start

Official plugin source index: plugins/README.md · machine-readable catalog · independent plugin releases. Plugins are installed separately and are not bundled in Core releases.

Deploy on LangBot Cloud

space.langbot.app/cloud

Zero deployment, ready to use.

One-Line Launch

uvx langbot

Requires uv. Visit http://localhost:5300 — done.

Docker Compose

git clone https://github.com/langbot-app/LangBot
cd LangBot/docker
docker compose --profile all up -d

One-Click Cloud Deploy

Deploy on Zeabur Deploy on Railway

More options: Docker · Manual · BTPanel · Kubernetes


Supported Platforms

Platform Status Notes
Discord ✅ Official
Telegram ✅ Official
Slack ✅ Official
LINE ✅ Official
QQ ✅ Personal & Official API (Channel, DM, Group)
WeCom ✅ Enterprise WeChat, External CS, AI Bot
WeChat ✅ Personal & Official Account
Lark ✅ Official
DingTalk ✅ Official
KOOK ✅ Official
Satori ✅
Email ✅ Matrix, Satori
Matrix ✅ Supports multiple bridged platforms such as Signal, WhatsApp, Messenger, iMessage, Mattermost, Google Chat, IRC, XMPP, Zulip, and more

Supported LLMs & Integrations

Provider Type Status
OpenAI LLM ✅
Anthropic LLM ✅
DeepSeek LLM ✅
Google Gemini LLM ✅
xAI LLM ✅
Moonshot LLM ✅
Zhipu AI LLM ✅
Ollama Local LLM ✅
LM Studio Local LLM ✅
Dify LLMOps ✅
MCP Protocol ✅
SiliconFlow Gateway ✅
Aliyun Bailian Gateway ✅
Volc Engine Ark Gateway ✅
ModelScope Gateway ✅
GiteeAI Gateway ✅
CompShare GPU Platform ✅
PPIO GPU Platform ✅
ShengSuanYun GPU Platform ✅
接口 AI Gateway ✅
302.AI Gateway ✅
Qiniu Gateway ✅

→ View all integrations


Why LangBot?

Use Case How LangBot Helps
Customer Support Deploy AI agents to Slack/Discord/Telegram that answer questions using your knowledge base
Internal Tools Connect n8n/Dify workflows to WeCom/DingTalk for automated business processes
Community Management Moderate QQ/Discord groups with AI-powered content filtering and interaction
Multi-Platform Presence One bot, all platforms. Manage from a single dashboard

Built for AI Agents 🤖

LangBot is agent-friendly by design — your coding agents (Claude Code, Codex, Copilot, Cursor, …) can operate, extend, and deploy LangBot with first-class support:

  • MCP Server — LangBot exposes a built-in Model Context Protocol endpoint at /mcp, mirroring the HTTP API so an agent can manage bots, pipelines, plugins, and models programmatically. Authenticate with the same API key (set a global key in config.yaml or use a per-user key) — no login flow required. Configure it in the Web panel's API & MCP tab.
  • CLI (lbctl) — The standalone LangBot CLI lets agents manage a running LangBot Workspace from a terminal through the Service API. It uses an API key and supports bots, pipelines, knowledge bases, models, plugins, skills, and MCP servers. See the CLI repository for installation and commands.
  • In-repo Skills — The skills/ directory is the single source of truth for working with LangBot: plugin development, core development, end-to-end testing, deployment, and operating the LangBot / LangBot Space MCP servers. Point your agent at this directory and it knows how to build.
  • AGENTS.md — Every repo ships an AGENTS.md (symlinked to CLAUDE.md) describing architecture, conventions, and the rule that API changes must keep the MCP server and skills in sync.
  • llms.txt — Machine-readable project context for LLMs is published on the website.

Cloud / Marketplace: LangBot Space also exposes an MCP server so agents can search and inspect the plugin / MCP / skill marketplace, authenticated with a Personal Access Token.


Community

Discord


Contributors

Thanks to all contributors who have helped make LangBot better:

Documentation source · langbot-docs archive

Languages
Python 72.7%
TypeScript 22.9%
JavaScript 3.2%
HTML 0.9%
Shell 0.2%
Other 0.1%