这份指南面向第一次使用 TermiPet 的用户,按「启动应用 → 授权 → 日常使用 → 个性化配置 → 排查问题」的顺序介绍。
如果你是在项目源码目录中使用,运行:
zsh Scripts/build-plugin.sh构建完成后,应用会自动启动。TermiPet 是菜单栏应用,不会出现在 Dock 中;启动后你会在 macOS 菜单栏看到一个小图标。
菜单栏里可以做这些事:
- 显示宠物。
- 打开设置。
- 请求辅助功能授权。
- 打开辅助功能设置。
- 安装或卸载 Claude Code Hook。
- 退出 TermiPet。
首次使用建议先授权辅助功能权限,否则终端预览和快捷输入可能不可用。
操作步骤:
- 点击菜单栏 TermiPet 图标。
- 点击 请求辅助功能授权。
- 再点击 打开辅助功能设置。
- 在 macOS 系统设置中找到 TermiPet,并打开开关。
- 如果系统没有立即生效,退出并重新启动 TermiPet。
授权后,TermiPet 才能识别当前终端窗口、读取部分终端文本,并向终端输入快捷指令。
按住宠物本体拖动即可移动位置。宠物窗口会悬浮在屏幕上,并可出现在所有桌面空间。
把鼠标移到宠物上方,会出现工具按钮。
常用按钮:
| 图标含义 | 用途 |
|---|---|
| 终端 | 打开快捷指令面板 |
| 文件夹 | 选择文件夹并输入 cd |
| 对话 | 和宠物聊天 |
| 调色板 | 切换皮肤 |
| 计时器 | 开始、暂停或继续番茄钟 |
| 停止 | 停止番茄钟 |
| 杯子 | 开始 5 分钟休息 |
工具按钮下方有一排表情动作按钮。点击后,宠物会临时播放对应动作,例如运行、开心、提醒、错误、睡觉、思考、庆祝等。
右键宠物可以打开:
- 设置...
- 关闭宠物
- 先聚焦一个终端窗口。
- 把鼠标移到宠物上。
- 点击终端按钮打开快捷指令面板。
- 点击某条指令,TermiPet 会把指令输入到最近的目标终端中。
内置指令主要面向 Claude Code,包括:
claudeclaude --enable-auto-modeclaude --dangerously-skip-permissions/compact/init/clear/memory/model/help/review/status/diff/cost/login/config/mcp/doctor/terminal-setup
- 打开 设置 → 快捷指令。
- 点击 添加。
- 填写标题、实际输入文本和说明。
- 保存后即可在快捷指令面板中使用。
你也可以在设置中置顶指令、拖拽排序,或删除自定义指令。内置默认指令不能删除。
点击文件夹按钮后,选择一个项目文件夹。TermiPet 会把对应的 cd 命令输入到目标终端中,适合快速切换工作目录。
如果没有成功输入,请检查:
- 是否已经聚焦过一个终端。
- 是否授予辅助功能权限。
- 终端是否允许当前应用输入内容。
当你聚焦终端、编辑器、AI 对话或 Claude Code 正在运行时,宠物上方可能出现状态卡片。
卡片可能显示:
- 当前终端名称和窗口标题。
- 终端输出摘要。
- 当前编辑器或项目提示。
- Claude Code 是否正在思考、调用工具、等待授权、压缩上下文或已经完成。
如果卡片提示需要辅助功能权限,请按本指南第 2 节授权。
Hook 可以让 TermiPet 更准确地显示 Claude Code 状态。
安装步骤:
- 点击菜单栏 TermiPet 图标。
- 点击 安装 Claude Code Hook。
- 看到安装成功提示后,重启正在运行的
claude进程。 - 重新开始 Claude Code 会话后,宠物上方会显示更准确的状态。
Hook 会写入:
~/.claude/hooks/floating-pet-hook.sh
~/.claude/hooks/floating-pet-port
~/.claude/settings.json
首次安装时会尽量备份原设置:
~/.claude/settings.json.floating-pet.bak
不想继续使用时,可以在菜单栏点击 卸载 Claude Code Hook。
点击对话按钮即可打开聊天框。第一次聊天前,请先配置模型。
- 安装 Ollama。
- 打开 设置 → 模型。
- 选择 本地模型。
- 如果 Ollama 未启动,点击 启动 Ollama。
- 下载推荐模型,或下载其他模型。
- 选择已下载模型。
- 点击 保存配置。
推荐优先尝试 Qwen2.5 1.5B,体积不大,中文效果也比较稳。
- 打开 设置 → 模型。
- 选择 线上 API。
- 选择 OpenAI、Google Gemini 或自定义 API。
- 填写 API Key、Base URL 和模型名。
- 点击 读取模型,如果服务支持模型列表,会出现可选模型。
- 点击 测试连接。
- 测试成功后点击 保存配置。
API Key 保存在 macOS 钥匙串中。自定义 API 需要兼容 OpenAI Chat Completions 格式。
打开 设置 → 性格,可以配置:
- 宠物名称。
- 主人名字。
- 性格预设。
- Prompt。
- 额外约束条件。
预设适合快速开始:
| 预设 | 适合场景 |
|---|---|
| 开心 | 想要轻松、积极的陪伴 |
| 编程搭子 | 希望宠物围绕开发状态给建议 |
| 温柔教练 | 压力较大时做稳定陪伴 |
| 专注提醒 | 需要减少分心、推进任务 |
| 慵懒 | 想要短句、低能量风格 |
| 元气 | 想要强烈鼓励和活力 |
| 睿智 | 想要简短、有判断的反馈 |
| 毒舌 | 想要带一点辛辣幽默 |
| 自定义 | 完全自己写 Prompt |
如果你给宠物添加约束,例如「只说中文」「回答不超过三句话」,宠物聊天时会尽量遵守。
点击计时器按钮开始 25 分钟工作计时。运行中再次点击可以暂停或继续。
番茄钟运行时:
- 宠物上方会显示倒计时。
- 点击停止按钮可结束计时。
- 点击杯子按钮可直接开始 5 分钟休息。
- 计时完成时,宠物会播放庆祝动作。
点击工具栏调色板按钮可以快速循环切换皮肤。也可以打开 设置 → 皮肤 手动选择。
当前支持:
- 玻璃风格。
- 暗色风格。
- 像素风格。
打开 设置 → 语言 可以切换界面语言。语言切换需要重启应用后完整生效。
打开 设置 → 宠物,点击选择或导入宠物文件夹。
宠物文件夹必须包含:
pet.json
spritesheet.webp
pet.json 中的 spritesheetPath 必须指向真实存在的图片文件。导入后,TermiPet 会复制一份到 Application Support 目录,因此原文件夹之后移动或改名通常不会影响已导入的宠物。
鼠标悬停宠物时,TermiPet 会尝试读取 Claude Code、Codex、GitHub Copilot 的用量数据,并显示在 AI 用量卡片中。
常见状态:
| 状态 | 含义 |
|---|---|
| 已同步 | 读取成功 |
| 待读取 | 尚未刷新 |
| 需登录 | 对应服务登录信息过期 |
| 未登录 | 未检测到登录信息 |
| 错误 | 读取或解析失败 |
点击卡片右上角刷新按钮可以手动重新读取。
点击菜单栏 TermiPet 图标,再点击 显示宠物。如果仍然没有出现,可以退出后重新运行构建脚本或重新打开 App/TermiPet.app。
请检查:
- 是否已经打开并聚焦过终端窗口。
- 是否授予辅助功能权限。
- 目标终端是否被系统安全设置阻止。
- 当前是否有输入框或其他应用抢占焦点。
通常是辅助功能权限没有生效。进入系统设置重新开启 TermiPet 权限,然后重启应用。
请确认:
- Ollama 已安装。
- Ollama 正在运行。
- 模型已经下载完成。
- 设置页点击过 重新检测。
请检查:
- API Key 是否正确。
- Base URL 是否包含正确版本路径,例如 OpenAI 常用
/v1。 - 模型名是否存在且当前账号有权限。
- 自定义 API 是否兼容 OpenAI Chat Completions。
- 网络代理或防火墙是否拦截请求。
请检查:
- 是否安装了 Claude Code Hook。
- 安装 Hook 后是否重启了
claude进程。 - TermiPet 是否正在运行。
~/.claude/settings.json中是否保留了 TermiPet Hook 配置。
构建脚本会优先使用本地自签证书 TermiPetLocal,尽量保持权限稳定。如果签名失败回退到 ad-hoc 签名,macOS 可能要求重新授权。重新授权一次即可。
如果你修改了代码或资源,请务必运行:
zsh Scripts/build-plugin.sh脚本会自动测试、构建、签名并启动 APP。应用启动后,请在界面上确认改动确实生效,再认为本次修改完成。