openpetswithchatandmcp/FEATURES.md
VectorShell 743163d742 build(desktop): fix Windows packaging and update release docs
- Replace shell-glob build:deps with cross-platform build-deps.mjs.
- Add v3.1.0 changelog/docs updates.
2026-06-13 02:17:12 +00:00

11 KiB
Raw Permalink Blame History

OpenPets Feature Inventory

This file is the current feature roll-up for this working fork of OpenPets. It combines:

  • the shipped baseline described in README.md
  • the chat, memory, and prompt-window work from this implementation thread
  • the curated MCP toolkit surface added in the desktop app

Looking for an isolated view of only our additions? See:

Desktop Companion Core

  • Tray-first desktop companion app
  • Desktop pet that can idle, react, wave, move, and speak
  • Default pet plus installed non-default pets
  • Per-agent pet routing when integrations request a specific installed pet
  • Manual pet dismissal with lease-aware recovery rules
  • Native right-click pet context menu
  • Always-on-top pet window with click-through background behavior
  • Drag support with mouse passthrough recovery for Windows/Linux edge cases
  • Adaptive pet scale setting (continuous slider from 0.16x to 10x in Settings)
  • Reset default pet position
  • Launch at login support where the platform allows it
  • Update checking against GitHub releases
  • Open logs folder from the app
  • Built-in default pet
  • Installed pet pack loading
  • Local pet import from ZIP
  • Local pet import from folder
  • Codex pet import flow
  • Pet catalog browsing
  • Pet preview thumbnails and spritesheets
  • Default pet selection
  • Pet gallery linkout

Reactions And Speech

  • Explicit pet speech bubbles
  • Reaction-only decorative bubble messages
  • Reaction animation mapping
  • User-configurable reaction-to-animation overrides
  • Longer display duration for longer messages
  • Separate handling for finite reaction animations vs visible bubble lifetime
  • Safer speech rules for agent-driven bubble content
  • Bubble behavior that avoids showing code, logs, URLs, paths, or secrets in normal integration speech

Virtual Pet Care

  • Bundled openpets.virtual-pet plugin tracks hunger, energy, happiness, and affection
  • Stats decay slowly while the app is running and recover when you feed, play, pet, or nap
  • Status values live in the right-click pet context menu (Virtual Pet ▸ Mood, Food, Energy, Play, Bond, Level); no on-pet HUD overlay
  • Single-click the pet to pet it (increases bond and happiness)
  • Feed, play, and nap actions are also available from the pet context menu
  • Automatic nudges when a stat gets low

Floating Chat Surface

  • Double-click the pet to open a floating prompt window
  • Floating prompt window stays always on top
  • Compact prompt-first mode at 96px height; expanded editor/history mode at 280px
  • Prompt bar is sized for 23 lines of text
  • Resizable corner grip with size remembered per mode
  • Prompt window keeps a low desktop footprint
  • Minimal top-bar controls with small symbol buttons
  • Editor panel toggle
  • History toggle
  • New chat action
  • Settings shortcut
  • Close action
  • Copy chat support
  • Styled conversation history list with per-entry role badges and timestamps
  • Scrollable message entries with distinct user/assistant/system/error theming
  • Enter sends
  • Ctrl+Enter or Cmd+Enter inserts newline
  • Inline error presentation inside the prompt surface
  • No terminal required for normal chat usage

Chat History

  • Full conversation history stored and persisted to disk across app restarts
  • History survives closing and reopening the floating chat window
  • History stays in the prompt/editor surface rather than in the pet bubble
  • Pet bubble only shows one assistant reply at a time
  • Per-entry styling with role badges (You / Pet / System / Error) and timestamps
  • Multi-conversation support: each conversation is a separate thread with its own messages
  • Conversation list accessible from the History button in the floating chat window
  • Editor button shows the current conversation's message list
  • Create, switch, and delete conversations from the floating chat window
  • Auto-generated conversation titles from the first user message
  • Old conversations are preserved when starting a new chat

OpenAPI And BYOK Chat

  • Main-process OpenAPI chat service
  • User-entered prompt stays out of the pet renderer
  • User-entered prompt stays out of logs unless logging is genuinely necessary elsewhere
  • API key or token entry in Settings
  • Secure storage with Electron safeStorage when available
  • Plain local fallback when platform encryption is unavailable
  • Model selection in Settings
  • OpenAPI-compatible endpoint override in Settings
  • Built-in OpenAI endpoint default
  • BYOK endpoint support for other compatible providers or local gateways
  • Endpoint normalization and validation
  • Localhost-only allowance for plain http
  • Automatic responses plus chat/completions route selection for broader provider compatibility
  • Preset-based provider setup
  • Compact single credential entry surface that adapts to the selected provider preset

Current Provider Presets

  • OpenAI
  • OpenRouter
  • Azure template
  • LiteLLM local
  • vLLM local
  • Custom local template
  • Generic HTTPS template

Pet Character And Personality

  • System-prompt style pet character field in General Settings
  • Character prompt persists in app state
  • Character prompt is applied on future assistant replies
  • Base instructions toggle — optionally include or exclude the default OpenPets behavior instructions in every chat
  • Theme setting shared between control center and floating chat window
  • Auto theme mode
  • Light theme mode
  • Dark theme mode
  • Dark theme tuned toward graphite-style surfaces instead of blue-heavy dark UI

