Files
WeChatHookBot/FEATURES.md

9.5 KiB

WechatHookBot 功能与指令总结

基于微信 Hook API 的智能机器人框架,采用 HTTP 协议通信

目录


核心架构

技术栈

  • 通信协议: HTTP RESTful API + HTTP 回调服务器
  • API 地址: http://127.0.0.1:61108 (可配置)
  • 回调地址: http://IP:PORT/vxapi
  • 插件系统: 基于装饰器的模块化插件架构
  • 数据库: SQLite (消息记录、键值存储)
  • 缓存: Redis (可选)

消息处理流程

  1. Hook 推送消息到回调服务器 /vxapi
  2. 消息标准化处理 (MessageNormalizer)
  3. 消息入队 (PriorityMessageQueue)
  4. 事件分发到各插件处理器
  5. 按优先级执行插件响应

基础功能

菜单帮助 (Menu)

指令 说明
/菜单 显示功能菜单
/帮助 显示帮助信息
/help 英文帮助
/menu 英文菜单

插件管理 (ManagePlugin)

仅管理员可用

指令 说明
/插件列表 查看所有插件状态
/重载插件 <插件名> 重新加载指定插件
/启用插件 <插件名> 启用指定插件
/禁用插件 <插件名> 禁用指定插件

AI 对话功能

智能对话 (AIChat)

  • 触发方式: @机器人 或 私聊
  • 功能: 基于大语言模型的智能对话
  • 支持: 多轮对话、上下文记忆

智能自动回复 (AutoReply)

  • 触发方式: 自动检测需要回复的消息
  • 架构: 双 LLM 架构 (判断 + 回复)
  • 功能: 智能判断是否需要回复,自动生成回复内容

AI 绘图功能

Flow2API 绘图

指令 说明
/绘画f <提示词> 生成图片
/绘画f横屏 <提示词> 横屏图片 (16:9)
/绘画f竖屏 <提示词> 竖屏图片 (9:16)
引用图片 + /绘画f <提示词> 图生图

NanoImage 绘图

指令 说明
/绘画n <提示词> 使用 OpenAI 格式 API 生成图片

ZImageTurbo 绘图

指令 说明
/z绘图 <提示词> 使用 Z-Image-Turbo 生成图片

AI 视频生成

Sora2API 视频

指令 说明
/sora <提示词> 生成 AI 视频
/sora横屏 <提示词> 横屏视频
/sora竖屏 <提示词> 竖屏视频

GrokVideo 视频

指令 说明
/视频 <提示词> 基于引用图片生成视频

注意: GrokVideo 需要先引用一张图片


娱乐功能

随机图片 (RandomImage)

指令 说明
随机图片 随机美图
图来 随机图片
黑丝 黑丝图片
白丝 白丝图片

随机视频 (RandomVideo)

指令 说明
随机视频 随机短视频
小姐姐视频 小姐姐短视频

舔狗日记 (DogDiary)

触发词 说明
舔狗 获取舔狗日记
舔狗日记 获取舔狗日记

KFC 文案 (KFC)

触发词 说明
疯狂星期四 获取 KFC 文案
KFC 获取 KFC 文案
V我50 获取 KFC 文案

复读姬 (Repeater)

  • 功能: 自动复读群聊中的连续相同消息
  • 触发: 群内连续多人发送相同消息时自动复读

实用工具

60秒新闻 (News60s)

指令 说明
60秒 获取60秒读懂世界新闻
新闻 获取今日新闻

点歌 (Music)

指令 说明
点歌 <歌名> 搜索并发送歌曲

短视频解析 (VideoParser)

  • 功能: 自动解析抖音、快手等短视频链接
  • 触发: 发送包含短视频链接的消息

短剧搜索 (PlayletSearch)

指令 说明
/搜索短剧 <名称> 搜索短剧资源

Epic 免费游戏 (EpicFreeGames)

触发词 说明
喜加一 获取 Epic 免费游戏
Epic 获取 Epic 免费游戏
免费游戏 获取 Epic 免费游戏

群聊总结 (ChatRoomSummary)

指令 说明
/总结 总结今日群聊内容
/群聊总结 总结群聊内容
/昨日总结 总结昨日群聊内容

群聊管理

新人欢迎 (GroupWelcome)

  • 功能: 新成员加入群聊时自动发送欢迎消息
  • 触发: 自动检测新成员入群事件

退群通知 (GroupLeave)

  • 功能: 成员退出群聊时发送通知
  • 触发: 自动检测成员退群事件

