基于AI的微信生态社交关系管理系统,让人脉连接更智能 ✨
FriendAI 是一款创新的社交关系管理系统,通过AI驱动的意图匹配引擎,智能连接用户需求与人脉资源。深度集成微信生态,提供企业级的联系人管理和智能匹配服务。
- 智能匹配算法:混合评分机制(向量相似度 30-40% + 关键词匹配 30-40% + 条件匹配 25-40%)
- 双触发机制:意图到联系人 + 联系人到意图的双向智能匹配
- 语义理解:基于Qwen API的向量嵌入,支持自然语言查询
- 学习优化:用户反馈驱动的匹配算法持续优化
- AI联系人分析:自动从微信消息提取结构化联系人信息
- 语义搜索:支持自然语言查询联系人数据库
- 智能语音输入:实时语音识别 + AI字段解析自动填表
- 推送通知:实时匹配结果推送,防垃圾信息机制
- 深色模式:完整的主题系统,自动跟随系统主题
- TDesign组件:现代化的微信小程序UI组件库
- 响应式设计:适配各种设备尺寸
- 流畅动效:优雅的页面切换和加载动画
- 多用户隔离:每个微信用户独立数据空间
- 双数据库支持:SQLite(开发)+ PostgreSQL(生产)
- RESTful API:完整的后端API服务
- 认证系统:安全的用户认证和权限管理
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ 微信小程序 │ │ FastAPI后端 │ │ AI服务 │
│ │ │ │ │ │
│ • TDesign UI │◄──►│ • RESTful API │◄──►│ • Qwen API │
│ • 深色模式 │ │ • 用户隔离 │ │ • 向量搜索 │
│ • 语音输入 │ │ • 意图匹配 │ │ • 语义分析 │
│ • 实时通知 │ │ • 推送服务 │ │ • 智能解析 │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
└───────────────────────┼───────────────────────┘
│
┌─────────────────┐
│ 数据持久层 │
│ │
│ • SQLite/PG │
│ • 向量索引 │
│ • 缓存管理 │
│ • 数据隔离 │
└─────────────────┘
- 后端: Python 3.9+, FastAPI, SQLite/PostgreSQL
- 前端: 微信开发者工具, Node.js (用于TDesign组件)
- AI服务: Qwen API密钥
# 1. 克隆项目
git clone https://github.com/ConstTyrone/FriendAI.git
cd FriendAI
# 2. 后端启动
cd WeiXinKeFu
pip install -r requirements.txt
cp .env.example .env # 配置你的API密钥
python run.py # 启动后端服务 (端口: 8000)
# 3. 前端启动
# 用微信开发者工具打开 weixi_minimo/ 目录
# Tools → Build npm (首次运行)
# 编译运行 (Ctrl+B/Cmd+B)- 测试用户ID:
wm0gZOdQAAv-phiLJWS77wmzQQSOrL1Q - 开发用户ID:
dev_user_001(开发环境自动选择)
# 微信企业号配置
WEWORK_CORP_ID=your_corp_id
WEWORK_SECRET=your_secret
WEWORK_TOKEN=your_token
WEWORK_AES_KEY=your_aes_key
# AI服务配置
QWEN_API_KEY=your_qwen_api_key
# 数据库配置 (选择一种)
DATABASE_PATH=user_profiles.db # SQLite
DATABASE_URL=postgresql://user:pass@host # PostgreSQL
# 微信小程序配置
WECHAT_MINI_APPID=wx50fc05960f4152a6
WECHAT_MINI_SECRET=your_mini_secret// weixi_minimo/utils/constants.js
export const API_CONFIG = {
BASE_URL: 'http://localhost:8000', // 后端API地址
TIMEOUT: 10000,
RETRY_COUNT: 3
};cd WeiXinKeFu
# 创建意图匹配相关表
python scripts/create_intent_tables.py
# 添加向量列(如果升级现有数据库)
python scripts/add_vector_columns.py
# 初始化向量数据
python scripts/initialize_vectors.py
# 添加测试数据
python test-scripts/add_test_data.pyPOST /api/login
Content-Type: application/json
{
"code": "微信登录code",
"user_id": "test_user_id" // 可选:测试用户
}# 获取联系人列表
GET /api/contacts?page=1&limit=20&search=关键词
# 创建联系人
POST /api/contacts
{
"profile_name": "张三",
"phone": "13800138000",
"tags": ["客户", "重要"],
"basic_info": {
"company": "ABC公司",
"position": "产品经理"
}
}
# 更新联系人
PUT /api/contacts/{id}
# 删除联系人
DELETE /api/contacts/{id}# 创建意图
POST /api/intents
{
"name": "寻找产品经理",
"description": "需要有3年以上产品管理经验的候选人",
"type": "recruitment",
"conditions": {
"required": ["产品经理", "3年经验"],
"preferred": ["互联网背景", "B端产品"],
"excluded": ["销售"]
},
"threshold": 0.7
}
# 获取匹配结果
GET /api/matches?intent_id=1&limit=10
# 提供反馈
PUT /api/matches/{id}/feedback
{
"feedback": "positive|negative|ignored",
"comment": "匹配很准确"
}POST /api/search
{
"query": "帮我找一个做AI产品的朋友",
"limit": 10
}用户创建意图 → 生成向量嵌入 → 双触发匹配机制
↓
联系人更新 → 重新计算嵌入 ← 意图匹配引擎 → 评分算法
↓
推送通知 ← 过滤重复 ← 生成匹配结果
总分 = 向量相似度分数 × 0.35 +
关键词匹配分数 × 0.35 +
必需条件分数 × 0.25 +
偏好条件分数 × 0.05
# 阈值过滤:总分 >= 用户设定阈值(默认0.7)- 意图到联系人匹配:新建意图时,与所有现有联系人匹配
- 联系人到意图匹配:联系人更新时,与所有活跃意图匹配
# 启动开发服务器
cd WeiXinKeFu
python run.py # 自动重载,端口8000
# 运行测试
python tests/test_api.py # 完整API测试
python tests/integration/test_intent_system.py # 意图系统测试
python tests/integration/test_hybrid_matching.py # 混合匹配测试
# 数据库管理
python scripts/db_viewer_sqlite.py # 交互式数据库查看器
python scripts/check_users.py # 检查用户数据完整性
# 性能优化
python optimize_prompts.py # 优化AI提示词
python ab_testing_framework.py # A/B测试框架# 微信开发者工具中:
# 1. Tools → Build npm # TDesign组件依赖
# 2. 编译 (Ctrl+B/Cmd+B) # 构建项目
# 3. 预览 # 移动设备测试
# 4. 上传 # 生产部署
# 主题开发测试
# - 设置页面切换主题 # 测试深色/浅色模式
# - 检查系统主题兼容性 # 自动跟随系统设置
# - 测试导航栏颜色更新 # 验证主题过渡
# 语音输入测试
# - 联系人表单中使用语音按钮 # 测试实时识别
# - 测试AI字段解析 # 验证智能表单填充
# - 检查录音状态管理 # 测试按压和点击模式FriendAI/
├── WeiXinKeFu/ # Python后端
│ ├── src/
│ │ ├── services/
│ │ │ ├── intent_matcher.py # 🧠 意图匹配引擎
│ │ │ ├── vector_service.py # 🔍 AI向量服务
│ │ │ ├── hybrid_matcher.py # ⚡ 混合匹配算法
│ │ │ └── push_service.py # 📢 推送通知服务
│ │ ├── core/main.py # 🚀 API路由入口
│ │ └── database/database_sqlite_v2.py # 💾 数据库层
│ └── tests/ # 测试套件
├── weixi_minimo/ # 微信小程序前端
│ ├── utils/
│ │ ├── theme-manager.js # 🎨 主题管理系统
│ │ ├── auth-manager.js # 🔐 认证管理
│ │ └── cache-manager.js # ⚡ 缓存管理
│ ├── pages/
│ │ ├── intent-manager/ # 意图管理页面
│ │ └── matches/ # 匹配结果页面
│ └── components/ # 可复用组件
└── docs/ # 项目文档
# 1. 服务器环境准备
sudo apt update
sudo apt install python3.9 python3-pip postgresql nginx
# 2. 数据库设置
sudo -u postgres createdb friendai_prod
# 配置.env使用PostgreSQL连接字符串
# 3. 后端部署
cd WeiXinKeFu
pip install -r requirements.txt
pip install gunicorn
gunicorn src.core.main:app -w 4 -k uvicorn.workers.UvicornWorker
# 4. Nginx反向代理
# 配置nginx.conf指向后端服务
# 5. 前端部署
# 微信平台上传小程序代码包
# 配置服务器域名白名单- 数据库:为经常查询的字段添加索引,启用连接池
- 缓存:Redis缓存频繁查询结果,减少数据库压力
- AI服务:批量处理向量嵌入请求,启用结果缓存
- 前端:启用小程序分包加载,优化图片资源
# 数据库监控
python scripts/db_health_check.py
# API性能监控
python scripts/api_performance_monitor.py
# 意图匹配效果分析
python scripts/matching_analytics.py
# 用户活跃度统计
python scripts/user_activity_stats.py- 匹配准确率: 85%+ (基于用户反馈)
- 响应时间: API平均响应 < 200ms
- 并发支持: 单机支持 1000+ 并发用户
- 数据规模: 单用户支持 10万+ 联系人记录
- 销售团队:快速匹配潜在客户与合适的销售代表
- HR招聘:根据职位需求自动匹配候选人资源
- 商务拓展:发现潜在合作伙伴和业务机会
- 职场发展:寻找行业导师和合作伙伴
- 创业资源:匹配投资人、合伙人、供应商
- 学习交流:发现同行专家和学习资源
- 咨询顾问:为客户匹配专业服务提供商
- 活动组织:根据主题匹配合适的演讲嘉宾
- 项目协作:组建跨职能项目团队
Q: 后端启动失败
# 检查依赖是否安装完整
pip install -r requirements.txt
# 检查.env配置文件
cp .env.example .env
# 确保QWEN_API_KEY等关键配置已填写Q: 小程序无法获取数据
// 检查API服务器地址配置
// weixi_minimo/utils/constants.js
export const API_CONFIG = {
BASE_URL: 'http://your-server:8000' // 确保地址正确
};Q: AI匹配效果不佳
# 重新生成向量嵌入
python scripts/initialize_vectors.py
# 调整匹配阈值
# 在意图创建时降低threshold值 (如0.6)- 后端调试: FastAPI文档
http://localhost:8000/docs - 数据库查看:
python scripts/db_viewer_sqlite.py - 前端调试: 微信开发者工具控制台
- API测试: Postman集合 (见
docs/api-collection.json)
- 算法优化: 基于更多用户反馈优化匹配算法
- 多语言支持: 支持英文和其他语言界面
- 企业版功能: 团队协作、权限管理、数据分析
- 移动端APP: 原生iOS/Android应用
- 集成扩展: 钉钉、企业微信、LinkedIn等平台
- 混合评分机制: 结合语义理解和规则匹配的优势
- 双向触发: 确保任何数据更新都能产生最新匹配结果
- 学习优化: 用户反馈驱动的持续算法改进
- 微服务架构: 松耦合的服务设计,易于扩展维护
- 多租户隔离: 企业级的数据安全和隔离保证
- 容错设计: 优雅的错误处理和服务降级机制
- 零学习成本: 直观的用户界面,符合微信生态习惯
- 智能化程度: 最小化用户输入,最大化智能推荐
- 实时反馈: 即时的匹配结果和优化建议
本项目采用 MIT许可证。
我们欢迎社区贡献!请查看 CONTRIBUTING.md 了解详细指南。
- 🐛 Bug修复
- ✨ 新功能开发
- 📝 文档完善
- 🎨 UI/UX改进
- ⚡ 性能优化
- 项目维护者: @ConstTyrone
- 问题反馈: GitHub Issues
- 功能建议: GitHub Discussions
⭐ 如果这个项目对你有帮助,请给我们一个星标支持! ⭐
Made with ❤️ by FriendAI Team