Files
PlantAI-dev/WECHAT_INTEGRATION.md
T
2026-08-03 18:42:47 +08:00

3.6 KiB
Executable File

WeChat 集成指南 - bbav20311

基于 mcp-wechat-server 的微信集成方案

📋 功能概览

功能 状态 说明
任务完成通知 ✅ 自动发送微信通知
接收用户指令 ✅ 支持自然语言分析请求
任务状态查询 ✅ 查询任务进度和详情
多用户支持 ✅ 区分不同微信用户

🚀 快速开始

1. 安装依赖

# 安装 Bun (mcp-wechat-server 需要)
curl -fsSL https://bun.sh/install | bash

# 验证安装
bun --version  # >= 1.0.0

2. 测试基础功能

cd /home/xia-lab/wutx/00test/bbav20311

# 运行基础测试
python wechat_integration.py

3. 启动完整服务

# 启动微信任务桥接服务
python wechat_task_bridge.py

📱 用户交互流程

用户微信 → 发送分析请求 → bbav20311 处理 → 微信通知结果
     ↓
支持命令:
• "帮助" - 显示帮助信息
• "状态" - 查询系统状态  
• "Ft.SPL 基因家族鉴定" - 创建分析任务
• "任务列表" - 查看进行中的任务
• "详情 <任务ID>" - 查看任务详情

🔧 集成到现有系统

在 pipeline_backend.py 中添加通知

from wechat_integration import WeChatTaskNotifier

async def run_stage_with_notification(job_id: str, stage: str, user_wechat_id: str):
    """运行 stage 并发送微信通知"""
    
    notifier = WeChatTaskNotifier(user_wechat_id=user_wechat_id)
    
    # 通知开始
    await notifier.notify_task_started(task_id=job_id, task_type=stage)
    
    try:
        # 执行实际任务
        result = await run_stage(job_id, stage)
        
        # 通知完成
        await notifier.notify_task_completed(
            task_id=job_id,
            task_type=stage,
            output_files=result.get("output_files", [])
        )
        
    except Exception as e:
        # 通知失败
        await notifier.notify_task_failed(
            task_id=job_id,
            task_type=stage,
            error=str(e)
        )

在 API 中添加微信通知参数

@app.post("/api/pipeline/run")
async def run_pipeline(
    request: PipelineRequest,
    wechat_user_id: Optional[str] = None  # 新增参数
):
    job = new_job()
    
    if wechat_user_id:
        # 后台运行并发送微信通知
        asyncio.create_task(
            run_with_wechat_notification(job.job_id, request, wechat_user_id)
        )
        return {"job_id": job.job_id, "message": "任务已提交,将通过微信通知结果"}
    else:
        # 原有逻辑
        result = await run_stage(job.job_id, request.stage)
        return result

⚠️ 注意事项

  1. 登录状态: 首次使用需要扫码登录,Cookie 会保存在 ~/.mcp-wechat-server/
  2. 封号风险: 个人微信机器人存在封号风险,建议使用企业微信或测试号
  3. 网络要求: 扫码时如果页面加载慢,尝试切换到移动数据网络
  4. 依赖 Bun: mcp-wechat-server 需要 Bun 运行时

📁 文件说明

文件 说明
wechat_integration.py 核心集成模块,提供 WeChatIntegration 类
wechat_task_bridge.py 任务桥接服务,连接微信和 bbav20311
WECHAT_INTEGRATION.md 本文档

🔮 后续优化

  • 接入真实的 MCP 协议(当前为模拟实现)
  • 支持图片/文件发送
  • 支持群聊 @机器人
  • 添加任务队列管理
  • 集成飞书作为备选通道

📚 参考