annu678/WatcherRobot-local.pokemon_dex
0
宝可梦 · 随身图鉴(本地原型)
点击网页拍照 → 机器人单张 JPEG → 本机 llama.cpp + Qwen3-VL 2B → 图鉴数据 → MiniMax 中文 TTS → 机器人扬声器。
界面实时显示流程状态;语音按句合成和顺序播放,并提前合成下一句。第一句就绪后即可开始出声,无需等待整段。此方案是分句播报,不是增量 PCM 连续流式,句间可能有停顿。
也支持输入中文/英文名称查询。低确定性识别显示重拍提示;模型仍可能误认,不构成准确性保证。
运行
本机工作目录的上一级已配置 .venv,在上一级执行:
.\.venv\Scripts\watcherobot.exe robot status
.\.venv\Scripts\watcherobot.exe app check pokemon_dex
.\.venv\Scripts\watcherobot.exe app run pokemon_dex网页地址:http://127.0.0.1:8769。Application 运行后自动打开;关闭网页不会停止 Application。停止请使用 watcherobot app stop。
不要直接运行 app.py,它需要 Runtime 注入 ApplicationContext。SDK 和实际运行的 Runtime 均要求 0.1.9 或以上且小于 0.2。
外部依赖
- Windows、Python 3.10–3.12(当前测试 3.11)、WatcheRobot SDK 0.1.9。
- 免安装 llama.cpp 服务
http://127.0.0.1:18765,API 模型别名qwen3-vl:2b(仅名称,不依赖 Ollama)。使用 Qwen 官方Qwen3VL-2B-Instruct-Q4_K_M.gguf和mmproj-Qwen3VL-2B-Instruct-Q8_0.gguf。本机模型位于C:\WatcheRobotTools\models\Qwen3-VL-2B,引擎位于上一级.tools\llama。模型与引擎不随应用源码打包。 - MiniMax 个人 API 凭据。运行
python configure_tts.py,输入内容隐藏,保存到操作系统凭据管理器。也支持后端MINIMAX_API_KEY环境变量;已运行 Daemon 不一定继承新终端的环境变量,优先使用凭据存储。 - 默认 TTS:
speech-2.6-turbo/male-qn-qingse,可通过启动 Runtime 前配置POKEDEX_TTS_MODEL/POKEDEX_TTS_VOICE调整。 - 音频使用 24kHz、单声道 PCM S16LE;相机、识别和播报串行,不并发占用设备媒体。
隐私及费用
- 视觉推理在本机进行,照片不会发送给 MiniMax。
- MiniMax 仅接收待播报的图鉴文本,按账户费率计费;相同文本音频会缓存。
- 照片、音频和查询缓存保存在
%LOCALAPPDATA%\WatcheRobotPokedex,不在应用源码内,不会随源码分发。照片目前不会自动清理,可在停止应用后自行删除该目录中的 photos 子目录。 - API Key 只在后端读取,不出现在网页、仓库或下载包中。
- 网页仅绑定本机回环地址,禁止跨站控制请求,不应暴露到公网。
应用广场准备状态
这是 SDK 标准 app.json + app.py 的源码项目,使用外部浏览器网页,不声称是 Desktop 内嵌面板。
尚未发布、尚未提交审核,未经用户明确许可不得上传。 发布前还需:作者和应用标识确认、实机回归、外部依赖安装体验、商标/数据许可检查,以及应用广场审核要求确认。通过 app check 不代表平台审核通过。
.watcherignore 是 SDK 打包排除规则;SDK 不以 .gitignore 作为分发依据。请勿将密钥、用户照片、模型权重放进源码目录。
宝可梦相关名称、形象和商标归其权利人所有。本原型非官方作品,不附带官方角色插画。图鉴数据来源和使用注意见 data 目录说明。
故障排查
- 机器人未连接:打开机器人 Python SDK / Desktop Link 应用,用当前配对码执行
watcherobot robot pair 六位码。 - 模型未就绪:运行上一级
start-vision.cmd,等待模型加载;确认http://127.0.0.1:18765/health返回正常。无需打开 Ollama。 - 模型慢:本机 CPU 推理首轮可能较慢;暂不承诺响应时间。
- 语音错误:文字结果保留,检查 MiniMax 余额、区域和模型权限后点“再听一次”。
- 无
audio.stream能力:设备固件不支持当前播放接口,需兼容固件。 - 端口冲突:关闭旧实例,不要启动多个机器人 Application;可设置
POKEDEX_PORT更换网页端口。
