Cyber Capybara is a lightweight Electron + Vue desktop companion with transparent floating-window behavior, drag interactions, edge snapping, sound effects, tray controls, and optional Qwen-powered chat.
Resume and interview brief: PORTFOLIO.md Enterprise architecture: docs/ENTERPRISE_ARCHITECTURE.md
- Transparent frameless always-on-top Electron window.
- Click quotes, drag movement, edge snapping, and hover-to-reveal behavior.
- Tray menu and
Ctrl + Shift + Pvisibility toggle. - Local sound feedback for click, thinking, happy, and warning states.
- Optional Qwen streaming chat.
- API key storage through
electron-store. - Chat safety layer for key filtering, role normalization, and context bounds.
- Renderer build CI.
Vue renderer
-> preload bridge
-> Electron main process
-> chat safety layer
-> Qwen-compatible streaming API
Key files:
| Path | Purpose |
|---|---|
src/App.vue |
Pet UI, pointer interaction, chat bubble |
electron/main.js |
Window, tray, snapping, IPC, Qwen streaming |
electron/preload.cjs |
Safe IPC bridge |
electron/chatSafety.js |
Key filtering and message bounding |
npm install
npm run devnpm test
npm run build:renderer
npm run buildWindows installer artifacts are written to release/.
Option 1: copy .env.example to .env for local development.
QWEN_API_KEY=YOUR_API_KEY_HEREOption 2: send an sk- key in the pet chat box. The app stores it locally and removes key messages from model-bound history.
npm testsyntax-checks Electron main, preload, and chat safety modules.npm run build:renderervalidates the Vue renderer bundle.- Release artifacts and local keys are ignored by Git.
- Add signed auto-update metadata for distributable releases.
- Add persisted pet behavior presets and accessibility controls.
- Add renderer interaction tests for drag, snap, and chat states.
MIT
This repository now includes contribution guidelines, a security policy, operational runbook notes, PR review gates, and automated readiness checks. See docs/ENTERPRISE_READINESS.md and docs/OPERATIONS.md.