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.

Install it, pinned
mdr add evovexai/evoflow/desktop-pet-character@git:20261103.1293e08

Pins 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

The exact contents, by fingerprint
mdr add evovexai/evoflow/desktop-pet-character@sha256:f62a3ce7c1b21c9b

The 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.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_qcrakq7zscpkzsvk.svg)](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.

versioncommittedcommitsizeaudit
git:20261103.1293e08 latest2026-11-03 1293e08 9,681 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • 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

GitHub

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.

More from evovexai/evoflow

AGENTS.md AGENTS.md file
evovexai/evoflow · AGENTS.md
git:20261106.b16e7ed · audit A · 611 stars
AGENTS.md@backend AGENTS.md file
evovexai/evoflow · backend/AGENTS.md
git:20260917.24ac911 · audit B · 611 stars
diagnosing-commands SKILL.md skill
evovexai/evoflow · backend/packages/harness/evoflow/plugins/builtin/plugins/evoflow-guide/skills/diagnosing-commands/SKILL.md · Use to diagnose and fix EvoFlow slash command problems. Applies when a /command is missing, overridden by another…
git:20261016.a5d3a8b · audit A · 611 stars
diagnosing-hooks SKILL.md skill
evovexai/evoflow · backend/packages/harness/evoflow/plugins/builtin/plugins/evoflow-guide/skills/diagnosing-hooks/SKILL.md · Use to diagnose and fix EvoFlow hook problems. Applies when a hook does not trigger, its matcher does not match, its…
git:20261016.a5d3a8b · audit A · 611 stars
diagnosing-mcp SKILL.md skill
evovexai/evoflow · backend/packages/harness/evoflow/plugins/builtin/plugins/evoflow-guide/skills/diagnosing-mcp/SKILL.md · Use to diagnose and fix EvoFlow MCP (Model Context Protocol) server configuration problems. Applies when an MCP server…
git:20261016.a5d3a8b · audit A · 611 stars
diagnosing-plugins SKILL.md skill
evovexai/evoflow · backend/packages/harness/evoflow/plugins/builtin/plugins/evoflow-guide/skills/diagnosing-plugins/SKILL.md · Use to diagnose and fix EvoFlow plugin problems. Applies when a plugin is not listed in the marketplace, fails to…
git:20261016.a5d3a8b · audit A · 611 stars
diagnosing-skills SKILL.md skill
evovexai/evoflow · backend/packages/harness/evoflow/plugins/builtin/plugins/evoflow-guide/skills/diagnosing-skills/SKILL.md · Use to diagnose and fix EvoFlow skill configuration problems. Applies when a skill is not discovered, does not trigger…
git:20261016.a5d3a8b · audit A · 611 stars
evoflow-configuration-guide SKILL.md skill
evovexai/evoflow · backend/packages/harness/evoflow/plugins/builtin/plugins/evoflow-guide/skills/evoflow-configuration-guide/SKILL.md · Use when configuring EvoFlow's extension resources (MCP servers, slash commands, skills, hooks, and plugins) or…
git:20261016.a5d3a8b · audit A · 611 stars
greeting SKILL.md skill
evovexai/evoflow · backend/packages/harness/evoflow/plugins/builtin/plugins/evoflow-skill-kit/skills/greeting/SKILL.md · 用 EvoFlow 插件体系提供的问候技能,向用户礼貌地打招呼并简要介绍技能机制。
git:20261015.6cbdf11 · audit A · 611 stars
DESIGN.md@backend/packages/harness/evoflow/proactive DESIGN.md file
evovexai/evoflow · backend/packages/harness/evoflow/proactive/DESIGN.md
git:20261020.b380398 · audit A · 611 stars
DESIGN.md@docs/contribute DESIGN.md file
evovexai/evoflow · docs/contribute/DESIGN.md
git:20261004.be017b6 · audit A · 611 stars
llms.txt@docs llms.txt file
evovexai/evoflow · docs/llms.txt
git:20260911.727a552 · audit A · 611 stars

Every file in evovexai/evoflow

Browse by kind, by grade A, or by owner.