Releases: ShiyangZheng/DesktopDuck
Releases · ShiyangZheng/DesktopDuck
Release list
v1.3.0 — Local LLM & Offline AI
What's New
Local LLM Support
- Download and run Qwen 2.5-7B (or any GGUF model) entirely offline
- Zero-Dependency Download: Pure Python stdlib + shell/curl fallback — no
pip installneeded - Smart GGUF selection: auto-picks best single-file quantization (q3_k_m > q2_k > ...)
- Built-in health monitoring, warmup progress, and crash recovery
Code-Enforced Group Chat Routing
- Group chat routing now deterministic (code decides who speaks to whom)
- LLM only generates content — identical conversation flow across cloud and local models
- User speaks → pets discuss (2-3 rounds) → wrap up to user
Improvements
pet-llm-server.py: Shell/Python polyglot — works with/bin/sheven without Pythonpet-group-chat.py: Local LLM support with short prompt optimized for 7B modelspet-auto-reply.py: Auto-detect local vs cloud provider- Settings UI: New Local LLM tab with model download, server start/stop, health status
Technical
- Supports macOS 12+ (macOS 13+ ships with built-in Python 3)
- Bundled llama-server for Apple Silicon acceleration (Metal GPU)
- ~3.5GB default model download (Qwen 2.5-7B GGUF q3_k_m)
v1.2 — Group Chat: Dual-Pet Autonomous Discussions
🆕 Group Chat (v1.2)
Two pets, one stage. Duck and Capybara appear simultaneously and engage in autonomous multi-turn discussions.
What's New
- Dual-Pet Group Chat: Open from menu bar, configure both pets' personalities, start a topic
- Autonomous Pet-to-Pet Dialogue: User speaks → pets discuss among themselves (2-3 rounds) → then respond
- Color-Coded Bubbles: Duck (warm cream 🟡), Capybara (ice blue 🔵), User (white ⬜)
- Hover Glow Effects: Mouse over any bubble for a subtle highlight
- Collapsible Bubble Stacks: Auto-fold with "▼ N more..." expander
- Rich Conversation Log: Bold speaker names, proper spacing
- AI Session Summary: Stop the session to receive an AI-generated discussion summary
- Round Counting: Fixed bug where Capybara would skip replying in round 2+
- Clean Stop: All UI residues properly cleaned when ending a session
Bug Fixes
- Capybara now always participates in round 2+ discussions
- User input window color now distinctly white (not matching Duck's cream)
- Stop button properly clears all bubble/fold/input windows
Files
duck-pet.swift— Main app (+675 lines for Group Chat)pet-group-chat.py— AI orchestration engine (new)README.md— Updated with Group Chat section and screenshot
Download
Grab DesktopDuck-v1.2.app.zip below, unzip, and run!
Requirements
- macOS 12+ (native AppKit)
- Python 3 + Pillow
- MiniMax API key
Desktop Duck v1.1
What's New
Journal
- Rewritten as iterative document model — sessions enrich a growing markdown document via AI summarization
- Template selector, Refresh/+Session/Continue buttons, live markdown preview
Spritesheet Editor
- Draggable grid lines for precise frame adjustment
- GIF animation preview after conversion
- Auto-trim content: frames crop to actual character bounds, no more tiny/missing pets
- Dynamic aspect ratio selection based on grid dimensions
Pet Switching
- Duck 🦆 / Capybara 🦫 toggle in Preferences (Appearance section)
- Original duck-idle.gif backed up before custom apply, restored on switch
Bug Fixes
- Uploaded spritesheet now shows in preview immediately
- Show Grid checkbox works on first open
- Preferences scrolls to top on open (no more scrolled-to-bottom)
- AI Model label layout fixed (labels above inputs)
- Slider descriptions now above sliders (Width, Height, etc.)
Python Scripts
pet-generate-character.py: dynamic aspect ratio, background removal, auto-trimpet-convert-spritesheet.py: custom row/col splits, auto-trimpet-journal-summary.py: iterative document AI summarization
Config
- New
petTypefield (duck/capybara/custom) - Save AI Config button in Preferences
Full changelog: see commits since initial release.
DesktopDuck v1.0 — Initial Release
DesktopDuck v1.0 🦆
Initial release of the AI-powered desktop pet duck for macOS.
Features
- AI Chat — Double-click to chat via MiniMax or any OpenAI-compatible API
- Journal System — 5 mindfulness templates with AI-generated summaries
- AI Character Generation — Describe a character, generate a custom pet image
- Fully Configurable — Size, bubbles, timeout, context window, window level
- Window Levels — Always on Top / Normal / Always at Bottom
- Bubble Stack — Floating message bubbles with auto-expiry
Requirements
- macOS 13+ (Ventura or later)
- Python 3.7+ with Pillow (
pip3 install Pillow) - MiniMax API key (or any OpenAI-compatible API)
Installation
- Download
DesktopDuck-v1.0.zip - Unzip and move
DesktopDuck.appto Applications - Right-click → Open (first launch only)
- Open Preferences (⌘,) and enter your API key
- Double-click the duck to start chatting!
Or build from source — see README.