Skip to content

chaoweimt/ai-file-assistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

AI 文件助手 (AI File Assistant)

一个基于 AI 的智能文件管理应用,支持自然语言搜索、文档总结、文件去重和智能重命名。

功能特性

  • 智能文件搜索 - 使用自然语言搜索文件(如"上周关于项目的文档")
  • 文档内容总结 - PDF/Word 文档快速提取要点
  • 文件去重 - 智能识别并清理重复文件
  • 自动重命名 - 根据文件内容智能生成文件名
  • 文件内容问答 - 对文档内容进行智能问答

技术架构

┌─────────────────────────────────────┐
│       React Native (Expo)           │
│  • 文件浏览器  • 智能搜索  • 设置   │
└──────────────────┬──────────────────┘
                   │ REST API
┌──────────────────▼──────────────────┐
│        Python FastAPI               │
│  • 文档解析  • AI服务  • 向量搜索   │
└──────────────────┬──────────────────┘
                   │
┌──────────────────▼──────────────────┐
│   智谱AI (GLM-4) + ChromaDB         │
└─────────────────────────────────────┘

项目结构

app/
├── mobile/                 # React Native 移动端应用
│   ├── src/
│   │   ├── components/     # UI 组件
│   │   ├── screens/        # 页面组件
│   │   ├── services/       # API 和文件服务
│   │   ├── stores/         # Zustand 状态管理
│   │   ├── utils/          # 工具函数
│   │   ├── hooks/          # 自定义 Hooks
│   │   ├── navigation/     # 导航配置
│   │   ├── types/          # TypeScript 类型
│   │   └── constants/      # 常量定义
│   ├── App.tsx             # 应用入口
│   └── package.json
│
├── backend/                # Python 后端服务
│   ├── app/
│   │   ├── api/            # API 路由
│   │   ├── services/       # 业务逻辑
│   │   ├── models/         # 数据模型
│   │   └── core/           # 核心配置
│   ├── requirements.txt    # Python 依赖
│   ├── Dockerfile
│   └── run.sh              # 启动脚本
│
└── docs/                   # 文档

快速开始

1. 后端服务

cd backend

# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

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

# 配置环境变量
cp .env.example .env
# 编辑 .env 文件,填入你的 ZHIPU_API_KEY

# 启动服务
./run.sh
# 或者
uvicorn app.main:app --reload --port 8000

后端 API 文档: http://localhost:8000/docs

2. 移动端应用

cd mobile

# 安装依赖
npm install

# 启动开发服务器
npm start

# 在模拟器或设备上运行
npm run ios     # iOS
npm run android # Android

环境变量配置

backend/.env 中配置:

# 智谱AI API Key (必需)
ZHIPU_API_KEY=your_api_key_here

# 服务器设置
HOST=0.0.0.0
PORT=8000

# 文件存储
UPLOAD_DIR=./data/uploads
CHROMA_PERSIST_DIR=./data/chroma

API 端点

端点 方法 描述
/api/documents/upload POST 上传文档
/api/documents/summarize POST 生成文档摘要
/api/documents/ask POST 文档问答
/api/search GET 语义搜索
/api/files/rename-suggest POST 获取重命名建议
/api/files/check-duplicates POST 检查重复文件

技术栈

前端

  • React Native + Expo
  • TypeScript
  • React Navigation
  • React Native Paper (UI)
  • Zustand (状态管理)
  • Axios (HTTP 客户端)

后端

  • Python 3.11+
  • FastAPI
  • 智谱AI (GLM-4, Embedding-2)
  • ChromaDB (向量数据库)
  • PyMuPDF & python-docx (文档解析)

开发路线图

  • 项目基础架构
  • 文件浏览器 UI
  • 后端 API 框架
  • 智谱 AI 集成
  • 本地 SQLite 数据库
  • 文件哈希计算与索引
  • 文件去重功能
  • 语义搜索实现
  • 文档总结功能
  • 文件问答功能 (RAG)
  • 智能重命名
  • 性能优化
  • 测试覆盖
  • 应用发布

获取智谱 AI API Key

  1. 访问 智谱AI开放平台
  2. 注册账号并完成实名认证
  3. 在控制台创建 API Key
  4. 将 API Key 填入 .env 文件

许可证

MIT License

About

一个基于 AI 的智能文件管理应用,支持自然语言搜索、文档总结、文件去重和智能重命名。

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors