| 阶段 | 特性 | 状态 |
|---|---|---|
| Phase 1 | 🖥️ 透明窗口 + Live2D 宠物显示 | 📋 规划中 |
| Phase 1 | 💬 AI 对话(OpenAI / DeepSeek / Ollama) | 📋 规划中 |
| Phase 1 | 🧠 记忆系统(三层架构) | 📋 规划中 |
| Phase 2 | 📖 长期记忆 + 全文检索 | ⏳ 待开始 |
| Phase 3 | ❤️ 情感系统 + 主动行为 | ⏳ 待开始 |
| Phase 4 | 🔌 插件系统(YAML/JS/MCP) | ⏳ 待开始 |
| Phase 5 | 🎤 语音交互 | 🔮 未来 |
| Phase 6 | 🖱️ 桌面控制 | 🔮 未来 |
最终目标:通过自然对话控制电脑。
从 Releases 页面 下载最新 .dmg(macOS)或 .msi(Windows)。
# 1. 前置要求
# - Rust 1.80+ (rustup)
# - Go 1.23+
# - Node.js 22+ (推荐)
# - pnpm 9+ (npm i -g pnpm)
# - Tauri CLI v2 (cargo install tauri-cli --version "^2")
# 2. 启动开发环境
git clone https://github.com/baosfeng/desktop-pet.git
cd desktop-pet
make dev
# 3. 生产构建
make build
# 产物: src-tauri/target/release/bundle/dmg/DesktopPet-*.dmg (~25MB)详细步骤见 快速上手。
┌──────────────────────────────────────────┐
│ DesktopPet.app (~25MB) │
│ │
│ ┌────────────────────────────────────┐ │
│ │ Tauri Rust 壳 │ │
│ │ - 透明窗口 / 鼠标穿透 / 置顶 │ │
│ │ - 系统托盘 / 全局快捷键 │ │
│ │ - sidecar 管理 / 自动更新 │ │
│ └──────────┬─────────────────────────┘ │
│ │ Tauri IPC │
│ ┌──────────▼─────────────────────────┐ │
│ │ React 前端 (WebView) │ │
│ │ - PixiJS 8 + Live2D │ │
│ │ - 聊天气泡 / 设置面板 │ │
│ └────────────────────────────────────┘ │
│ │
│ ┌────────────────────────────────────┐ │
│ │ Go PetCore (sidecar, ~10MB) │ │
│ │ - 状态引擎 / AI Agent │ │
│ │ - 记忆系统 / 插件系统 │ │
│ │ - CGO_ENABLED=0 静态二进制 │ │
│ └────────────────────────────────────┘ │
└──────────────────────────────────────────┘
设计详情见 架构总览。
| 层 | 技术 | 用途 |
|---|---|---|
| 桌面容器 | Tauri v2 (Rust) | 系统原生 WebView,透明窗口 |
| 渲染引擎 | PixiJS 8 + pixi-live2d-display | Live2D 模型加载和动画 |
| 前端 UI | React 18 + TypeScript 5 + Vite 6 | 组件化 UI |
| 后端内核 | Go 1.23+ (CGO_ENABLED=0) | AI Agent、记忆管理、插件 |
| 记忆存储 | SQLite + FTS5 (modernc.org/sqlite) | 纯 Go,零 CGO |
| LLM 协议 | Provider 接口 + 注册表 | 统一接入 OpenAI/DeepSeek/Ollama |
| 工具协议 | MCP | 行业标准工具扩展 |
| 通信 | Tauri IPC + sidecar stdin/stdout JSON | 零网络开销 |
| 自动更新 | tauri-plugin-updater | GitHub Releases |
| 文档 | 说明 |
|---|---|
| 架构总览 | 完整架构设计说明 |
| 架构总览 | 系统架构概览 |
| 快速上手 | 开发环境搭建 |
| 前端文档 | React/PixiJS/Live2D |
| 后端文档 | Go PetCore 内核 |
| 代码规范 | 编码风格和 linter 规则 |
| 贡献指南 | 参与贡献 |
欢迎贡献!请阅读:
本项目基于 MIT 许可证 开源。
Made with ❤️ and 🐹
