阿泰知识库
友善软路由R4S R6S等各种软路由固件信息整理
openai codex 跳过yes
关于funstat镜像获取和阿泰制作的镜像机器人
💻 Codex 安装与配置教程(适用于 macOS M 系列芯片)文章末尾添加了英特尔芯片区别
💻 Codex 安装与配置教程(适用于 Windows 系统)
Telegram BOT (@openaiw_bot) 探索与 MCP 封装项目
funstat BOT 完整功能列表(基于截图分析)
funstat BOT MCP 封装 - 系统架构规划
重要发现:@openaiw_bot 响应机制问题与解决方案
Telegram 请求限制分析与批量调用架构设计
funstat BOT MCP 封装 - 完整架构流程图 (Mermaid)
Telegram客服系统 - 完整开发文档
Telegram客服系统 - 完整测试报告 (2025-10-26)
Funstat BOT MCP 封装 - 完整流程图集
Funstat BOT MCP 包装项目 - 完成总结
Funstat MCP Server - 快速开始教程(完整版)
Session 文件安全更新 - 完成报告
多用户部署指南 - 如何让其他人使用 Funstat MCP
5种完美的永久替代部署方案
本文档使用 MrDoc 发布
-
+
首页
funstat BOT MCP 封装 - 完整架构流程图 (Mermaid)
# funstat BOT MCP 封装 - 架构流程图 ## 1. 整体系统架构 ```mermaid graph TB subgraph "用户层" U1[用户 1] U2[用户 2] U3[用户 N...] end subgraph "Claude Code" C1[Claude Instance 1] C2[Claude Instance 2] C3[Claude Instance N] end subgraph "MCP Server" MCP[MCP 工具接口] Q[请求队列<br/>Rate Limiter] S[智能调度器] Cache[结果缓存<br/>Redis/内存] end subgraph "Telegram 客户端层" TC1[Telethon Client 1] TC2[Telethon Client 2] TC3[Telethon Client N] end subgraph "Telegram 生态" Bot[@openaiw_bot<br/>funstat/infostat] end U1 --> C1 U2 --> C2 U3 --> C3 C1 --> MCP C2 --> MCP C3 --> MCP MCP --> Q Q --> S S --> Cache S --> TC1 S --> TC2 S --> TC3 TC1 --> Bot TC2 --> Bot TC3 --> Bot Bot --> TC1 Bot --> TC2 Bot --> TC3 TC1 --> S TC2 --> S TC3 --> S S --> Cache Cache --> MCP MCP --> C1 MCP --> C2 MCP --> C3 style MCP fill:#e1f5ff style Q fill:#fff9c4 style S fill:#c8e6c9 style Cache fill:#ffccbc style Bot fill:#f3e5f5 ``` --- ## 2. 单次请求完整流程 ```mermaid sequenceDiagram participant U as 用户 participant C as Claude Code participant M as MCP Server participant RL as Rate Limiter participant Cache as 缓存 participant TC as Telethon Client participant Bot as @openaiw_bot U->>C: 发起查询<br/>"搜索 python 群组" C->>M: openaiw_search_groups(query="python") M->>Cache: 检查缓存 alt 缓存命中 Cache-->>M: 返回缓存结果 M-->>C: 返回结果 C-->>U: 展示结果 else 缓存未命中 M->>RL: 请求令牌 RL->>RL: 检查速率限制 alt 未达到限制 RL-->>M: 授予令牌 M->>TC: send_message("/search python") TC->>Bot: 发送消息 Bot->>Bot: 处理查询 Bot-->>TC: 返回搜索结果 TC-->>M: 解析响应 M->>Cache: 存储结果 M-->>C: 返回结果 C-->>U: 展示结果 else 达到限制 RL->>RL: 等待令牌补充 Note over RL: 等待 50-100ms RL-->>M: 授予令牌 M->>TC: send_message("/search python") TC->>Bot: 发送消息 Bot-->>TC: 返回结果 TC-->>M: 解析响应 M-->>C: 返回结果 C-->>U: 展示结果 end end ``` --- ## 3. 批量并发请求处理流程 ```mermaid graph TB subgraph "并发请求" R1[请求 1<br/>搜索群组] R2[请求 2<br/>查询用户] R3[请求 3<br/>热门群组] R4[请求 N...] end subgraph "请求队列" Q[FIFO Queue<br/>最大 1000] end subgraph "速率限制器" RL[Token Bucket<br/>18 令牌/秒] T1[令牌 1] T2[令牌 2] T3[令牌 3] end subgraph "账号池" A1[账号 1<br/>空闲] A2[账号 2<br/>使用中] A3[账号 3<br/>空闲] end subgraph "负载均衡" LB{负载均衡器<br/>最少使用策略} end R1 --> Q R2 --> Q R3 --> Q R4 --> Q Q --> RL RL --> T1 RL --> T2 RL --> T3 T1 --> LB T2 --> LB T3 --> LB LB --> A1 LB --> A2 LB --> A3 A1 --> Bot1[@openaiw_bot] A2 --> Bot2[@openaiw_bot] A3 --> Bot3[@openaiw_bot] style Q fill:#fff9c4 style RL fill:#c8e6c9 style LB fill:#e1f5ff style Bot1 fill:#f3e5f5 style Bot2 fill:#f3e5f5 style Bot3 fill:#f3e5f5 ``` --- ## 4. 多账号负载均衡策略 ```mermaid stateDiagram-v2 [*] --> 收到请求 收到请求 --> 检查账号池 检查账号池 --> 选择策略 选择策略 --> 轮询: Round Robin 选择策略 --> 最少使用: Least Used 选择策略 --> 加权: Weighted 轮询 --> 选择账号1 最少使用 --> 检查使用率 加权 --> 根据权重选择 检查使用率 --> 选择最空闲账号 选择账号1 --> 发送请求 选择最空闲账号 --> 发送请求 根据权重选择 --> 发送请求 发送请求 --> 检查结果 检查结果 --> 成功: 正常响应 检查结果 --> FloodWait: Flood Wait 错误 检查结果 --> 失败: 其他错误 成功 --> 更新统计 FloodWait --> 标记账号: 等待中 失败 --> 故障转移 故障转移 --> 选择下一个账号 选择下一个账号 --> 发送请求 标记账号 --> 选择其他账号 选择其他账号 --> 发送请求 更新统计 --> [*] ``` --- ## 5. 限流与重试机制 ```mermaid flowchart TD Start[开始请求] --> CheckCache{检查缓存?} CheckCache -->|命中| ReturnCache[返回缓存结果] CheckCache -->|未命中| GetToken[获取令牌] GetToken --> HasToken{有令牌?} HasToken -->|是| SelectAccount[选择账号] HasToken -->|否| WaitToken[等待令牌<br/>50ms] WaitToken --> GetToken SelectAccount --> SendRequest[发送请求] SendRequest --> CheckResponse{检查响应} CheckResponse -->|成功| ParseResponse[解析响应] CheckResponse -->|FloodWait| HandleFlood{重试次数<3?} CheckResponse -->|网络错误| HandleError{重试次数<3?} CheckResponse -->|超时| HandleTimeout[返回超时提示] HandleFlood -->|是| WaitFlood[等待 Flood 时间] HandleFlood -->|否| ReturnError[返回错误] HandleError -->|是| RetryRequest[重试请求] HandleError -->|否| ReturnError WaitFlood --> RetryRequest RetryRequest --> SendRequest ParseResponse --> CacheResult[缓存结果] CacheResult --> ReturnResult[返回结果] ReturnCache --> End[结束] ReturnResult --> End ReturnError --> End HandleTimeout --> End style Start fill:#e1f5ff style End fill:#c8e6c9 style CheckCache fill:#fff9c4 style CacheResult fill:#ffccbc ``` --- ## 6. 请求限制说明 ### 单账号限制 - **速率**: ~18-20 请求/秒 - **队列**: 最多 100 个待处理请求 - **超时**: 20 秒无响应则超时 ### 多账号限制(3 个账号) - **总速率**: ~54-60 请求/秒 - **队列**: 最多 500 个待处理请求 - **故障转移**: 自动切换到其他账号 ### 缓存机制 - **热门查询**: 缓存 1 小时 - **用户信息**: 缓存 24 小时 - **命中率**: 预计 30-40% --- ## 7. 普通用户调用方式 ### 方式 1: 通过 Claude Code (推荐) ``` 用户: 帮我搜索 "python" 相关的 Telegram 群组 Claude: [自动调用 openaiw_search_groups] 查询中... 找到以下群组: 1. Python 学习交流群 2. Python 开发者社区 ... ``` ### 方式 2: 通过 API 调用 ```bash curl -X POST http://localhost:8080/api/search \ -H "Content-Type: application/json" \ -d '{"query": "python"}' ``` ### 方式 3: 通过 Web 界面 ``` 访问: http://localhost:8080/web 输入查询 → 点击搜索 → 查看结果 ``` --- ## 8. 性能指标 | 配置 | 账号数 | 吞吐量 | 延迟 | 成本 | |-----|-------|--------|------|------| | 小规模 | 1 | 15-18 req/s | 1-2s | $5/月 | | 中等 | 3 | 45-54 req/s | 1-3s | $15/月 | | 大规模 | 10 | 150-180 req/s | 1-2s | $50/月 | --- **文档说明**: 以上 Mermaid 图表可以在支持 Mermaid 的 Markdown 编辑器中查看,包括: - GitHub - GitLab - Typora - VS Code (with Mermaid extension) - 在线工具: https://mermaid.live/
kttai
2025年10月26日 14:41
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码