# wire-pod **Repository Path**: yan6818/wire-pod ## Basic Information - **Project Name**: wire-pod - **Description**: No description available - **Primary Language**: Unknown - **License**: Unlicense - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-02 - **Last Updated**: 2026-01-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # wire-pod `wire-pod` 是一款功能齐全的服务器软件,专为 Anki(现为 Digital Dream Labs)的 [Vector](https://web.archive.org/web/20190417120536if_/https://www.anki.com/en-us/vector) 机器人设计。它的诞生归功于 Digital Dream Labs 开放的 [源代码](https://github.com/digital-dream-labs/chipper)。 它允许任何 Vector 1.0 或 2.0 机器人免费使用语音命令功能,包括常规量产机器人。 ## 安装 安装指南位于 Wiki 中:[安装指南](https://github.com/kercre123/wire-pod/wiki/Installation) #### 方法:使用Docker部署(推荐) 如果您已经安装了Docker Desktop,可以使用以下步骤快速部署wire-pod: 1. 安装Docker Desktop for Windows:https://www.docker.com/products/docker-desktop/ 2. 确保Docker服务已启动 3. 克隆仓库:`git clone https://github.com/kercre123/wire-pod.git` 4. 进入项目根目录:`cd wire-pod` 部署完成后,您可以通过 http://localhost:8080 访问wire-pod的Web界面。 **Windows本地运行方式**: 1. 确保Docker Desktop已安装并运行 2. 打开命令提示符(cmd)或PowerShell 3. 进入项目根目录:`cd path\to\wire-pod` 4. 构建镜像:`docker build -t wirepod .` 5. 启动服务:`docker compose up -d` **注意**:Docker部署方式更加简单可靠,特别是在Windows环境下,可以避免各种依赖和环境配置问题。 go方式运行 ## Wiki 查看 [Wiki](https://github.com/kercre123/wire-pod/wiki) 获取更多关于 wire-pod 的信息,包括安装指南、故障排除、开发指南以及一些有用的提示。 ## 项目概述 wire-pod 是一个用于控制 Anki Vector 机器人的本地服务器替代方案,允许用户在无需官方云服务的情况下使用 Vector 机器人的语音交互功能。 ## 核心目录结构 ### chipper/ 包含项目的主要功能实现: * **cmd/** :不同语音处理服务的主程序入口 * **pkg/initwirepod/** :服务器初始化和启动逻辑 * **pkg/servers/** :包含 chipper、jdocs 和 token 服务器实现 * **pkg/wirepod/** :核心功能模块 * **preqs/** :语音处理请求处理 * **ttr/** :文本到意图的转换 * **stt/** :不同语音到文本服务的实现 * **config-ws/** :Web 配置界面 * **sdkapp/** :SDK 应用支持 * **webroot/** :Web 界面资源 * **intent-data/** :多语言意图数据 ### vector-cloud/ 模拟 Vector 机器人的云服务: * **cloud/** :云服务实现 * **gateway/** :网关服务 * **internal/** :内部库和工具 ## 核心功能 ### 1. 语音处理 * 支持多种语音到文本 (STT) 服务:Vosk、Whisper、Coqui、Leopard、百度等 * 支持多语言识别 * 模块化设计,可轻松切换不同 STT 服务 ### 2. 意图识别与处理 * 基于关键词的意图匹配 * 支持自定义意图 * 支持意图参数提取 * 集成知识图谱,支持 AI 对话 ### 3. 插件系统 * 支持 Lua 脚本和外部命令执行 * 可扩展的插件架构 * 支持自定义响应和动作 ### 4. Web 界面 * 配置管理 * 机器人控制 * 日志查看 * 自定义意图管理 ### 5. 通信协议 * 实现了与 Vector 机器人的通信协议 * 支持 gRPC 和 REST API * 支持 mDNS 服务发现 ## 架构设计 ### 技术栈 * Go 语言开发 * gRPC 用于服务通信 * REST API 用于 Web 界面 * TLS 加密通信 * JSON 配置文件 ### 工作流程 1. 服务器启动,加载配置和初始化 STT 服务 2. 接收来自机器人的语音请求 3. 将语音转换为文本 4. 分析文本,识别意图 5. 根据意图执行相应的动作或返回响应 6. 支持自定义意图和插件扩展 ### 关键组件 #### 配置管理 * pkg/vars/config.go:定义配置结构和加载逻辑 * 支持从环境变量和 JSON 文件加载配置 * 配置热更新支持 #### 服务器初始化 * pkg/initwirepod/startserver.go:服务器启动和初始化 * 配置 TLS 监听 * 启动 gRPC 和 HTTP 服务 * 注册各种服务处理器 #### 语音处理 * pkg/wirepod/preqs/server.go:语音请求处理 * 支持不同 STT 服务的适配 * 语音流处理 #### 意图处理 * pkg/wirepod/ttr/matchIntentSend.go:意图匹配和发送 * 支持精确匹配和部分匹配 * 支持自定义意图和插件 ## 扩展性 ### 自定义意图 * 支持通过 Web 界面添加自定义意图 * 支持关键词匹配和参数提取 * 支持执行外部命令和 Lua 脚本 ### 插件系统 * 支持 Go 插件开发 * 支持动态加载和执行 * 提供插件 API 用于机器人控制 ### STT 服务扩展 * 模块化设计,支持添加新的 STT 服务 * 统一的接口设计,便于集成新服务 ## 多语言支持 * 内置多种语言的意图数据 * 支持根据配置切换语言 * 支持多语言语音识别