sun 00e7d34b03
Go CI/CD Deploy to Baota / build-and-deploy (push) Failing after 5m12s
ci: 添加Gitea工作流用于Go项目部署到宝塔
添加CI/CD工作流配置,实现代码推送时自动构建Go项目并部署到宝塔服务器
包含环境安装、项目编译、进程管理和部署重启步骤
2026-05-10 20:04:18 +08:00

ByteDance TTS to OpenAI API Adapter - Linux部署指南

快速开始

这是为Linux环境优化的TTS服务器版本,可以将字节跳动TTS服务适配为OpenAI TTS API格式。

文件说明

  • tts_server_linux.go - Linux优化版主程序
  • start_linux.sh - Linux启动脚本
  • fix_crlf.sh - 换行符修复工具
  • go.mod 和 go.sum - Go模块依赖文件

部署步骤

1. 上传文件到Linux服务器

将本文件夹中的所有文件上传到Linux服务器,建议放在/www/wwwroot/tts-server/目录。

2. 修复换行符(重要!)

在Linux服务器上,执行以下命令修复可能存在的Windows CRLF换行符问题:

cd /www/wwwroot/tts-server
chmod +x fix_crlf.sh
./fix_crlf.sh

3. 安装Go环境(如果未安装)

# 下载Go 1.21.5
cd /tmp
wget https://go.dev/dl/go1.21.5.linux-amd64.tar.gz

# 解压到/usr/local
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz

# 设置环境变量
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
echo 'export GOPROXY=https://goproxy.cn,direct' >> ~/.bashrc
source ~/.bashrc

# 验证安装
go version

4. 启动服务

cd /www/wwwroot/tts-server
chmod +x start_linux.sh
./start_linux.sh start

服务管理命令

  • 启动服务:./start_linux.sh start
  • 停止服务:./start_linux.sh stop
  • 重启服务:./start_linux.sh restart
  • 查看状态:./start_linux.sh status
  • 查看日志:./start_linux.sh logs

接口使用

  • OpenAI TTS API兼容端点:http://你的服务器IP:8080/v1/audio/speech
  • 健康检查:http://你的服务器IP:8080/health

API调用示例

curl -X POST "http://你的服务器IP:8080/v1/audio/speech" \
  -H "Authorization: Bearer sk-7IBXpzK1YszwGArEMvLGzSdZe93rXVxg4CFBe5KRlqs4dVJO" \
  -H "Content-Type: application/json" \
  -d '{"model":"tts-1","input":"你好,这是一个测试文本","voice":"alloy","speed":1.0}' \
  -o output.wav

常见问题

端口被占用

如果8080端口被占用,可以通过环境变量修改端口:

export PORT=8081 && ./start_linux.sh start

启动失败

查看日志文件获取详细信息:

cat /www/wwwroot/tts-server/logs/tts-server.log

环境变量配置

服务现在支持通过环境变量配置所有参数,推荐使用这种方式而不是直接修改代码。

必须的环境变量

  • BYTEDANCE_TTS_APP_ID - 字节跳动TTS应用ID
  • BYTEDANCE_TTS_BEARER_TOKEN - 字节跳动TTS访问令牌
  • BYTEDANCE_TTS_CLUSTER - 字节跳动TTS业务集群
  • BYTEDANCE_TTS_VOICE_TYPE - 字节跳动TTS声音类型

可选的环境变量

  • BYTEDANCE_TTS_ENDPOINT - 字节跳动TTS服务端点(默认:https://openspeech.bytedance.com/api/v1/tts)
  • BYTEDANCE_TTS_TIMEOUT - 字节跳动TTS请求超时时间(默认:30s,支持Go duration格式,如"60s"、"1m")
  • OPENAI_TTS_API_KEY - OpenAI TTS API密钥(未设置时允许任意key)
  • PORT - 服务监听端口(默认:8080)

环境变量使用示例

# 启动服务时设置环境变量
export BYTEDANCE_TTS_APP_ID=your_app_id
export BYTEDANCE_TTS_BEARER_TOKEN=your_token
export BYTEDANCE_TTS_CLUSTER=your_cluster
export BYTEDANCE_TTS_VOICE_TYPE=your_voice_type
export OPENAI_TTS_API_KEY=sk-your_api_key
export PORT=8081
./start_linux.sh start

注意事项

  1. 确保Go版本至少为1.19
  2. 确保服务器有足够的网络权限访问字节跳动TTS服务
  3. 必须设置所有必需的环境变量,否则服务会使用默认值并显示警告信息
  4. 可以通过设置环境变量而不是直接修改代码来配置服务

许可证

本项目采用非商业用途许可协议。您可以免费使用本软件用于非商业目的,但禁止用于任何商业活动。详细条款请参阅项目中的 LICENSE 文件。

S
Description
No description provided
Readme
9.4 MiB
Languages
Go 64%
HTML 27.5%
CSS 5.9%
JavaScript 2.2%
Dockerfile 0.4%