dsh-xiaoqi-pet
IdentifiedXiaoqi Desk Pet — a DSH companion with a real macOS desktop pet, task-specific progress, checklist steps and notices.
Xiaoqi Desk Pet
Xiaoqi is a companion for DeepSeek Harness with two surfaces:
- a frame-wide pet inside the DSH Web UI (all platforms), and
- an always-on-top desktop pet outside the Harness window:
- macOS: native Swift app,
- Windows/Linux: Electron companion (source and build scripts included).
Both read the same live session state. The native pet is a separate always-on-top, transparent window; drag it anywhere and pin it. When it connects, the in-page pet hides so you do not see two Xiaoqis. Quit the native app and the in-page pet comes back.
What it does
- One pet, every session. The board groups sessions into Needs you, In progress, and Just finished, with title, project folder, status, and update time.
- Task-name bubble for one task. With a single active session, a compact bubble under the pet begins with the task name and shows the current action and elapsed time.
- Color-coded task drawers for several tasks. With two or more active sessions, the bottom bubble disappears and one drawer card per task fans out beside the pet. Each task keeps a stable, distinct color. Cards show the checklist item or action, elapsed time and recent trail; clicking a card brings DSH forward and opens that exact session.
- Account balance on the belly. The signed-in DSH account wallet balance (recharge + bonus) appears as a compact badge on the pet's belly even when there are no tasks, and refreshes about once a minute; it is hidden when signed out. Right-click the in-page pet to close it; it returns on the next page load.
- Bordered, color-coded task cards. Inside the board every task is its own card with a thin border, a tinted surface and its own stable color—so several tasks never blur into one list.
- Task-specific progress while you are elsewhere. The board shows the current checklist item, the concrete action in flight (for example
修改 client.js,运行:Build the macOS app,读取 README.md), elapsed time, and the last three actions. The native pet's caption follows the current task or action. - Live, not polled. The in-page board reads the Session list and status snapshots supplied to the
shell.overlayslot. The native app polls the token-protected local bridge every 1.2 seconds. - Speaks up. A new approval, question, plan review, or a session finishing in the background raises a notice. In the native app the notice is a separate non-blocking desktop bubble.
- Drag and pin. Move the pet anywhere; pin the position. The in-page pet uses viewport-relative coordinates and the native app uses screen coordinates, both persisted locally.
- Open the exact session. Clicking a task row on the native board queues an open-session command for DSH and brings Harness to the front. The in-page row opens it directly.
- English and Chinese, light and dark system appearance, original SVG artwork, no external images or fonts.
No message content is read for the board. The bridge transfers session titles, project folder names, checklist text, tool/action labels, and derived timing facts only.
Install the DSH plugin
From a local checkout:
dsh plugin --profile web add /absolute/path/to/dsh-xiaoqi-pet
After the npm release:
dsh plugin --profile web add dsh-xiaoqi-pet
Then reopen or reload the DSH Web UI. The in-page pet appears near the bottom-left.
Install the desktop pet
macOS native app
Requires macOS 13 or later and Xcode command-line tools.
cd desktop
./build.sh --install
open -a "$HOME/Applications/Xiaoqi Pet.app"
The app is a menu-bar accessory (LSUIElement) with no Dock icon. Its paw menu offers show/hide, pin, open board, reconnect, and quit.
If the native app is not running, the in-page board's monitor button tries to launch it from ~/Applications/Xiaoqi Pet.app or /Applications/Xiaoqi Pet.app.
See desktop/README.md for build details and the local bridge contract.
Windows / Linux Electron companion
The cross-platform companion lives in desktop/electron. It reads the same bridge, shows the same task colors, and uses the same click-to-open flow.
cd desktop/electron
npm install
npm start
Build artifacts:
npm run dist:win # Windows zip
npm run dist:linux # Linux AppImage
See desktop/electron/README.md. The Windows/Linux packages are configured but have not been run on those operating systems in this environment; build and verify them on each target OS before calling them release-ready.
What "pinned" means
- In-page pet: a frame-wide overlay inside the DSH Web UI. It stays above the sidebar, conversation, and composer, and remembers its viewport-relative position.
- Native pet: a separate borderless
NSPanelat the floating window level, with.canJoinAllSpacesand.fullScreenAuxiliary. It is always-on-top across Spaces and can be placed anywhere on the desktop, including outside the Harness window.
Compatibility
- DSH
0.2.1-rc.1through0.2.1-rc.3 - Chromium-based DSH Web UI for the in-page pet
- macOS 13+ for the Swift pet
- Windows/Linux for the Electron companion
- No runtime dependencies, no install scripts, no outbound network calls
Development
The bundle is plain JavaScript: index.js is the Host half (bridge, session progress, local command queue), and client.js is the Web module registered in shell.overlay.
node --check client.js
node --check index.js
npm pack --dry-run
./desktop/build.sh
Useful check after a change:
TOKEN=$(python3 -c 'import json,os; print(json.load(open(os.path.expanduser("~/Library/Application Support/XiaoqiPet/bridge.json")))["token"])')
curl -sS -H "Authorization: Bearer $TOKEN" http://127.0.0.1:PORT/xiaoqi-pet/api/state
License
MIT. See LICENSE.
Versions
| Latest version | Published | Size |
|---|---|---|
| 1.5.4 | — | — |
Comments
Loading…
Similar plugins
by MichengAI
An in-page pet for DSH Web with multi-session task notifications and controls to open tasks, stop turns, and respond to supported approval and question requests.
★ 6
↓ 3.9k/wk
Apache-2.0
TypeScript
Oct 27, 2026
dsh plugin --profile web add @michengai/dsh-codex-petby YangShen-SWE
A Windows desktop pet for official DeepSeek API balance, usage, and animated reactions in DSH.
★ 8
NOASSERTION
PowerShell
Oct 21, 2026
dsh plugin --profile web add dsh-plugin-simple-petby anneheartrecord
macOS desk pet that lives outside the DSH page: a real always-on-top window that clears fullscreen Spaces, six states driven by local DSH, a native right-click menu with quiet mode and a session list,
★ 6
↓ 233/wk
MIT
Python
Aug 20, 2026
dsh plugin --profile web add deepseek-desk-petby ting-good
用于DeepSeek Harness的可爱小厨娘插件,展示任务状态,也可以点击互动
★ 3
↓ 50/wk
NOASSERTION
JavaScript
Oct 22, 2026
dsh plugin --profile web add dsh-cook-petby ldystudy0913-jpg
Desk pet for the DSH Web UI: an orange desk cat that reacts to the live agent session state.
★ 0
MIT
JavaScript
Aug 18, 2026
dsh plugin --profile web add dsh-petNative desktop pet for DSH that follows agent activity, supports Codex pet packages, and imports approved pets directly from Petdex without its CLI.
★ 0
dsh plugin --profile web add @ysyyhhh/dsh-pet