如何在Linux上安装Speaches以配合Trilium AI使用
Speaches是基地的Trilium AI插件的后端配套语音转录服务工具。本文将探讨如何在主机(而非通过 Docker 容器)上全新安装Speaches ,并希望能直接用官方推荐的方式(含 CLI 工具和模型管理)运行。 首先,可参考官方 Speaches 本地部署指令。
Python (requires Python 3.12+ and uv package manager) git clone https://github.com/speaches-ai/speaches.git cd speaches uv venv source .venv/bin/activate uv sync --all-extras uvicorn --factory --host 0.0.0.0 speaches.main:create_app
以下将逐行解释,并提供完整的、标准的主机本地部署流程。
一、环境前提
- Python 3.12+(务必用新版)
- uv 包管理器(不是pip,uv官方文档)
二、详细步骤
1. 安装 Python 3.12+ (按需)
Ubuntu 用户可这样安装最新版 Python(如未自带3.12):
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install -y python3.12 python3.12-venv python3.12-dev2. 安装 uv 包管理器
uv 是一个高速的 Python 包管理工具,比 pip 更快更现代。
sudo apt install pip
sudo pip install uv
uv --version3. 克隆 Speaches 源码
git clone https://github.com/speaches-ai/speaches.git
cd speaches4. 创建虚拟环境
官方用法:
uv venv这会自动创建 .venv 虚拟环境目录。
5. 激活虚拟环境
source .venv/bin/activate6. 安装所有依赖(含所有扩展)
uv sync --all-extras> 这一步会自动解析 pyproject.toml,安装所有依赖,等价于 pip install -e .[all]。
7. 启动服务
uvicorn --factory --host 0.0.0.0 speaches.main:create_app- 这会监听所有网卡8000端口(可用
--port 8000指定端口) - 默认可以直接访问 http://localhost:8000/docs 查看API文档
三、模型下载与管理
激活虚拟环境后,也可以用官方 CLI 下载模型:
查询可用模型
uvx speaches-cli registry ls --task automatic-speech-recognition
下载模型
uvx speaches-cli model download Systran/faster-whisper-medium 或查上一步输出的模型ID下载
查看已安装模型
uvx speaches-cli model ls --task automatic-speech-recognition
四、实现开机时自动启动
大多数现代 Linux 发行版(如 Ubuntu, Debian, CentOS, Fedora)都使用 systemd 来管理系统服务。这是最稳定和推荐的方法。
第 1 步:创建服务文件
首先,我们需要创建一个 systemd 服务单元文件。
使用您喜欢的文本编辑器(如 nano 或 vim)创建一个新文件:
sudo nano /etc/systemd/system/speaches.service然后,将以下内容复制并粘贴到文件中。
[Unit]
Description=Speaches OpenAI Compatible Server
After=network.target
[Service]
# 运行服务的用户和用户组,建议使用您的普通用户名
User=your_username
Group=your_username
# 替换为您的项目实际所在的目录
WorkingDirectory=/path/to/your/project/speaches
# 服务的启动命令。注意这里使用的是虚拟环境中的uvicorn
ExecStart=/path/to/your/project/speaches/.venv/bin/uvicorn --factory --host 0.0.0.0 speaches.main:create_app
# 避免实时转写报错
Environment="LOOPBACK_HOST_URL=http://localhost:8000"
# 确保服务在失败时会自动重启
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target重要:
User和Group: 将your_username替换为你登录 Linux 系统的用户名。WorkingDirectory: 将/path/to/your/project/speaches替换为speaches项目的 绝对路径。ExecStart: 同样,将/path/to/your/project/speaches替换为项目的绝对路径。这里我们直接指定了虚拟环境.venv/bin/中的uvicorn可执行文件,这样可以确保使用了正确的 Python 环境和依赖。
第 2 步:重载、启用并启动服务
保存并关闭 编辑器 (在 nano 中,按 Ctrl+X,然后按 Y,再按 Enter)。
重载 systemd,使其识别到新的服务文件:
sudo systemctl daemon-reload
启用服务,这样它就会在开机时自动启动:
sudo systemctl enable speaches.service
立即启动服务,无需重启电脑:
sudo systemctl start speaches.service
第 3 步:检查服务状态
你可以随时检查服务的运行状态,看看是否有错误:
sudo systemctl status speaches.service如果看到 active (running),说明服务已成功运行。还可以使用 journalctl -u speaches.service -f 来实时查看服务的日志输出。
附录:关于硬件配置与类似工具
speaches 采用的是 Faster-Whisper 后端,其资源消耗和 Faster-Whisper 基本一致。官方文档建议:
对于 production,推荐16GB内存、8核CPU、带8GB显存的NVIDIA显卡。
具体来说,可以区分如下情况
- 个人测试/轻量使用:4核CPU + 8G内存 + 50G硬盘(可无GPU,速度慢)
- 小团队/小型服务:8核CPU + 16G内存 + 100G硬盘 + 8GB显存GPU
- 中大型/多用户:16核CPU + 32G内存 + 200G硬盘 + 16GB+显存GPU
类似工具,可以重点关注:
- 需要说话人分离/逐词字幕:
WhisperX(或 whisper-diarize) - 需要本地批量、极简命令行:
whisper-ctranslate2、whisper-standalone-win - 需要后期人工校对/字幕编辑:
wscribe - 需要实时转写:
Whisper-Streaming、WhisperLive - 只要极简 API:
Whisper-FastAPI