签到系统

普通签到 (SignInPlugin)

指令 说明
签到 每日签到

鹿打卡 (DeerCheckin)

指令 说明
🦌 鹿打卡
🦌日历 查看打卡日历
🦌帮助 查看打卡帮助
🦌补签 <月> <日> 补签指定日期

系统管理

性能监控 (PerformanceMonitor)

指令 说明
/性能 查看系统性能
/stats 查看统计信息
/状态 查看运行状态

MCP 管理 (MCPManager)

指令 说明
/mcp status 查看 MCP 服务器状态
/mcp list 列出可用工具
/mcp reload 重载 MCP 配置

消息记录 (MessageLogger)

  • 功能: 自动记录所有消息到 MySQL 数据库
  • 存储: 消息内容、发送者、时间、图片(MinIO)
  • 用途: 群聊总结、消息查询

LLM 工具集成

以下插件作为 LLM 工具,可在 AI 对话中自动调用:

Tavily 搜索 (TavilySearch)

  • 功能: AI 对话中的联网搜索能力
  • 调用: AI 自动判断是否需要搜索

旅行规划 (TravelPlanner)

  • 功能: 基于高德 API 的旅行规划
  • 调用: AI 对话中提及旅行相关话题时自动调用

配置说明

主配置文件 (main_config.toml)

[HttpHook]
api-url = "http://127.0.0.1:61108"    # Hook API 地址
callback-host = "0.0.0.0"              # 回调监听地址
callback-port = 80                      # 回调监听端口

[Bot]
admins = ["wxid_xxx"]                   # 管理员 wxid
disabled-plugins = []                   # 禁用的插件
ignore-mode = "None"                    # 消息过滤模式
whitelist = []                          # 白名单
blacklist = []                          # 黑名单

[Database]
message-db = "sqlite+aiosqlite:///database/message.db"

[Performance]
log_level_console = "INFO"
log_sampling_rate = 1.0

[Concurrency]
message_interval_ms = 200               # 消息间隔(毫秒)
plugin_task_timeout_seconds = 720       # 插件超时

消息过滤模式

  • None: 处理所有消息
  • Whitelist: 仅处理白名单中的 wxid/群
  • Blacklist: 屏蔽黑名单中的 wxid/群

插件配置

每个插件在 plugins/<插件名>/config.toml 中有独立配置


Bot API 接口

消息发送

await bot.send_text(to_wxid, content)           # 发送文本
await bot.send_image(to_wxid, image_path)       # 发送图片
await bot.send_file(to_wxid, file_path)         # 发送文件
await bot.send_video(to_wxid, video_path)       # 发送视频
await bot.send_at_message(room_id, content, at_list)  # @消息
await bot.send_card(to_wxid, card_wxid)         # 发送名片
await bot.send_link(to_wxid, title, desc, url)  # 发送链接
await bot.revoke_message(msg_id)                # 撤回消息

信息获取

await bot.get_login_info()                      # 获取登录信息
await bot.get_friend_list()                     # 获取好友列表
await bot.get_friend_info(wxid)                 # 获取好友信息
await bot.get_chatroom_list()                   # 获取群列表
await bot.get_chatroom_members(room_id)         # 获取群成员
await bot.get_chatroom_info(room_id)            # 获取群信息
await bot.get_user_info_in_chatroom(room_id, wxid)  # 获取群内用户信息

好友管理

await bot.add_friend(wxid, verify_msg, scene)   # 添加好友
await bot.accept_friend(v3, v4, scene)          # 同意好友请求
await bot.delete_friend(wxid)                   # 删除好友
await bot.set_friend_remark(wxid, remark)       # 设置备注

群聊管理

await bot.create_chatroom(member_list)          # 创建群聊
await bot.invite_to_chatroom(room_id, wxid_list)  # 邀请入群
await bot.remove_chatroom_member(room_id, wxid_list)  # 踢出成员
await bot.quit_chatroom(room_id)                # 退出群聊
await bot.set_chatroom_announcement(room_id, text)  # 设置群公告

运行要求

  • 操作系统: Windows
  • Python: 3.x
  • 微信: 需已登录微信客户端
  • Hook: d3d11.dll 放置于微信安装目录

依赖项

loguru==0.7.3
APScheduler==3.11.0
aiohttp>=3.9.1
httpx>=0.27.0
Pillow>=10.0.0
aiohttp-socks>=0.8.0
redis>=5.0.0  (可选)

更新时间: 2026-01-12