轻量桌面桌宠助手 — 陪聊、提醒、操控电脑。
一只住在你桌面上的小助手。可以对它说「明天九点开会」,也可以让它帮你写脚本、查文件。支持 OpenAI 兼容协议和 Ollama 本地模型,所有数据离线存储。
前往 Releases 下载最新版本。
| 平台 | 安装包 |
|---|---|
| macOS | .dmg(拖入 Applications) |
| Windows | .msi |
| Linux | .AppImage / .deb |
首次启动后,右键桌宠 → 设置 → LLM tab 配置模型即可开始对话。也可以从源码运行:
npm install && npm start应用内「检查更新」使用 Tauri updater。发布时不仅需要 .dmg / .exe / .deb 等安装包,还需要 Release 里包含 updater.json 和各平台 updater 包的 .sig 签名文件。
当前 GitHub Actions 会在 tag 发布完成后自动生成并上传 updater.json。首次启用前,需要在仓库 Settings → Secrets and variables → Actions 增加:
| Secret | 说明 |
|---|---|
TAURI_SIGNING_PRIVATE_KEY |
tauri signer generate 生成的私钥 |
TAURI_SIGNING_PRIVATE_KEY_PASSWORD |
私钥密码,没有密码则留空 |
发布流程:
./scripts/bump-version.sh 0.2.7
git add package.json package-lock.json src-tauri/Cargo.toml src-tauri/Cargo.lock src-tauri/tauri.conf.json
git commit -m "chore: bump version to v0.2.7"
git tag v0.2.7
git push origin main
git push origin v0.2.7Release 完成后应能访问:
https://github.com/Wzhgeek/Camo/releases/latest/download/updater.json
支持流式输出和思考过程渲染。系统提示词可自定义,让 Camo 拥有你想要的人格。
| 特性 | 说明 |
|---|---|
| 多 Provider | 内置 DeepSeek、Kimi、豆包、ChatGPT、Claude、Gemini、Ollama 等 11 个 API 预设 |
| 会话管理 | 多会话切换、重命名、删除,自动用首条消息做标题 |
| 思考过程 | Ollama / DeepSeek 等模型的 reasoning 展开为折叠面板 |
| 停止生成 | 随时中断,不丢已输出内容 |
在聊天框里写人话就能创建提醒——
明天九点开会
每隔30分钟喝水
后天下午三点交周报
2小时后提醒我吃饭
支持中文数字(九点半)、阿拉伯数字(9:30)、相对时间(30 分钟后)、日期(明天/后天)。凌晨 5 点前说「明天」指当天白天。
手动模式功能更完整:
| 周期类型 | 说明 |
|---|---|
| 一次性 | 指定日期时间触发 |
| 每天 | 每天固定时刻 |
| 循环间隔 | 每 N 分钟触发一次 |
| 工作日 | 周一至周五固定时刻 |
| 周末 | 周六日固定时刻 |
| 日期范围 | start ~ end 区间内每天触发 |
触发时弹出气泡,支持完成 / 稍后(+10 分钟)/ 跳过三个动作。一次性提醒完成后自动禁用。
独立于通用提醒的轻量功能。可配置间隔分钟数和活跃时段(如 09:00–22:00),面板显示实时倒计时。不依赖 LLM,即使模型离线也能工作。
桌宠根据上下文自动切换形象——9 种状态、2 套主题配色、idle 时 6 帧循环动画:
idle → happy(被点击) → thinking(收到消息) → answering(流式输出中)
reminder / water / exercise(提醒触发)
sleepy(10 分钟无操作) → done(任务完成)
支持自由拖动、滚轮缩放、锁定位置、左下/右下角固定。
| 维度 | 选项 |
|---|---|
| 主题 | 灰色 / 紫色 |
| 深色模式 | 自动(按时间段)/ 浅色 / 深色 |
| 字体 | 系统默认 / 衬线 / 等宽 |
| 字号 | 内容 11-20px、面板 9-26px 独立可调 |
| 状态指示器 | 圆点 / 胶囊 / 隐藏,3 种配色(默认/冷色/暖色) |
| 气泡样式 | 紧凑 / 标准 / 柔和,透明度和圆角可调 |
| 窗口行为 | 置顶、锁定、记住位置、透明度 |
camo config # 交互式设置
camo config --provider ollama \
--base-url http://localhost:11434 \
--model qwen3.5:2b # 命令行设置配置写入 ~/.camo/config.json,由桌面应用自动读取。
所有数据通过 sql.js (WASM SQLite) 存储,IndexedDB 做文件持久化。聊天记录、提醒、设置、好感度跨重启保留,完全离线。
src/
├─ components/ # Vue 组件
│ ├─ CamoPet.vue # 桌宠展示、拖拽、滚轮缩放
│ ├─ ChatPanel.vue # 聊天面板、会话管理
│ ├─ ReminderBubble.vue # 提醒触发气泡(完成/稍后/跳过)
│ ├─ ReminderPanel.vue # 提醒管理面板
│ └─ SettingsPanel.vue # 设置面板(LLM / 提示词 / 外观 / 系统)
├─ core/
│ ├─ agent/ # 意图识别
│ ├─ camo/ # 状态机、素材映射、主题
│ ├─ llm/ # LLM Provider(OpenAI 兼容协议 + Ollama)
│ ├─ reminder/ # 提醒解析、存储、调度引擎
│ └─ storage/ # sql.js 数据库、migrations
├─ stores/ # Pinia stores(camo / chat / reminder / settings)
├─ styles/ # 深色/浅色主题 CSS 变量
├─ App.vue # 根组件、窗口路由、生命周期
└─ main.ts # 入口
| 层 | 技术 |
|---|---|
| 桌面框架 | Tauri 2 |
| 前端 | Vue 3 · Vite · TypeScript |
| 状态管理 | Pinia |
| 存储 | sql.js (WASM SQLite) · IndexedDB |
| 图标 | Lucide Vue Next |
| 样式 | CSS 变量 · 透明毛玻璃 |
| LLM | OpenAI 兼容协议 · Ollama |
| 平台 | 状态 |
|---|---|
| macOS 14+ | 完全支持 |
| Windows 10+ | 完全支持 |
| Linux (Wayland/X11) | 完全支持 |
透明无边框、始终置顶。macOS 启用 macOSPrivateApi。浏览器预览模式下透明背景合成到渐变。
| 方向 | 状态 |
|---|---|
| LLM 对话 + 自然语言提醒 + 喝水提醒 | 已完成 |
| 外观系统、深色模式、窗口行为配置 | 已完成 |
| 好感度系统 — 桌宠记忆用户互动,语气逐渐亲密 | 已完成 |
| Camo Claw — LLM 操控电脑(读写文件、执行命令、截图、键鼠) | 规划中 |
欢迎提 Issue 和 PR。新功能建议请先开 Issue 讨论,避免重复工作。
构建:
npm run build # 仅前端
npm run package # Tauri 桌面应用打包