Skip to content

Latest commit

 

History

History
868 lines (653 loc) · 21.1 KB

File metadata and controls

868 lines (653 loc) · 21.1 KB

AI Interaction with SystemMind Tools Documentation

Overview

This document provides a comprehensive guide on how an AI assistant interacts with the SystemMind (Operating System Management Control Protocol) toolkit. The SystemMind provides cross-platform system monitoring and diagnostic capabilities for Windows, macOS, and Linux systems.


Table of Contents

  1. Tool Initialization
  2. System Information Tools
  3. Performance Monitoring Tools
  4. Resource Management Tools
  5. Security Tools
  6. Troubleshooting and Diagnostics
  7. Best Practices
  8. Error Handling

Tool Initialization

initialize_os_connection

Purpose: Establishes connection and detects the operating system environment.

When to use: This should ALWAYS be called first before using any other SystemMind tools.

AI Interaction Pattern:

User: "Check my system performance"
AI: First, let me initialize the OS connection...
     [Calls initialize_os_connection]
     Then proceeds with performance checks

Sample Output:

🔌 OS CONNECTION INITIALIZED

✅ Successfully connected to your operating system!

DETECTED SYSTEM:
• Operating System: Windows
• Platform: Windows-11-10.0.22000-SP0
• Architecture: AMD64
• Computer Name: DESKTOP-SAMPLE
• Processor: Intel Core i7-12700K, GenuineIntel
• Python Version: 3.11.5

OS-SPECIFIC CONFIGURATION:
• Shell: PowerShell or CMD
• Package Manager: winget or chocolatey
• Home Directory: C:\Users\SampleUser
• Temp Directory: C:\Users\SampleUser\AppData\Local\Temp

✨ All tools are now ready to use!

System Information Tools

1. get_system_overview

Purpose: Provides comprehensive system specifications and current status.

When to use:

  • User asks about their computer specs
  • General health check
  • Before recommending system upgrades

AI Interaction Pattern:

User: "What are my computer specs?"
AI: Let me get your system overview...
     [Calls get_system_overview]
     Summarizes key findings in user-friendly language

Sample Output:

🖥️ YOUR COMPUTER OVERVIEW

Computer Name: DESKTOP-SAMPLE
Operating System: Windows 11
Machine Type: AMD64
Processor: Intel Core i7-12700K, GenuineIntel

🔧 PROCESSOR (CPU) DETAILS:
• Physical CPU cores: 8
• Logical CPU cores (threads): 16
• Current CPU Speed: 3600 MHz
• Max CPU Speed: 4900 MHz
• Current CPU Usage: 15.2%

💾 MEMORY (RAM) DETAILS:
• Total RAM: 32.00 GB
• Available RAM: 18.45 GB
• Used RAM: 13.55 GB (42.3%)
• Swap/Page File: 16.00 GB (2.1% used)
• Status: ✅ Good - Memory is healthy

💿 STORAGE DETAILS:
• Total Storage: 1000.00 GB
• Used Storage: 450.00 GB (45.0%)
• Free Storage: 550.00 GB
• Status: ✅ Good - Plenty of space available

⏰ SYSTEM STATUS:
• Last Started: 2025-01-15 08:30:00
• Running For: 2 days, 14:30:00

2. get_running_processes

Purpose: Lists active processes with resource usage.

Parameters:

  • limit (optional): Number of processes to display (default: 15, max: 50)

When to use:

  • User reports slow performance
  • Identifying resource-heavy applications
  • Memory leak investigation

AI Interaction Pattern:

User: "Why is my computer slow?"
AI: Let me check what's running on your system...
     [Calls get_running_processes with limit=20]
     Analyzes top memory/CPU consumers
     Provides recommendations based on findings

Sample Output:

🖥️ SYSTEM PROCESSES OVERVIEW (Windows)

Total Running Processes: 245

Process Categories:
• Application: 120 processes
• System Process: 85 processes
• Web Browser: 25 processes
• Development Tool: 12 processes
• Security Software: 3 processes

TOP 15 MEMORY CONSUMERS:

1. chrome.exe (Web Browser)
   - Memory: 1250.5 MB | CPU: 2.5% | Running: 3:45:22
   - Status: Running | User: SampleUser

2. Code.exe (Development Tool)
   - Memory: 850.3 MB | CPU: 0.5% | Running: 2:15:10
   - Status: Running | User: SampleUser

