让AI操作powershell会发生什么

AI-win11-管理员 (中文)

具体项目:https://github.com/liluoyi666/AI-win11-Administrator.git

项目概述

本项目旨在让大语言模型(LLM)能够操作Windows 11系统。让AI输出特地格式的json,解析json中的指令,对指令进行执行,允许AI执行各种任务。这为自动化操作Windows 11系统提供了可能,使得一些重复性的任务可以由AI自动完成,提高工作效率。
这将把AI的能力发挥到极致

双 AI 架构原理是利用两个 AI 进行互相监督协同工作,一个 AI 负责生成指令,另一个负责确认指令是否应该执行并提出意见。这种架构能更好地应对复杂的任务和情况,且大大提升安全性。且双AI架构能极大提升用户在交互时的体验。
AI安全性与趣味性将有巨大提升

目录

项目结构

  • main.py:项目的入口文件,负责启动主循环。
  • main_cycle_single.py:单AI核心执行循环。
  • main_cycle_double.py:双AI核心执行循环。
  • brain/:核心 AI 处理模块,包含 PowerShell 会话、字符串模板、LLM API 服务、JSON 解析器和日志服务等。
  • logs/:系统操作日志,记录系统运行过程中的各种操作和信息。
  • more_type/:为 ai 提供更多的操作类型,从而执行更复杂的任务。

核心特性

  • 结构化JSON执行PowerShell命令:通过特定格式的JSON,LLM可以方便地执行PowerShell命令,实现对系统的操作。
  • 安全的虚拟机环境:将程序部署在虚拟机中,增加了系统的安全性,避免因错误操作对主机系统造成影响。
  • 多数据类型接口:支持多种数据类型的接口,为LLM提供更丰富的数据处理能力。
  • 单AI模式与双AI模式自由切换:根据安全需求与经济条件选择模式,以适应不同用户需求。

AI命令格式与命令执行的原理

命令格式

AI的输出需包含以下格式的json,系统会检测AI的输出,并将提取出命令,在计算机中执行:

json 复制代码
{
    "type": "操作类型",
    "相关命令",   
    "add_log": "执行操作时顺便写入日志"
}

任何情况下都必须存在type键,其他键具体由type决定。add_log不存在不影响操作执行,add_log存在也不会影响任何类型的操作。记入日志时会自动添加时间以及换行,无需手动添加。日志文件由系统自动维护。

命令执行原理

系统通过main_cycle.py的核心执行循环,接收 LLM 的响应并解析其中的 JSON。根据 JSON 中的type键,调用相应的操作方法。例如,如果type为powershell,则调用PowerShellSession类的execute_command方法执行相应的 PowerShell 命令;如果type为read_log,则调用log类的read方法读取日志。

单AI架构与双AI架构

单AI架构

单 AI 架构是指整个系统中只有一个 AI解析指令和执行操作。

它直接接收用户的留言,根据内置的规则和操作手册,将用户的需求转化为具体的操作命令,并通过 PowerShell 接口执行这些命令。

双AI架构

设定两个AI:执行者AI与监察者AI,执行者负责编写命令以完成用户的目标,监察者当前负责决定是否应该执行执行者的命令,并为执行者提供思路与解决方案。

双方的日志分别独立,执行者的所有输出对监察者完全公开,监察者的输出只有部分向执行者分开。

后续为了平衡执行者和监察者的操作权限,还会进行进一步的平衡性调整,进一步修改其可执行命令。

双AI架构有利于提示系统稳定性与安全性,在后续开发与用户的交流对话模式下,双AI也可以提升用户在交流中趣味性。

项目愿景

原始计划

  • 起步阶段:让LLM能够操作PowerShell,确保程序稳定运行。
  • 初期阶段:将程序转移到虚拟机,增加更多操作语法和安全设置。
  • 中期阶段:增加更多数据类型接口,尝试让LLM自主完成某些简单项目。
  • 最终阶段 :实现非虚拟机部署,让LLM安全稳定地完成人类50%的计算机任务。

分支计划

  • 起步阶段:实现双AI命令执行系统稳定运行。
  • 初期阶段:实现工作状态与对话状态的自由切换,既可与用户对话,也可以操作计算机。
  • 中期阶段:开发可视化窗口以及软件,增加更多数据类型接口,设计AI虚拟形象。
  • 最终阶段:完成为一集成:自动化工作,休闲聊天,电脑安全管控等功能的多功能AI桌面助手。

当前状况

  • 单AI架构初步运行成功
  • 增加了文件读写方法,实现100行文本一次写入
  • 修改了json解析器,大大降低报错率
  • 双AI架构初步运行成功

本地部署方法

环境准备

确保你的系统满足以下要求:

  • 操作系统:Windows 11
  • Python版本:Python 3.x
  • 依赖库 :根据requirements.txt文件安装所需的依赖库。可以使用以下命令进行安装:
bash 复制代码
pip install -r requirements.txt

配置API密钥

根据你使用的LLM模型,配置相应的API密钥。例如,如果你使用的是DeepSeek模型,需要设置DEEPSEEK_API_KEY环境变量:

bash 复制代码
export DEEPSEEK_API_KEY=your_api_key

启动项目

在项目根目录下,运行以下命令启动项目:

bash 复制代码
python main.py

运行主循环

main.py文件中,你可以设置一些参数,如max_roundsmsg,来控制主循环的运行。例如:

python 复制代码
msg = '''
如果刚开始进入命令行,你会出现在该项目的主文件夹中。
你需要做:...
'''

xxx = main_cycle_single(log_path=r"logs/log_ai_executor.txt")
xxx.cycle(max_rounds=30, msg=msg)

贡献

如果你想完全理解代码,可按照该顺序查看代码:

  1. brain/LLM_api.py
  2. brain/String_Templates.py
  3. brain/powershell.py
  4. main_cycle_single/double.py

如果你想为这个项目做出贡献,请遵循以下步骤:

  1. Fork这个仓库。
  2. 创建一个新的分支:git checkout -b feature/your-feature-name
  3. 提交你的更改:git commit -m 'Add some feature'
  4. 推送至分支:git push origin feature/your-feature-name
  5. 提交Pull Request。

许可证

本项目采用[许可证名称]许可证。请查看LICENSE文件以获取更多信息。

复制代码