Skip to content

ConstTyrone/FriendAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 FriendAI - 智能社交关系管理系统

GitHub License Python Version FastAPI WeChat Mini Program

基于AI的微信生态社交关系管理系统,让人脉连接更智能

FriendAI 是一款创新的社交关系管理系统,通过AI驱动的意图匹配引擎,智能连接用户需求与人脉资源。深度集成微信生态,提供企业级的联系人管理和智能匹配服务。

🌟 核心特性

🧠 AI意图匹配引擎 - 核心创新

  • 智能匹配算法:混合评分机制(向量相似度 30-40% + 关键词匹配 30-40% + 条件匹配 25-40%)
  • 双触发机制:意图到联系人 + 联系人到意图的双向智能匹配
  • 语义理解:基于Qwen API的向量嵌入,支持自然语言查询
  • 学习优化:用户反馈驱动的匹配算法持续优化

🎯 智能化功能

  • AI联系人分析:自动从微信消息提取结构化联系人信息
  • 语义搜索:支持自然语言查询联系人数据库
  • 智能语音输入:实时语音识别 + AI字段解析自动填表
  • 推送通知:实时匹配结果推送,防垃圾信息机制

🎨 现代化UI体验

  • 深色模式:完整的主题系统,自动跟随系统主题
  • 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 (开发环境自动选择)

⚙️ 详细配置

后端配置 (.env)

# 微信企业号配置
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.py

📚 API文档

认证接口

POST /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)

双触发机制

  1. 意图到联系人匹配:新建意图时,与所有现有联系人匹配
  2. 联系人到意图匹配:联系人更新时,与所有活跃意图匹配

🛠️ 开发指南

后端开发

# 启动开发服务器
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改进
  • ⚡ 性能优化

📞 联系我们

🙏 致谢


⭐ 如果这个项目对你有帮助,请给我们一个星标支持! ⭐

Made with ❤️ by FriendAI Team

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •