A Windows desktop pet starring Flowey from Undertale — built with Python + PyQt6.
FloweyPet is a small, chatty Flowey that lives on your Windows desktop. Click him, drag him around, and he'll talk back — with hundreds of hand-written lines, an evolving relationship with you (streaks, neglect, reunions), and a genuinely useful side: a Pomodoro timer and water/meal/sleep reminders, because even Flowey doesn't want you to forget to drink water.
This is a fan project. Flowey and all original character/art concepts belong to Toby Fox / Undertale. This repository is a non-commercial, code-focused open-source release — see Credits & disclaimer.
- Desktop companion — drag-and-drop pet window, always-on-top toggle, click reactions, idle animations
- Size adjustment — 4 size tiers (100/85/70/55%) from the right-click menu, pet and dialogue bubble scale together
- Flirt system — a dedicated "调情" interaction with its own hidden easter eggs — go find them yourself
- Hundreds of dialogue lines — intro, idle chat, click reactions, menu flavor text, hidden/rare lines, all editable in
dialogue.jsonwith no code changes needed - Pomodoro timer — configurable focus/break lengths, in-pet countdown display
- Reminders with follow-up — water / meal / sleep reminders that actually notice if you dismiss them without responding, with escalating nag stages
- Stats panel ("记录") — days accompanied, click/interaction/flirt counts, easter-egg collection progress
- Undertale-style UI — right-click menu, volume/size panels, and reminder settings panel all built to look like the game's own dialogue boxes
- Quality-of-life — mute/volume control, autostart with Windows, birthday & streak greetings

Undertale-styled right-click menu

Size panel — 4 tiers, new in v2.0

