From 9729969915c6f7c39e610d92eb3ae8572a55f06d Mon Sep 17 00:00:00 2001 From: mkbk Date: Wed, 17 Jun 2026 18:51:14 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=96=87=E6=A1=A3]=EF=BC=9A=E5=AE=8C=E6=88=90?= =?UTF-8?q?=20README=20=E4=B8=AD=E6=96=87=E5=8C=96=EF=BC=8C=E5=8C=85?= =?UTF-8?q?=E5=90=AB=E9=A1=B9=E7=9B=AE=E8=AF=B4=E6=98=8E=E3=80=81=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E3=80=81=E9=AA=8C=E6=94=B6=E5=91=BD=E4=BB=A4=E5=92=8C?= =?UTF-8?q?=E5=AE=89=E5=85=A8=E7=BA=A6=E6=9D=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 50 ++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 44 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 77a1275..2264def 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,56 @@ -# Owner Voice Pet +# Owner 语音桌宠 -Python desktop pet voice pipeline for the OpenSpec change `add-voice-pet-pipeline`. +这是 `add-voice-pet-pipeline` OpenSpec 变更交付的 Python 桌宠语音 Pipeline。 -The first implementation keeps secrets out of the repository. Configure runtime values with environment variables: +当前实现覆盖: + +- “小杰小杰”唤醒词入口 +- 本机音频 Transport 抽象和文件/内存回放测试通道 +- VAD 人声端点检测 +- 本地 STT Provider 边界和测试 Provider +- OpenAI/NewAPI 兼容 LLM Provider +- 本地 TTS Provider 边界和测试 TTS +- 桌宠状态映射、无 GUI fallback、透明 PNG 状态资产 +- OpenSpec 主规范、自动化测试、CLI 验收和安全扫描 + +## 配置 + +密钥不得写入仓库。运行时通过环境变量配置: - `OWNER_LLM_BASE_URL` - `OWNER_LLM_API_KEY` - `OWNER_LLM_MODEL` - `OWNER_LLM_API_STYLE` -Validation commands used by the change: +默认配置面向当前 NewAPI: ```bash -python3.11 -m compileall src tests -python3.11 -m unittest discover -s tests +OWNER_LLM_BASE_URL=https://newapi.mkbk.shop +OWNER_LLM_MODEL=gpt-5.4-mini +OWNER_LLM_API_STYLE=chat_completions +``` + +## 验收命令 + +```bash +PYTHONPATH=src python3.11 -m compileall src tests scripts +PYTHONPATH=src python3.11 -m unittest discover -s tests +PYTHONPATH=src python3.11 -m owner_voice_pet acceptance +PYTHONPATH=src python3.11 -m owner_voice_pet validate-assets +PYTHONPATH=src python3.11 -m owner_voice_pet security-check openspec validate --all --strict ``` + +真实 NewAPI smoke 测试示例: + +```bash +OWNER_LLM_API_KEY=你的临时Key \ +PYTHONPATH=src python3.11 -m owner_voice_pet llm-smoke --no-stream --message '用一句中文回复:小杰在线。' +``` + +## 安全约束 + +- API key 只从环境变量读取。 +- 仓库内不保存真实密钥。 +- 默认不持久化原始麦克风音频。 +- `security-check` 会扫描已跟踪文本文件中的 `sk-...` 形式密钥。