Skip to content

A desktop application that combines AI-powered chat (via GitHub Copilot SDK) with real-time server performance monitoring.

Notifications You must be signed in to change notification settings

YoavLax/OptiWatch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Server Performance Monitor with GitHub Copilot

A desktop application that combines AI-powered chat (via GitHub Copilot SDK) with real-time server performance monitoring.

Screenshots

Performance Monitoring

Performance Dashboard

Network Metrics

Network Monitoring

Features

  • 📊 Real-time Metrics: Monitor CPU, memory, disk, and network usage
  • 💻 Process Management: List, analyze, and manage running processes
  • 🐳 Docker Integration: View and manage Docker containers
  • 📁 File Access: Search and analyze system files
  • 🤖 AI Chat Interface (when SDK agent is available): Chat with GPT-4.1 about your server's performance
  • Performance Tools: AI-powered analysis and optimization suggestions (when available)

Prerequisites

  1. Python 3.9+

  2. GitHub Copilot CLI

    Install using npm (requires Node.js):

    npm install -g @github/copilot

    Or use WinGet (Windows):

    winget install GitHub.Copilot

    Or use Homebrew (macOS/Linux):

    brew install copilot-cli

    For more installation options, see: https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-cli

  3. GitHub Copilot Subscription

    Required for AI chat features. See: https://github.com/features/copilot/plans

Installation

# Clone the repository
git clone <your-repo-url>
cd GHCopilotSDK

# Install dependencies
pip install -r requirements.txt

Running the Application

python src/main.py

Building Executables

Windows

pyinstaller --onefile --windowed ^
    --collect-all customtkinter ^
    --icon=assets/app.ico ^
    --name="PerformanceMonitor" ^
    src/main.py

macOS

pyinstaller --onefile --windowed \
    --collect-all customtkinter \
    --icon=assets/app.icns \
    --name="PerformanceMonitor" \
    --target-arch universal2 \
    src/main.py

Note: Must build on the target platform (no cross-compilation).

Project Structure

GHCopilotSDK/
├── src/
│   ├── main.py                 # Application entry point
│   ├── ui/
│   │   ├── main_window.py      # Main application window
│   │   ├── chat_panel.py       # Chat interface
│   │   ├── metrics_panel.py    # Performance metrics display
│   │   └── sidebar.py          # Action buttons sidebar
│   ├── copilot/
│   │   ├── client.py           # Copilot SDK wrapper
│   │   └── tools/              # Custom tools
│   │       ├── process_tools.py
│   │       ├── docker_tools.py
│   │       ├── file_tools.py
│   │       └── metrics_tools.py
│   ├── monitoring/
│   │   ├── system_metrics.py   # System monitoring
│   │   └── docker_monitor.py   # Docker monitoring
│   └── utils/
│       └── config.py           # Configuration
├── requirements.txt
└── README.md

Usage

  1. Start the application
  2. Monitor real-time metrics in the bottom panel
  3. Use the sidebar buttons for quick actions:
    • Analyze Performance
    • Optimize System
    • Docker Health Check
  4. Chat with AI:
    • Ask about system performance
    • Request detailed analysis
    • Get optimization suggestions

Notes

  • The app uses the official GitHub Copilot SDK (https://github.com/github/copilot-sdk)
  • Copilot CLI must be installed and authenticated
  • On Windows, the app automatically uses copilot.cmd from your npm installation

License

MIT

About

A desktop application that combines AI-powered chat (via GitHub Copilot SDK) with real-time server performance monitoring.

Topics

Resources

Stars

Watchers

Forks

Languages