关于 TySVA - TypeScript Voice Assistant🪄
TySVA 是一个集成 MCP 服务、向量数据库和语音功能的桌面应用,帮助用户通过对话学习 TypeScript。支持语音和文本输入输出,利用本地 TypeScript 文档和网络搜索为学习提供上下文。
主要功能
- 01语音输入输出和转录
- 02本地向量数据库搜索
- 03网络深度搜索
- 04LlamaIndex Agent 工作流
- 05Docker 部署
适用场景
- 01通过对话学习 TypeScript 概念
- 02获取 TypeScript 文档和示例
- 03进行实时语音交互的编程学习
MCP 相关
TySVA 通过 MCP 服务暴露向量搜索和网络搜索工具,供应用的 Agent 工作流调用。
详细介绍
TySVA - TypeScript 语音助手🪄
通过与 AI 聊天轻松学习 TypeScript
TySVA 旨在为您创建一个学习空间,深入了解 TypeScript,利用:
- Qdrant 本地数据库,包含完整的 TypeScript 文档
- LinkUp,用于网络深度搜索
- MCP 服务,用于向量搜索和网络搜索自动化
- ElevenLabs,用于语音输入转录和语音输出生成
- LlamaIndex,用于 Agent 工作流
它支持语音输入/输出以及文本输入/输出。
安装和启动🚀
第一步对 Docker 和源代码设置方法都是通用的,即克隆仓库并进入其中:
git clone https://github.com/AstraBert/TySVA.git
cd TySVA
进入后,您可以选择以下两种方法之一:
Docker(推荐)🐋
需要:Docker 和 docker compose
- 在
.env.example文件中添加groq_api_key、elevenlabs_api_key和linkup_api_key变量,并将文件名改为.env。获取这些密钥:
mv .env.example .env
- 启动 Docker 应用:
# If you are on Linux/macOS
bash start_services.sh
# If you are on Windows
.\start_services.ps1
- 或手动启动:
docker compose up vector_db -d
docker compose up mcp -d
docker compose up app -d
您将看到应用在 http://localhost:7999/app 上运行,您就可以使用它了。根据您的网络连接和硬件配置,设置可能需要一些时间(首次设置最多需要 15 分钟)- 但这仅在您第一次运行时才需要!
源代码🗎
需要:Docker、docker compose 和 conda
- 在
.env.example文件中添加groq_api_key、elevenlabs_api_key和linkup_api_key变量,并将文件名改为.env。获取这些密钥:
mv .env.example scripts/.env
- 使用专用脚本设置 conda 环境和向量数据库:
# For MacOs/Linux users
bash setup.sh
# For Windows users
.\setup.ps1
- 或者如果您愿意,可以手动进行:
docker compose up vector_db -d
conda env create -f environment.yml
- 现在您可以启动脚本将 TypeScript 文档加载到向量数据库:
conda activate typescript-assistant-voice
python3 scripts/data.py
- 完成后,启动 MCP 服务:
conda activate typescript-assistant-voice
cd scripts
python3 server.py
- 现在打开另一个终端并运行应用:
uvicorn app:app --host 0.0.0.0 --port 7999
您将看到应用在 http://localhost:7999/app 上运行,您就可以使用它了。
工作流

工作流非常简单:
- 当您提交请求时,如果是音频,它会被转录,然后作为起始提示词提交给 Agent 工作流,而如果是文本,它会直接提交给 Agent 工作流
- Agent 工作流可以通过从向量数据库检索文档或搜索网络来解决 TypeScript 问题。如果答案很简单,也可以直接响应(不使用工具)。所有工具都通过 MCP 提供
- Agent 完成后,Agent 过程和输出会被总结,摘要被转换为语音输出。语音输出与 Agent 的文本输出一起返回
贡献
欢迎提交贡献!请遵循此处报告的贡献指南。
许可证和使用权
该软件在 MIT 许可证下提供。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。