3. MsMpEng.exe (Security Software)
   - Memory: 450.2 MB | CPU: 1.0% | Running: 2 days, 14:30:00
   - Status: Running | User: SYSTEM

3. get_network_info

Purpose: Displays network connections, IP addresses, and usage statistics.

When to use:

  • Connectivity troubleshooting
  • Finding local IP address
  • Network usage monitoring

Sample Output:

🌐 NETWORK INFORMATION (Windows)

Computer Name: DESKTOP-SAMPLE
Local IP Address: 192.168.1.100

🔌 NETWORK CONNECTIONS:
• Wi-Fi: 🟢 Connected @ 866Mbps
  - IPv4: 192.168.1.100
  - IPv6: fe80::1234:5678:90ab:cdef

• Ethernet: 🔴 Disconnected

📊 NETWORK USAGE (Since Boot):
• Data Sent: 2.5 GB
• Data Received: 15.3 GB
• Packets Sent: 5,234,567
• Packets Received: 12,345,678

🔗 ACTIVE CONNECTIONS: 42

4. get_disk_usage

Purpose: Shows storage capacity and disk I/O statistics.

When to use:

  • Checking available space
  • Disk performance issues
  • Storage planning

Sample Output:

💿 STORAGE & DISK USAGE (Windows)

Drive: C:\ (Mounted at: C:\)
• File System: NTFS
• Total Size: 1000.00 GB
• Used: 450.00 GB (45.0%)
• Free: 550.00 GB
• Status: ✅ Healthy

📊 DISK ACTIVITY (Since Boot):
• Data Read: 125.5 GB
• Data Written: 89.3 GB
• Read Operations: 3,456,789
• Write Operations: 2,345,678

5. get_user_info

Purpose: Displays current user information and session details.

Sample Output:

👤 USER INFORMATION (Windows)

CURRENT USER:
• Username: SampleUser
• Home Directory: C:\Users\SampleUser
• User ID: N/A

LOGGED IN USERS:
• SampleUser (1 session)
  - GUI from local since 08:30:00

ENVIRONMENT INFO:
• Working Directory: C:\Projects\MyApp
• Temp Directory: C:\Users\SampleUser\AppData\Local\Temp
• PATH entries: 45

Performance Monitoring Tools

1. get_performance_summary

Purpose: Quick health check with overall system score.

When to use:

  • Initial diagnostic assessment
  • Quick system health verification
  • Before/after optimization comparison

AI Interaction Pattern:

User: "Is my computer running well?"
AI: Let me run a quick health check...
     [Calls get_performance_summary]
     Interprets score and provides recommendations

Sample Output:

⚡ COMPUTER PERFORMANCE SUMMARY (Windows)

OVERALL STATUS: 🟢 EXCELLENT
Health Score: 92/100

📊 CURRENT METRICS:
• CPU Usage: 15.2% (16 cores available)
• Memory Usage: 42.3% (18.45 GB available)
• Disk Usage: 45.0% (550.00 GB free)
• System Load: 0.25 (0.016 per core)

🎯 ASSESSMENT:
Your computer is running very well!

✅ All systems operating normally

2. get_resource_monitor

Purpose: Real-time resource monitoring over a specified interval.

Parameters:

  • interval_seconds: Duration to monitor (1-30 seconds, default: 5)

When to use:

  • Investigating intermittent performance issues
  • Capturing resource spikes
  • Real-time diagnostics

Sample Output:

📊 REAL-TIME RESOURCE MONITOR (Windows)

Monitoring system for 5 seconds...

MONITORING RESULTS:

CPU Usage:
• Average: 18.5%
• Peak: 25.3%
• Status: 🟢 Normal

Memory Usage:
• Average: 42.5%
• Peak: 43.1%
• Status: 🟢 Good

Network Activity (during monitoring):
• Data Sent: 150.25 KB (30.05 KB/s)
• Data Received: 2.45 MB (490.00 KB/s)
• Total: 2.60 MB

Disk Activity (during monitoring):
• Read: 5.23 MB (1.05 MB/s)
• Written: 12.45 MB (2.49 MB/s)
• Total: 17.68 MB

CPU USAGE TREND:
Sample 1: ███ 16.2%
Sample 2: ███ 18.5%
Sample 3: ████ 20.1%
Sample 4: █████ 25.3%
Sample 5: ████ 19.7%

3. get_temperature_info

Purpose: Monitor system temperature sensors (when available).

When to use:

  • Overheating concerns
  • Performance throttling investigation
  • Hardware health monitoring

