吞金兽 Token Pet 是一只把 AI 工作流中的 Token 消耗,变成可喂养、可成长、可进化反馈的桌面电子宠物。
它的中文名叫“吞金兽”。
这个名字强调的是:AI 工作里的 Token 消耗不是抽象数字,而是一只会把成本吃下去、消化掉、长出性格和关系的小兽。
当前首发范围:
Codex-firstmacOS companionv1.0.0正式首发版
- 仓库:
https://github.com/woohuaca/Tokenpet - 公开下载包:
builds/azai-token-pet-v1.0.0-public-share.zip - Codex 正式版包:
builds/azai-token-pet-v1.0.0-codex-macos.zip - 公开分发说明:
PUBLIC_DISTRIBUTION.md - 最短安装说明:
docs/v1-release-install-quickstart.md - 5 分钟发版清单:
docs/v1-release-5min-checklist.md - 隐私说明:
PRIVACY.md - 条款说明:
TERMS.md - 问题反馈:GitHub Issues
- 它吃的不是普通饲料,而是你真实花掉的 Token。
- 它长得怎样,不只看花了多少,还看花在哪类工作、长期饮食结构和你怎么回应它。
- 它不是一个统计面板,而是一只会在桌边慢慢长出关系感的小兽。
- 中文名:
吞金兽 - 英文 / 技术识别名:
Token Pet - 当前包名:
azai-token-pet
对外推荐使用:吞金兽 Token Pet。
仓库、插件包和脚本路径暂时继续保留 azai-token-pet,避免破坏已发布安装链路。
- 长时间在 Codex 里工作的人
- 想把 Token 消耗变成更直观反馈的人
- 愿意在 macOS 上运行本地桌宠 companion 的人
如果你下载后遇到问题,建议直接通过 GitHub Issues 反馈。
当前仓库已经准备了:
Bug ReportFeature Request
- 已经按正式版口径进入 Codex 发布链
- 当前正式范围仍限定在
Codex + macOS - 这不等于已经进入官方公共插件商店
- 下载
azai-token-pet-v1.0.0-public-share.zip或azai-token-pet-v1.0.0-codex-macos.zip - 解压后进入插件目录
- 运行
start.command
- 克隆
https://github.com/woohuaca/Tokenpet - 进入仓库根目录
- 运行
start.command
- macOS
xcrunpython3
吞金兽 Token Pet 是一个虚拟电子宠物插件。
它把用户在 AI 工作中花掉的 Token 变成宠物吃下去的食物,并根据任务类型、产出质量和长期饮食结构,实时改变宠物的:
- 饱腹度
- 活力
- 心情
- 清洁度
- 健康度
- 亲密度
- 成长阶段
- 进化形态
这个插件参考的是经典电子宠物 Tamagotchi,但做了面向 AI 工作流的重写。
保留的经典特征有:
- 喂养
- 情绪反馈
- 清洁
- 睡眠与恢复
- 生病风险
- 成长
- 进化
- 互动奖励
面向 AI 工作的改写有:
- 食物不再是普通饲料,而是 Token
- 营养不再只看数量,而是看任务类型和质量
- 清洁不再是清理排泄物,而是清理低效 Token 产生的噪声残渣
- 生病不再来自忘记喂食,而是来自长期垃圾饮食和透支使用
这个版本还新增了一条更关键的原则:
- AI 不只是配文工具,而是宠物的灵魂与外观生成器
- 规则系统负责它怎么生长,AI 负责它是谁、怎么看你、会长出怎样的气质
V1 的目标不是把所有玩法一次做完,而是先做出第一只真正成立的“AI 协同养成宠物”。
一句话定义:
- 一只由真实 Token 喂养、由规则系统稳定生长、由 AI 赋予灵魂与外观倾向、并在与你的关系中逐渐长成独特个体的桌面宠物
V1 当前聚焦四件事:
- 真实 Token 稳定转粮并驱动宠物生长
- 首次初始化时结合工作结构与沟通风格生成“这一只是谁”
- 只保留一个核心互动动作:拍一下
- 它会记住你怎么回应它,并慢慢长出独特关系和气质
在 AI 初始化阶段,推荐输入不是原始长对话堆叠,而是先提炼后的风格特征,例如:
- 直接度
- 温和度
- 探索性
- 控制感
- 耐心度
- 反馈密度
这样做更省 Token、更稳定,也更符合“珍惜资源”的产品初心。
当前这版已经不再按 developer preview 对外表述,而是收口为:
Codex-firstmacOS companionCodex 范围内正式首发
.codex-plugin/plugin.jsonCodex 插件清单.app.json多宿主适配规划demo/index.html可直接打开的交互原型demo/codex-launchpad.html面向 Codex 安装后的启动引导页scripts/desktop_pet.pyTk 版本桌宠原型scripts/desktop_pet.swiftmacOS 原生桌宠 companionstart.command安装后最直接的启动入口stop.command安装后最直接的关闭入口reset.command安装后最直接的重置入口PUBLIC_DISTRIBUTION.md公开仓库 / 下载包分发说明PRIVACY.md公开分发版隐私说明TERMS.md公开分发版使用条款说明scripts/codex_usage_bridge.py把 Codex 会话日志转换成桌宠可消费的自动喂养事件,并生成完整 Token 账本汇总scripts/launch_desktop_pet.command启动桌宠的本地脚本scripts/install_autostart.command安装开机自启scripts/uninstall_autostart.command取消开机自启scripts/stop_desktop_pet.command关闭桌宠和 Codex bridgescripts/reset_pet_data.command停止桌宠并清空当前运行态数据scripts/build_dev_preview_bundle.command生成历史v0.1.0-dev-preview预览包scripts/build_codex_release_bundle.command生成v1.0.0Codex 正式发布包scripts/build_public_share_bundle.command生成可对外分享下载的公开分发包scripts/publish_to_codex.command按正式版口径发布到当前机器的 Codex 插件体系scripts/unpublish_from_codex.command从当前机器的 Codex 本地插件体系移除scripts/nutrition-profile.json不同任务类型的 Token 营养值scripts/pet-core.js宠物状态机与演算核心assets/icon.svg插件图标assets/logo.svg插件 Logodocs/design-principles.md宠物设计理念与玩法原则docs/pet-motion-emotion-design.md宠物动作、表情、声音与情绪表达设计稿docs/v1-definition.mdV1 版本目标、范围与执行分解docs/v1-initialization.mdV1 首次诞生初始化方案docs/v1-design-checklist.mdV1 设计取舍与是否进入当前版本的判断清单docs/v1-acceptance-checklist.mdV1 私测前逐项验收的发布检查表docs/v1-validation-template.mdV1 私测记录模板,可直接按项填写通过与问题docs/v1-validation-2026-04-08-round-01.md当前版本的首轮真实验证记录docs/v1-validation-2026-04-08-round-02.md针对启动、关闭与单实例链路的第二轮验证记录docs/v1-validation-2026-04-08-round-03.md针对短周期重复启停回归的第三轮验证记录docs/v1-release-plan.md当前版本路线、发布门槛与后续演进顺序docs/v1-2-growth-explanation-requirement-package.mdv1.2.x生长养成解释面板需求包docs/v1-2-growth-explanation-task-board.mdv1.2.x生长养成解释面板开发任务清单docs/v1-next-iteration-focus.md吞金兽 Token Pet下一阶段精进方向:完整账本、生长养成、情绪价值、调试验证和分发体验docs/v1-core-loop-optimization-plan.md生命代谢线:从 Token 到生长养成的持续优化方案docs/v1-emotional-value-optimization-plan.md情绪价值线:从第一印象到个体关系感的持续优化方案docs/v1-dual-track-priority-board.md双线并进的P0 / P1 / P2版本级优先级看板docs/v1-1-development-task-board.mdv1.1.x的双线开发任务清单、开发顺序与最小交付面docs/v1-1-first-batch-implementation-plan.mdv1.1.x第一批三项P0任务的实现子项与协同接口docs/v1-1-state-definition-table.mdv1.1.x第一批 7 个关键状态的动作、特效、文案统一定义表docs/v1-1-state-copy-candidates.mdv1.1.x第一批 7 个关键状态的文案候选表与语气建议docs/v1-1-state-transition-rules.mdv1.1.x第一批 7 个关键状态的进入、退出、时长与冲突规则表docs/v1-1-state-validation-cases.mdv1.1.x第一批 7 个关键状态与冲突场景的验证用例表docs/v1-1-state-implementation-mapping.mdv1.1.x第一批 7 个关键状态到代码字段、触发入口、反馈入口与验证入口的映射表docs/v1-1-state-field-and-event-schema.mdv1.1.x第一批状态继续沿用哪些派生字段、哪些需要补显式事件字段的 schemadocs/v1-1-schema-code-refactor-task-list.mdv1.1.x把状态 schema 真正落到desktop_pet.swift的代码改造任务单与推荐顺序docs/v1-1-requirement-package.mdv1.1.x的五模块需求包与验收标准docs/v1-dev-preview-package.mdv0.1.0-dev-preview的发布包内容清单docs/v1-dev-preview-artifact-spec.mdv0.1.0-dev-preview的命名与打包目录规范docs/v1-dev-preview-release-notes.md历史dev preview发布说明docs/v1-codex-release-notes.mdv1.0.0Codex 首发正式版发布说明docs/v1-known-limitations-and-feedback.md当前已知限制与正式首发反馈重点docs/v1-codex-publish.md发布到 Codex 的正式操作说明docs/v1-private-beta-quickstart.md面向 Codex 首发用户的最小上手卡
当前定义了 8 类主要任务:
codingwritingresearchreviewplanningmeetingsupportidle
每种任务会把 Token 映射成不同的营养结果,包括:
satietyenergyfocusmoodhygienehealthbondgrowthtoxicity
其中 toxicity 越高,越容易产生噪声残渣;growth 越高,越容易推动进化。
这个版本的结构刻意把规则层独立出来,原因是:
- Codex 可以先作为首个可安装宿主
- CC 和 Cursor 的事件接入方式可能不同
- 只要 Token 事件和任务标签能接进来,宠物核心逻辑就可以复用
推荐后续实现顺序:
- 先接 Codex
- 再补 Cursor 适配器
- 最后做 CC 适配器和共享周报
直接打开 demo/index.html,可以体验第一版核心循环:
- 选择任务类型
- 输入本次消耗 Token
- 选择产出质量
- 喂养宠物并观察状态变化
- 执行清理、陪玩、睡眠
- 查看当前进化方向和饮食日志
现在这个插件还带了一个本地桌宠 companion。
启动方式:
- 运行
scripts/launch_desktop_pet.command - 或执行
xcrun swift scripts/desktop_pet.swift
当前启动会优先保证:
- 桌宠按桌面方式打开
- 桌宠自身做单实例保护,避免重复多开
- bridge 由桌宠本体自行拉起并在后台自愈
桌宠特征:
- 自动监听 Codex 会话中的真实 Token 用量
- 根据最近用户任务描述自动推断任务类型并转成不同粮食
- 始终置顶
- 可拖拽移动
- 靠近屏幕边缘时自动吸附
- 透明悬浮外观,更像真正桌宠而不是面板
- 轻微呼吸和漂浮动画
- 会随时间衰减状态
- 会显示最新一笔 Token 如何转成粮食、粮仓里存了哪些粮
- 会显示当前成长阶段、形态、活动、互动能源和最近动态
- 用户交互收敛成一个动作:拍一下它
- 右键可打开图鉴/状态面板,查看称号、生成特征、偏好和粮仓概览
- 会自己补眠、舔毛整理、追尾巴热身
- 吃完粮食后会逐步积累亲和能与躁动能,拍击会把这些能量释放成不同反馈
- 它会记住你更常怎么拍,逐渐形成不同的拍养关系、称号语气和安抚偏好
- 它会主动长出“这会儿想被怎么拍”的期待,等久了会失落,拍偏了也会表现出没被拍在点上
- 初见待认主、等待回应、失落缩回去、拍偏别扭时,已经有明显不同的姿态和小特效
- 第一次认主的那一下,会有独立的完成演出,不再和普通亲和拍混在一起
- 气泡顶部色条、边框和尾巴位置也会跟着认主、拍准、拍偏、等拍状态变化
- 连续拍击会掉落星屑奖励并解锁图鉴形态
- 星屑累积到阶段节点时会掉落一份惊喜加餐
- 不同进化路线会长出更明显的身份部件和称号
- 一些耳朵、尾巴、斑纹和气场特征会根据长期饮食与关系动态生成
- 它还会逐渐形成偏爱的粮食和安抚方式,作为独特小习惯显示出来
- 会根据长期饮食结构改变形态和台词
- 会根据用户的沟通风格摘要形成不同的形象基调与身份部件,不同人养出来的会更不像同一只默认模板
当前 macOS 默认优先使用原生 Swift/AppKit 版本启动;Python/Tk 版本保留作逻辑原型。
如果是第一次在本机体验这只桌宠,建议按下面顺序来:
- 确认你在 macOS 上,并且本机有
xcrun与python3 - 确认
plugins/azai-token-pet/目录完整存在 - 优先直接运行根目录的
start.command - 第一次启动会自动编译桌宠本体,并由桌宠本体自行唤起
codex_usage_bridge.py - 桌宠出现后,先让它自然吃一点 Token,再完成第一次轻拍认主
当前版本已经通过一轮短周期重复启停回归:
- 连续 3 轮
停止 -> 启动 -> 等待后,均稳定恢复为1只桌宠 +1条 bridge desktop-pet.pid与codex-bridge.pid都能和真实进程保持一致
这份启动脚本会自动处理:
- 缺失时编译原生桌宠
- 只保留一只桌宠实例
- 打开桌面 companion
而 Codex Token bridge 的守护已经改为由桌宠本体负责,这样启动链更接近真实桌面 companion 的产品形态,也更稳。
如果只是想再次打开已经编好的桌宠,仍然直接运行 scripts/launch_desktop_pet.command 即可。
如果你是通过 Codex 本地插件方式安装的,最简单的理解是:
- 启动:
start.command - 关闭:
stop.command - 重置:
reset.command
而在 Codex 插件入口里,这一版也已经把第一条 starter prompt 收成了:
启动吞金兽 Token Pet 桌宠
当前更接近的使用方式是:
- 在 Codex 里点这条 starter prompt
- 或先打开插件里的启动引导页,再点
启动桌宠 - 或直接运行插件根目录里的
start.command
如果你只是想把它关掉,而不清空当前养成状态,运行:
scripts/stop_desktop_pet.command
它会关闭:
- 桌宠本体
- Codex bridge 进程
当前状态会保留,下次重新运行 scripts/launch_desktop_pet.command 会从现有状态继续。
如果你想从头生成一只新的宠物,运行:
scripts/reset_pet_data.command
它会先停止当前桌宠,然后清空这些运行态文件:
runtime/pet-state.jsonruntime/pet-config.jsonruntime/codex-feed.jsonruntime/external-feed.jsonruntime/codex-bridge-state.json
这一步会清掉当前宠物的成长、关系、库存和本地缓存事件。重置后再运行 scripts/launch_desktop_pet.command,会生成一只新的宠物。
桌宠启动后会自行确保 codex_usage_bridge.py 常驻,自动监听 ~/.codex/sessions 下最新会话日志里的 token_count 事件。
当前自动喂养逻辑是:
- 读取真实 Token 增量
- 用最近一条用户消息和当前工作目录推断任务类型
- 先将真实 Token 转成对应类型的粮食库存,再按宠物尺度压缩成可食用粮值
- 宠物会在饿、累或碰到高质量任务餐时自动从粮仓里吃一口
- 现在还支持外部标准事件源,可从
runtime/external-feed.json一起并入消费
这是第一版真实接入,目标是先让宠物和真实工作流绑定起来。后续还可以继续提高任务分类精度。
如果你自己的 API 调用链也想接进来,可以使用:
scripts/external_usage_ingest.py
它会把外部来源统一写成桌宠可消费的标准事件。示例:
python3 scripts/external_usage_ingest.py \
--source openai-api \
--task-type coding \
--quality solid \
--real-tokens 24000 \
--user-text "外部代理里的真实调用"写入后,桌宠会和 Codex 来源一起消费。
如果希望它每次开机自动弹出:
- 运行
scripts/install_autostart.command - 如果以后不想自启,再运行
scripts/uninstall_autostart.command
当前 V1 默认是本地运行态,不依赖远端数据库。
主要本地文件包括:
runtime/pet-state.json宠物状态、成长、关系、图鉴、位置runtime/pet-config.json本地开关配置runtime/codex-feed.json从 Codex 会话转换来的喂养事件runtime/external-feed.json外部来源事件runtime/codex-bridge-state.jsonbridge 的消费游标与跟踪状态runtime/codex-bridge.logbridge 运行日志
当前实现的原则是:
- 优先读取本机已有的 Codex 会话信息
- 优先使用提炼后的风格和事件,不把宠物设计成依赖远端长对话上传
- 桌宠状态默认落在插件目录下的
runtime/中,便于你查看、备份和删除
当前正式版仍然采用本地优先的数据边界,隐私上要明确理解为:
- 它会读取本机
~/.codex/sessions中与 Token 使用有关的事件 - 它会把这些事件转成本地喂养记录
- 当前版本没有把这些运行态数据自动上传到外部服务
如果你不希望它继续读取实时 Token,可以直接关闭桌宠,或在后续设置里关闭来源开关。
当前 V1 还存在这些边界:
- 首发以
Codex + macOS companion为主,其他宿主还不是完整正式接入 - 目前任务分类仍然有启发式成分,不是完全精确语义理解
- 首次诞生的“迎接感”已经建立,但还能继续加强
- 当前已经是 Codex 首发正式版,但发布级安装器还没做,仍以脚本启动为主
reset_pet_data.command会直接清空当前运行态,不会自动做备份