child-psycho-companion/docs/PROGRESS_SUMMARY.md

5.3 KiB
Raw Permalink Blame History

儿童心理陪伴玩偶项目 — 进展综述

生成时间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
  • 参数:messagesOpenAI 格式对话数组)、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.pyxiaozhi_cli_client.py

  • 用于调试 xiaozhi-esp32-server WebSocket 连接
  • test_xiaozhi_client.pypytest 测试套件
  • xiaozhi_cli_client.pyCLI 交互工具

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 认证有问题,待进一步调试

中优先级

  1. 流式解析修复(容器内)

    • stream: True 硬编码了两处,导致 stream=False 配置被忽略
    • 修复已在容器内完成,但未同步回宿主机源码
  2. 案例库设计

    • 需要设计心理陪伴案例库,用于 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