内容
# 维也纳生活助手
<p align="center">
<a href="https://github.com/casey/just"><img src="https://img.shields.io/badge/just-ready_to_go-7c5cfc?style=flat-square&logo=just&logoColor=white" alt="Just"></a>
<a href="https://github.com/astral-sh/ruff"><img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json" alt="Ruff"></a>
<a href="https://python.org"><img src="https://img.shields.io/badge/Python-3.13+-3776AB?style=flat-square&logo=python&logoColor=white" alt="Python"></a>
<a href="https://github.com/PrefectHQ/fastmcp"><img src="https://img.shields.io/badge/FastMCP-3.2-7c5cfc?style=flat-square" alt="FastMCP"></a>
</p>
> **📖 安装指南** — 快速开始,手动设置,故障排除
**时间戳**: 2025-12-15
**状态**: 测试版
**版本**: 3.0-beta - AI驱动的生活管理
一个漂亮、现代的个人生活管理应用,拥有 **AI聊天机器人**,日历,待办事项,费用,购物和全面的技术文档 - 通过MCP服务器与您的整个数字生态系统集成,并由Celery后台任务处理。
## 快速开始
```powershell
git clone https://github.com/sandraschi/vienna-life-assistant
cd vienna-life-assistant
just
```
这将打开一个交互式仪表板,显示所有可用的命令。运行 `just bootstrap` 安装依赖项,然后运行 `just serve` 或 `just dev` 启动。
## ViLife `web_sota` (FastMCP 3.2) — 推荐
代理和日常使用的车队SOTA表面:
```powershell
Set-Location web_sota
.\start.ps1
```
| 表面 | URL |
|---------|-----|
| 前端 | http://127.0.0.1:10988 |
| 后端 + MCP | http://127.0.0.1:10922 (`/mcp`, `/api/*`) |
**页面:** 仪表板 · 聊天 · 技能 · 工具 · 设置 · 帮助 · 应用 · 日志
**LLM(设置):** 切换 **Ollama** (11434),**LM Studio** (1234/v1),或 **OpenAI** (API密钥)。每个提供商都有一个 **模型下拉菜单**,从 `/api/llm/models` 中填充。聊天使用保存的提供商 + 模型与维也纳系统预提示。
**MCP:** `vienna_life` 混合词,6种维也纳技能,6个提示,通过 `vienna_life_agentic` 采样。
参见 [`docs/PRD.md`](docs/PRD.md) 和 [`CHANGELOG.md`](CHANGELOG.md) 获取 0.2.0 详情。
> **注意:** `vienna-live-mcp` 已弃用 — 仅使用此仓库的 `web_sota`。
### 手动设置
如果您没有安装 `just`:
## 功能
您的 **个人指挥中心** 用于维也纳生活:
- **日历**: 天/周/月视图,Benny约会,事件
- **智能待办**: 12个类别,优先级,过滤器,统计数据
- **费用跟踪**: 836+ 跟踪,7个类别,热门商店
- **购物**: Spar/Billa优惠,智能列表
- **AI聊天机器人**: 16个集成工具,6个人格,流式响应(Ollama本地或云API)
- **智能家居**: 灯,摄像头,Ring门铃(通过Tapo MCP)
- **知识库**: 搜索/读取/创建笔记(高级内存MCP)
- **媒体中心**: 5万部动漫,1.5万本电子书(Plex/Calibre MCP)
- **交通**: 维也纳线路集成(U-Bahn,Tram,Bus)
- **技术文档**: 完整的技术栈分层指南(流程工程,MCP架构,未来路线图)
- **后台处理**: Celery驱动的异步任务(电子邮件通知,AI分析,数据同步,维护)
## 技术文档选项卡
应用包括一个全面的 **技术文档** 选项卡,提供整个技术栈的分层,美观的文档:
### **流程工程哲学**
- **开发者体验优先**: 具有AI辅助的光标IDE,自动化工具
- **AI优先设计**: 从一开始就围绕AI能力构建
- **快速迭代**: 用于即时开发环境的Docker容器
### **完整的技术栈分解**
- **前端**: React 18 + TypeScript + Material-UI + Vite
- **后端**: FastAPI + Python 3.11 + SQLAlchemy + Pydantic
- **数据库**: PostgreSQL + Redis(缓存和Celery代理)
- **基础设施**: Docker Desktop + Port Island(7333-7336)
- **监控**: Grafana + Prometheus + Loki栈
- **版本控制**: Git + GitHub Actions
### **MCP服务器架构**
- **客户端-服务器模型**: MCP客户端通过STDIO连接到专用服务器
- **6个集成服务器**: Ollama,高级内存,Tapo,Plex,Calibre,Immich
- **工具发现**: AI自动检测并使用可用的MCP工具
### **未来开发路线图**
- **第4阶段**: 高级AI集成(多模态,语音命令)
- **第5阶段**: 生态系统扩展(移动应用,多用户支持)
## 后台任务处理(Celery)
维也纳生活助手包括一个 **分布式任务队列系统**,由Celery驱动,用于处理后台处理:
### **16个后台任务类别:**
#### **电子邮件任务**
- `send_welcome_email` - 新用户欢迎电子邮件
- `send_daily_summary` - 每日活动摘要
- `send_weekly_report` - 全面的每周报告
#### **AI任务**
- `process_long_ai_analysis` - 长运行的AI分析
- `generate_weekly_report` - AI驱动的报告生成
- `personalize_recommendations` - 个性化用户推荐
#### **维护任务**
- `cleanup_old_conversations` - 数据库清理(90+天)
- `optimize_database` - 数据库优化
- `sync_external_data` - 外部服务同步
#### **用户体验任务**
- `send_notification` - 应用内通知
- `generate_personalized_content` - 动态内容生成
### **Celery架构:**
```
用户请求 FastAPI Celery任务 Redis队列 工作进程 结果 用户
```
### **计划任务:**
- **每天**: 8:00 AM用户活动摘要
- **每周**: 每个星期日综合报告
- **每月**: 数据库清理和优化
### **使用示例:**
```python
# 提交后台任务(立即返回)
from workers.tasks import send_welcome_email
result = send_welcome_email.delay("user@example.com", "John Doe")
# 任务在后台异步运行
# 稍后检查状态:result.ready(),result.get()
```
## 多MCP服务器架构
该应用与 **6个专用MCP服务器** 集成,提供全面的数字生态系统连接:
- **Ollama MCP**: 本地LLM推理(llama3.2:3b)
- **高级内存MCP**: Zettelkasten知识库([sandraschi/advanced-memory-mcp](https://github.com/sandraschi/advanced-memory-mcp))
- **Tapo MCP**: 智能家居控制([sandraschi/tapo-mcp](https://github.com/sandraschi/tapo-mcp))
- **Plex MCP**: 媒体库访问([sandraschi/plexmcp](https://github.com/sandraschi/plexmcp))
- **Calibre MCP**: 电子书管理([sandraschi/calibre-mcp](https://github.com/sandraschi/calibre-mcp))
- **Immich MCP**: 照片管理([sandraschi/immich-mcp](https://github.com/sandraschi/immich-mcp))
参见 [`INTEGRATED_MCP_SERVERS.md`](INTEGRATED_MCP_SERVERS.md) 获取详细的MCP服务器文档。
## AI聊天机器人功能(测试版)
### **6种AI人格:**
1. **专业助手** - 帮助,准确,专业
2. **创意作家** - 想象力,诗意,表达
3. **技术专家** - 精确,详细,代码示例
4. **友好伴侣** - 暖和,休闲,表情符号
5. **简洁顾问** - 简短,直接,项目符号
6. **维也纳本地** - 专家, Bezirk,维也纳线路,餐厅
### **16个集成工具(测试版):**
**核心工具(1-5):**
- **计算器** - 数学表达式,平方根,幂
- **日期时间** - 当前时间,日期
- **网络搜索** - DuckDuckGo搜索
- **待办事项** - 您的任务列表
- **日历** - 您的日程安排
**高级内存MCP(6-9):**
- **搜索知识** - 查询您的zettelkasten
- **读取笔记** - 获取特定笔记
- **创建笔记** - 从聊天中保存见解
- **最近笔记** - 最新活动
**Tapo MCP - 智能家居(10-13):**
- **天气** - 维也纳天气
- **智能灯** - Philips Hue控制
- **摄像头** - 家庭安全状态
- **Ring门铃** - 最近事件
**媒体和交通(14-16):**
- **维也纳线路** - U-Bahn,Tram,Bus信息
- **Plex** - 5万部动漫/电影
- **Calibre** - 1.5万本电子书
### **测试版功能:**
- **AI提示增强** - 改进您的提问(实验性)
- **流式响应** - 实时文本生成
- **对话记忆** - 保存和恢复聊天
- **自动工具检测** - 智能模式匹配
- **美丽的UI** - 头像,时间戳,工具芯片
## 快速开始
### 0. 克隆仓库
```bash
git clone https://github.com/sandraschi/vienna-life-assistant.git
cd vienna-life-assistant
```
### 先决条件
- **Docker Desktop** (最新版本)
- **选择您的LLM选项:**
- **本地(推荐)**:Ollama + RTX 4070 或更好
- **云**: OpenAI 或 Anthropic API 密钥(无需 GPU)
**注意:** 应用程序完全在 Docker 容器中运行,以确保在开发和生产环境中保持一致性和稳定性。
### Docker Desktop 设置
```powershell
# 下载并安装 Docker Desktop for Windows
# 来自: https://www.docker.com/products/docker-desktop/
# 安装后,启用 WSL 2 后端(推荐)
# Docker Desktop -> 设置 -> 常规 -> 使用基于 WSL 2 的引擎
# 启用 Kubernetes(可选,高级部署)
# Docker Desktop -> 设置 -> Kubernetes -> 启用 Kubernetes
# 分配足够的资源
# Docker Desktop -> 设置 -> 资源
# - CPU:4+ 核心
# - 内存:8GB+ RAM
# - 磁盘:20GB+ 可用空间
```
### LLM 设置
#### 选项 A:本地 LLM(Ollama)
```bash
# 安装 Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# 启动 Ollama 服务
ollama serve
# 拉取推荐模型
ollama pull llama3.2:3b
```
#### 选项 B:云 LLM(OpenAI/Anthropic)
从以下位置获取 API 密钥:
- [OpenAI API](https://platform.openai.com/api-keys)
- [Anthropic API](https://console.anthropic.com/)
API 密钥在启动后在应用程序设置中配置。
### 1. Docker 设置和启动
```powershell
cd D:\Dev\repos\vienna-life-assistant
# 启动所有服务(PostgreSQL,Redis,后端,前端)
docker compose up -d
# 查看正在运行的容器
docker compose ps
# 如有需要,查看日志
docker compose logs -f backend
docker compose logs -f frontend
```
### 2. 访问
- **前端**: http://localhost:7333
- **后端 API**: http://localhost:7334
- **API 文档**: http://localhost:7334/docs
- **Tailscale**: http://goliath:7333 (API:goliath:7334)
## 使用示例
### AI 聊天机器人命令:
```
# 核心工具
"25 * 37 是多少" 计算器:925
"现在几点" 日期时间:当前时间
"搜索维也纳天气" 网络搜索
# 知识库(高级内存 MCP)
"搜索我的笔记中的 Python" 搜索 zettelkasten
"读取 MCP 模式笔记" 获取笔记内容
"记住这个:Schnitzel" 创建新笔记
"我的最近笔记是什么?" 显示活动
# 智能家居(Tapo MCP)
"天气怎么样?" 维也纳天气
"打开灯" 控制 Philips Hue
"关闭卧室灯" 特定房间控制
"列出摄像头" 安全摄像头
"谁在门口?" 环形门铃事件
# 交通和任务
"下一班 U6 是什么时候?" 维也纳线路出发时间
"我的待办事项" 任务列表
"我的日历" 即将到来的事件
```
## 技术栈
### 后端
- **FastAPI** - 现代 Python API 框架
- **PostgreSQL** - 容器化数据库
- **Redis** - 缓存和后台任务
- **SQLAlchemy** - 带有 Pydantic v2 的 ORM
- **Celery** - 后台任务处理
- **Ollama** - 本地 LLM(推荐 RTX 4070 或更好)
- **FastMCP** - MCP 服务器集成(stdio 传输)
### 前端
- **React 18** + TypeScript
- **Material-UI(MUI)** v6 - 美观的组件
- **Vite** - 快速构建工具
- **Axios** - API 客户端
- **事件流** - 聊天的服务端事件
### MCP 集成
- **高级内存 MCP** - Zettelkasten 知识库
- **Tapo MCP** - 智能家居(灯,摄像头,Ring,天气)
- **Plex MCP** - 媒体服务器(5万部动漫/电影)
- **Calibre MCP** - 电子书库(1.5万本书)
- **Immich MCP** - 照片记忆
- **MyWienerLinien** - 维也纳公共交通
## 数据库
**PostgreSQL** 容器,包含 7 个模型:
- `todos` - 任务管理(12+ 项)
- `calendar_events` - 日程安排(10+ 事件)
- `shopping_items` - 购物清单
- `expenses` - 费用跟踪(836+ 已跟踪)
- `conversations` - 聊天记录
- `messages` - 聊天消息
- `settings` - 应用程序设置(LLM 首选项)
**Redis** 用于缓存和后台任务队列。
## 测试
```powershell
cd D:\Dev\repos\vienna-life-assistant\backend
# 运行所有测试
.\venv\Scripts\Activate.ps1
pytest -v
# 运行特定测试套件
pytest tests/api/test_chat.py -v
```
**测试覆盖率:**
- CRUD 操作(待办事项,日历,费用)
- API 端点
- 模型验证
- Ollama 集成
- 购物抽取器
## 项目结构
```
vienna-life-assistant/
backend/
api/
calendar/ # 日历端点
todos/ # 待办端点
expenses/ # 费用端点
shopping/ # 购物端点
llm/ # LLM 管理
chat/ # AI 聊天机器人端点
media/ # 媒体集成
models/ # SQLAlchemy 模型
services/ # 业务逻辑
chat_service.py # 聊天 + 工具
ollama_service.py # 本地 LLM
mcp_clients.py # MCP 集成
tests/ # Pytest 测试
vienna_life.db # SQLite 数据库
frontend/
src/
features/
calendar/ # 日历 UI
todos/ # 待办 UI
expenses/ # 费用跟踪 UI
shopping/ # 购物 UI
llm/ # LLM 管理 UI
chat/ # AI 聊天机器人 UI
media/ # 媒体仪表板
services/
api.ts # API 客户端
docs/
FEATURES_ADDED.md # 功能变更日志
TESTING.md # 测试指南
SQLITE_MIGRATION.md # 数据库迁移
ECOSYSTEM_INTEGRATION.md
```
## 截图
- **日历**:天/周/月视图,网格/列表模式
- **待办事项**:12 个项目,优先级,类别,统计数据
- **费用**:836 项跟踪,类别分解,热门商店
- **AI 聊天机器人**:流式聊天,6 个人格,工具芯片
- **LLM 管理器**:15 个 Ollama 模型,加载/卸载/删除
## MCP 服务器配置
维也纳生活助手与 **6 个专用 MCP 服务器** 集成。每个 MCP 服务器都需要其相应的应用程序/服务首先安装和配置。
### 1. 高级内存 MCP(知识库)
**所需应用程序:** 无(使用 SQLite 数据库)
```powershell
# 克隆和设置
cd D:\Dev\repos
git clone https://github.com/sandraschi/advanced-memory-mcp.git
cd advanced-memory-mcp
# 安装依赖项
pip install -r requirements.txt
# MCP 服务器将创建自己的 SQLite 数据库
```
**配置:**
- 路径:`D:/Dev/repos/advanced-memory-mcp/src/advanced_memory/mcp/server.py`
- 工具:18+(搜索,读取,写入,导航,技能)
- 数据库:在项目目录中自动创建
### 2. Tapo MCP(智能家居)
**所需应用程序:** Tapo 智能家居应用 + 硬件
```powershell
# 首先安装 Tapo 应用程序并设置设备:
# 1. 从应用商店下载 Tapo 应用程序
# 2. 创建 Tapo 账户
# 3. 添加智能设备(灯,摄像头,插头)
# 4. 获取您的账户凭证
# 克隆和设置 MCP 服务器
cd D:\Dev\repos
git clone https://github.com/sandraschi/tapo-mcp.git
cd tapo-mcp
# 安装依赖项
pip install -r requirements.txt
# 配置凭证(参见 .env.example)
cp .env.example .env
# 使用您的 Tapo 用户名/密码编辑 .env
```
**配置:**
- 路径:`D:/Dev/repos/tapo-mcp/src/tapo_mcp/server.py`
- 工具:天气,灯,摄像头,Ring 门铃
- 需要:Tapo 账户凭证在 `.env` 中
### 3. Plex MCP(媒体库)
**所需应用程序:** Plex 媒体服务器
```powershell
# 安装 Plex 媒体服务器:
# 1. 从 https://www.plex.tv/media-server-downloads/ 下载
# 2. 安装并创建 Plex 账户
# 3. 添加媒体库(电影,电视节目,动漫)
# 4. 从设置中获取您的 Plex 令牌
# 克隆和设置 MCP 服务器
cd D:\Dev\repos
git clone https://github.com/sandraschi/plex-mcp.git
cd plex-mcp
# 安装依赖项
pip install -r requirements.txt
# 配置(参见 .env.example)
cp .env.example .env
# 编辑 .env 如下:
# PLEX_URL=http://localhost:32400
# PLEX_TOKEN=您的_plex_token_在此
```
**配置:**
- 路径:`D:/Dev/repos/plex-mcp/src/plex_mcp/server.py`
- 工具:搜索,继续观看,最新添加
- 需要:正在运行的 Plex 服务器 + 有效令牌
### 4. Calibre MCP(电子书库)
**所需应用程序:** Calibre 电子书管理器
```powershell
# 安装 Calibre:
# 1. 从 https://calibre-ebook.com/download 下载
# 2. 安装并添加您的电子书库
# 3. 组织书籍,添加元数据
# 4. 启动 Calibre 内容服务器(可选)
# 克隆和设置 MCP 服务器
cd D:\Dev\repos
git clone https://github.com/sandraschi/calibre-mcp.git
cd calibre-mcp
# 安装依赖项
pip install -r requirements.txt
# 配置(参见 .env.example)
cp .env.example .env
# 编辑 .env 如下:
# CALIBRE_URL=http://localhost:8080 (如果使用内容服务器)
# 或将 CALIBRE_LIBRARY_PATH 设置为您的本地库文件夹
```
**配置:**
- 路径:`D:/Dev/repos/calibre-mcp/src/calibre_mcp/server.py`
- 工具:搜索书籍,阅读进度,库统计
- 需要:Calibre 已安装 + 库可访问
### 5. Immich MCP(照片管理)
**所需应用程序:** Immich 照片服务器
```powershell
# 安装 Immich(推荐使用 Docker):
# 1. 按照 https://immich.app/docs/install/docker-compose 的说明进行安装
# 2. 设置您的照片库
# 3. 从 Immich 设置中获取 API 密钥
```
# 克隆和设置MCP服务器
cd D:\Dev\repos
git clone https://github.com/sandraschi/immich-mcp.git
cd immich-mcp
# 安装依赖
pip install -r requirements.txt
# 配置(参见.env.example)
cp .env.example .env
# 编辑.env:
# IMMICH_URL=http://localhost:2283
# IMMICH_API_KEY=your_api_key_here
**配置:**
- 路径:`D:/Dev/repos/immich-mcp/src/immich_mcp/server.py`
- 工具:最近的照片,“今天的历史”
- 要求:Immich服务器运行 + API密钥
### 6. Ollama MCP(本地AI)
**所需应用程序:** Ollama
```powershell
# 首先安装Ollama:
# 1. 从以下网址下载:https://ollama.ai/download
# 2. 安装并启动Ollama服务
# 3. 拉取模型:ollama pull llama3.2:3b
# 克隆和设置MCP服务器
cd D:\Dev\repos
git clone https://github.com/sandraschi/ollama-mcp.git
cd ollama-mcp
# 安装依赖
pip install -r requirements.txt
# 配置(参见.env.example)
cp .env.example .env
# 编辑.env:
# OLLAMA_BASE_URL=http://localhost:11434
# OLLAMA_MODEL=llama3.2:3b
```
**配置:**
- 路径:`D:/Dev/repos/ollama-mcp/src/ollama_mcp/server.py`
- 工具:文本生成,模型管理
- 要求:Ollama运行并加载模型
### 环境变量(自动检测)
应用程序在`D:\Dev\repos\`中自动检测MCP服务器。手动配置:
```powershell
# 在shell或.env文件中设置:
$env:ADVANCED_MEMORY_MCP_PATH="D:/Dev/repos/advanced-memory-mcp/src/advanced_memory/mcp/server.py"
$env:TAPO_MCP_PATH="D:/Dev/repos/tapo-mcp/src/tapo_mcp/server.py"
$env:PLEX_MCP_PATH="D:/Dev/repos/plex-mcp/src/plex_mcp/server.py"
$env:CALIBRE_MCP_PATH="D:/Dev/repos/calibre-mcp/src/calibre_mcp/server.py"
$env:IMMICH_MCP_PATH="D:/Dev/repos/immich-mcp/src/immich_mcp/server.py"
$env:OLLAMA_MCP_PATH="D:/Dev/repos/local-llm-mcp/src/llm_mcp/main.py"
```
### MCP服务器状态
在网页界面的LLM选项卡中检查MCP服务器集成。每个MCP服务器显示:
- 已连接(工具可用)
- 未找到(路径不正确)
- 错误(配置问题)
## 访问
### 本地访问:
- 前端:`http://localhost:3000`
- 后端API:`http://localhost:8000`
- API文档:`http://localhost:8000/docs`
### Tailscale访问(从任何设备):
- 前端:`http://goliath:3000`
- 后端API:`http://goliath:8000`
**CORS配置** 同时适用于本地和Tailscale访问!
## 实现状态
- **第一阶段**:项目设置,数据库,模型
- **第二阶段**:日历,待办事项,购物,费用
- **第三阶段**:具有16种工具的AI聊天机器人(Beta)
- **第四阶段**:MCP集成(高级内存,Tapo,Plex,Calibre)
- **第五阶段**:移动响应(iPhone / iPad就绪)
- **第六阶段**:智能家居集成(灯,摄像头,天气)
## 示例数据
预加载了现实的维也纳生活数据:
- **12个待办事项**:Benny护理,购物,自我照顾
- **10个日历事件**:兽医预约,咖啡会议
- **15个费用**:总计836.10,7个类别
- **购物优惠**:Spar / Billa每周优惠
- **15个Ollama模型**:为AI聊天准备就绪
## 备注
- **完全Docker容器化** - PostgreSQL,Redis,FastAPI和React都在容器中
- **稳定的开发环境** - 不再出现本地服务器崩溃或依赖冲突
- **本地AI** 在您的RTX 4070或更高版本上运行(无需云成本!)
- **德语区域设置** 用于日期,欧元货币
- **移动响应** - 在iPhone / iPad上运行良好
- **Tailscale就绪** - 从任何地方访问
- **MCP标准输入/输出传输** - 正确的FastMCP模式
## 故障排除
### Docker容器无法启动
```powershell
# 检查Docker Desktop是否正在运行
# Docker Desktop -> 设置 -> 资源(确保分配了足够的RAM / CPU)
# 停止并重建
cd D:\Dev\repos\vienna-life-assistant
docker compose down
docker compose build --no-cache
docker compose up -d
# 检查容器日志
docker compose logs backend
docker compose logs frontend
```
### 端口冲突
```powershell
# 检查正在使用端口7333-7336的内容
Get-NetTCPConnection -LocalPort 7333,7334,7335,7336
# 停止冲突的服务或在docker-compose.yml中更改端口
```
### CORS错误
后端配置为`localhost:7333`和`goliath:7333`。强制刷新:`Ctrl + Shift + R`
### Ollama集成问题
```powershell
# 检查Ollama是否正在运行(在Docker之外)
ollama list
# 拉取所需的模型
ollama pull llama3.2:3b
# 检查MCP服务器是否可以从Docker容器连接
docker compose exec backend curl http://host.docker.internal:11434/api/tags
```
### MCP服务器连接问题
```powershell
# 验证MCP服务器路径是否存在
Get-ChildItem D:\Dev\repos\*\src\*\mcp\server.py
# 测试单个MCP服务器
cd D:\Dev\repos\advanced-memory-mcp
python -m pytest tests/ -v
```
## 部署
### Docker生产部署
```powershell
# 生产部署(重建并重启)
cd D:\Dev\repos\vienna-life-assistant
docker compose down
docker compose up -d --build
# 查看正在运行的服务
docker compose ps
# 监视日志
docker compose logs -f
```
### Windows服务(替代)
```powershell
# 为Windows服务安装NSSM
winget install NSSM
# 创建Docker服务
nssm install ViennaLifeDocker "C:\Program Files\Docker\Docker\Docker Desktop.exe" "docker compose up"
nssm set ViennaLifeDocker AppDirectory "D:\Dev\repos\vienna-life-assistant"
```
## 文档
- `INTEGRATED_MCP_SERVERS.md` - 完整的MCP生态系统指南
- `FEATURES_ADDED.md` - 第二阶段功能(Ollama,爬虫,UI)
- `TESTING.md` - Pytest指南,固定装置,测试覆盖率
- `SQLITE_MIGRATION.md` - PostgreSQL SQLite迁移
- `ECOSYSTEM_INTEGRATION.md` - MCP集成架构
- `COMPLETE.md` - 最终项目摘要
## 测试重点
- **16种AI工具** 跨4个MCP服务器(beta)
- **6种个性** 用于不同的聊天风格
- **流式响应** 实时更新
- **工具自动检测** 通过智能模式匹配
- **知识库集成** - AI可以访问您的笔记
- **智能家居控制** - 灯,摄像头,Ring门铃
- **交通集成** - 维也纳公共交通
- **漂亮的UI** - 现代Material-UI设计
- **移动响应** - 在iPhone / iPad上看起来很棒
- **灵活的部署** - 本地Ollama或云LLM API(OpenAI / Anthropic)
## 端口
- **前端**:7333(Docker)
- **后端API**:7334(Docker)
- **PostgreSQL**:7335(Docker,映射自5432)
- **Redis**:7336(Docker,映射自6379)
- **MyWienerLinien**:3079(如果运行)
- **Ollama**:11434(如果运行)
- **Plex**:32400(如果运行)
- **Calibre**:8080(如果运行)
- **Immich**:2283(如果运行)
## 奥地利功能
- **欧元()** 货币格式化
- **德国日期** (Dezember等)
- **维也纳特定** 聊天机器人个性
- **本地商店** (Spar,Billa,Manner Schnitten!)
- **维也纳线路** 集成
- **区知识** (Bezirke)
## 隐私
- **100%本地** - 无云API调用(可选网络搜索除外)
- **您的硬件** - RTX 4070或更高版本在本地运行所有AI
- **您的数据** - 您机器上的SQLite文件
- **MCP服务器** - 所有在您的Tailscale网络(goliath)上
## 🛡️ 工业质量栈
该项目遵循**SOTA 14.1**高保真代理编排的工业标准:
- **Python(核心)**: [Ruff](https://astral.sh/ruff) 用于代码检查和格式化。对核心处理程序中的`print`语句(`T201`)零容忍。
- **Webapp(UI)**: [Biome](https://biomejs.dev/) 用于毫秒级代码检查。严格执行`noConsoleLog`。
- **协议合规性**:强化`stdout/stderr`隔离,以确保抗崩溃的JSON-RPC通信。
- **自动化**: [Justfile](./justfile) 适用于所有舰队操作(`just lint`,`just fix`,`just dev`)。
- **安全**:通过`bandit`和`safety`进行自动审计。
## 许可证
私有项目 - 所有权利归Sandra Schipal所有
---
**在维也纳第九区使用爱心打造**
*用于日常管理,Benny护理和跟踪你最后一次洗头*
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器