commit ed6bab59feacefd40943bea09ed25331ebf8fabf Author: DESKTOP-72TV0V4\caoxiaozhu Date: Sat Mar 21 10:13:26 2026 +0800 Add project root files and gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0be65db --- /dev/null +++ b/.gitignore @@ -0,0 +1,41 @@ +# Environment files +.env +.env.local +.env.*.local + +# Python virtual environments +.venv/ +venv/ +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +.pytest_cache/ +*.egg-info/ +.eggs/ + +# Backup files +*.bak +uv.lock.bak + +# IDE +.idea/ +.vscode/ +*.sw? +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +# OS +.DS_Store +Thumbs.db + +# AI tool data +.claude/ + +# Lock files (use in development, commit in production) +# uv.lock - uncomment if you want to commit lock file +# package-lock.json - uncomment if you want to commit lock file diff --git a/README.md b/README.md new file mode 100644 index 0000000..1899576 --- /dev/null +++ b/README.md @@ -0,0 +1,166 @@ +# Jarvis 个人 AI 助理 + +> 你的私人 AI 大脑 — 懂你的知识、懂你的安排 + +## 功能特性 + +- **多 Agent 协作** — 主 Agent 协调 + 4 个专业子 Agent(规划/执行/知识管理/分析) +- **私人知识库** — LlamaIndex 智能分块 + ChromaDB 向量检索 +- **动态知识图谱** — LLM 自动抽取实体和关系,构建你的知识网络 +- **论坛 + 看板** — 发布指令让 AI 执行,管理每日任务 +- **定时任务** — 凌晨自动分析任务、扫描论坛指令、重建图谱 +- **流式对话** — WebSocket 实时流式输出 +- **本地部署** — NAS + Docker,数据完全自主可控 + +## 快速开始 + +### 前置要求 + +- Python 3.12+ (需要 uv) +- Node.js 18+ +- Claude API Key + +### Windows 一键启动 + +```batch +# 1. 先配置 API Key(首次) +setup.bat + +# 2. 一键启动(自动装依赖 + 启动服务) +start.bat +``` + +### 手动启动 + +```bash +# 1. 配置 API Key +cd backend +cp .env.example .env +# 编辑 .env,填入 ANTHROPIC_API_KEY + +# 2. 安装依赖 +uv sync + +# 3. 启动后端 +uv run uvicorn app.main:app --reload --port 8000 + +# 4. 新终端,启动前端 +cd frontend +npm install +npm run dev +``` + +### 打开浏览器 + +访问 http://localhost:5173 + +注册账号后即可使用。 + +--- + +## API 文档 + +后端启动后,访问 http://localhost:8000/docs 查看交互式 API 文档。 + +### 主要接口 + +| 方法 | 路径 | 说明 | +|------|------|------| +| POST | /api/auth/register | 注册 | +| POST | /api/auth/login | 登录 | +| POST | /api/conversations/chat | 发送消息 | +| POST | /api/conversations/chat/stream | 流式对话 | +| POST | /api/documents/upload | 上传文档 | +| POST | /api/documents/search | 搜索知识库 | +| GET | /api/tasks | 获取任务 | +| POST | /api/forum/posts | 发布论坛帖子 | +| GET | /api/graph | 获取知识图谱 | +| GET | /api/scheduler/status | 定时任务状态 | + +--- + +## Docker 部署(NAS) + +```bash +# 在 NAS 上运行 +docker-compose up -d + +# 查看日志 +docker-compose logs -f jarvis-backend +``` + +数据存储在 `./data/` 目录。 + +--- + +## 项目结构 + +``` +MyAgents/ +├── backend/ # FastAPI 后端 +│ ├── app/ +│ │ ├── agents/ # LangGraph 多 Agent 系统 +│ │ │ ├── graph.py # Agent 图定义 +│ │ │ ├── state.py # 状态定义 +│ │ │ ├── prompts.py# 提示词 +│ │ │ └── tools/ # 工具集 +│ │ ├── services/ # 业务服务 +│ │ ├── routers/ # API 路由 +│ │ ├── models/ # 数据库模型 +│ │ └── schemas/ # Pydantic 模型 +│ ├── Dockerfile +│ └── pyproject.toml +│ +├── frontend/ # Vue 3 前端 +│ ├── src/ +│ │ ├── views/ # 页面 +│ │ ├── api/ # API 调用 +│ │ ├── stores/ # Pinia 状态 +│ │ └── router/ # 路由 +│ └── Dockerfile +│ +├── docker-compose.yml +└── README.md +``` + +--- + +## 开发说明 + +### 后端依赖(uv) + +```bash +cd backend +uv sync # 安装依赖 +uv add # 添加依赖 +uv run pytest # 运行测试 +``` + +### 前端依赖 + +```bash +cd frontend +npm install # 安装依赖 +npm run dev # 开发服务器 +npm run build # 构建生产版本 +``` + +--- + +## 技术栈 + +| 组件 | 技术 | +|------|------| +| 后端 | FastAPI + SQLAlchemy async | +| Agent | LangGraph + LangChain | +| 知识库 | LlamaIndex + ChromaDB | +| 前端 | Vue 3 + TypeScript + Vite | +| 数据库 | SQLite | +| 定时任务 | APScheduler | +| 部署 | Docker | + +--- + +## License + +MIT