testaaaMCP
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"audio-asr-service": {
"args": [
"daemon"
],
"command": "/root/audiodetection/bin/server.sh",
"env": {
"DASHSCOPE_API_KEY": "sk-3e9a31f74e6744c98662a7df5e33ffb4",
"PYTHONPATH": "/root/audiodetection"
}
}
}
}
服务介绍
Audio ASR API 接口文档
接口概述
基础信息:
- 基础 URL:
http://182.92.223.177:8000 - 识别模型:
paraformer-realtime-8k-v2 - 支持格式: wav, mp3, m4a 等常见音频格式
- 响应格式: NDJSON (Newline Delimited JSON)
接口列表
音频识别 (流式输出)
接口地址: POST /audio/paraformer-recognize/stream
功能描述: 上传音频文件进行语音识别,以流式方式实时返回识别结果。每当识别出完整句子时立即返回。
请求参数:
audio_file(file, required): 音频文件,支持常见格式 (wav, mp3, m4a等)
请求示例:
curl -X POST "http://182.92.223.177:8000/audio/paraformer-recognize/stream" \
-F "audio_file=@/path/to/audio.wav"
响应格式: NDJSON (Newline Delimited JSON)
成功响应 (result: 1):
{"result": 1, "text": "第一个识别出的句子"}
{"result": 1, "text": "第二个识别出的句子"}
{"result": 1, "text": "第三个识别出的句子"}
错误响应 (result: 0):
{"result": 0, "detail": "文件不存在: /tmp/test.wav"}
响应特点:
- Content-Type:
application/x-ndjson - 每行一个独立的JSON对象
- 按句子边界实时输出
- 流自然结束,无结束标记
- 通过
result字段区分成功/失败
客户端处理示例 (Python):
import requests
import json
files = {"audio_file": open("test.wav", "rb")}
response = requests.post(
"http://182.92.223.177:8000/audio/paraformer-recognize/stream",
files=files,
stream=True
)
for line in response.iter_lines(decode_unicode=True):
if line.strip():
data = json.loads(line)
if data["result"] == 1:
print(f"识别结果: {data['text']}")
else:
print(f"错误: {data['detail']}")
break
响应状态码:
200: 识别成功 (流式返回)400: 请求参数错误 (缺少文件、文件为空等)404: 接口路径错误500: 服务器内部错误
错误响应示例:
{"detail": "缺少音频文件"}
{"detail": "上传文件为空"}
{"detail": "识别失败: 具体错误信息"}
常见错误类型
1. 接口使用错误 (HTTP错误响应)
- 文件上传问题
- 参数验证失败
- 服务初始化错误
2. 接口内部错误 (NDJSON错误响应)
{"result": 0, "detail": "未检测到环境变量 DASHSCOPE_API_KEY,请先 export DASHSCOPE_API_KEY=\"YOUR_KEY\" 再调用。"}
{"result": 0, "detail": "未检测到 ffmpeg,可通过 'conda install -y -c conda-forge ffmpeg' 安装。"}
{"result": 0, "detail": "文件不存在: /tmp/asr_uploads/test.wav"}
{"result": 0, "detail": "ffmpeg 打开失败: 未获取到 stdout 流"}
部署和管理
服务启动
# 后台启动
cd /root/audiodetection
bin/server.sh daemon
# 查看状态
bin/server.sh status
# 查看日志
bin/server.sh log
# 停止服务
bin/server.sh stop
环境要求
- Python 3.8+
- ffmpeg (音频转码)
- DASHSCOPE_API_KEY (阿里云百炼 API Key)
API 文档
- Swagger UI:
http://182.92.223.177:8000/docs - 健康检查:
http://182.92.223.177:8000/health