[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-76061":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":14,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":38,"readmeContent":39,"aiSummary":40,"trendingCount":16,"starSnapshotCount":16,"syncStatus":41,"lastSyncTime":42,"discoverSource":43},76061,"HermesPet","basionwang-bot\u002FHermesPet","basionwang-bot","让 AI 住在你 MacBook 的刘海里 · 零依赖开箱即用 · 多引擎并行的桌面 AI 伴侣（Swift 6 \u002F SwiftUI \u002F macOS 14+）","https:\u002F\u002Fhermespet.cc",null,"Swift",484,52,3,109,0,62,364,22,81.17,"Apache License 2.0",false,"main",true,[26,27,28,29,30,31,32,33,34,35,36,37],"ai","chatgpt","chinese","claude","deepseek","desktop-app","dynamic-island","llm","macos","menu-bar-app","swift","swiftui","2026-06-12 04:01:20","\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"docs\u002Fbanner.png\" alt=\"HermesPet — 你的 AI 桌面伙伴，陪你工作，懂你所想\" width=\"100%\" \u002F>\n\n# HermesPet \n\u003Cimg src=\"docs\u002Fapp-icon.png\" alt=\"HermesPet App Icon\" width=\"28\" height=\"28\" \u002F>\n\n**让 AI 住在你 MacBook 的刘海里 · 5 种引擎并行 · 5 只像素桌宠陪你工作**\n\n[![Website](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F官网-hermespet.cc-7B68EE?logo=safari&logoColor=white)](https:\u002F\u002Fhermespet.cc)\n[![macOS](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FmacOS-14.0+-000000?logo=apple&logoColor=white)](https:\u002F\u002Fwww.apple.com\u002Fmacos\u002F)\n[![Swift](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSwift-6.0-F05138?logo=swift&logoColor=white)](https:\u002F\u002Fwww.swift.org\u002F)\n[![Latest Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fbasionwang-bot\u002FHermesPet?label=最新版&color=success&logo=github)](https:\u002F\u002Fgithub.com\u002Fbasionwang-bot\u002FHermesPet\u002Freleases\u002Flatest)\n[![Downloads](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002Fbasionwang-bot\u002FHermesPet\u002Ftotal?label=下载量&color=blue)](https:\u002F\u002Fgithub.com\u002Fbasionwang-bot\u002FHermesPet\u002Freleases)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache_2.0-blue.svg)](LICENSE)\n\n🌍 **中文** · [English](.\u002FREADME.en.md)\n\n### 📦 [点这里下载最新版本 DMG →](https:\u002F\u002Fgithub.com\u002Fbasionwang-bot\u002FHermesPet\u002Freleases\u002Flatest)\n\n### 🌐 [访问项目主页 · hermespet.cc →](https:\u002F\u002Fhermespet.cc)\n\n直接拿 macOS DMG · 双击安装 · 选服务商粘 API Key 就能用，**不依赖任何命令行工具**\n\n\u003C\u002Fdiv>\n\n---\n\n> ## 🛡️ 认准官方下载源\n>\n> HermesPet 由 **[Basion (@basionwang-bot)](https:\u002F\u002Fgithub.com\u002Fbasionwang-bot)** 独立开发并以开源形式提供。\n>\n> **唯一官方下载源**：[github.com\u002Fbasionwang-bot\u002FHermesPet\u002Freleases](https:\u002F\u002Fgithub.com\u002Fbasionwang-bot\u002FHermesPet\u002Freleases)\n>\n> 近期发现有第三方把本项目转发到个人网盘 \u002F 二手平台 \u002F 其他网站后冒充原作者作品。**所有官方渠道之外的 DMG 均不保证安全和正版**，请认准上方 GitHub Releases 页下载。\n>\n> 装好之后可在 App 内 **设置 → 关于 → 官方版本验证** 查看 codesign 签名校验结果（正版会显示原作者 Team ID `R34KL4X4D9`）。\n>\n> 如发现盗用或冒名行为，欢迎在 [GitHub Issues](https:\u002F\u002Fgithub.com\u002Fbasionwang-bot\u002FHermesPet\u002Fissues) 反馈。\n\n---\n\n\u003Cdiv align=\"center\">\n\n\u003Csub>🌟 \u003Cb>感谢这些朋友支持 HermesPet ❤️\u003C\u002Fb>\u003C\u002Fsub>\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd align=\"center\" width=\"110\">\n\u003Ca href=\"https:\u002F\u002Fafdian.com\u002Fa\u002Fbasionwang\">\u003Cimg src=\"docs\u002Fsponsors\u002Fsponsor-01.jpg\" width=\"56\" height=\"56\" alt=\"匿名朋友\"\u002F>\u003C\u002Fa>\u003Cbr\u002F>\n\u003Csub>\u003Cb>匿名\u003C\u002Fb>\u003C\u002Fsub>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" width=\"110\">\n\u003Ca href=\"https:\u002F\u002Fafdian.com\u002Fa\u002Fbasionwang\">\u003Cimg src=\"docs\u002Fsponsors\u002Fsponsor-02.jpg\" width=\"56\" height=\"56\" alt=\"匿名朋友\"\u002F>\u003C\u002Fa>\u003Cbr\u002F>\n\u003Csub>\u003Cb>匿名\u003C\u002Fb>\u003C\u002Fsub>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" width=\"110\">\n\u003Ca href=\"https:\u002F\u002Fafdian.com\u002Fa\u002Fbasionwang\">\u003Cimg src=\"docs\u002Fsponsors\u002Fnext-slot.svg\" width=\"56\" height=\"56\" alt=\"下一位\"\u002F>\u003C\u002Fa>\u003Cbr\u002F>\n\u003Csub>\u003Ci>下一位？\u003C\u002Fi>\u003C\u002Fsub>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003C\u002Fdiv>\n\n---\n\nHermesPet 是一个常驻在 MacBook **顶部刘海下方**的 AI 聊天客户端 + 桌面伴侣。\n\n**最重要的一点**：装上就能用，不需要在你电脑上装任何命令行工具。打开 → 选个 AI 服务商（DeepSeek \u002F 智谱 \u002F Kimi \u002F MiniMax \u002F OpenAI \u002F OpenClaw \u002F 你自己的云端 Gateway）→ 粘贴 API Key → 开聊。如果你额外装了 `claude` \u002F `codex` CLI，App 会自动检测出来并解锁\"读写本地文件 \u002F 跑命令 \u002F 生图\"这些高级能力。\n\n按一下刘海呼出聊天窗、按住 `⌘⇧V` 说话、拖文件给小家伙吃掉、让 fomo 小狐狸在桌面闲逛嗅你的文件、AI 完成任务时灵动岛右耳画一个 Face ID 风的对勾 ✓ —— **桌面 AI 应当鲜活**。\n\n> Swift 6 · SwiftUI · macOS 14+ · 纯原生（无 Electron \u002F 无 Web view） · Apache-2.0 开源\n\n---\n\n## ✨ 核心亮点\n\n### 🔀 5 种 AI 引擎，真正同时跑\n\n不是切换，是**真正并行**。每个对话独立绑定一个 AI 引擎，第一条消息发出后锁定，最多挂 8 个对话同时跑（`⌘1`~`⌘8` 秒切）。你可以一边让 Claude 改代码，一边让在线 AI 翻译文档，一边等 Codex 生图 —— **后台跑完时灵动岛对应位置呼吸发光提醒**，不用守着屏幕。\n\n| 引擎 | 适用 | 准备 |\n|---|---|---|\n| ☁️ **在线 AI** | DeepSeek \u002F 智谱 \u002F Kimi \u002F MiniMax \u002F OpenAI —— 一键选服务商粘 Key | DMG 内嵌 opencode runtime，**零依赖** |\n| ⚡ **OpenClaw**（新）| 局域网网关式 AI 平台接入 | 装 OpenClaw → HermesPet 自动检测 + 零配置首连 |\n| ✦ **Hermes Gateway** | 接任何 **OpenAI 兼容的 HTTP 端点**（自部署 \u002F 云端 \u002F vLLM \u002F Ollama 都行） | 填 baseURL + Key |\n| ⌨️ **Claude Code** | 改文件 \u002F 跑命令 \u002F 深度编程 | 装 `claude` CLI（可选） |\n| ✨ **Codex** | 写代码 + 原生生图 | 装 `codex` CLI（可选） |\n\n**新用户默认只见\"在线 AI\"模式**（最简单），其他四个 mode 装好对应工具后**自动检测并解锁**，不需要手动开关 —— 小白也能用。\n\n### 🦊 5 只像素桌宠 · 跟着 mode 切\n\n每个 AI 模式都有自己的**专属像素桌宠**，活在你菜单栏底下：\n\n| 桌宠 | 所属 mode | 性格 |\n|---|---|---|\n| 🦞 **Clawd** | Claude Code | 橙色像素小螃蟹，最早一只，爱在桌面闲逛嗅图标 |\n| ☁️ **云朵** | 在线 AI | indigo 小精灵，戴眼镜认真看你拖的图 |\n| 🦊 **fomo** | OpenClaw | 月光银白九尾狐，灵动的大耳朵抖个不停（v1.2.9 新）|\n| 🐴 **Pegasus** | Hermes | 金黄飞马，四脚 trot 步态 + 鬃毛随风（v1.2.7 新）|\n| ⌨️ **coco** | Codex | 钢铁侠风像素小机器人 |\n\n桌宠不只是装饰：\n\n- 🍽 **拖文件给桌宠** → 它嚼嚼吞下 → 文件自动作为附件发到当前对话\n- 👃 **拖桌宠到桌面图标** → 它停下嗅一嗅 → AI 给文件名一句 ≤10 字短评\n- 🌀 **跨灵动岛传送门**（v1.2.7+）：桌宠走到刘海下方会触发**像素艺术风传送门动画**（八边形门框 + 旋转星点 + mode 主色脉冲），从灵动岛的另一侧穿出去\n- 🛡 文件名进 AI 前过本地黑名单（薪资 \u002F 合同 \u002F 密码 \u002F .env 等敏感关键词整条跳过）\n\n### 🏔 灵动岛 = 操作系统级状态显示\n\n刘海下方那个胶囊**不是装饰**，是 HermesPet 真正的\"心脏\"：\n\n- **左耳** 桌宠精灵跟当前 mode 实时切（5 只独立动画）\n- **右耳** 工具运行实时状态：旋转脉冲 → 步骤数 → 文件变更数 → 完成时 **Face ID 风格画线对勾 ✓**\n- **鼠标 hover 像水滴展开** —— 胶囊从刘海正下方润下来，展示 mode 主色 + 模型名 + 最近回复预览\n- 🛡 **工具权限确认 UI**（v1.2.4 新）：Claude \u002F Codex 要写文件时，灵动岛下方**紧贴**弹一张黑色卡片，三按钮 [拒绝 \u002F 允许 \u002F 总是允许]，**视觉上跟刘海无缝衔接**像一体\n- 💬 **AI 回复摘要卡**（v1.2.7 新）：聊天窗关着时，AI 回复完成后灵动岛下方弹摘要卡 8 秒，[复制 \u002F 查看完整]，错过的回复也不会真的错过\n- 🎙 **语音字幕条**：按住 `⌘⇧V` 时灵动岛下方实时显示语音识别字幕\n- ❌ **错误态**整个胶囊切琥珀色 + 点击重试\n- 📸 **截屏快门** 0.18s 白色闪光 + scale 反弹\n- 🌊 **后台对话呼吸**：8 个对话其中之一在后台跑时，对应胶囊位置呼吸式微微发光\n\n### 🛡 工具权限实时确认（v1.2.4 新）\n\nClaude Code \u002F Codex 要在你电脑上写文件 \u002F 跑命令的时候，**灵动岛下方弹一张紧贴的卡片**给你看：\n\n- 看到工具名 + 主要参数（哪个文件 \u002F 什么命令）\n- 三个按钮：**拒绝 \u002F 允许（本次）\u002F 总是允许（白名单）**\n- 决策后 0.8s 显示 banner 反馈（✓ 允许了 \u002F ✗ 拒绝了 \u002F 已加白名单）\n- 聊天窗开着时这套 UI 自动迁移到 PetHeaderStrip 顶条接管，桌宠 sprite 切\"举手求救\"姿势\n\n**HermesPet 不会替你做主**。\n\n### 🎙 按住任意 app 说话（Push-to-Talk）\n\n按住 `⌘⇧V` 在任何 app 里：\n\n- 🌈 屏幕边缘出现 **Apple Intelligence 风格彩色光环**（6 色 AngularGradient 4 秒一圈）\n- 🎤 灵动岛右耳脉冲红色麦克风\n- 📝 灵动岛下方实时显示中文识别字幕\n- 🔊 中文识别走 **SFSpeechRecognizer**（macOS 离线模型）\n- 📤 松开自动发送，AI 回复完成有\"叮\"音效\n\n### 📎 拖文件给 AI · 让 AI 自己按需读\n\n不是把整个 PDF 塞进 context，而是**让 AI 自己决定读哪几页**：\n\n- 拖入 PDF \u002F txt \u002F md \u002F py \u002F ts 任意文档\n- Claude \u002F Codex 模式：把**绝对路径**拼到 prompt 末尾，AI 用自己的 Read \u002F Bash 工具按需读取\n- 客户端只负责把文件父目录加进 `--add-dir` 白名单\n- 省 context、省 token、更快、AI 还能精准只读相关段落\n\n图片支持四路输入：**剪贴板粘贴 \u002F 拖拽 \u002F `⌘⇧J` 截屏 \u002F Codex 直接生图**，多模态一气呵成。\n\n### 💬 多对话 · 跨 AI 共享上下文（绝活）\n\n- 同时最多 **8 个对话**（`⌘N` 新建 \u002F `⌘[` `⌘]` 切换 \u002F `⌘1`~`⌘8` 直达）\n- 每个对话**独立绑定 mode**，绝不互相污染\n- **切 mode 时整段历史传给新模型** —— 让 Claude 接着看 Hermes 刚才聊的内容，反之亦然\n- 后台对话完成时灵动岛红点提醒\n- 顶部 8 个圆角 TabBar，每个标签显示 mini sprite + 序号 + 首条消息派生的智能标题\n\n### 📋 AI 任务规划 → 可派发卡片（独门绝活）\n\n让 AI 帮你**规划任务并直接派发**给最合适的 AI：\n\n- 你说：\"帮我列一下今天要做的事\"\n- AI 回 ```` ```tasks ```` YAML 块（每项 title \u002F desc \u002F **推荐 mode** \u002F eta）\n- 客户端自动渲染为**可操作卡片**，每张卡 3 个按钮：\n  - 📌 **Pin** — 转任务 Pin 钉到桌面右上角，✅ 勾完打码不消失\n  - 🤖 **让 AI 做** — 自动新建对话派发给推荐 mode（Claude \u002F Codex 等），任务作首条消息发出\n  - ✗ **跳过** — 本地 dismiss\n\n不只是聊天客户端，是**任务调度入口**。\n\n### 📰 每日早报（你睡了它在看）\n\nHermesPet 默默记录你昨天**用了哪些 app \u002F 拖了什么文件 \u002F 问了 AI 什么问题**（所有数据本地 SQLite，敏感词整条丢弃），早上启动时 AI 反向看一遍生成 Markdown 简报：\n\n> 昨天你花了 4h 在 Xcode 上，给 Hermes 模式问了 7 个 Swift 问题，3 次跟 SwiftUI 动画相关。看上去你在调动画 —— 要不要我把昨天的关键解决方案 Pin 到桌面？\n\n数据**全部在本地不出机器**，可在设置里**一键导出 JSON \u002F 清空记录 \u002F 黑名单 app**。\n\n### 🎨 精致到偏执的细节\n\n- **Markdown** 完整渲染（GFM 表格 + 编号列表自动转可点击卡片 + 代码块带\"复制\"反馈）\n- **Pin 桌面卡片**：把任意 AI 回答钉到桌面，单击转回聊天继续\n- **快问浮窗** `⌘⇧Space` Spotlight 风快问 —— 不开聊天窗也能问一句\n- **输入栏严格按 Apple HIG**（Capsule + 28pt 圆按钮 + iMessage 风 placeholder + 多行自动扩展）\n- **聊天字号 5 档可调**（`⌘+` \u002F `⌘-` \u002F `⌘0` 回 100%）\n- **窗口置顶切换** 聊天窗 header 📌 图标随手切\"始终置顶\"和\"普通窗口\"\n- **Dock 图标可选** 默认菜单栏 agent 风格不占 Dock；设置里可开 Dock 图标 + 进入 Cmd+Tab\n- **5 个事件提示音**可独立开关 + 可拖入自定义 mp3\u002Fwav 当提示音\n\n### 🔄 自动更新 · 防伪验证 · 一键反馈\n\n- 🔄 **应用内自动更新**：启动 60s 后 + 每 24h 自动检查 GitHub Release，有新版菜单栏 🔵 提示，点「下载并安装」→ 后台拉 DMG → 自动 `hdiutil` 挂载 → Finder 弹窗引导 (**不靠 Sparkle、不收集任何遥测**)\n- 🛡 **官方版本验证**（v1.2.9 新）：设置 → 关于 → 一键 codesign 校验，正版会显示原作者 Team ID `R34KL4X4D9`（防盗用 \u002F 防冒名）\n- 🚨 **崩溃一键上报**：自动扫描崩溃日志 → 一键复制完整日志到剪贴板 + 跳 GitHub Issue 新建页 (**零后端、零隐私顾虑**)\n\n---\n\n## 🚀 快速开始\n\n### 方式 A：下载 DMG 直接装（推荐，无需 Xcode · 3 分钟开聊）\n\n1. 去 [Releases 页面](https:\u002F\u002Fgithub.com\u002Fbasionwang-bot\u002FHermesPet\u002Freleases) 下载最新 `HermesPet-x.x.dmg`（Apple Silicon \u002F Intel 双份各取所需）\n2. 双击 DMG → 把\"Hermes 桌宠\"拖进应用程序\n3. 右键打开（首次需要绕过 Gatekeeper，因为是 ad-hoc 签名）\n4. 在菜单栏点 ✦ → 齿轮 ⚙️ → AI 后端 → **服务商下拉选一家**（DeepSeek \u002F 智谱 \u002F Kimi \u002F MiniMax \u002F OpenAI）→ 粘贴 API Key → 开聊\n\n没有 API Key？设置面板里每个服务商旁都有一个**\"获取 Key\"链接**直达官方申请页。\n\n### 方式 B：从源码构建（开发者）\n\n需要 macOS 14+ 和 Xcode 命令行工具：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fbasionwang-bot\u002FHermesPet.git\ncd HermesPet\n.\u002Finstall.sh\n```\n\n`install.sh` 会构建 → 装到 `\u002FApplications\u002FHermes 桌宠.app` → 启动。\n推荐有 Apple Development 证书 —— TCC 权限永久稳定。\n\n### 进阶：解锁更多 AI 引擎（全部可选）\n\n四个进阶引擎都是**可选**的，装了能解锁更强能力，不装也完全能用在线 AI 聊天：\n\n| 引擎 | 安装命令 | 解锁能力 |\n|---|---|---|\n| **OpenClaw** | `npm i -g openclaw@latest && openclaw onboard --install-daemon` | 网关式 AI 平台 + 多模型聚合 |\n| **Hermes Gateway** | 自部署任何 OpenAI 兼容 API（或填云端 baseURL） | 接公司内部 LLM \u002F vLLM \u002F Ollama |\n| **Claude Code** | [官方安装指南](https:\u002F\u002Fdocs.claude.com\u002Fen\u002Fdocs\u002Fagents-and-tools\u002Fclaude-code\u002Foverview) | 文件读写 + 跑命令 + 深度编程 |\n| **OpenAI Codex** | [官方仓库](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex) | 生图 + 多图视觉 + 代码 |\n\n装好后**重启 HermesPet 自动检测路径**（启动时跑一次 `zsh -lic 'command -v ...'`，能读到你 `~\u002F.zshrc` 真实 PATH）。如果检测不到，进设置面板对应 mode 卡片点\"重新检测\"即可。\n\n### 首次授权\n\n| 权限 | 触发时机 | 用途 |\n|---|---|---|\n| 屏幕录制 | 首次 `⌘⇧J` 截图 | ScreenCaptureKit |\n| 麦克风 | 首次 `⌘⇧V` | 录音 |\n| 语音识别 | 首次 `⌘⇧V` | SFSpeechRecognizer |\n| Accessibility | 快问浮窗读选中文本 | AX API |\n| Finder 自动化 | 开启\"Clawd 桌面巡视\" | osascript 读桌面图标 |\n\n授权完任一权限后建议**完全退出再打开**（菜单栏 ✦ → 退出 → 重开），新进程才能读到权限。\n\n---\n\n## 🎯 5 个 AI 引擎 · 详解\n\n| Mode | 图标 | 适合场景 | 准备工作 |\n|---|---|---|---|\n| **在线 AI** ⭐ | ☁ | 对话 \u002F 翻译 \u002F 写作 \u002F 看图 —— **零依赖，开箱即用** | 选服务商 + 填 API Key（DeepSeek \u002F 智谱 \u002F Kimi \u002F MiniMax \u002F OpenAI 内置预设；DMG 内嵌 opencode runtime 处理 SSE \u002F 推理过滤 \u002F 工具调用） |\n| **OpenClaw** ⚡ | ⚡ | 局域网网关式 AI 平台 —— v1.2.9 新增 | 装 [OpenClaw](https:\u002F\u002Fopenclaw.ai)（npm 一行）→ HermesPet 启动时**自动检测 daemon + 自动 enable chatCompletions 端点 + 零配置首连** |\n| **Hermes Gateway** | ✦ | 接**任何 OpenAI 兼容 HTTP 端点**（自托管 \u002F 云端 \u002F vLLM \u002F Ollama \u002F 公司内部 LLM 平台都行） | 填 baseURL + Key，**新 v1.2.x：内置三档 preset**（本地 \u002F 自托管 \u002F 自定义），模型 Picker 自动从 `\u002Fv1\u002Fmodels` 拉 |\n| **Claude Code** | ⌨ | 改文件 \u002F 跑命令 \u002F 深度编程 \u002F 完整工具调用 | 装 [`claude` CLI](https:\u002F\u002Fdocs.claude.com\u002Fen\u002Fdocs\u002Fagents-and-tools\u002Fclaude-code\u002Foverview)（可选） |\n| **Codex** | ✨ | 生图 + 代码（原生 Codex CLI，支持多图）| 装 [OpenAI Codex CLI](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex) + `codex login`（可选） |\n\n打开聊天 → ⚙️ → AI 后端 → 填配置。**五个 mode 的配置完全独立保存**，**新建对话时继承\"上次用的\" mode**。\n\n🆕 **v1.2.9 默认隐藏 + 自动检测**：新用户默认只见\"在线 AI\"模式（最简洁），其他 4 个 mode 装好对应工具后**自动检测并弹出可启用**。已启用过的 mode 可以在设置里独立关掉，**用户的意图永远 > 自动检测**。\n\n### 在线 AI 内置服务商预设\n\n零配置切换六家主流 LLM，每家**回复偏好 3 档可切**（快速 \u002F 平衡 \u002F 深度），自动映射到对应模型：\n\n| 服务商 | 默认模型 | 注册入口 |\n|---|---|---|\n| DeepSeek | deepseek-chat | [platform.deepseek.com](https:\u002F\u002Fplatform.deepseek.com) |\n| 智谱 GLM | glm-4-flash | [open.bigmodel.cn](https:\u002F\u002Fopen.bigmodel.cn) |\n| Moonshot Kimi | moonshot-v1-8k | [platform.moonshot.cn](https:\u002F\u002Fplatform.moonshot.cn) |\n| MiniMax | MiniMax-M2.7 | [platform.minimaxi.com](https:\u002F\u002Fplatform.minimaxi.com) |\n| OpenAI | gpt-4o-mini | [platform.openai.com](https:\u002F\u002Fplatform.openai.com) |\n| 自定义 | 你填 | 任意 OpenAI 兼容端点 |\n\n每家服务商的 **API Key 独立保存**（不会跨服务商串号），切换服务商时自动写入对应 baseURL，**5 分钟新手就能上手**。\n\n---\n\n## ⌨️ 快捷键\n\n**全局热键**（Carbon Event Manager 注册，在任何 app 里都能触发）：\n\n| 组合 | 功能 |\n|---|---|\n| `⌘⇧H` | 呼出 \u002F 收回聊天窗口 |\n| `⌘⇧J` | 截当前屏幕并附加到对话 |\n| `⌘⇧V` | 按住说话，松开自动发送 |\n| `⌘⇧P` | 把当前对话最新 AI 回复 Pin 到桌面 |\n| `⌘⇧Space` | Spotlight 风快问浮窗 |\n\n**聊天窗内快捷键**（窗口聚焦时生效）：\n\n| 组合 | 功能 |\n|---|---|\n| `⌘N` | 新建对话 |\n| `⌘[` \u002F `⌘]` | 切换上一个 \u002F 下一个对话 |\n| `⌘1` ~ `⌘8` | 直接切到对应序号对话 |\n| `⌘⌫` | 关闭当前对话 |\n\n---\n\n## 🧰 构建脚本\n\n| 脚本 | 用途 |\n|---|---|\n| `.\u002Fbuild.sh` | 仅构建 `.app` 到 `.\u002FHermesPet.app`（自动选证书） |\n| `.\u002Finstall.sh` | 构建 + 装到 `\u002FApplications` + 启动（**日常用这个**） |\n| `.\u002Fmake-dmg.sh` | 生成给别人分发的 DMG（ad-hoc 签名，接收方需右键打开） |\n\n---\n\n## 📁 项目结构\n\n```\nSources\u002F  (~60 个 .swift，按职能分组)\n├── HermesPetApp.swift           # AppDelegate，统筹各 controller \u002F 全局热键\n├── ChatViewModel.swift          # 多对话状态 + 流式请求 + 持久化\n├── ChatView.swift               # 聊天主界面 (header \u002F 消息 \u002F TabBar)\n├── DynamicIslandController.swift # 顶部刘海胶囊（决策 #1 永不 setFrame）\n├── PermissionWindowController.swift # 工具权限确认 UI（紧贴灵动岛）\n├── ResponseSummaryWindowController.swift # AI 回复摘要卡（聊天窗关时）\n├── PetHeaderStrip.swift         # 聊天窗顶 28pt 桌宠状态条\n├── ClawdWalkOverlay.swift       # 桌面像素桌宠漫步 + 嗅文件 + 传送门\n├── TeleportPortal.swift         # 跨灵动岛传送门像素动画\n├── FomoSprite.swift             # 🦊 OpenClaw 九尾狐精灵\n├── ModeSprite.swift             # Clawd \u002F 云朵 \u002F Pegasus \u002F coco 精灵\n├── PinCardOverlay.swift         # 桌面 Pin 卡片（任意 AI 回答钉桌面）\n├── QuickAskWindow.swift         # Spotlight 风快问浮窗\n├── IntelligenceOverlay.swift    # 语音热键 Apple Intelligence 光环\n├── VoiceInputController.swift   # 录音 + SFSpeechRecognizer 中文识别\n├── VoiceTranscriptOverlay.swift # 灵动岛下方实时字幕条\n├── ScreenCapture.swift          # ScreenCaptureKit 截屏\n├── APIClient.swift              # OpenAI 兼容 HTTP 流式（Hermes \u002F 在线 AI \u002F OpenClaw 共享）\n├── OpenClawGatewayManager.swift # OpenClaw daemon 自动检测 + 零配置首连\n├── OpenCodeServerManager.swift  # bundled opencode runtime 管理\n├── ClaudeCodeClient.swift       # spawn claude -p\n├── CodexClient.swift            # spawn codex exec + 图片捕获\n├── MarkdownRenderer.swift       # GFM 表格 + 任务规划卡 + 选项卡片\n├── ActivityRecorder.swift       # 本地活动采集（早报数据源）\n├── MorningBriefingService.swift # 每日早报生成\n├── CodeSignVerifier.swift       # 官方版本验证（v1.2.9 防伪）\n└── ...\n```\n\n技术决策细节（踩过的坑 \u002F Swift 6 isolation \u002F macOS 26 layout cycle）见 [CLAUDE.md](.\u002FCLAUDE.md)。路线图见 [TODO.md](.\u002FTODO.md)。\n\n---\n\n## 🗂 数据存储 \u002F 隐私\n\n| 路径 | 内容 |\n|---|---|\n| `~\u002F.hermespet\u002Fconversations.json` | 所有对话历史（不含图片 Data） |\n| `~\u002F.hermespet\u002Fimages\u002F` | 用户附图 \u002F Codex 生图持久化 |\n| `~\u002F.hermespet\u002Fpins.json` | Pin 桌面卡片 |\n| `~\u002F.hermespet\u002Factivity.sqlite` | 活动采集 + 用户意图记录（早报数据源） |\n| `~\u002FLibrary\u002FCaches\u002FHermesPet\u002F` | 截图临时区 + 桌宠临时缓存 |\n| `~\u002FLibrary\u002FApplication Support\u002FHermesPet\u002Fopencode-global\u002F` | bundled opencode runtime 工作目录（在线 AI 模式用） |\n\n**隐私边界**（HermesPet 把\"不收集\"做成了硬约束）：\n\n- 🛡 **零遥测**：项目本身不上送任何数据到任何后端。AI 调用都走你自己配置的后端（你的 API Key \u002F 你的自部署 Gateway \u002F 你本地的 CLI）\n- 🛡 **桌面巡视黑名单**：文件名进 AI 前过本地黑名单（薪资 \u002F 合同 \u002F 密码 \u002F `.env` \u002F `credentials` 等关键词整条丢弃，不发出去）\n- 🛡 **活动采集 全本地**：每日早报数据全部在本地 SQLite，**不出机器**；设置里可一键导出 JSON \u002F 清空记录 \u002F 拉黑某个 app\n- 🛡 **官方版本验证**：设置 → 关于 → 一键 codesign 校验（Team ID `R34KL4X4D9`），防止第三方重打包冒名\n- 🛡 **崩溃日志**：扫描本机崩溃文件 → 一键复制到剪贴板 → **你**手动粘贴到 GitHub Issue，HermesPet 不会自动上传任何东西\n\n---\n\n## 🤝 欢迎一起来玩\n\nHermesPet 还是个一个人维护的开源项目，每一个 issue \u002F PR \u002F star 都是真的能让我开心半天的那种支持。\n\n**有 Bug \u002F 用得不顺 \u002F 想要某个功能**：直接开 [Issue](https:\u002F\u002Fgithub.com\u002Fbasionwang-bot\u002FHermesPet\u002Fissues) 说说就行，描述清楚机型 + 系统版本 + 复现步骤，我会尽快看。\n\n**想动手改代码**：开干前建议先开 issue 聊聊方向，避免做出来跟项目走向不一致白费力气。代码风格上没什么硬性要求，跟着现有文件写就好。\n\n**用着觉得不错**：欢迎点个 star ⭐ 或者把它分享给可能感兴趣的朋友 —— 让更多人能用上是这个项目最大的成就感来源。\n\n---\n\n## ☕ 请我喝杯咖啡\n\n如果 HermesPet 帮到你，欢迎在 [**爱发电 · afdian.com\u002Fa\u002Fbasionwang**](https:\u002F\u002Fafdian.com\u002Fa\u002Fbasionwang) 上请我喝杯咖啡。\n\n赞助会帮我覆盖一部分硬性开销（Apple Developer 年费 \u002F 各家 LLM API 测试 token \u002F 服务器），让这个独立项目走得更稳一点。不赞助也完全没关系，点个 ⭐ 或者把它推荐给朋友同样是真心实意的支持。\n\n> 💡 想把 HermesPet 用在公司内部、定制成你们品牌的 macOS AI 工具？欢迎邮件聊：[basionwang@gmail.com](mailto:basionwang@gmail.com)\n\n---\n\n## 📄 License\n\n[Apache License 2.0](.\u002FLICENSE)\n\n---\n\n## ⭐ Star History\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=basionwang-bot\u002FHermesPet&type=Date)](https:\u002F\u002Fstar-history.com\u002F#basionwang-bot\u002FHermesPet&Date)\n\n---\n\n\u003Cdiv align=\"center\">\n\nMade with ✦ on a MacBook · 桌面 AI 应当鲜活\n\n\u003C\u002Fdiv>\n","HermesPet 是一个专为 macOS 设计的桌面 AI 伴侣，旨在让 AI 聊天功能集成到 MacBook 的刘海区域。它支持五种不同的 AI 引擎并行运行，用户可以选择 DeepSeek、智谱、Kimi、MiniMax 或 OpenAI 等服务商，并通过粘贴 API Key 即可开始使用。该应用无需额外安装任何命令行工具，实现了零依赖开箱即用。此外，HermesPet 还提供了多种交互方式，如语音输入、文件拖拽等，使用户的日常办公和娱乐更加便捷。适用于需要频繁与 AI 互动或希望在工作时获得智能助手支持的场景。",2,"2026-06-11 03:54:21","CREATED_QUERY"]