docs: 添加项目进展综述 PROGRESS_SUMMARY
parent
9b79ccd0a3
commit
a3ef0809d9
|
|
@ -0,0 +1,168 @@
|
|||
# 儿童心理陪伴玩偶项目 — 进展综述
|
||||
|
||||
> 生成时间:2026-04-05 10:20 CST
|
||||
> 负责人:西莉雅(Sileya)
|
||||
> 仓库:http://xmhome.ow-my.com:3000/sileya-ai/child-psycho-companion
|
||||
|
||||
---
|
||||
|
||||
## 📌 项目背景
|
||||
|
||||
基于小智 AI 生态的儿童心理陪伴玩偶项目,由客座教授(大头/胡老师)指导团队开发。目标是通过 AI 实时检测儿童对话中的心理问题信号,并给予适当引导。
|
||||
|
||||
---
|
||||
|
||||
## ✅ 已完成功能
|
||||
|
||||
### 1. 核心筛查模块 `PsychoScreener`
|
||||
|
||||
**文件:** `src/psycho_screener/`
|
||||
|
||||
- 调用 MiniMax API 检测儿童对话心理问题
|
||||
- 检测类别(7类):
|
||||
- `bullying` — 校园霸凌
|
||||
- `depression` — 抑郁倾向
|
||||
- `anxiety` — 焦虑
|
||||
- `family_conflict` — 家庭冲突
|
||||
- `self_esteem` — 自尊问题
|
||||
- `trauma` — 创伤
|
||||
- `social_isolation` — 社交孤立
|
||||
- `build_response_prefix()`:检测到问题时注入 `【已发现特定心理问题】...` 前缀
|
||||
|
||||
**状态:** ✅ 真实 API 集成测试全部通过(bullying/normal/full_flow)
|
||||
|
||||
### 2. MCP 工具(标准协议版)
|
||||
|
||||
**文件:** `src/psycho_screener/mcp_tool.py`
|
||||
|
||||
- 使用 `fastmcp` 框架
|
||||
- 工具名:`psycho_screen`
|
||||
- 参数:`messages`(OpenAI 格式对话数组)、`include_prefix`(是否注入前缀)
|
||||
- 返回:筛查结果(JSON)+ 注入前缀
|
||||
|
||||
**文件:** `src/psycho_screener/mcp_tool_native.py`
|
||||
|
||||
- 使用官方 `mcp` Python SDK(不依赖 fastmcp)
|
||||
- 适用于直接集成到 xiaozhi-esp32-server 的 Docker 容器环境
|
||||
|
||||
**状态:** ✅ 原生 MCP stdio 协议验证通过(霸凌/抑郁/正常对话检测正确)
|
||||
|
||||
### 3. 测试语料库
|
||||
|
||||
**文件:** `docs/test_corpus.md`
|
||||
|
||||
- 8条虚构对话语料,覆盖 bullying、depression、anxiety、normal 等场景
|
||||
|
||||
### 4. xiaozhi CLI 客户端测试工具
|
||||
|
||||
**文件:** `test_xiaozhi_client.py`、`xiaozhi_cli_client.py`
|
||||
|
||||
- 用于调试 xiaozhi-esp32-server WebSocket 连接
|
||||
- `test_xiaozhi_client.py`:pytest 测试套件
|
||||
- `xiaozhi_cli_client.py`:CLI 交互工具
|
||||
|
||||
### 5. MCP 模拟器
|
||||
|
||||
**文件:** `mcp_simulator.py`
|
||||
|
||||
- 模拟 xiaozhi 与 psycho-screener 的 stdio 对接
|
||||
- 验证 MCP 协议通信正常
|
||||
|
||||
### 6. 本地 Docker 环境
|
||||
|
||||
- `xiaozhi-esp32-server` 容器运行中(端口 8000/8003)
|
||||
- `mcp-endpoint-server` 容器运行中(端口 8004)
|
||||
- `.mcp_server_settings.json` 已配置(stdio 模式,挂载源码进容器)
|
||||
- `/app/psycho-screener` 源码卷已挂载进 xiaozhi-esp32-server 容器
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Git Commit 历史
|
||||
|
||||
| Commit | 描述 |
|
||||
|--------|------|
|
||||
| `9b79ccd` | feat: 原生MCP工具 + xiaozhi CLI客户端测试工具 |
|
||||
| `6c483b8` | feat: MCP协议模拟器 - 验证xiaozhi与psycho-screener的stdio对接 |
|
||||
| `7896fbd` | docs: 更新 README,包含 MCP 接入指南 |
|
||||
| `558b105` | feat: MCP工具 + 测试语料 |
|
||||
| `1ab84d4` | fix: 修复 MiniMax 思考过程混入 JSON 响应的问题 |
|
||||
| `d5e64f4` | feat: 儿童心理陪伴筛查插件初始版本 |
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ 待解决问题
|
||||
|
||||
### 高优先级
|
||||
|
||||
1. **Telegram 群组接入故障**
|
||||
- 群「童心语伴-ai陪伴」(-1003769524030) bot 没有收到消息
|
||||
- 错误:`"没有收到消息"`、`"This group is not allowed"`
|
||||
- 原因:未确定(可能是群模式权限设置或上下文压缩导致的文件破损)
|
||||
|
||||
2. **xiaozhi-server MCP stdio 工具初始化未确认**
|
||||
- xiaozhi-server MCP stdio 工具初始化未在日志中确认
|
||||
- 需要真实设备连接触发才能验证
|
||||
|
||||
3. **py-xiaozhi 客户端 WebSocket 认证问题**
|
||||
- WebSocket 认证有问题,待进一步调试
|
||||
|
||||
### 中优先级
|
||||
|
||||
4. **流式解析修复(容器内)**
|
||||
- `stream: True` 硬编码了两处,导致 `stream=False` 配置被忽略
|
||||
- 修复已在容器内完成,但未同步回宿主机源码
|
||||
|
||||
5. **案例库设计**
|
||||
- 需要设计心理陪伴案例库,用于 AI 引导话术生成
|
||||
|
||||
---
|
||||
|
||||
## 🔄 超时问题说明
|
||||
|
||||
近期在西莉雅参与的 Telegram 群聊中,发生了多次超时(5-6次),上下文频繁压缩。可能原因:
|
||||
|
||||
- Session 上下文长度累积过快
|
||||
- Telegram 群聊消息路由不稳定导致重复触发
|
||||
- xiaozhi-server 流式解析问题导致异常响应堆积
|
||||
|
||||
**建议措施:** 将超时时间拉长至 30 分钟(由 Joery 建议)
|
||||
|
||||
---
|
||||
|
||||
## 📂 项目结构
|
||||
|
||||
```
|
||||
child-psycho-companion/
|
||||
├── README.md
|
||||
├── pyproject.toml
|
||||
├── .env / .env.example
|
||||
├── mcp_config.json # MCP 工具配置
|
||||
├── mcp_simulator.py # MCP 协议模拟器
|
||||
├── test_xiaozhi_client.py # pytest 测试套件
|
||||
├── xiaozhi_cli_client.py # CLI 调试工具
|
||||
├── docs/
|
||||
│ └── test_corpus.md # 测试语料(8条)
|
||||
└── src/
|
||||
└── psycho_screener/
|
||||
├── __init__.py
|
||||
├── screener.py # 核心筛查逻辑
|
||||
├── prompt.py # Prompt 模板
|
||||
├── models.py # 数据模型
|
||||
├── mcp_tool.py # fastmcp 版本
|
||||
└── mcp_tool_native.py # 原生 mcp SDK 版本
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📅 下一步计划
|
||||
|
||||
1. 解决 Telegram 群组接入问题
|
||||
2. 用真实设备测试 MCP stdio 工具初始化
|
||||
3. 修复 py-xiaozhi WebSocket 认证问题
|
||||
4. 将容器内流式解析修复同步回源码
|
||||
5. 设计心理陪伴案例库
|
||||
6. 接入真实 xiaozhi-esp32-server MCP 端点
|
||||
|
||||
---
|
||||
|
||||
_最后更新:2026-04-05 10:20 CST_
|
||||
Loading…
Reference in New Issue