个人生产力代理工具

基于Python的个人生产力代理工具,提供文件操作、系统信息查询、文档摘要、Windows事件日志分析等功能,支持交互式CLI和后台服务器模式。

  • by mwill20
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 mwill20/PersonalProductivityAgent

使用说明

个人生产力代理人

概述

Personal Productivity Agent是一个基于Python的工具,旨在协助Windows系统上的各种任务,并利用大型语言模型(LLM)的强大功能进行智能分析。它可以作为交互式命令行助手或作为后端服务器组件与编排器集成。

特性

该代理目前提供以下功能:

  • 交互式文件系统操作:
    • 查找文件
    • 移动文件(确认后)
    • 重命名文件(确认后)
    • 创建目录(确认后)
  • 系统信息和实用程序:
    • 获取磁盘使用情况、内存信息、CPU信息、网络信息
    • 启动应用程序
    • 查找重复文件
  • 生产力工具:
    • 摘要文档(目前此CLI功能使用模拟LLM)
    • 从获取即将到来的日历事件 .ics 文件
    • 设置桌面提醒/通知
  • Windows事件日志分析(带LLM集成):
    • 根据指定的条件(日志名称、级别、时间范围)获取Windows事件日志。
    • 利用谷歌的Gemini LLM分析事件日志条目,提供解释,建议潜在原因,故障排除步骤和安全的命令行修复。

操作模式

代理可以在两种不同的模式下运行:

1.交互式CLI模式

  • 如何跑步: python main_agent.py
  • 说明: 在此模式下,代理直接在PowerShell或命令提示符中显示菜单驱动的界面。您可以选择各种操作,代理将提示您进行必要的输入并直接显示结果。此模式用于直接用户交互。

2.MCP(多功能协议)服务器模式

  • 如何跑步: python main_agent.py --mcp-mode
  • 说明: 在MCP模式下启动时,代理作为后台进程运行,在其标准输入(stdin)上监听JSON格式的请求,并将JSON格式的响应发送到其标准输出(stdout)。
  • 目的: 此模式专为程序集成而设计。其他应用程序或编排器(如基于TypeScript的代理或中央自动化系统)可以通过向该Python代理发送标准化的JSON消息来调用其功能,从而与该代理进行通信。
  • MCP工具示例: 这 analyze_windows_event_logs 功能通过MCP公开。编排器可以发送一个指定事件日志参数的JSON请求,代理将返回一个JSON响应,其中包含LLM的分析、建议的命令以及该命令是否需要管理员权限。
  • 优点:
    • 自动化: 允许其他系统自动使用代理的功能。
    • 模块化: 允许构建可由中央控制器协调的专用代理。
    • 结构化数据交换: 使用JSON确保软件组件之间的可靠通信。

关键技术

  • Python 3.x
  • 谷歌双子座法学硕士: 用于事件日志的智能分析。
    • 需要a GEMINI_API_KEY 要设置用于身份验证的环境变量。如果没有设置,代理将指示它正在为需要它的功能使用模拟LLM。
  • MCP(多功能协议): 一种基于JSON的简单协议,用于服务器模式下的进程间通信。

设置和要求

  1. python 确保已安装Python 3.x。
  2. 依赖关系: 安装必要的Python包。LLM互动的主要方式是 google-generativeaiA. requirements.txt 文件通常会列出所有依赖项。
    pip install google-generativeai
    # Potentially other packages like 'plyer' for notifications
    
  3. API密钥: 对于Gemini LLM功能,请从Google AI Studio获取API密钥,并将其设置为环境变量:
    • 在PowerShell中: $env:GEMINI_API_KEY = "YOUR_API_KEY_HERE"
    • (记得更换 "YOUR_API_KEY_HERE" 用你真正的钥匙。不要将密钥提交到GitHub。)

如何跑步

  • 交互模式:

    cd path\to\PersonalProductivityAgent
    # Set API Key if using LLM features
    $env:GEMINI_API_KEY = "YOUR_API_KEY_HERE" 
    python main_agent.py
    
  • MCP服务器模式(用于集成):

    cd path\to\PersonalProductivityAgent
    # Set API Key if using LLM features
    $env:GEMINI_API_KEY = "YOUR_API_KEY_HERE"
    python main_agent.py --mcp-mode
    

    然后,代理将在stdin上监听JSON请求。

未来的增强功能

  • 与基于TypeScript的编排器集成(agent.ts)管理和使用MCP工具。
  • 通过MCP服务器模式扩展可用工具。
  • 开发一个更用户友好的图形界面(Web UI或桌面应用程序),利用代理的功能。