Skip to content

limitspro/imclaw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IMClaw — 微信群聊 AI 助手

基于 WeChatFerry 接入个人微信,通过 Kimi (Moonshot AI) 的 Function Calling 实现智能群聊助手。

功能

  • 群聊监听:全量存储群聊消息到 SQLite 数据库
  • 智能回复:@机器人 或关键词触发,理解群聊上下文后回复
  • 餐厅推荐:接入高德地图 POI API,搜索并推荐附近餐厅
  • 动态上下文
    • 滑动窗口(最近 20 条消息)
    • 向量语义检索(bge-small-zh-v1.5 + sqlite-vec)
    • 长对话自动摘要压缩

架构

微信桌面客户端 ←→ WeChatFerry (hook)
       ↓
   消息处理器 → 全量写入 SQLite + 异步向量入库
       ↓ (触发时)
   上下文组装 = 摘要 + 语义检索 + 滑动窗口
       ↓
   Kimi Agent (Function Calling) → 餐厅搜索等工具
       ↓
   回复发送到群聊

环境要求

  • Windows 系统
  • 微信 桌面客户端 v3.9.11.25(必须锁定此版本)
  • Python 3.10+

安装

# 1. 克隆项目
git clone <repo-url> && cd imclaw

# 2. 创建虚拟环境
python -m venv .venv
.venv\Scripts\activate

# 3. 安装依赖
pip install -r requirements.txt

# 4. 配置 API Key
copy .env.example .env
# 编辑 .env,填入你的 Key

配置

编辑 .env 文件:

变量 说明 获取方式
MOONSHOT_API_KEY Kimi API Key platform.moonshot.ai
AMAP_API_KEY 高德地图 Web 服务 Key lbs.amap.com

可在 config.py 中调整其他参数:

  • BOT_NAME:机器人在群里的显示名
  • TRIGGER_KEYWORDS:触发关键词列表
  • AMAP_DEFAULT_CITY:默认搜索城市

运行

# 确保微信 3.9.11.25 已登录
python main.py

使用方式

在群聊中:

  • @小助手 推荐个火锅店 — 触发餐厅搜索
  • @小助手 今晚吃什么 — AI 基于上下文推荐
  • 包含"吃饭"、"餐厅"等关键词的消息也会触发

项目结构

imclaw/
├── main.py              # 入口
├── config.py            # 配置
├── bot/
│   ├── wechat.py        # wcferry 封装
│   ├── handler.py       # 消息路由与触发检测
│   └── context.py       # 动态上下文组装(核心)
├── ai/
│   ├── agent.py         # Kimi API + tool calling
│   ├── embedding.py     # bge-small-zh-v1.5 本地 embedding
│   └── tools.py         # 工具定义
├── storage/
│   ├── database.py      # SQLite 全量消息存储
│   └── vector_store.py  # sqlite-vec 向量检索
├── services/
│   └── restaurant.py    # 高德 POI 餐厅搜索
└── utils/
    └── logger.py        # 日志

风险提示

  • WeChatFerry 通过 hook 微信客户端工作,可能导致微信账号被封,建议用小号测试
  • wcferry 官方已停止维护,需锁定微信版本 3.9.11.25
  • 本项目仅供学习交流,请勿用于违法用途

About

WeChat group chat AI assistant - WeChatFerry + Kimi API + SQLite + sqlite-vec

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages