部署
- 用到的项目是海螺的免费api,经试验项目中的vercel无法部署,报404not found,可用render部署和serv00部署,serv00可以用s4的机器来部署,s3的被墙了不行,以及用服务器的docker部署,docker,render保活和render具体部署看项目说明,写得很详细。
serv00的部署教程全程参考的是 @Saika 博客部署Uptime-Kuma的过程,很感谢这位佬,以下是超详细的serv00的部署教程,这个部署过程参考了很多佬的教程,在此表示感谢。请注意s3和部分s4部署这个服务会无法连接到海螺导致不能正常运行,只能s4部署,现在新注册的都是s5.
serv00在部署之前,请连上shh的时候先ping一下海螺的ip,看能不能ping通,ping不通就不要在这台serv00部署了
ping 39.101.122.149
serv00部署
- 注册一个 Serv00.com,注册完成后邮箱里有账号密码,邮箱里有panel的网址,登录serv00面板后,先右上角设置语言调为English
-
然后点击 Additional services - Run your own applications 点击enable,设置成功后显示如下:
-
开启端口
-
自定义域名
-
1.点进WWW websites,点+add new website,然后输入自己的域名或者二级域名,然后添加,需要注意的是添加的二级域名要与在Cloudflare的二级域名一样,选择刚开启的端口,记住这个端口,后面要用到
-
- 点进 DNS zones,在自己的域名旁边点Edit,找到A类型的ip地址复制到Cloudflare的域名解析里,ying为我的二级域名的前缀,这样自定义域名就完成了
自动拉起
- 下载 Termius用shh连接serv00,s4可以直接连,s3要用web3.serv00.com才能连
请注意在如果在添加以下定时任务之前有任务在运行中请先 SSH 窗口保存 pm2 的当前任务列表快照,因为现在还没开始部署服务,所以这里不用pm2 save
pm2 save
(如果没有先pm2 save,再添加第一条任务的话会把进程全部清空,这样就要重新自己手动启动服务了)
在 Panel 中找到 Cron jobs 选项卡,使用 Add cron job 功能添加任务,Specify time 选择 After reboot,即为重启后运行。Form type 选择 Advanced,Command 写:
pkill -kill -u 你的用户名 && /home/你的用户名/.npm-global/bin/pm2 resurrect
在 Panel 中找到 Cron jobs 选项卡,使用 Add cron job 功能添加任务,Specify time 选择 Specify manually,即为手动指定。Form type 选择 Advanced,Minute 选择Every,其他的都选Each time,Command 写:
/home/你的用户名/.npm-global/bin/pm2 resurrect
最后有在列表里有两条定时任务
然后再在SSH 窗口保存一次 pm2的当前任务列表快照:
pm2 save
- 进入shh后输入以下命令,安装pm2,安装完成之后请断开shh重新连接
bash <(curl -s https://raw.githubusercontent.com/k0baya/alist_repl/main/serv00/install-pm2.sh)
下载源代码,把ying.example.com替换为你的二级域名
cd ~/domains/ying.example.com && wget https://github.com/eggacheb/hailuo-free-api/archive/refs/tags/1.22.1.zip && unzip 1.22.1.zip && rm -rf public_html && mv -f hailuo-free-api-1.22.1 public_html && rm -f 1.22.1.zip && cd public_html
下载dist文件
wget https://github.com/eggacheb/hailuo-free-api/releases/download/1.22.1/dist.tar.gz && tar -xzvf dist.tar.gz && rm dist.tar.gz
安装补充依赖:
npm install
设置生产模式:
npm ci --production
使用pm2管理后台运行,要把PORT替换成你放行的端口
pm2 start dist/index.js --name "hailuo-free-api" -- --port=PORT
查看服务实时日志
pm2 logs hailuo-free-api
自动续期
以上serv00的部署就结束了,进自己的二级域名就可以看到服务在运行了
- render注册后如遇到绑卡问题,用一个邮箱注册render,然后再注销,再用这个邮箱注册github,然后以github方式注册render就可以了
使用教程
获取token
从 海螺AI 获取token
进入海螺AI随便发起一个对话,然后F12打开开发者工具,从Application > LocalStorage中找到_token
的值,这将作为Authorization的Bearer Token值:Authorization: Bearer TOKEN
接入newapi或者oneapi
选openai渠道,模型添加tts-1和tts-1-hd,密钥填获取到的token,代理地址填部署服务的域名,发言人列表的中的所有发言人都可以使用
各平台使用
Nextchat二开
nextchat二开是文本转语音功能的,想要用可莉,雷电将军等海螺语音需要fork一份二开的仓库,然后在仓库里修改/app/constant.ts下的发言人名字,把想用的发言人名字添加进去,然后在nextchat中选择对应的tts模型和发言人,发言人列表的中的所有发言人都可以使用,如下图
Fastgpt
修改config.json的tts部分,如下图
librechat
在 librechat.yaml
中添加此配置,url处的地址改为你的newapi地址
tts:
openai:
apiKey: 'sk-xxx'
model: 'tts-1'
voices: ['alloy','echo','fable','onyx','nova','shimmer','keli_hailuo','YaeMiko_hailuo','male-botong','Podcast_girl','boyan_new_hailuo','female-shaonv','xiaoyi_mix_hailuo','xiaomo_sft','cove_test2_hailuo','scarlett_hailuo','Leishen2_hailuo','Zhongli_hailuo','Paimeng_hailuo','Hutao_hailuo','Xionger_hailuo','Haimian_hailuo','Robot_hunter_hailuo','Linzhiling_hailuo','huafei_hailuo','lingfeng_hailuo','male_dongbei_hailuo','JayChou_hailuo','Daniel_hailuo','Bingjiao_zongcai_hailuo','female-yaoyao-hd','murong_sft','shangshen_sft','kongchen_sft','shenteng2_hailuo','Guodegang_hailuo','yueyue_hailuo']
url: "https://api.compatible.com/v1/audio/speech"
以下是在huggingface部署的librechat的修改tts的教程
- 1.在根目录新建一个librechat.yaml,填入以下内容,url处的地址改为你的newapi地址
version: 1.0.9
cache: true
registration:
socialLogins: ["discord", "facebook", "github", "google", "openid"]
tts:
openai:
apiKey: '${TTS_API_KEY}'
model: 'tts-1'
voices: ['alloy','echo','fable','onyx','nova','shimmer','keli_hailuo','YaeMiko_hailuo','male-botong','Podcast_girl','boyan_new_hailuo','female-shaonv','xiaoyi_mix_hailuo','xiaomo_sft','cove_test2_hailuo','scarlett_hailuo','Leishen2_hailuo','Zhongli_hailuo','Paimeng_hailuo','Hutao_hailuo','Xionger_hailuo','Haimian_hailuo','Robot_hunter_hailuo','Linzhiling_hailuo','huafei_hailuo','lingfeng_hailuo','male_dongbei_hailuo','JayChou_hailuo','Daniel_hailuo','Bingjiao_zongcai_hailuo','female-yaoyao-hd','murong_sft','shangshen_sft','kongchen_sft','shenteng2_hailuo','Guodegang_hailuo','yueyue_hailuo']
url: "https://api.compatible.com/v1/audio/speech"
- 2.在Dockerfile中注释掉从GitHub上获取配置文件,改为从本地获取,如下图
COPY librechat.yaml /app/librechat.yaml
- 3.在设置的环境变量中添加TTS_API_KEY,数值为你newapi的key
- 4.在librechat的设置中选择你想要的模型,然后点击播放按钮就可以听到啦
Open WebUI
在环境变量中添加以下内容,地址可以直接填服务的地址加/v1,key直接填token,具体环境变量看文档 环境变量配置 | 打开 WebUI — Environment Variable Configuration | Open WebUI