feat: production-ready backend with real Tingwu ASR

This commit is contained in:
OpenClaw Bot
2026-02-17 18:12:11 +08:00
parent 460bc5b052
commit 3b1fe83018
4 changed files with 145 additions and 89 deletions

View File

@@ -12,9 +12,9 @@ class OSSUploader:
def __init__(self):
self.access_key = os.getenv("ALI_ACCESS_KEY")
self.secret_key = os.getenv("ALI_SECRET_KEY")
# 使用杭州区域,听悟服务在杭州
self.endpoint = "oss-cn-hangzhou.aliyuncs.com"
self.bucket_name = os.getenv("ALI_OSS_BUCKET", "insightflow-audio")
self.bucket_name = os.getenv("OSS_BUCKET", "insightflow-audio")
self.region = os.getenv("OSS_REGION", "oss-cn-hangzhou.aliyuncs.com")
self.endpoint = f"https://{self.region}"
if not self.access_key or not self.secret_key:
raise ValueError("ALI_ACCESS_KEY and ALI_SECRET_KEY must be set")
@@ -22,8 +22,8 @@ class OSSUploader:
self.auth = oss2.Auth(self.access_key, self.secret_key)
self.bucket = oss2.Bucket(self.auth, self.endpoint, self.bucket_name)
def upload_audio(self, audio_data: bytes, filename: str) -> str:
"""上传音频到 OSS返回 URL"""
def upload_audio(self, audio_data: bytes, filename: str) -> tuple:
"""上传音频到 OSS返回 (URL, object_name)"""
# 生成唯一文件名
ext = os.path.splitext(filename)[1] or ".wav"
object_name = f"audio/{datetime.now().strftime('%Y%m%d')}/{uuid.uuid4().hex}{ext}"