desktop-pet-character SKILL.md skillA
desktop-pet-character from evovexai/evoflow is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add evovexai/evoflow/desktop-pet-character@git:20261103.1293e08Pins git:20261103.1293e08 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- evovexai/evoflow
- Path
skills/public/desktop-pet-character/SKILL.md- Versions recorded
- 1
- Latest version
- git:20261103.1293e08, committed Nov 3, 2026
- Size
- 9,681 bytes
- Repository stars
- 611
- License
- a license file GitHub does not identify
做桌面宠物 / 桌面虚拟人物:立绘生成 → 拆层程序化动画(说话嘴型、眨眼、打字手、表情)→ PySide6 悬浮窗桌面端 → canvas 2D Web 端移植。当用户要「桌面宠物 / 桌宠 / 虚拟形象 / AI 人物立绘动画 / 语音助手形象 / 会说话会打字的角色」,或要把一个角色形象同时跑在桌面和网页里时使用。含完整可运行案例(PySide6 桌宠 + Web canvas 渲染器)、坐标标定方法、程序化动画公式与九个实测视觉陷阱。.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# 桌面宠物 / 桌面虚拟人物
做一类**有人格的角色形象**:它站在桌面右下角或网页舞台里,会呼吸、眨眼、微笑,说话时嘴巴真的在动,写代码时双手真的在键盘上敲。和"画一张角色图"的差别不在画功,在**动**——静态立绘是素材,程序化动画才是角色。
完整案例见 `reference/`(PySide6 桌面端,`python main.py` 直接跑)和 `web/`(canvas 2D 渲染器,React 可直接接入)。立绘资产在 `assets/`。
## 一、总流程
```
立绘(ImageGen) → 坐标标定(量眼睛/嘴/脖子) → 桌面端(Qt拆层动画) → 放大截图验收 → 状态机打磨 → Web canvas 移植
```
每一步都有独立产物,**放大截图验收不可省**——这次所有严重缺陷(嘴僵、手露洞、键盘光过曝、动画卡死)都是放大截图看出来的,没有一条是控制台报错。
## 二、立绘准备
1. 用 ImageGen 生成**姿势居中、无背景杂物**的全身立绘(PNG,透明底或可抠图)。同一个角色生成两套姿势:站姿 + 坐姿(打键盘用),切换时交叉淡入。
2. 需要 AI 抠图时用洋红底:生成时要求纯洋红背景,再用 `tools/key_magenta.py` 抠成透明。
3. **先量坐标再写代码**。在原图上量出:双眼中心、眼半径、嘴中心、腮红位置、脖子轴 y。量错一两个像素,后面所有动画都歪。这次眼睛坐标量错一次,出现"斜切边",重量后才修好。
4. 多尺寸场景(桌面 840px 原图 / Web 压缩 webp)用同一坐标系:**所有源坐标按原图量,运行时乘 K = 实际图宽/原图宽**,换图尺寸不用改代码。
## 三、桌面端骨架(PySide6)
- `QMainWindow` + `Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint | Qt.Tool` + `WA_TranslucentBackground`,全窗透明,只画角色。
- 一个 `QTimer(~33ms)` 驱动主循环,`self.t += dt` 累积时间,全部动画是 `f(t)` 纯函数。
- 状态机:`idle / listening / thinking / answering / coding`,每态一套表情参数表。
- 对外控制走 `127.0.0.1:8756` 本地 TCP,每行一个 JSON(`{"cmd":"say","text":...}`),宿主程序(语音面板等)随时驱动它。
- **启动必须 `run_in_background`**:GUI 进程会阻塞终端,pythonw 退出码 127 是误报,别被骗。
## 四、动画命脉:时间一定要传到每一层
…Read the whole file at its exact version.
How to install
mdr add evovexai/evoflow/desktop-pet-character@sha256:f62a3ce7c1b21c9bThe line at the top of this page pins the label git:20261103.1293e08, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_qcrakq7zscpkzsvk)
2 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 1 version of this file, committed on Nov 3, 2026.
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (9681 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
evovexai/evoflow · 611 stars · license a license file GitHub does not identify · pushed 2026-11-08 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_qcrakq7zscpkzsvk GET https://markdownregistry.com/api/v1/resolve?ref=evovexai/evoflow/desktop-pet-character GET https://markdownregistry.com/api/v1/blob/f62a3ce7c1b21c9bc78c9cb53cb879cf7c7fa8f40ca3f00bcef3f45129d96d67
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.