Back to Chatgpt On Wechat

CowAgent Desktop

desktop/README.md

2.1.31.9 KB
Original Source

CowAgent Desktop

Cross-platform desktop client for CowAgent, built with Electron + React + TypeScript.

Development

Prerequisites

  • Node.js 18+
  • npm or yarn
  • Python 3.7+ (for the backend)

Setup

bash
cd desktop
npm install

Run in Development

Start the renderer dev server and Electron together:

bash
npm run dev

Or run them separately:

bash
# Terminal 1: Start Vite dev server
npm run dev:renderer

# Terminal 2: Start Electron (after renderer is ready)
npm run dev:main

The app will automatically start the Python backend from the parent directory.

Build

bash
# Build for current platform
npm run dist

# Build for macOS only
npm run dist:mac

# Build for Windows only
npm run dist:win

Build outputs are placed in the release/ directory.

Architecture

desktop/
├── src/
│   ├── main/              # Electron main process
│   │   ├── index.ts       # Window management, IPC
│   │   ├── python-manager.ts  # Python backend lifecycle
│   │   └── preload.ts     # Context bridge for renderer
│   └── renderer/          # React UI (Vite)
│       └── src/
│           ├── api/       # HTTP client for backend APIs
│           ├── components/ # Reusable UI components
│           ├── hooks/     # React hooks
│           ├── pages/     # Page components
│           └── types.ts   # TypeScript types
├── resources/             # App icons
├── package.json           # Dependencies and build config
└── vite.config.ts         # Vite config

How it Works

  1. Electron main process starts and creates the app window
  2. It spawns the Python backend (app.py) as a child process
  3. The React UI communicates with the Python backend via HTTP APIs
  4. SSE (Server-Sent Events) is used for streaming chat responses and live logs