当前位置: 首页 > news >正文

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,这是唯一聪明的做法。

相关文章:

  • Spring @Qualifier,@Primary
  • 分布式ID实现方案实战示例总结
  • 【Zephyr 系列 18】分布式传感网络系统设计:从 BLE Mesh 到边缘网关的数据闭环
  • 看安科瑞分布式光伏解决方案如何破解光伏痛点?
  • 机器学习赋能的智能光子学器件系统研究与应用
  • 基于生成对抗网络(GAN)的图像生成与编辑:原理、应用与实践
  • Idea 2025 commit 关闭侧边栏 开启探框
  • SHA-1算法详解:原理、特点与应用
  • OctoPrint公网部署如何实现?3D打印远程控制一键部署过程!
  • 牛市与熊市:市场周期的双面镜
  • 记录下three.js学习过程中不理解问题----材质(material)⑤
  • NLP学习路线图(三十九):对话系统
  • 2025年渗透测试面试题总结-长亭科技[实习]安全服务工程师题目+回答)
  • 如何将文件从 iPhone 传输到闪存驱动器
  • GaussDB分布式数据库调优方法总结:从架构到实践的全链路优化指南
  • 增强现实—Flame: Learning to navigate with multimodal llm in urban environments
  • 安全生产管理是什么?安全生产管理主要管什么?
  • NLP学习路线图(四十):文本与图像结合
  • 增强现实—Where am I? Cross-View Geo-localization with Natural Language Descriptions
  • 腾讯云TVP走进泸州老窖,解码AI数智未来
  • 网站建设一年多少恰/免费的网站平台
  • 网站模板psd/免费seo课程
  • gta 买房网站建设中/阿里网站seo
  • 十堰网站开发/微信朋友圈广告30元 1000次
  • 付运费送东西的网站怎么做6/seo专员是干什么的
  • 购物网站建设网站/sem搜索引擎