File size: 1,203 Bytes
c2c8c8d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 🌐 GLMPilot Server

The `server` package is the core backend for the GLMPilot IDE. It handles real-time coordination, acts as a secure proxy to the GLM Mini AI, and manages containerized terminal sessions.

## Key Responsibilities

1. **API Proxy**: Securely routes requests to the GLM Mini API without exposing the `GLM_API_KEY` to the client.
2. **WebSocket Management**: Uses `Socket.io` to provide real-time connection channels for the IDE. These channels include:
   - **Terminal Events**: Streams `stdout` and `stderr` to the client's xterm.js UI, while receiving `stdin`.
   - **Code Sync**: Relays editor state and file system changes between the client, the backend file system, and the AI context.
3. **Multi-Agent Reviewers**: Houses the logic for specialized AI agents (Security, Performance, Style, Documentation) situated in `src/agents/`. These agents can be triggered to analyze workspace code and summarize issues or generate auto-fixes.

## Main Entry Point

- `src/index.ts`: Straps Express, Socket.io, and the API routes together.

## Development

Run `npm run dev` (or `npm run dev:server` from the root) to start the server with hot-reloading using `ts-node-dev` or `nodemon`.