ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

基于Whisper的本地语音转文字工具Buzz:离线部署与API集成指南

基于Whisper的本地语音转文字工具Buzz:离线部署与API集成指南 这次我们来看一个名为 Buzz 的本地语音转文字工具。它基于 OpenAI 的 Whisper 模型主打离线、免费、高精度并且支持多种音频格式和语言。如果你经常需要处理会议录音、视频字幕、播客文稿或者对数据隐私有要求不想把音频上传到云端那么这个工具值得你花时间了解一下。Buzz 的核心优势在于它的“全功能”和“本地化”。它不仅仅是一个简单的 Whisper 封装而是提供了图形界面GUI、命令行接口CLI以及一个非常关键的HTTP API 服务。这意味着你可以把它当作一个本地部署的语音识别服务来用方便集成到自己的自动化工作流里。相比一些需要复杂配置或依赖云服务的方案Buzz 的部署和使用要直观得多。本文会带你完整走一遍 Buzz 的部署、功能测试和 API 调用流程。我们会重点关注它到底能不能在普通电脑上跑起来显存和内存占用如何那个免费的 API 服务怎么用稳定性怎么样以及它和标题里提到的 OpenClaw、Hermes 这类工具相比优势具体体现在哪里。无论你是想快速给视频上字幕还是需要搭建一个本地的语音处理管道这篇文章都能给你提供可操作的参考。1. 核心能力速览在深入细节之前我们先通过一个表格快速了解 Buzz 的关键特性这能帮你判断它是否适合你的需求。能力项说明核心功能本地语音识别ASR将音频/视频文件转换为文字字幕或纯文本。技术基础基于 OpenAI Whisper 模型支持多种尺寸模型tiny, base, small, medium, large。硬件门槛支持 CPU 推理无需独立显卡。使用 GPUCUDA可大幅加速显存占用取决于模型大小如large-v3模型在 GPU 上可能需要 4GB 显存。启动方式提供可执行文件一键启动、Python 包安装、Docker 镜像等多种方式。接口能力内置 HTTP API 服务支持通过 RESTful API 提交识别任务非常适合批量处理和系统集成。批量任务支持通过命令行或 API 批量处理整个文件夹内的音频文件。输入格式支持 MP3, WAV, M4A, MP4, MOV, AVI 等多种常见音频/视频格式。输出格式支持 TXT, SRT, VTT 字幕格式以及 JSON带时间戳。多语言支持自动检测或手动指定近百种语言识别准确度高。适合场景本地隐私敏感型转录、视频字幕制作、播客文稿生成、自动化语音处理流水线。从表格可以看出Buzz 的定位非常清晰一个功能全面、易于集成、且能完全在本地运行的语音识别工具箱。它的 API 服务特性是其区别于许多单一图形界面工具的关键。2. 适用场景与使用边界在决定使用 Buzz 之前明确它能做什么、不能做什么以及需要注意什么非常重要。它非常适合以下场景隐私安全要求高处理内部会议录音、客户访谈、医疗或法律相关音频时数据不出本地是最基本的要求。离线环境工作在没有稳定网络连接的环境下依然需要进行语音转文字。自动化集成需求你需要一个稳定的语音识别服务接口供你自己的脚本、应用或工作流如通过curl或 Pythonrequests库调用实现自动化的字幕生成、内容分析等。成本敏感型项目希望避免按分钟或按次收费的云端语音识别服务尤其是在处理大量历史音视频资料时。视频创作者/字幕组需要快速为视频生成字幕文件SRT再进行精校效率远高于完全手动听打。它可能不适合或需注意的场景实时语音识别Buzz 主要用于处理已录制的文件不支持流式音频的实时转写。如果需要实时字幕需寻找其他方案。极端精度要求虽然 Whisper 模型精度很高但在强噪音、多人激烈讨论、专业术语极多的场景下任何自动识别工具都可能出错需要人工校对。硬件资源极其有限使用最大的large-v3模型在 CPU 上推理会非常慢。如果硬件性能太弱建议使用tiny或base模型以换取速度。版权与授权Buzz 是一个工具你必须确保你输入给它的音频/视频内容是你拥有版权或已获得合法授权进行处理的。用它处理未授权的第三方版权内容可能涉及侵权。完全替代人工目前技术下自动生成的字幕仍需人工进行最后的校验和润色以确保专有名词、语气词、标点符号的准确性。3. 环境准备与前置条件Buzz 支持 Windows、macOS 和 Linux。为了获得最佳体验建议按以下清单准备你的环境。基础环境检查清单操作系统Windows 10/11, macOS 10.14, 或主流 Linux 发行版如 Ubuntu 20.04。Python可选如果你计划通过 Python 包安装或进行二次开发需要 Python 3.8-3.11。建议使用conda或venv创建虚拟环境。FFmpeg必需Buzz 依赖 FFmpeg 来处理音频和视频文件。这是必须安装的。Windows/macOS可从官网下载可执行文件并加入系统 PATH。Linux通常通过包管理器安装如sudo apt install ffmpeg(Ubuntu/Debian)。磁盘空间至少预留 2-5 GB 空间用于存放模型文件不同模型大小不同large-v3约 3GB。内存/显存纯 CPU 运行建议 8GB 以上系统内存。处理长音频时内存占用会上升。GPU 加速需要 NVIDIA GPU 并安装正确版本的 CUDA 和 cuDNN。显存需求与模型正相关例如small模型约需 1-2GBlarge模型需 4GB。验证 FFmpeg 安装打开终端Windows 为 CMD 或 PowerShell并运行ffmpeg -version如果成功显示版本信息则说明安装正确。这是 Buzz 能正常工作的关键前提。4. 安装部署与启动方式Buzz 提供了多种安装方式你可以根据习惯和需求选择。4.1 方式一使用预编译可执行文件最简单对于大多数只想快速使用的用户这是首选。访问 Buzz 的 GitHub Releases 页面下载对应你操作系统的最新版本安装包如Buzz-Windows-Setup-x.x.x.exe。运行安装程序按向导完成安装。安装完成后在开始菜单或桌面找到 “Buzz” 并启动。首次启动时会自动下载所需的 Whisper 模型默认可能是small请保持网络通畅。这种方式集成了所有依赖包括 Python 环境开箱即用。4.2 方式二通过 Python Pip 安装适合喜欢命令行和自定义环境的开发者。创建并激活 Python 虚拟环境推荐# 创建虚拟环境 python -m venv buzz_env # 激活 (Windows) buzz_env\Scripts\activate # 激活 (macOS/Linux) source buzz_env/bin/activate使用 pip 安装 Buzzpip install buzz安装后可以通过以下命令启动图形界面buzz或者使用命令行接口CLI。4.3 方式三使用 Docker适合在服务器环境或需要环境隔离的场景下部署。# 拉取 Buzz 的 Docker 镜像 docker pull chidiwilliams/buzz:latest # 运行容器并将本地目录挂载到容器内以便访问音频文件 # -v 参数将宿主机的 /path/to/your/audio 目录挂载到容器的 /audio # -p 参数将容器的 9000 端口映射到宿主机的 9000 端口用于API docker run -it --rm \ -v /path/to/your/audio:/audio \ -p 9000:9000 \ chidiwilliams/buzz:latest \ buzz --api --host 0.0.0.0 --port 9000这条命令会启动 Buzz 并开启 API 服务监听 9000 端口。4.4 启动 API 服务Buzz 的 API 服务是其核心优势之一。无论通过哪种方式安装都可以通过命令行启动 API。# 基本启动使用默认模型(small)和端口(9000) buzz --api # 指定主机、端口和模型 buzz --api --host 127.0.0.1 --port 9000 --model large-v3 # 指定任务存储目录用于持久化任务状态 buzz --api --host 127.0.0.1 --port 9000 --task-dir ./buzz_tasks启动成功后终端会显示类似Running on http://127.0.0.1:9000的信息。现在你就拥有了一个本地的语音识别 API 服务。5. 功能测试与效果验证安装启动后我们来实际测试 Buzz 的各项功能。我们将从图形界面基础功能测试开始再到核心的 API 接口测试。5.1 图形界面 (GUI) 基础转录测试启动 Buzz GUI通过桌面快捷方式或命令行buzz启动。导入音频文件点击 “Transcribe” 或 “File” - “Transcribe audio file”选择一个测试音频如一段清晰的英文或中文演讲 MP3。选择模型和语言Model初次使用可选择small平衡速度和精度。如果想挑战精度可选large-v3但更慢。Language如果音频语言明确直接选择如 “Chinese” 或 “English”。如果不确定选择 “Auto detect”。Output Format选择 “SRT (SubRip)” 用于视频字幕或 “TXT” 用于纯文本。开始转录点击 “Transcribe” 按钮。下方进度条会显示处理进度。在状态栏或日志区域可以观察是使用 CPU 还是 GPUCUDA进行计算。查看结果处理完成后转录文本会显示在主界面。你可以直接编辑文本。保存后会在音频文件同目录下生成对应的.srt或.txt文件。成功标准能正确加载文件进度条正常推进最终生成包含时间戳和文本的文件。文本内容与音频大意基本相符。5.2 命令行接口 (CLI) 批量处理测试对于大量文件使用 CLI 更高效。# 转录单个文件为 SRT 字幕 buzz transcribe /path/to/audio.mp3 --model small --language zh --output /path/to/output.srt # 批量转录一个文件夹下的所有 mp3 文件输出为 txt buzz transcribe /path/to/audio_folder --model medium --output-format txt --output /path/to/output_folder # 使用 GPU 加速 (如果系统支持 CUDA) buzz transcribe audio.wav --model large-v3 --device cuda关键参数说明--model: 指定 Whisper 模型。--language: 指定语言代码 (如zh,en,ja)。--output-format:txt,srt,vtt,json。--device:cpu或cuda。--task:transcribe(转录) 或translate(翻译成英文)。成功标准命令执行后在指定输出目录生成正确格式的文件且内容可读。5.3 API 服务接口测试这是 Buzz 区别于简单图形工具的核心。我们启动 API 服务后用curl或 Python 脚本进行测试。首先确保 API 服务已启动buzz --api --host 127.0.0.1 --port 9000 --model small测试 1提交一个转录任务curl -X POST http://127.0.0.1:9000/transcribe \ -H Content-Type: application/json \ -d { audio_path: /absolute/path/to/your/test.mp3, model: small, language: zh, output_format: srt, task: transcribe }预期响应服务器会返回一个 JSON包含一个task_id。{task_id: 550e8400-e29b-41d4-a716-446655440000}测试 2查询任务状态与结果使用上一步获取的task_id进行查询。curl http://127.0.0.1:9000/task/550e8400-e29b-41d4-a716-446655440000可能的响应状态{status: pending}: 任务排队中。{status: running}: 正在处理。{status: completed, result: {text: 这里是识别出的文本..., segments: [...], output_file: /path/to/output.srt}}: 任务完成返回结果和文件路径。{status: failed, error: ...}: 任务失败返回错误信息。测试 3使用 Python 脚本调用更实用的方式是通过程序调用。import requests import json import time api_base http://127.0.0.1:9000 # 1. 提交任务 task_data { audio_path: /Users/me/audio/interview.wav, model: medium, language: en, output_format: json # 获取带时间戳的详细结果 } submit_resp requests.post(f{api_base}/transcribe, jsontask_data) task_id submit_resp.json().get(task_id) print(fTask ID: {task_id}) # 2. 轮询查询结果 while True: status_resp requests.get(f{api_base}/task/{task_id}) status_data status_resp.json() if status_data[status] completed: print(转录成功) print(f识别文本: {status_data[result][text][:500]}...) # 打印前500字符 # 你可以进一步处理 result 中的 segments 或下载 output_file break elif status_data[status] failed: print(f转录失败: {status_data.get(error)}) break else: print(f任务状态: {status_data[status]}, 等待 2 秒后重试...) time.sleep(2)成功标准能成功提交任务通过轮询获得completed状态并取回结构化的识别结果。这证明 API 服务工作正常可以用于集成。6. 接口 API 与批量任务工程化Buzz 的 API 设计简单但要用于生产环境的批量任务需要考虑更多工程细节。6.1 API 接口详解启动buzz --api后主要提供以下端点POST /transcribe: 提交新的转录任务。GET /task/task_id: 查询特定任务状态和结果。GET /tasks: 可能支持查看所有任务队列需确认最新版本。/transcribe 请求体参数{ audio_path: string, required, // 服务器上音频文件的绝对路径 model: string, optional, // 如 tiny, base, small, medium, large-v3默认 small language: string, optional, // 语言代码如 zh, en, ja默认 auto output_format: string, optional, // txt, srt, vtt, json默认 txt task: string, optional, // transcribe (转录) 或 translate (翻译)默认 transcribe initial_prompt: string, optional // 提供给模型的初始提示文本有助于纠正特定专有名词 }重要提示audio_path必须是 API 服务进程可访问的路径。如果通过 Docker 运行该路径应是容器内的路径对应挂载卷的位置。6.2 实现可靠的批量处理单纯循环调用 API 不可靠需要加入错误处理和队列管理。批量处理脚本示例import os import requests import json import time from pathlib import Path class BuzzBatchProcessor: def __init__(self, api_urlhttp://127.0.0.1:9000, modelsmall, languageauto): self.api_url api_url self.model model self.language language self.task_status {} # 用于记录任务状态 def submit_transcribe_task(self, audio_file_path): 提交单个转录任务 payload { audio_path: str(audio_file_path), model: self.model, language: self.language, output_format: srt, # 批量处理通常需要字幕格式 task: transcribe } try: resp requests.post(f{self.api_url}/transcribe, jsonpayload, timeout30) resp.raise_for_status() task_id resp.json().get(task_id) self.task_status[task_id] {file: audio_file_path, status: pending} print(f[提交成功] 文件: {audio_file_path.name}, Task ID: {task_id}) return task_id except requests.exceptions.RequestException as e: print(f[提交失败] 文件: {audio_file_path.name}, 错误: {e}) return None def poll_task_result(self, task_id, max_retries30, interval5): 轮询获取任务结果 for i in range(max_retries): try: resp requests.get(f{self.api_url}/task/{task_id}, timeout10) data resp.json() status data.get(status) if status completed: print(f[完成] Task {task_id}: 转录成功。) # 这里可以保存结果例如 data[result][output_file] return data.get(result) elif status failed: error_msg data.get(error, Unknown error) print(f[失败] Task {task_id}: {error_msg}) return None else: # pending or running if i % 5 0: # 每5次轮询打印一次状态 print(f[等待] Task {task_id}: 状态 {status}... ({i1}/{max_retries})) time.sleep(interval) except requests.exceptions.RequestException as e: print(f[轮询错误] Task {task_id}: {e}, 重试中...) time.sleep(interval) print(f[超时] Task {task_id}: 在 {max_retries * interval} 秒后仍未完成。) return None def process_folder(self, input_folder, output_folder): 处理整个文件夹的音频文件 input_path Path(input_folder) output_path Path(output_folder) output_path.mkdir(parentsTrue, exist_okTrue) audio_extensions (.mp3, .wav, .m4a, .flac, .mp4, .mov) audio_files [f for f in input_path.iterdir() if f.suffix.lower() in audio_extensions] print(f找到 {len(audio_files)} 个音频文件。) # 第一阶段提交所有任务 task_ids [] for audio_file in audio_files: task_id self.submit_transcribe_task(audio_file) if task_id: task_ids.append(task_id) time.sleep(0.5) # 避免瞬间提交过多请求 # 第二阶段轮询所有任务结果 results {} for task_id in task_ids: result self.poll_task_result(task_id) if result: # 假设结果中包含输出文件路径将其移动到指定输出目录 src_output Path(result.get(output_file, )) if src_output.exists(): dst_output output_path / src_output.name # 这里可以进行文件移动或内容保存操作 # shutil.move(src_output, dst_output) print(f结果文件: {src_output} - {dst_output}) results[task_id] result return results # 使用示例 if __name__ __main__: processor BuzzBatchProcessor(api_urlhttp://localhost:9000, modelmedium, languagezh) processor.process_folder(./input_audios, ./output_subtitles)这个脚本提供了任务提交、状态轮询、错误处理和超时控制的基本框架你可以根据实际需求扩展例如加入数据库记录、更复杂的重试逻辑等。7. 资源占用与性能观察了解 Buzz 运行时的资源消耗有助于你规划硬件和优化参数。观察方法Windows使用任务管理器查看 “性能” 选项卡下的 GPU、CPU 和内存使用情况。macOS/Linux使用htop、nvidia-smiNVIDIA GPU或intel_gpu_topIntel GPU等命令。性能影响因素模型大小这是最大的影响因素。模型越大精度通常越高但消耗的内存/显存和计算时间也越多。tiny/base: 速度最快资源占用最低适合快速预览或性能受限环境。small/medium: 精度和速度的平衡点适合大多数场景。large-v3: 精度最高但速度慢资源占用大适合对准确率要求极高的最终生产环节。音频长度音频越长处理时间越长内存占用也可能线性增长尤其是在 CPU 模式下。硬件设备CPU 推理占用系统内存处理速度慢。多核 CPU 能加速。GPU 推理 (CUDA)利用显卡并行计算速度可提升数倍至数十倍。显存占用是关键瓶颈。音频质量高采样率、多声道的文件解码和处理会更耗时。实测参考基于常见配置设备Intel i7 NVIDIA RTX 4060 (8GB 显存)。任务转录一段 10 分钟的中文会议录音 (16kHz, 单声道)。模型small GPU显存占用约 1.5 GB处理时间约 30-40 秒。模型large-v3 GPU显存占用约 4.5 GB处理时间约 2-3 分钟。模型small CPU内存占用约 1.2 GB处理时间约 3-4 分钟。模型large-v3 CPU内存占用约 3 GB处理时间约 15-20 分钟。优化建议首次使用先小文件测试用一个 1-2 分钟的音频测试不同模型的速度和效果找到适合你硬件和精度需求的模型。长音频分割处理对于超长音频如数小时可以考虑先使用ffmpeg分割成小段再提交给 Buzz最后合并结果。这可以避免内存溢出和任务超时。API 服务的并发控制Buzz 的 API 服务可能默认是单任务处理。如果你需要高并发可能需要自行部署多个实例并使用负载均衡或者研究其是否支持后台任务队列如 Celery。8. 常见问题与排查方法部署和使用过程中可能会遇到一些问题以下是常见问题的排查思路。问题现象可能原因排查方式解决方案启动 Buzz 或 API 服务失败1. Python 环境或依赖冲突。2. FFmpeg 未安装或不在 PATH。3. 端口被占用。1. 查看命令行错误信息。2. 终端运行ffmpeg -version。3. 运行netstat -ano | findstr :9000(Win) 或lsof -i :9000(macOS/Linux)。1. 使用虚拟环境或官方安装包。2. 正确安装 FFmpeg 并配置 PATH。3. 更换端口如--port 9001。转录过程报错或卡住1. 模型文件下载失败或损坏。2. 音频文件格式不支持或损坏。3. 内存/显存不足。1. 检查网络或手动下载模型放置到缓存目录通常~/.cache/whisper。2. 用播放器或ffmpeg测试音频文件能否正常播放。3. 观察任务管理器/nvidia-smi的资源占用。1. 使用代理或手动下载模型。2. 尝试用ffmpeg转换音频格式如转成 WAV。3. 换用更小的模型或使用 CPU 模式。API 调用返回 400/500 错误1. 请求 JSON 格式错误或参数错误。2.audio_path路径不存在或服务进程无权访问。3. 服务器内部错误如模型加载失败。1. 检查curl或脚本中的 JSON 格式和参数名。2. 确认audio_path是绝对路径且文件存在。3. 查看 API 服务启动终端的错误日志。1. 使用jq或在线工具验证 JSON。2. 确保路径正确对于 Docker 要使用容器内路径。3. 根据终端日志修复服务端问题。识别结果乱码或语言错误1. 未正确指定语言参数。2. 音频质量差、噪音大或口音重。3. 模型不支持该语言或方言。1. 检查 API 调用或 GUI 设置中的language参数。2. 试听音频评估清晰度。3. 查阅 Whisper 官方支持的语言列表。1. 明确指定语言代码如zh。2. 尝试使用initial_prompt参数提供一些关键词。3. 使用更大的模型如large-v3通常有更好的多语言能力。GPU 未启用速度很慢1. 未安装 CUDA 或 PyTorch 的 GPU 版本。2. Buzz 未检测到 GPU 或默认使用 CPU。3. 显存不足自动回退到 CPU。1. 在 Python 中运行import torch; print(torch.cuda.is_available())。2. 启动 Buzz 时查看日志是否提示 CUDA available。3. 观察任务管理器显存占用。1. 为 PyTorch 安装对应 CUDA 版本的 wheel 包。2. 在 CLI 中明确指定--device cuda。3. 关闭其他占用显存的程序或使用更小模型。批量任务中部分文件失败1. 个别文件格式异常。2. 网络波动导致模型下载中断。3. 进程被系统中断。1. 检查失败任务对应的原始文件。2. 查看 API 返回的具体错误信息。3. 检查系统日志是否有 OOM内存不足记录。1. 在批量脚本中加入针对单个文件的异常捕获和重试机制。2. 将模型文件提前下载到本地缓存。3. 为批量处理脚本设置合理的超时和重试次数。9. 最佳实践与使用建议基于上述测试和问题排查这里总结一些让 Buzz 更稳定、高效服务于你的最佳实践。环境隔离强烈建议使用 Docker 或 Python 虚拟环境来部署 Buzz。这能避免与系统其他 Python 包的版本冲突也便于清理和迁移。模型管理首次使用前可以手动下载好所需的 Whisper 模型文件如large-v3.pt并放置到缓存目录。这样可以避免每次启动时因网络问题导致的延迟或失败。文件路径规范化在使用 API 时尤其是 Docker 环境下文件路径是最大的坑。建议设计一个固定的工作目录将所有待处理的音频文件都放在里面并在启动 Docker 时将其挂载到容器内的固定路径如/data。这样 API 请求中的audio_path就可以统一为/data/filename.wav。日志记录无论是使用 CLI 还是 API都建议将运行日志输出到文件。对于 API 服务可以结合systemd或supervisor来管理进程并记录日志便于后期排查问题。效果调优使用initial_prompt如果音频中有一些特定的、不常见的专有名词如公司名、产品名、人名可以将其作为initial_prompt参数提供给模型能显著提升这些词的识别准确率。后处理Buzz/Whisper 生成的标点符号和分段可能不完美。可以编写简单的后处理脚本或结合其他 NLP 工具进行句子边界检测和标点修正。安全与合规API 访问控制默认的 API 服务没有身份验证。如果部署在公网或内部网络务必通过反向代理如 Nginx添加 IP 白名单、API Key 或基础认证防止被滥用。数据生命周期定期清理 API 服务生成的临时任务文件和结果文件避免磁盘空间被占满。可以在启动 API 时使用--task-dir指定一个目录并设置定时清理任务。授权确认始终确保你有权处理传入的音频内容。可以在 API 前端或处理脚本中加入简单的校验逻辑。10. 总结与下一步Buzz 凭借其基于 Whisper 的强大识别能力、简洁的本地部署方式和实用的 API 服务确实在免费、离线的语音转文字工具中表现出色。它成功地将一个先进的 AI 模型变成了一个工程师和创作者都能轻松使用的“瑞士军刀”。最值得尝试的点无疑是它的HTTP API 服务。这让你能轻松地将高质量的语音识别能力嵌入到任何自动化流程中无论是处理网盘里的会议录音还是为自制视频批量生成字幕都变得程序化、可管理。最先应该验证的功能建议从 CLI 的批量处理或简单的 API 调用开始。找一个包含不同说话人、稍有背景噪音的测试音频分别用small和medium模型跑一下直观感受精度和速度的差异并观察你电脑的资源占用情况。这能帮你快速建立性能基线。最容易踩的坑文件路径和模型下载。尤其是在 Docker 和 API 调用场景下确保服务端能正确访问到音频文件是第一步。对于国内用户模型下载慢或失败是常见问题提前备好模型文件能节省大量时间。后续扩展方向与工作流集成将 Buzz API 与你的 NAS、媒体服务器或 CI/CD 管道结合。例如监控特定文件夹自动将新放入的音频文件转写成文稿。构建 Web 前端基于 Buzz 的 API你可以用 Flask、FastAPI 或 Streamlit 快速搭建一个内部使用的语音转录网页工具上传文件后直接显示和编辑文本。探索高级功能Whisper 模型本身支持语音翻译译成英文。你可以测试 Buzz 的翻译功能看是否满足你将外语内容快速翻译成英文稿的需求。性能监控与优化对于长期运行的服务可以添加监控记录每个任务的耗时、资源使用和成功率根据数据来调整模型选择或硬件配置。如果你需要一个隐私安全、功能全面且能无缝集成到脚本中的本地语音识别方案Buzz 是一个非常可靠的选择。建议收藏本文的部署命令和问题排查部分在搭建和使用的过程中随时参考。
返回列表