Memory System

  • Local-first persistent OpenPets memory store
  • Main-process memory writer
  • In-memory retrieval during chat
  • On-disk persistence for durable memories
  • Human-inspectable memory mirror files
  • Relevance-based retrieval into future prompts
  • Explicit memory capture patterns such as remember ...
  • Preference, identity, fact, and note style memory kinds
  • Importance weighting
  • Tags
  • Forget/delete support
  • In-app memory viewer in Settings with search, edit, and delete
  • Chat history memory: cross-conversation message search injects relevant past conversation excerpts into the system prompt
  • Two separate databases: explicit memories (openpets-memory.json) and chat history (openpets-chat-history.json)

OpenPets MCP Server

  • Local IPC discovery file and per-run token flow
  • MCP server for OpenPets desktop control
  • Explicit target-pet lease routing
  • Default-pet fallback when a requested pet is unavailable
  • openpets_status
  • openpets_react
  • openpets_say
  • openpets_memory_list
  • openpets_memory_search
  • openpets_memory_store
  • openpets_memory_forget

Agent Integrations

  • Claude Code integration
  • OpenCode integration
  • Cursor integration
  • Pi extension guidance
  • Global setup preview/state for Claude
  • Global setup preview/state for OpenCode
  • Global setup preview/state for Cursor
  • Managed Claude memory instructions
  • Managed Claude hook install/uninstall
  • OpenCode instruction file support
  • OpenCode plugin support
  • Cursor MCP config preview
  • Cursor rules preview
  • Pet routing per supported integration
  • Published package / bundled / local command modes for supported integrations
  • Command path overrides for relevant integrations

Vanilla Chat MCP Tools

  • Multi-select MCP tool activation inside the floating chat window
  • Tiered tool browser (Starter, Terminal & Systems, Advanced)
  • Save & Activate / Deactivate All controls
  • Tools run through an internal stdio MCP client in the main process
  • Supported tools: filesystem, terminal, memory, fetch-web, sequential-thinking, playwright, git, github, docker, sqlite

Curated MCP Toolkit Surface

The control-center Integrations page now also includes a curated MCP Toolkit panel. This does not pretend to be a full unsafe one-click installer for the whole MCP ecosystem. Instead, it provides a practical, permission-aware reference surface with copyable snippets and docs links.

Starter Stack In The Toolkit

  • Filesystem
  • Git
  • GitHub
  • Playwright
  • Browser Use
  • SQLite / PostgreSQL guidance
  • Memory
  • Fetch / Web
  • Sequential Thinking
  • Docker MCP Toolkit

Terminal And Systems Layer In The Toolkit

  • Shell / Terminal guidance
  • Process & Logs guidance
  • System Info guidance
  • SSH guidance
  • Package Manager guidance
  • Tmux guidance

Later / Advanced Layer In The Toolkit

  • Kubernetes / Cloud guidance
  • CI / CD guidance
  • Ghidra guidance
  • Binary Analysis guidance
  • Network Analysis guidance

Toolkit UX

  • Toolkit card in Integrations
  • Explicit Manual Setup vs Persistent Full Access choice
  • Command source labels clarify where tools come from (Stable release, Shipped with app, Local build)
  • Install choice descriptions clarify manual vs persistent access
  • Tiered MCP family browser
  • Per-tool rationale
  • Per-tool VectorShell-fit notes
  • Per-tool permission-boundary notes
  • Copyable install/config snippets where they are stable enough to recommend
  • External docs opening through Electron
  • Persistent host install bundles for supported hosts
  • Install Now actions for supported Claude Code and Codex CLI baselines
  • Installed/skipped MCP result reporting inside the toolkit UI
  • Current automatic baseline: Filesystem, Playwright, Memory, Context7 / Docs, Sequential Thinking, plus Fetch / Web and Browser Use when uvx is available

Plugins

  • Plugin catalog
  • Installed plugin inspection
  • Enable/disable plugins
  • Local plugin loading
  • Catalog plugin install/update/remove
  • Plugin configuration schema rendering
  • Plugin command execution
  • Plugin status display

Dashboard And Control Center

  • Dashboard overview
  • Pet count
  • Plugin health summary
  • Update status summary
  • Reaction mix charting
  • Top companion activity
  • Activity counters
  • Settings view
  • Pets view
  • Plugins view
  • Integrations view
  • Persistent route handling inside the control center window

Logging And Diagnostics

  • App log file
  • Previous log rollover
  • Redaction of token-like values
  • Verbose dev logging toggle through environment
  • IPC request logging
  • Lease acquisition logging
  • Pet show lifecycle logging
  • Renderer console logging capture

Packaging And Distribution

  • Desktop packaging through Electron Builder
  • Windows packaging support
  • Linux AppImage packaging support
  • Additional Linux targets in config
  • Packaged preload scripts for control center, pet window, prompt window, and plugin surfaces
  • Packaged official plugins as extra resources
  • Packaging contract checks

Safety And Boundary Rules

  • Prompt text is kept out of the pet renderer
  • Automatic agent speech is decorative and best effort
  • OpenPets speech bubbles are not meant to carry code, logs, URLs, file paths, or secrets
  • Tooling guidance in the MCP Toolkit emphasizes minimal permissions
  • Docker MCP Toolkit is recommended as an isolation layer when the third-party MCP ecosystem feels too uneven

Practical Summary

This fork now gives you three layers at once:

  • a playful desktop pet
  • a floating always-on-top chat surface with BYOK and memory
  • a curated MCP/workbench surface for building a serious developer stack around the pet instead of only driving it from a terminal