{"id":23888358,"url":"https://github.com/voicelinkvr/voicelinkserver","last_synced_at":"2025-07-23T11:04:56.136Z","repository":{"id":268974356,"uuid":"905555938","full_name":"VoiceLinkVR/VoiceLinkServer","owner":"VoiceLinkVR","description":"api server using faster-whisper and libreTranslate (design for VRCHAT)","archived":false,"fork":false,"pushed_at":"2025-07-11T02:13:37.000Z","size":191,"stargazers_count":10,"open_issues_count":3,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-11T07:02:20.305Z","etag":null,"topics":["docker-compose","voice-control","vr","vrchat"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/boyqiu0010/voice-link-vr-server","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VoiceLinkVR.png","metadata":{"files":{"readme":"README-zh.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-12-19T04:24:40.000Z","updated_at":"2025-07-11T02:13:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"2a59bc2a-fb16-4391-b12a-0c3693911fcc","html_url":"https://github.com/VoiceLinkVR/VoiceLinkServer","commit_stats":null,"previous_names":["voicelinkvr/voicelinkserver"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/VoiceLinkVR/VoiceLinkServer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VoiceLinkVR%2FVoiceLinkServer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VoiceLinkVR%2FVoiceLinkServer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VoiceLinkVR%2FVoiceLinkServer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VoiceLinkVR%2FVoiceLinkServer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VoiceLinkVR","download_url":"https://codeload.github.com/VoiceLinkVR/VoiceLinkServer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VoiceLinkVR%2FVoiceLinkServer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266665790,"owners_count":23964973,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker-compose","voice-control","vr","vrchat"],"created_at":"2025-01-04T08:47:10.396Z","updated_at":"2025-07-23T11:04:56.093Z","avatar_url":"https://github.com/VoiceLinkVR.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VoiceLinkVR-server\n(简体中文|[english](README.md))\n\n这是一个调用faster-whisper和libreTranslate的docker服务端程序\n\n既可以配合VoiceLinkVR的其他客户端如VRCHAT-OSC客户端[VRCLS](https://github.com/VoiceLinkVR/VRCLS)一起使用，也可以独立作为服务端使用\n\n集成了一个非常简单的用户控制界面，项目依赖于[faster-whisper-server（现在叫speeches）](https://github.com/speaches-ai/speaches/tree/v0.6.0-rc.1) 与libreTranslate\n\n## 部署方式\n\n本程序只推荐使用docker compose 方式运行\n\n请先下载本仓库\n\ncd至项目目录中\n\n如果机器的GPU支持cuda12.2以上请运行(国内的朋友)：\n```\ndocker-compose -f docker-compose-cuda-cn.yml up -d\n```\n如果机器的GPU支持cuda12.4.1以上且性能足够(双cuda)请运行(国内的朋友)：\n```\ndocker-compose -f docker-compose-cuda-all-cn.yml up -d\n```\n如果仅拥有cpu以上请运行(国内的朋友)：\n```\ndocker-compose -f docker-compose-cpu-cn.yml up -d\n```\n等待一切运行就绪后请访问：`http://{服务器ip}:8980/ui/login` \n\n首次登陆时输入的用户名和密码将作为默认管理员的账户和密码，请妥善保管\n\n如果忘记管理员账户和密码请自行修改数据库文件，在docker中该文件位于`/usr/src/app/data/db/users.db`\n\n程序保留了原有两个包的后端，分别在8000端口与5000端口\n\n\n## 服务接口文档\n\n### 管理界面\n- 管理界面入口：/ui/login\n- 管理界面主页：/ui/manage_users\n- 管理界面退出 /ui/logout\n- 管理界面删除用户 /ui/deleteUser\n\n### 控制api\n除管理员注册接口在启动后无用户时不需要token外，都需要增加token\n#### 注册管理员接口 \n\n该接口在无用户信息时会自动将第一个用户作为管理员，其他时间将验证token\n\n方法：POST\nurl: /manageapi/registerAdmin  \n传入参数：\n```json\n{\n    \"username\":\"\",\n    \"password\":\"\"\n}\n```\n响应格式：\n```json\n{\"message\": \"User created successfully\"}\n```\n\n#### 更换用户密码接口\n方法：POST\nurl:/manageapi/changePassword\n传入参数：\n```json\n{\n    \"username\":\"\",\n    \"password\":\"\"\n}\n```\n响应格式：\n```json\n{\"message\": \"User created successfully\"}\n```\n#### 注册用户接口\n方法：POST\nurl:/manageapi/register\n传入参数：\n```json\n{\n    \"username\":\"\",\n    \"password\":\"\"\n}\n```\n响应格式：\n```json\n{\"message\": \"User created successfully\"}\n```\n#### 删除用户接口\n方法：POST\nurl:/manageapi/deleteUser\n传入参数：\n```json\n{\n    \"username\":\"\",\n    \"password\":\"\"\n}\n```\n响应格式：\n```json\n{\"message\": \"User created successfully\"}\n```\n### 调用api\n推荐去server.py中查看\n#### 登陆获取token \nurl:/api/login\n```json\n{\n    \"username\":\"\",\n    \"password\":\"\"\n}\n```\n响应格式：\n```json\n//成功\n{\"message\": \"Login successful\", \"access_token\": \"\"}\n//失败\n{\"message\": \"Invalid credentials\"}\n\n```\n#### 获取语音识别结果(中文)\n方法：POST\nurl:/api/whisper/transcriptions\n传入参数：\n```\n//from-data格式\n'file':{文件二进制}\n```\n\n响应格式：\n```json\n{\"text\": \"\"}\n```\n#### 文字翻译接口\n方法：POST\nurl:/api/libreTranslate\n传入参数：\n```json\n{\n    \"source\":\"\",\n    \"target\":\"\",\n    \"text\":\"\"\n\n}\n```\n响应格式：\n```json\n{\"text\": \"\"}\n```\n#### 语音翻译接口(英语)\n方法：POST\nurl:/api/func/translateToEnglish\n传入参数：\n```\n//from-data格式\n'file':{文件二进制}\n```\n响应格式：\n```json\n{\"text\": \"\",\"translatedText\":\"\"}\n```\n#### 注册用户接口\n方法：POST\nurl:/api/func/translateToOtherLanguage\n传入参数：\n```\n//from-data格式\nfiles[\"file\"]:{文件二进制}\ndata={\"targetLanguage\":\"\"}\n//支持的目标语言格式请查看自己部署libreTranslate的/language 接口\n```\n响应格式：\n```json\n{\"text\": \"\",\"translatedText\":\"\"}\n```\n#### 其他接口请查看server.py","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoicelinkvr%2Fvoicelinkserver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvoicelinkvr%2Fvoicelinkserver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoicelinkvr%2Fvoicelinkserver/lists"}