Note: Limited availability on Windows; primarily works on Linux and some macOS systems.

Sample Output (Linux):

🌡️ SYSTEM TEMPERATURE MONITORING (Linux)

CPU TEMPERATURES:
• Core 0: 45°C
• Core 1: 47°C
• Core 2: 46°C
• Core 3: 48°C

GPU TEMPERATURE:
• GPU 0: 52°C

SYSTEM STATUS: ✅ Normal operating temperature

Sample Output (Windows):

🌡️ SYSTEM TEMPERATURE MONITORING (Windows)

⚠️ Temperature monitoring not supported on this platform.
Your OS (Windows) may not provide sensor access through this interface.

4. get_battery_info

Purpose: Battery status for laptops and portable devices.

Sample Output:

🔋 BATTERY INFORMATION (Windows)

BATTERY STATUS: 🔌 Charging

CURRENT CHARGE:
• Battery Level: 75%
• Power Plugged In: Yes
• Status: Charging

BATTERY HEALTH:
✅ Battery is in good condition.

BATTERY CARE TIPS:
• Avoid fully draining the battery regularly
• Keep charge between 20-80% for optimal battery life
• Avoid extreme temperatures
• Unplug once fully charged (if possible)

5. get_power_settings

Purpose: Power management and performance mode information.

Sample Output:

⚡ POWER SETTINGS (Windows)

BATTERY STATUS:
• Charge Level: 75%
• Plugged In: Yes

CPU POWER STATE:
• Current Frequency: 3600 MHz
• Maximum Frequency: 4900 MHz
• Mode: ⚡ High Performance

WINDOWS POWER MANAGEMENT:
• Access: Settings → System → Power & battery
• Common plans: Balanced, Power saver, High performance

POWER TIPS FOR WINDOWS:
• Enable Battery Saver when unplugged
• Reduce screen brightness
• Use 'Power Throttling' for background apps

Resource Management Tools

1. find_large_files

Purpose: Locate large files consuming disk space.

