桌面宠物旅行模块 — 它会消失一段时间,然后带回来一个知道你是谁的故事。
仓库现在包含一个可运行的 MyAgents 适配参考实现:
- 严格类型的旅行状态机;
- 4–18 小时随机出发、20–120 分钟随机旅行;
- 先持久化、后隐藏/显示的有序副作用;
- 应用退出、刷新和越过归期后的恢复;
- 8 个离线目的地,以及猫、狗和中性宠物视角;
- 只接受白名单身份提示的隐私边界;
- 可在 30 秒内验收完整体验的加速演示;
- MyAgents 原生 Tauri 适配契约与 Codex v1 宠物包兼容说明。
需要 Node.js 22 或更高版本。
npm install
npm run dev浏览器打开 Vite 输出的本地地址,依次点击:
开启旅行模式 → 演示出发 → 演示归来 → 收好
“演示出发/归来”只推进到状态里已经计算好的时间点,不会改变生产环境的随机区间。
npm test
npm run build
npm audit --audit-level=highdomain/
schedule.ts 有边界、可注入随机源的时间策略
postcard.ts 离线、宠物形态感知的明信片
engine.ts 纯状态转换与有序副作用计划
runtime/
controller.ts 串行执行与幂等保护
jsonStorage.ts 版本校验、恢复与损坏隔离
demo/
App.tsx 使用真实核心的加速验收宿主
Rust/Tauri 宿主应把状态、时钟和窗口副作用作为单一权威。React 只负责设置、只读状态和明信片展示。详见 MyAgents 适配契约。
给桌面宠物加一个旅行模式。宠物会真正消失,然后在不经意间回来,带回一张明信片。
消失和归来的节奏是核心产品。内容是赠品。
宠物从屏幕消失 → 不知道什么时候回来 → 宠物突然出现 → 明信片弹出
────────────────────────────────────────────────────────────
零交互成本
- 风格:手绘风,可爱的、笨笨的感觉。不是精美数字插画,像小朋友画的那种——歪歪扭扭的线条、不均匀的上色、暖色调。
- 布局:上方手绘插图(目的地标志性元素),中间歪歪扭扭写着「我去了XX」,下面一段话,再加一个笨笨的签名。
- 不是写实风景:去洛阳画一匹歪歪的石马,去西安画一个斜斜的泡馍碗,去大理画一朵胖胖的云。
旅伴不主动问用户。信息从 Agent 系统提示词、CLAUDE.md、桌面宠物 hook 事件中自动读取。
没有身份信息时 → 自动执行全国漫游计划(保底机制)。
故事内容经宠物形态过滤——猫用猫的视角,狗用狗的视角。宠物优先找同类交流,信息从同类那里听来。
| # | 原则 | 说明 |
|---|---|---|
| 1 | 消失是核心体验 | 不是看不见了,是真的走了 |
| 2 | 知道它是谁 | 故事尊重宠物本来的身份 |
| 3 | 不带回有用的东西 | 明信片就是明信片,不是信息报告 |
| 4 | 时长不可预测 | 不是定时器,是旅行 |
| 5 | 第一次回来要让人"哇" | 那个"哇"可以是「你回来啦」,不一定是内容多惊艳 |
旅伴不是功能,是宠物生活的一部分。