2024-07-04 23:38:24 +08:00
2024-07-04 11:09:16 +08:00
2024-07-03 23:09:51 +08:00
2024-07-04 00:02:03 +08:00
2024-07-04 11:09:16 +08:00

autoMate logo

autoMate
autoMate 就像生活出行中的共享单车,帮你完成软件的最后一个操作,只需聊聊天就能将 AI 植入任意一个软件。

autoMate 可以生成自动化代码帮助用户减少复性劳动,他做了三件事:

  1. 了解、分析用户需求,将需求转换为人人都能看懂的用例;
  2. 将用例转换成可执行的代码;
  3. 运行代码并调试,解决异常问题。

各产品优势对比如下。

alt text

为什么做这个项目呢?

好多人找我他们说影刀、quicker 的拖拽他们看不懂,看似是图形化界面,但其实需要很深的代码功底才能把它写出来,于是我想了一个点子,能不能让用户聊聊天就能把自动化搞出来,不需要拖拽也不需要了解参数(´・_・`),这些工作全部交给 AI 来做AI 询问用户的需求,然后再根据用户的需求生成代码,用户可以直接对代码进行修改,不用担心看不懂,因为每一行代码都有友好的提示,而且在代码的旁边有一个小按钮,点击它就能运行,这意味着你无需下载/配置开发环境(¬‿¬)👉 ALL IN ONE如果运行出错了别担心AI 会帮你排查并解决错误。最近 claude 推出了类似的功能,跟 AI 聊聊天就能生成一个贪吃蛇游戏项目autoMate 和 claude 是否相同呢?不相同,我们只生成自动化代码,只会专注于自动化领域,因此我们的自动化生态会比 claude 更完善,不会生成游戏也不会生成工程项目。微软和苹果相继推出自动化产品 copilot plus 和 apple intelligence号称能够自动化控制应用如果他们真能实现 autoMate 还有价值吗?有价值,没有一个产品能满足所有人群的需求,就像 openai 没能统治所有大模型一样,微软和苹果也不可能吃掉所有市场,举一个具体场景,如果他们敢对微信做自动化,腾讯就有十足的把握送他们上法庭,但是我们的产品可以通过插件的方式控制微信。

autoMate 是如何控制桌面应用的?

不得不说,这是一个世界级的难题。我想到了两个思路,一是封装和调用第三方函数库,二是利用视觉 AI施工中 。 第一个思路很简单,大牛们已经封装好了常见的软件操作库,比如使用 python-docx 可以对 word 文档进行读写、使用 Selenium 可以点击浏览器页面中的元素,如果我的操作很复杂没有第三方库怎么办?比如修改 word 中所有表格,每个表格的 2 行 3 列数据精简至 10 字。这其中涉及的操作包括:

  1. 打开 word
  2. 读取所有表格的 2 行 3 列数据
  3. 利用 AI 精简数据
  4. 写入表格。

python-docx 能实现步骤 1、2、4但是步骤 3 怎么实现呢?步骤 3 使用AI精简数据没有这样的第三方库这是定制的需求于是我设想开发一个插件系统用户只需要按照规则编写插插件并且上传AI 就能够学会你上传的插件对于步骤4 来说,我们可以写一个插件去调用大模型接口,让模型返回精简的 100字数据将这个插件上传到 autoMate 后智子就能够结合1~4个基础能力生成可执行的自动化序列。 即便是能够自己封装函数, 也不可能控制所有的软件呀比如公司内部开发的软件就没有任何函数库可以去控制还有一些复杂操作从网上搜集数据并且进行整理开发这些插件的时间还不如人工去做这就提到第二个解决方案视觉AI算法。用户的自动化需求是打开A软件点击红色按钮用户只需要为软件A和红色按键截图然后打上标于是自动化可以这么去做

  1. 利用 opencv 找到A软件控制鼠标移动并左键点击
  2. 利用opencv找到红色按钮并控制鼠标移动并左键点击。

软件这么多让用户一个一个打标太麻烦了有更好的思路吗取得用户同意后autoMate 会拿到用户的打标数据,再把这些数据喂给 yolo我们训练一个通用视觉模型他可以识别大部分的场景。然后 yolo 模型结合大语言模型完成自动化用例。

功能介绍

基础功能

详见--基础功能

开发指南

本项目分为前端和后端两个部分,前端项目在 app 目录下,后端项目在 server 目录下。这意味着,如果要运行 autoMate你就得同时启动前端和后端。项目启动后会在 目录创建 sqlite 数据库 autoMate.db 如果想查看数据库内容建议使用开源数据库软件dbeaver。

启动前端

  1. 安装 nodejs使用最新版本即可
  2. 使用命令行进入到 app 目录;
  3. 输入 npm install 安装依赖;
  4. 输入 npm run dev 启动前端。

启动后端:

  1. 安装python3最好 3.9+版本。
  2. 使用命令行进入 server 目录;
  3. 创建并激活虚拟环境,输入 python -m venv .venv
  4. 输入 pip install -r requirements.txt 安装依赖;
  5. 输入 flask --app main run 启动后端

打包

后端打包命令:

pyinstaller main.spec

前端打包命令:

win可以换成mac

npm run build:win

打包完成后将main.exe放在前端根目录下。

开发小技巧

如果你想用console.log打印内容并且查看需要打开devtools才能够查看到可以在/app/src/main/windows.ts中将openDevTools工具设置为true。每一个界面都有单独的devtools。根据自己调试需要打开相应的开关即可。

export const config = {
    search: {
        id: 0,
        options: {
            initShow: true,
            hash: '',
            openDevTools: false,
        }
    },
    code: {
        id: 0,
        options: {
            initShow: true,
            width: 1300,
            height: 700,
            openDevTools: false,
            frame: true,
            transparent: false,
            hash: '/#config/category/contentList'
        }
    },
    config: {
        id: 0,
        options: {
            initShow: true,
            width: 600,
            height: 400,
            openDevTools: false,
            frame: true,
            transparent: false,
            hash: '/#config'
        }
    }

} as Record<WindowNameType, {id: number,  options: OptionsType }>

感谢以下贡献者

Description
Like Manus, Computer Use Agent(CUA) and Omniparser, we are computer-using agents.AI-driven local automation assistant that uses natural language to make computers work by themselves
Readme MIT 143 MiB
Languages
Python 100%