AI赋能Automa二次开发

AI赋能Automa二次开发

需求

增加用户登录,控制用户权限:创建、运行和分享工作流;

工具

ChatGPT:解决方案

VSCode+Copilot:代码调整

Mysql:存储层,保存用户及权限存储

Node:服务层技术

Vue:展示层技术

DeepWiki:代码阅读

这里要重点介绍下deepwiki, 能够生成github上仓库的wiki文档,支持对最新代码仓库的问答。由最早的编程智能体Devin推出,值得信赖:)比如我们今天要研究的automa:

实现步骤

ChatGPT获取思路

问1:如何对automa进行二次开发?

答1 :下面给出一个针对 Automa (https://github.com/automa-app/automa)的二次开发指南,帮助你在本地搭建、添加自定义动作(Action)、改 UI、打包并发布你的定制版扩展。如图:

问2:我期望增加用户及权限管理功能,后台管理员可以添加用户,分配权限,权限包括流程创建、流程运行、流程分享。打开automa首先进入登录界面,然后输入用户名密码,登录后,根据权限,可以进行相关操作。

答2:下面是一套为 Automa 扩展添加"用户 & 权限管理"功能的方案思路,包含后端设计、前端改造与权限控制三部分。你可以根据团队技术栈灵活调整细节。如图:

问3:一步步告诉我如何实现一、后端设计

答3 : 下面以 Node.js + Express + Sequelize + JWT 为例,分步讲解如何实现"后端设计"中的用户与权限管理部分。如图:

...

问4:一步步实现二、前端(扩展)改造

答4 :下面分 5 步,逐步改造 Automa 扩展(假设基于 packages/extensionpackages/ui 两部分),实现登录鉴权与前端权限控制。如图:

搭建二次开发环境

按照答1一步步操作,chrome安装本地unpacked扩展,会有报错,可以忽略,不影响功能。抽空再借助AI修复这个错误吧。

部分问题我最后进行了修复,可以查看我的完整对话记录,在附件中。

后端开发

按照答3一步步来,但是测试API时遇到问题。

问5:

测试登录API报错

答5 :这个错误说明你的 req.body 为空,所以在解构时拿不到 usernamepassword。通常有两种办法解决:

按方案一解决问题。

问6:我数据库中创建的用户ADMIN密码是123456,但是通过postman提交相同信息,返回: { "message": "密码错误" }

答6:下面我们一步步来定位和解决"密码错误"问题。

问7:分配权限提示无效操作,见附件,postman测试。

答7:出现 "无权操作" 的原因,通常有两种:

  1. 当前登录用户的 JWT 中不包含 ADMIN 权限
  2. 请求体格式不符合后端预期

下面一步步帮你排查并修复。

最终运行
  • 服务启动
  • 登录测试
  • 授权测试

前端开发

根据答4一步步完成,此时点击浏览器上automa dev扩展的图标,显示一个比较丑陋的登录页面。

VSCode中打开automa项目路径,在copilot里完成一些代码调整。可惜目前copilot并不会记录所有聊天历史,所以只能根据回忆来写了。
问8:Login页面请修改样式,跟其他页面保持一致。
问9:登录成功后,跳转到home,并打开dashboard
问10:修改下插件automa首页,点击浏览器上插件图标时,直接打开dashboard
问11:automan有一个BackgroundUtils.openDashboard('');方法,打开一个控制面板。我期望点击浏览器上扩展图标,就运行该方法进入控制面板。

上述问题也可以DeepWiki中询问,这样可以定位到关键代码,问11的BackgroundUtils.openDashboard('');方法就是通过DeepWiki定位到的:

最终效果

  • 点击扩展标签,进入登录页面。
  • 输入用户名密码,点击登录进入工作流首页

后记

在这个思路的基础上,对automa的二开就能够比较顺利的开展了。

借助AI赋能,5个小时实现上述功能,要知道我的起点:

  1. automa听说过,从来没看过代码及用过;
  2. vue比较陌生,没有做过项目,只通过AI生成过代码。

期望能给其他有或者没有开发经验的人一点启发,AI时代,更重要的是你描述问题的能力,借助AI即可以弥补我们很多短板,也可以将我们的长处发挥到极致。拥抱AI,这是唯一聪明的做法。

相关推荐
柠檬味拥抱3 分钟前
2000 张人脸眼部检测数据集 | 标注规范、数据划分与应用场景
人工智能
芒果快进我嘴里12 分钟前
超球损失函数
人工智能·机器学习
荼蘼14 分钟前
openCV 角点检测与 SIFT 特征提取:原理与实战解析
人工智能·opencv·计算机视觉
掘金安东尼18 分钟前
文心快码 3.5S:多智能体自协同,引爆开发者新范式
人工智能
fsnine21 分钟前
深度学习——迁移学习
人工智能·深度学习·机器学习
shao91851633 分钟前
Gradio全解11——Streaming:流式传输的视频应用(8)——Gemini Live API:实时音视频连接
人工智能·async·gemini·websockets·live api·servertoserver·clienttoserver
程序员小袁37 分钟前
LMDeploy 上线实战:零部署清单、QPS–显存估算表与 TurboMind vs vLLM 压测脚本全套指南
人工智能
pan0c2339 分钟前
机器学习 之 时间序列预测 的 电力负荷预测案例
人工智能·算法·机器学习
Sui_Network40 分钟前
GraphQL RPC 与通用索引器公测介绍:为 Sui 带来更强大的数据层
javascript·人工智能·后端·rpc·去中心化·区块链·graphql