初始提交:Codex Pets 相容的 Claude Code 桌面寵物

摘要:
Electron 桌面寵物,透過 Claude Code hooks 即時反映工作狀態(思考、等待授權、失敗、完成),並支援 16 方向追視游標。

根本原因:
專案尚未納入版控,需要建立初始 repo 以便後續追蹤與協作。

影響:
建立 main 分支的第一個版本,包含完整可執行的程式碼與內附寵物「小念」。

修法:
納入以下內容:
- main.js / preload.js:Electron 主程序、透明置頂視窗、系統匣選單、HTTP 事件伺服器、游標輪詢與拖曳
- renderer/:Codex V2 spritesheet 幀動畫播放器、session 狀態機、氣泡、alpha 點穿判定
- hook/claude-pet-hook.js:Claude Code hook 端,stdin → POST /event,永遠 exit 0
- lib/、scripts/:hooks 安裝/移除、Windows 開機自動啟動
- pets/xiao-nian:內附寵物包(pet.json + spritesheet.webp)
- README.md、docs/states.png:使用說明與狀態總覽圖

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-21 10:32:39 +08:00
co-authored by Claude Fable 5
commit b1d57249f8
18 changed files with 1889 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
"use strict";
const autostart = require("../lib/autostart");
const action = process.argv[2] || "status";
try {
if (action === "install") {
const cmd = autostart.install();
console.log(`已加入開機自動啟動(${autostart.RUN_KEY}\\${autostart.VALUE_NAME}`);
console.log(cmd);
} else if (action === "uninstall") {
console.log(autostart.uninstall() ? "已移除開機自動啟動。" : "原本就沒有設定開機自動啟動。");
} else {
const installed = autostart.isInstalled();
console.log(installed ? `開機自動啟動:已啟用\n${autostart.currentValue()}` : "開機自動啟動:未啟用");
}
} catch (err) {
console.error(err.message || err);
process.exitCode = 1;
}