Parameters:

  • directory: Path to search (default: user's home directory)
  • min_size_mb: Minimum file size in MB (default: 100)
  • limit: Maximum results to return (default: 20)

When to use:

  • Disk cleanup operations
  • Finding space-consuming files
  • Storage optimization

AI Interaction Pattern:

User: "My disk is full, help me find what's taking up space"
AI: I'll scan for large files in your home directory...
     [Calls find_large_files with min_size_mb=100]
     Presents findings with recommendations
     Suggests which files might be safe to remove

Sample Output:

🔍 LARGE FILES SEARCH (Windows)

Search Parameters:
• Directory: C:\Users\SampleUser
• Minimum Size: 100 MB
• Limit: 20 files
• Max Depth: 5 levels (to prevent timeout)

⏳ Scanning directory... (this may take a moment)

Scan Statistics:
• Items scanned: 10,000
• Permission errors: 5

FOUND 10 LARGE FILE(S):

Total size of listed files: 45.5 GB

1. VirtualMachine.vdi
   - Size: 25.00 GB
   - Location: VirtualBox VMs\Ubuntu
   - Modified: 2025-01-10 14:30:00
   - Type: VDI file
   - Full Path: C:\Users\SampleUser\VirtualBox VMs\Ubuntu\VirtualMachine.vdi

2. video_project.mp4
   - Size: 8.50 GB
   - Location: Videos\Projects
   - Modified: 2025-01-12 16:45:00
   - Type: MP4 file
   - Full Path: C:\Users\SampleUser\Videos\Projects\video_project.mp4

3. database_backup.sql
   - Size: 3.20 GB
   - Location: Documents\Backups
   - Modified: 2025-01-14 09:15:00
   - Type: SQL file
   - Full Path: C:\Users\SampleUser\Documents\Backups\database_backup.sql

💡 TIPS:
• Review these files to see if they're still needed
• Consider moving large media files to external storage
• Delete temporary or duplicate files
• Compress archives if not frequently accessed
• Use Windows Storage Sense for automated cleanup

2. check_startup_programs

Purpose: List programs that launch automatically at boot.

When to use:

  • Slow boot time investigation
  • Optimizing system startup
  • Reducing resource usage

Sample Output:

🚀 STARTUP PROGRAMS (Windows)

STARTUP SUMMARY:
• Total startup programs: 25
• Memory used by startup programs: 1250.5 MB
• System boot time: 2025-01-15 08:30:00

STARTUP PROGRAMS BY CATEGORY:

System Process (10 programs):
• svchost.exe - 85.3 MB
• svchost.exe - 72.1 MB
• svchost.exe - 65.8 MB
... and 7 more

Application (12 programs):
• Dropbox.exe - 125.5 MB
• OneDrive.exe - 98.2 MB
• Steam.exe - 87.3 MB
... and 9 more

Security Software (3 programs):
• MsMpEng.exe - 450.2 MB
• SecurityHealthService.exe - 25.1 MB

🎯 STARTUP PERFORMANCE ASSESSMENT:
🟡 Moderate: Some startup programs may slow boot time

💡 HOW TO MANAGE STARTUP PROGRAMS:
• Press Ctrl+Shift+Esc → Startup tab
• Or: Settings → Apps → Startup

⚠️ RECOMMENDATIONS:
• System Processes: Essential - don't disable
• Security Software: Important - keep enabled
• Applications: Disable if not used daily

3. get_installed_software

Purpose: List installed applications and software.

Note: Results vary by OS and available system tools.

Sample Output:

📦 INSTALLED SOFTWARE (Windows)

NOTE: Listing all installed software requires registry access.
Showing currently running applications instead:

Running Applications: 85
• Chrome.exe
• Code.exe
• Discord.exe
• Spotify.exe
• Steam.exe
... (80 more)

To see all installed software:
• Windows Settings → Apps → Installed apps
• Or use: Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* in PowerShell

Security Tools

1. check_security_status

Purpose: Assess basic security configuration and active protection.

When to use:

  • Security audit
  • Verifying antivirus status
  • Post-incident checks

AI Interaction Pattern:

User: "Is my computer secure?"
AI: Let me check your security status...
     [Calls check_security_status]
     Evaluates security score
     Provides specific recommendations if issues found

Sample Output:

🔒 SECURITY STATUS (Windows)

SECURITY SOFTWARE:
✅ Detected security software running:
• SecurityHealthService.exe
• MsMpEng.exe
• MpDefenderCoreService.exe

WINDOWS SECURITY:
• Check Windows Security: Win+I → Privacy & Security → Windows Security
• Ensure Windows Defender is active
• Check Windows Update for security patches
• Verify Firewall is enabled

✅ Windows Defender appears to be running

SYSTEM UPDATES:
✅ System uptime: 2 days (recently restarted)

GENERAL SECURITY RECOMMENDATIONS:
• Keep your OS and software updated
• Use strong, unique passwords
• Enable two-factor authentication where possible
• Be cautious with email attachments and downloads
• Regular backups of important data
• Don't disable security software

🎯 SECURITY SCORE: 100/100
✅ Good - Your system has basic security measures

2. get_system_services

Purpose: List running system services.

Sample Output:

⚙️ SYSTEM SERVICES (Windows)

Windows Services Information:

This tool shows running processes. For full service management:
• Press Win+R, type 'services.msc'
• Or use PowerShell: Get-Service

Service-related processes running: 95

💡 TIP:
Services are background programs that run automatically.
Be careful when stopping or disabling services - some are essential!

Troubleshooting and Diagnostics

diagnose_slow_performance

Purpose: Comprehensive performance diagnostic with specific recommendations.

When to use:

  • General slowness complaints
  • Performance troubleshooting
  • Before recommending hardware upgrades

AI Interaction Pattern:

User: "My computer is running slowly"
AI: Let me run a comprehensive diagnostic...
     [Calls diagnose_slow_performance]
     Analyzes all findings
     Prioritizes recommendations by impact
     Explains technical issues in simple terms

Sample Output:

🔍 PERFORMANCE DIAGNOSIS (Windows)

Running comprehensive system analysis...

1️⃣ CPU ANALYSIS:
• Usage: 15.2%
• Cores: 16
• Current Speed: 3600 MHz
✅ CPU is performing well

2️⃣ MEMORY ANALYSIS:
• RAM Usage: 42.3%
• Available: 18.45 GB
• Swap Usage: 2.1%
✅ Memory is healthy

3️⃣ DISK ANALYSIS:
• Disk Usage: 45.0%
• Free Space: 550.00 GB
✅ Disk space is adequate

4️⃣ PROCESS ANALYSIS:
Resource-heavy processes:
• chrome.exe: CPU 5.2%, Memory 1250.5 MB
• Code.exe: CPU 2.1%, Memory 850.3 MB
• Steam.exe: CPU 1.8%, Memory 425.7 MB

5️⃣ STARTUP IMPACT:
• Startup processes: 25
• System uptime: 2 days
✅ Startup load is reasonable

📋 DIAGNOSIS SUMMARY:

✅ NO MAJOR BOTTLENECKS
Your system is performing within normal parameters.

PERFORMANCE SCORE: 92/100
✅ Your system is performing excellently!

🔧 OPTIONAL OPTIMIZATIONS:
1. Close unused browser tabs to free memory
2. Consider restarting weekly for system updates
3. Monitor Chrome extensions for resource usage

Best Practices

1. Tool Call Sequencing

Recommended order for general diagnostics:

1. initialize_os_connection      (Always first)
2. get_performance_summary       (Quick overview)
3. get_system_overview           (If more detail needed)
4. diagnose_slow_performance     (If issues detected)
5. Targeted tools based on findings

2. AI Communication Patterns

Do:

  • Explain what you're checking before calling tools
  • Summarize findings in user-friendly language
  • Provide context for technical metrics
  • Offer actionable recommendations
  • Ask follow-up questions when needed

Don't:

  • Dump raw tool output without explanation
  • Use technical jargon without clarification
  • Make assumptions without verification
  • Recommend destructive actions without confirmation

3. Example Conversation Flow

User: "My laptop feels slow"

AI: "I'll help you diagnose the issue. Let me check your system..."

[Calls initialize_os_connection]
[Calls get_performance_summary]

AI: "I've completed the initial check. Your system shows:
     - CPU usage is normal at 15%
     - Memory usage is a bit high at 78%
     - 45 programs are running
     
     The high memory usage might be causing the slowness.
     Let me see what's using the most memory..."

[Calls get_running_processes with limit=10]

AI: "I found the issue! Chrome is using 2.5 GB of RAM across
     multiple processes. This is likely from having many tabs open.
     
     Recommendations:
     1. Close unused Chrome tabs
     2. Restart Chrome to free memory
     3. Consider using a tab manager extension
     
     Would you like me to check anything else?"

4. Error Handling Strategies

When tools fail:

# AI should gracefully handle errors
if tool_returns_error:
    - Acknowledge the issue
    - Explain possible causes
    - Suggest alternatives
    - Don't expose technical stack traces to user

Example:

Tool: "❌ Error: Permission denied"

AI: "I wasn't able to access that information due to permission 
     restrictions. This is normal for some system files. 
     
     Would you like me to:
     1. Try checking a different directory?
     2. Provide instructions for running with admin rights?
     3. Check other aspects of your system instead?"

Error Handling

Common Issues and Resolutions

1. "Please run 'initialize_os_connection' first"

Cause: Tool called before initialization
Resolution: Always call initialize_os_connection first

2. "No result received from client-side tool execution"

Cause: Tool timeout or crash
Resolution:

  • May need to adjust scan parameters (for find_large_files)
  • Check if directory has permission issues
  • Try with smaller scope

3. Permission Errors

Cause: Insufficient access rights
Resolution:

  • Inform user about permission limitations
  • Suggest alternative directories
  • Explain that some system areas are restricted

4. Platform-Specific Limitations

Cause: Feature not available on current OS
Example: Temperature monitoring on Windows
Resolution:

  • Acknowledge limitation
  • Explain why (OS doesn't expose this data)
  • Suggest alternatives if available

Tool Comparison Matrix

Tool Speed Resource Usage Platform Support User Impact
initialize_os_connection Fast Low All Essential
get_system_overview Fast Low All High
get_performance_summary Fast Low All High
get_running_processes Fast Low All High
get_network_info Fast Low All Medium
get_disk_usage Fast Low All Medium
get_battery_info Fast Low Laptops Medium
get_temperature_info Fast Low Linux/macOS Low
check_startup_programs Medium Low All Medium
find_large_files Slow Medium All High
diagnose_slow_performance Medium Medium All High
check_security_status Fast Low All High
get_resource_monitor Medium Low All High
get_power_settings Fast Low All Low

Conclusion

The SystemMind toolkit provides comprehensive system monitoring capabilities suitable for AI-assisted diagnostics and troubleshooting. By following the patterns and best practices outlined in this documentation, AI assistants can effectively help users understand and optimize their computer systems.

Key Takeaways:

  1. Always initialize before using other tools
  2. Use progressive diagnosis (start broad, narrow down)
  3. Translate technical findings into user-friendly language
  4. Provide actionable, prioritized recommendations
  5. Handle errors gracefully with helpful explanations