调情 (flirt) interaction, new in v2.0
Note (maintainer TODO):
showcase_size.pngandshowcase_flirt.pngaren't indocs/images/yet — need actual screenshots of the size panel and the flirt interaction before these render.
- Windows 10/11, 64-bit
- No Python/runtime install needed for the packaged
.exe— it's a self-contained PyInstaller build (~45MB unpacked) - Only needed to build from source: Python 3.9+ (see Run from source)
- Grab the latest
FloweyPet*.zip(currentlyFloweyPet2.0.zip) from the Releases page. - Extract it anywhere.
- Run
FloweyPet.exe. No Python install required.
Right-click the pet for the menu (show/hide, Pomodoro, reminders, volume, size, stats, autostart, quit).
Requirements: Python 3.9+, Windows (uses winreg for autostart).
pip install -r requirements.txt
python main.pypython -m PyInstaller --name FloweyPet --windowed --onedir --noconfirm `
--contents-directory "." `
--icon "<absolute-path>\assets\icon.ico" `
--paths src `
--add-data "<absolute-path>\assets;assets" `
--distpath dist --workpath build --specpath build main.pyThen copy dialogue.json, dialogues_info.json, and stats_roast.json into dist\FloweyPet\ — PyInstaller only bundles what's declared in --add-data, and these three files are meant to stay hand-editable next to the exe.
Note:
--iconand--add-dataneed absolute paths — with--specpath build, relative paths resolve against the spec file's own folder, not your shell's working directory.
All user-facing settings live in config.json (created automatically on first run, defaults in src/config.py): volume, Pomodoro lengths, reminder schedules/intervals, autostart, font scale, and more. Dialogue content lives entirely in dialogue.json and is safe to edit without touching any code — see the _readme key in that file for the schema.
src/ application code (compositor, dialogue engine, pomodoro, reminders, UI...)
assets/ sprites, fonts, sounds
dialogue.json all dialogue content (editable, no code changes needed)
config.json user settings (generated on first run)
main.py entry point
- Undertale and Flowey are created by Toby Fox. This project is an unofficial fan work, not affiliated with or endorsed by Toby Fox.
- Sprites are derived/adapted from Undertale's original character art for this fan project.
- The code in this repository is released under the MIT License (see LICENSE). This does not grant rights to the underlying Undertale characters/IP — please don't use the character art for anything commercial.
- Fonts: "Fusion Pixel" (
assets/fonts/, SIL Open Font License) and "DSEG7" (assets/font/, see its bundled license) for the pixel-style UI text and the Pomodoro digit display.
FloweyPet 是一只住在你 Windows 桌面上的、话很多的 Flowey(《传说之下 / Undertale》)。点它、拖它,它会理你——有几百句手写台词、会记住你们的"关系进展"(连续陪伴天数、冷落、重逢等),还有点实际用途:内置番茄钟和喝水/吃饭/睡觉提醒,毕竟连 Flowey 都不想看你忘记喝水。
这是一个粉丝向项目。Flowey 及原作角色/美术概念版权归 Toby Fox / 《Undertale》所有。本仓库开源发布的是代码部分,非商业用途,详见下方鸣谢与免责声明。
- 桌面陪伴 — 可拖拽的桌宠窗口、置顶开关、点击反应、待机动画
- 大小调节 — 右键菜单可选4档缩放(100/85/70/55%),桌宠本体与对话框一起缩放
- 调情系统 — 专门的"调情"互动,带隐藏彩蛋——自己去发现吧
- 数百句台词 — 登场、待机闲聊、点击反应、菜单台词、隐藏/稀有彩蛋台词,全部写在
dialogue.json里,改台词不需要碰代码 - 番茄钟 — 专注/休息时长可配置,桌宠身上直接显示倒计时
- 会追讨的提醒 — 喝水/吃饭/睡觉提醒,如果你只是划掉不理它,它会分阶段继续追问
- "记录"统计面板 — 陪伴天数、点击/互动/调情次数、彩蛋收集进度
- Undertale 风格 UI — 右键菜单、音量/大小面板、提醒设置面板,都仿照游戏本身的对话框样式做的
- 细节体验 — 静音/音量调节、开机自启、生日与连续陪伴天数祝福
(维护者待办)
showcase_size.png和showcase_flirt.png这两张图目前还没放进docs/images/——需要补充大小面板和调情互动的实际截图,上面两张图才会正常显示。
- Windows 10/11,64位
- 打包好的
.exe无需安装 Python/任何运行环境——是自包含的 PyInstaller 构建(解压后约45MB) - 只有从源码构建时才需要 Python 3.9+(见从源码运行)
- 在 Releases 页面下载最新的
FloweyPet*.zip(当前版本是FloweyPet2.0.zip)。 - 解压到任意位置。
- 运行
FloweyPet.exe,不需要装 Python。
右键点击桌宠打开菜单(显示/隐藏、番茄钟、提醒设置、音量、大小、记录、开机自启、离开)。
环境要求:Python 3.9+,Windows(开机自启用到了 winreg)。
pip install -r requirements.txt
python main.pypython -m PyInstaller --name FloweyPet --windowed --onedir --noconfirm `
--contents-directory "." `
--icon "<绝对路径>\assets\icon.ico" `
--paths src `
--add-data "<绝对路径>\assets;assets" `
--distpath dist --workpath build --specpath build main.py打包完成后,把 dialogue.json、dialogues_info.json、stats_roast.json 三个文件手动复制进 dist\FloweyPet\ ——PyInstaller 只会打包 --add-data 里声明的内容,而这三个文件是特意设计成放在 exe 旁边、可以直接手改的。
注意:
--icon和--add-data必须用绝对路径——因为指定了--specpath build,相对路径会以 spec 文件所在的build目录为基准解析,而不是你执行命令时的当前目录。
所有用户设置都在 config.json 里(首次运行自动生成,默认值见 src/config.py):音量、番茄钟时长、提醒时间/间隔、开机自启、字体缩放等等。台词内容全部在 dialogue.json 里,改台词不用碰代码——具体格式看该文件里的 _readme 字段说明。
src/ 应用代码(合成器、台词引擎、番茄钟、提醒系统、UI……)
assets/ 美术素材、字体、音效
dialogue.json 全部台词内容(可直接编辑,无需改代码)
config.json 用户设置(首次运行时生成)
main.py 程序入口
- 《Undertale》与 Flowey 由 Toby Fox 创作。本项目是非官方粉丝作品,与 Toby Fox 无关,未获得其背书。
- 美术素材改编自《Undertale》原作角色美术,仅用于本粉丝项目。
- 本仓库中的代码部分以 MIT 协议开源(见 LICENSE),但这不代表对《Undertale》角色/IP 本身的授权——请不要将角色美术用于任何商业用途。
- 字体:像素风界面文字用的 "Fusion Pixel"(
assets/fonts/,SIL Open Font License),番茄钟数字显示用的 "DSEG7"(assets/font/,许可证文件已随附)。


