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的输出,并将提取出命令,在计算机中执行:

{
"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文件安装所需的依赖库。可以使用以下命令进行安装:
pip install -r requirements.txt

配置API密钥

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

export DEEPSEEK_API_KEY=your_api_key

启动项目

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

python main.py

运行主循环

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

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文件以获取更多信息。

让AI操作powershell会发生什么的更多相关文章

  1. .NET通过PowerShell操作ExChange为用户开通邮箱账号

    最近工作中一个web项目需要集成exchange邮箱服务,注册用户时需要动态创建邮箱用户,终于在http://www.cnblogs.com/gongguo/archive/2012/03/12/23 ...

  2. .NET通过PowerShell操作ExChange为用户开通邮箱教程

    转:http://www.cnblogs.com/gongguo/archive/2012/03/12/2392049.html =================================== ...

  3. Servlet与多线程与IO操作

    1.JVM内存模型相关概念 2.Java多线程并发深入理解 3.Servlet.设计模式.SpringMVC深入理解 4.Java基础遗漏点补充 数据库连接池:JDBC connection pool ...

  4. PowerShell控制台输出符号+函数参数类型指定+文本内容读取

    There are several ways: Write-Host: Write directly to the console, not included in function/cmdlet o ...

  5. 人类又被AI碾压,这次是星际争霸

    还记得2017年,那个血洗围棋界的“阿尔法狗”吗?     这个由谷歌旗下 DeepMind 公司开发的 AI ,对阵世界顶尖围棋选手,打出完全碾压式的战绩: AlphaGo vs. 樊麾 - 5 : ...

  6. power shell 常用查询-查看操作系统信息

    https://technet.microsoft.com/en-us/library/dd367892.aspx 首推使用 Get-Counter 该函数下可以把现有的电脑监控统计数据 直接提取出来 ...

  7. UE4中的AI行为树简单介绍

    UE4引擎中可以实现简单AI的方式有很多,行为树是其中比较常用也很实用的AI控制方式,在官网的学习文档中也有最简单的目标跟踪AI操作教程,笔者在这里只作简单介绍. AIController->和 ...

  8. 位图索引对于DML操作的影响

    位图索引相对于常规的B-tree 索引,有着体积更加小的优势,节省空间.对于重复率特别高的字段,比如性别,比如省份.查询效率要优于B-tree 索引.那为什么我们总被告知在业务库中不要使用呢? 业务库 ...

  9. 使用 PowerShell 远程管理

    要求 PowerShell 版本要求至少是2.0版本以上,目前PowerShell 2.0 支持最低的操作系统版本为Windows XP.本次操作使用的是 PowerShell 5.1 请使用管理员身 ...

  10. 【转帖】威盛x86 AI处理器架构、性能公布:媲美Intel 32核心

    威盛x86 AI处理器架构.性能公布:媲美Intel 32核心 https://www.cnbeta.com/articles/tech/920559.htm 除了Intel.AMD,宝岛台湾的威盛也 ...

随机推荐

  1. 【Unit2】电梯调度(多线程设计)-作业总结

    第一次作业 1.1 题目概述 5座楼,每座楼单电梯,类型相同,请求不跨楼层 1.2 个人处理思路 红色加粗为线程类,绿色块为临界区(共享对象) /...鄙人还在加班加点的赶制中.qwq./ 1.3 B ...

  2. Flask快速入门3

    十一,Flask Cookies Cookie以文本文件的形式存储在客户端的计算机上.其目的是记住和跟踪与客户使用相关的数据,以获得更好的访问者体验和网站统计信息. Request对象包含Cookie ...

  3. 【Guava工具类】Strings&Ints

    String相关工具 Strings Guava 提供了一系列用于字符串处理的工具: 对字符串为null或空的处理 nullToEmpty(@Nullable String string):如果非空, ...

  4. Linux脚本-使用jar自动替换配置文件

    背景 最近公司需要在生产服务器上测试字库,需要非常频繁修改配置文件中的字体相关属性,然后实时调试,所以需要频繁的修改配置文件并手动发布出去.之前需要修改配置文件时,我们需要: 把jar包通过FTP传回 ...

  5. Jenkins合并代码Git报错处理过程

    #jenkins合并代码时候报错内容#10:36:08 ! [rejected] HEAD -> master (non-fast-forward)#10:36:08 error: failed ...

  6. Let’s Encrypt & Certbot 浅谈

    前言 当我们想给网站启用HTTPS, 通常需要从证书颁发机构购买证书, 并配置到现有的HTTP服务上来实现HTTPS. 这里暗藏的痛点是: 我们需要花钱(买证书) 证书颁发机构(质量参差不齐, 不一定 ...

  7. 谷歌SRE的7条原则

    谷歌SRE的7条原则 拥抱合理的风险 最大化系统的稳定性不仅毫无意义,而且会适得其反.不切实际的可靠性目标限制了新功能交付给用户的速度,而且用户通常不会注意到极端的可用性(比如99.99999%),因 ...

  8. emmy断点调试

    package.cpath = package.cpath .. ';C:/Users/Administrator/AppData/Roaming/JetBrains/IntelliJIdea2021 ...

  9. Robot Framework绝对路径转相对路径

    如上图,添加商品需要上传商品图片,如此,设计脚本时候会填入图片的路径,使自动化能够自动到目的路径内获取图片上传 C:\\Users\\Beckham\\Desktop\\test2\\autoTest ...

  10. P1166题解

    思路 花了半天去理解题意--意思是说给你一个选手的滚球情况,打出他当前的成绩.简单的说这题就是一个模拟(我才不是因为懒才找模拟题写的)思路也很简单,对每一轮进行以下几个判断就行啦: 首先判断有没有在两 ...