五分钟跑起来
这篇只做一件事:让你在本地看到一个能说话、能聊天的 GOSpeak。
先装这几个东西
| 工具 | 版本 | 干什么用的 |
|---|---|---|
| Go | 1.26+ | 编译后端 |
| Node.js | 20+ | 编译前端 |
| pnpm | 10+ | 装依赖(仓库是 pnpm 工作区) |
| Docker | 最新 | 跑 LiveKit 语音服务,没有的话语音功能用不了 |
| gcc | 任意 | SQLite 要编译 C 代码,Windows 上装 MinGW |
没有 Docker 也能启动,只是进语音频道会失败——文字功能不受影响。
第一步:拿代码、装依赖
git clone https://github.com/NoelOrin/GOSpeak.git
cd GOSpeak
pnpm install第二步:准备配置文件
cd deploy && ./init.sh && cd ..打开 deploy/.env,先只改下面几行就够跑起来(本地开发浏览器与后端同机,LIVEKIT_PUBLIC_URL 留空即可):
DB_TYPE="SQLite"
SFU_PROVIDER="livekit"
LIVEKIT_HOST="ws://localhost:7880"
LIVEKIT_KEY="devkey"
LIVEKIT_SECRET="devsecret"LIVEKIT_KEY / LIVEKIT_SECRET 随便填,但要和下一步 LiveKit 那边的配置一致。
第三步:起语音服务
cd deploy
./init.sh livekit
docker compose up -dinit.sh 会生成 deploy/.env(含随机密钥),compose 会把密钥注入 LiveKit 容器,livekit.yaml 不含任何凭据,所以不需要手动对齐两侧 key。
检查一下有没有起来:
curl -s http://localhost:7880有响应就说明 LiveKit 在跑了。
第四步:起应用
回仓库根目录:
pnpm dev这条命令同时起后端和前端。等两个都就绪:
- 打开
http://localhost:3000就是界面 - 后端在
http://localhost:8998 - 接口文档在
http://localhost:8998/swagger/index.html
第五步:登录进去
首次启动会自动创建管理员账号:
| 用户名 | 密码 |
|---|---|
admin | admin123 |
登录后系统会提示你改密码,改掉就好。
这个默认账号只在库里没有
admin时创建一次。放到公网前一定要改密码。
第六步:试试语音
- 左侧栏点「域」,建一个语音域
- 在域里建一个语音频道
- 点进频道,浏览器会问麦克风权限,允许
- 看到自己的头像亮起来、说话时有绿圈,就通了
想验证多人效果,开一个无痕窗口用另一个账号登进来,进同一个频道。
卡住了看这里
界面白屏 / 接口全 404 后端没起来。看 pnpm dev 的输出里 server 那部分有没有报错,多半是 deploy/.env 里数据库或端口配置有问题。
能登录但进语音频道没声音 LiveKit 没跑或地址配错。先 docker compose ps 看 livekit 容器在不在,再检查 deploy/.env 的 LIVEKIT_PUBLIC_URL 是否为浏览器可达地址(容器部署不能填 ws://livekit:7880)。
端口被占用 后端默认 8998,前端默认 3000。改后端端口用 SERVER_PORT,前端会在 3000 被占时自动顺延到下一个可用端口。
Windows 上编译报 CGO 错误 SQLite 需要 C 编译器。装 MinGW-w64 并把 gcc 加进 PATH。
