AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻译准备中
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Desktop pet for Claude Code and Codex that reacts to your AI coding agent's status.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Agent Pet 是一隻會反應 Claude Code 跟 Codex CLI 對話狀態的桌面寵物(Electron 桌面應用程式)。它會跟著你的 agent 目前在做什麼切換動畫——待機、工作中、看代碼、需要協助、出錯——寵物的長相完全由 GIF 圖檔決定,可以隨時換成任何相容的角色包。 • 閒置時自動待機、走路,偶爾跳躍或衝刺跑一段 • Claude Code / Codex 有動作時即時切換動畫:打字工作中、看代碼、需要協助、出錯等 • 寵物長相完全由 GIF 決定,右鍵選單就能換一整組外觀,不用寫程式 • macOS(Apple Silicon / Intel)、Windows 都有對應的桌面版本 • Claude Code(CLI / VS Code 分機 / 終端機) • Codex CLI 目前不支援 Claude 桌面應用程式(claude.ai 的 app)跟 ChatGPT 桌面應用程式,因為這兩個沒有開放跟上面兩者一樣的 hooks 機制讓外部程式接收工作狀態事件——裝了 Agent Pet 也只會看到一隻自己亂晃、對話不會有反應的寵物。 • GitHub Releases — macOS(Apple Silicon / Intel)、Windows 安裝檔查看完整 README ↗
English ・ 繁體中文
Agent Pet is a desktop pet (an Electron app) that reacts to what your AI coding companion — Claude Code or Codex CLI — is doing in real time. It switches animation to match the agent's current state: idle, working, reading code, needs help, error. The pet's entire look comes from a set of GIF files, so you can swap it for any compatible character pack whenever you want.
🌐 Official site ・ 📦 GitHub Releases
Not currently supported: the Claude desktop app (the claude.ai app) or the ChatGPT desktop app. Neither exposes the same hooks mechanism that lets an external program receive work-status events, so installing Agent Pet alongside them would just show a pet wandering on its own, never reacting to your conversation.
The fastest way to get started is downloading a prebuilt release:
For what to expect when you first open it (and the OS security warnings you may see), see "Unsigned beta builds" below. To modify the code or build it yourself from source, see "Development" / "Build" below.
The pet's entire look comes from a set of GIF files, matched to animations by keyword in the filename, not a hardcoded filename — so swapping in a new pet just takes:
Filenames follow the pattern <any-prefix>-<keyword>.gif (e.g. dinosaur-idle.gif). The keywords are:
| Keyword | Maps to |
|---|---|
idle | Idle, greeting, being petted |
running-left / running-right | Casual wandering, a random dash (direction picks the file) |
running | Working in place (typing, thinking, organizing context, etc.) |
jumping | A random hop |
review | Reading code |
waiting | Impatient (detected as stuck) |
waving | Needs help (a permission prompt) |
failed | Error (a tool call failed) |
look-left-side / look-right-side (optional) | Asleep after being idle too long (direction picks the file) |
success (optional) | A turn just finished — falls back to the idle pose without this |
eating (optional) | An occasional idle snack-break flourish |
playing (optional) | An occasional idle play flourish |
A missing optional keyword just falls back to another pose, or simply never triggers that flourish; every other keyword needs a matching file. For the deeper animation/skin rules (adding a custom animation, how the default skin is seeded in dev), see docs/ANIMATION_GUIDELINES.md.
Claude Code / Codex hook -> local Agent Pet event receiver -> pet animation state
Agent Pet runs an event receiver in the background, bound only to your own machine (127.0.0.1). On launch it automatically configures the hooks for both Claude Code and Codex — no settings file to hand-edit. When a hook fires, the event is sent to this receiver, and Agent Pet switches the pet's animation based on what it says.
Codex works a little differently: whenever the hook command's content changes, Codex asks you to re-review and re-trust it in /hooks. That's Codex's own security mechanism, not a bug — Agent Pet detects this and shows a notice telling you what to do.
Requires pnpm (this project is managed with pnpm, not npm) and Node.js >=22.13.
git clone <this-repo>
cd AgentPet
pnpm install
pnpm start
Validate:
pnpm run lint
pnpm test
The pet launched via pnpm start lives as long as that terminal window does. If you want it to start on login and relaunch after a crash, macOS has LaunchAgents, and Windows/Linux have Task Scheduler / a systemd user service respectively — same idea, check your platform's own docs for the details.
pnpm run dist # macOS, Apple Silicon (arm64) → dist/Agent-Pet-arm64.dmg
pnpm run dist:x64 # macOS, Intel (x64) → dist/Agent-Pet-x64.dmg
pnpm run dist:win # Windows x64 (portable .exe) → dist/Agent-Pet-win.exe
The three commands don't affect each other and can each be re-run independently. To share the app with someone, just hand them that one file — no need for the whole project folder, and they don't need Node.js installed either.
Agent Pet is still in beta, and the macOS and Windows builds are not code-signed yet. You may see an OS security warning when you first open it — this is expected, not a sign the file is broken:
If you'd rather not run an unsigned executable, see "Development" / "Build" above and build it yourself from source after reviewing the code. We don't recommend disabling Smart App Control or any other OS security protection just to run Agent Pet — unsigned doesn't mean dangerous, but it doesn't mean fully safe either, so use your own judgment.
docs/CONTRIBUTING.md — want to contribute codedocs/SECURITY.md — reporting a security issuedocs/ASSETS-LICENSE.md — licensing for pet art/iconsdocs/ANIMATION_GUIDELINES.md — deeper details on the animation/skin systemdocs/agent-workflow.md — the workflow an AI coding agent (Claude Code / Codex) should follow when helping develop this projectThe source code is MIT licensed — see LICENSE. The pet GIF art and some icons are not covered by the MIT license — see docs/ASSETS-LICENSE.md.