加了一堆模型和一堆功能
This commit is contained in:
@@ -51,8 +51,8 @@
|
||||
|
||||
### project-launcher
|
||||
- **类型**: 项目级
|
||||
- **能力**: 一键在独立可见终端窗口中启动 Art Agent 前端和后端服务
|
||||
- **能力**: 一键启动 Art Agent 全部服务(Ollama + 后端 FastAPI + 前端 Next.js),自动检测已运行的服务并跳过
|
||||
- **触发场景**: "启动项目"、"运行项目"、"跑起来"、"打开前端和后端"、"启动服务"、"start"、"launch"、"run dev"、"启动前端"、"启动后端"
|
||||
- **输出**: 两个独立的终端窗口(前端 Next.js + 后端 FastAPI)
|
||||
- **输出**: Ollama 后台服务 + 两个独立的终端窗口(前端 Next.js + 后端 FastAPI)
|
||||
- **路径**: .cursor/skills/project-launcher/SKILL.md
|
||||
- **备注**: 项目专属 Skill;窗口必须可见,用户可直接查看日志和手动关闭
|
||||
- **备注**: 项目专属 Skill;Ollama 必须先于后端启动(Mem0 embedding 依赖);前后端窗口必须可见
|
||||
|
||||
@@ -22,13 +22,15 @@ description: >-
|
||||
|
||||
| 组件 | 路径 | 启动命令 |
|
||||
|------|------|---------|
|
||||
| Ollama | 系统级服务 | `ollama serve` |
|
||||
| 后端 | `art-agent/backend` | `uvicorn app.main:app --reload --host 0.0.0.0 --port 8000` |
|
||||
| 前端 | `art-agent/frontend` | `npm run dev` |
|
||||
|
||||
## 前置条件
|
||||
|
||||
后端需要激活 Python 虚拟环境(`art-agent/backend/venv`)。
|
||||
前端需要 Node.js >= 18。
|
||||
- 后端需要激活 Python 虚拟环境(`art-agent/backend/venv`)
|
||||
- 前端需要 Node.js >= 18
|
||||
- **Ollama 必须在后端之前启动**:Mem0 记忆系统依赖 Ollama 提供本地 embedding 服务(`nomic-embed-text` 模型),端口 `11434`
|
||||
|
||||
## 环境 PATH 须知
|
||||
|
||||
@@ -48,18 +50,43 @@ description: >-
|
||||
|
||||
2. 确定操作系统和 Shell 类型(Windows / macOS / Linux)
|
||||
|
||||
3. 启动后端(在独立可见终端窗口中):
|
||||
3. 检查并启动 Ollama:
|
||||
- 检测 Ollama 是否已在运行(请求 http://localhost:11434/api/tags)
|
||||
- 未运行 → 启动 Ollama 服务,等待就绪
|
||||
- 已运行 → 跳过
|
||||
|
||||
4. 启动后端(在独立可见终端窗口中):
|
||||
- Windows(PowerShell 或 CMD 均适用):
|
||||
使用 `Start-Process` 或 `start cmd` 打开新的终端窗口
|
||||
- macOS/Linux:
|
||||
使用对应的终端打开方式
|
||||
|
||||
4. 启动前端(在另一个独立可见终端窗口中):
|
||||
5. 启动前端(在另一个独立可见终端窗口中):
|
||||
- 同样在新的终端窗口中启动
|
||||
|
||||
5. 确认两个服务正在运行,告知用户访问地址
|
||||
6. 确认三个服务正在运行,告知用户访问地址
|
||||
```
|
||||
|
||||
### Ollama 启动(跨平台通用)
|
||||
|
||||
先检测 Ollama 是否已在运行,未运行则启动:
|
||||
|
||||
```powershell
|
||||
# 检测(PowerShell)
|
||||
try {
|
||||
Invoke-WebRequest -Uri "http://localhost:11434/api/tags" -UseBasicParsing -TimeoutSec 3 | Out-Null
|
||||
# 已运行,跳过
|
||||
} catch {
|
||||
# 未运行,启动
|
||||
Start-Process "ollama" -ArgumentList "serve" -WindowStyle Normal
|
||||
# 等待就绪(最多 10 秒)
|
||||
Start-Sleep -Seconds 3
|
||||
}
|
||||
```
|
||||
|
||||
> Ollama 启动后会常驻后台,不需要独立终端窗口。如果用户系统已将 Ollama 设为开机自启,
|
||||
> 则检测会直接通过,不会重复启动。
|
||||
|
||||
### Windows 启动命令
|
||||
|
||||
**关键要求**:必须在**新的、可见的终端窗口**中启动,不能在 Cursor 内置终端后台运行。
|
||||
@@ -118,6 +145,7 @@ osascript -e 'tell application "Terminal" to do script "cd FRONTEND_PATH && npm
|
||||
## 访问信息
|
||||
|
||||
启动完成后告知用户:
|
||||
- Ollama:http://localhost:11434(Mem0 embedding 服务)
|
||||
- 后端 API:http://localhost:8000
|
||||
- 后端文档:http://localhost:8000/docs
|
||||
- 前端页面:http://localhost:3000
|
||||
@@ -129,3 +157,4 @@ osascript -e 'tell application "Terminal" to do script "cd FRONTEND_PATH && npm
|
||||
### 已知必要检查
|
||||
|
||||
1. **Node.js PATH 注入** — 本机 Node.js (`C:\Program Files\nodejs\`) 未加入系统 PATH,新开的终端窗口默认找不到 `npm`。启动前端时必须先将此路径注入到会话 PATH 中。
|
||||
2. **Ollama 必须先于后端启动** — Mem0 记忆系统依赖 Ollama 的 `nomic-embed-text` 模型做本地 embedding(端口 11434)。Ollama 未运行时后端能启动但对话会报 502 错误。启动流程必须在后端之前检测并启动 Ollama。
|
||||
|
||||
Reference in New Issue
Block a user