【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第60集-agent训练资讯APP重点推荐AI资讯内容(含视频)
使用dtns.network德塔世界(开源的智体世界引擎),策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界引擎(内嵌了three.js编辑器的定制版-支持以第一视角浏览3D场馆),可以在浏览器和node.js、deno、electron上运行,它是一个跨平台的软件,支持多个操作系统使用!并且支持使用内置的poplang智体编程语言实现3D组件的智能化编程——语法超简单,一句话语法,人人轻松上手!
下面分为几步介绍,如何基于dtns.network智体世界引擎实现智体agent实现自动化训练资讯APP的推荐算法重点推荐AI资讯内容。这样方便我们让agent机器人自动化获取AI资讯后不管,并且重点收藏关注AI资讯内容,从而让我们可以方便地训练资讯APP重点推送AI行业资讯情报,减少人工参与以及浪费时间在无关资讯上的大量时间(每天减少刷资讯内容至少1-2个小时),并且大大提升了行业资讯内容的覆盖范围(从人工获取AI资讯每天只能获取100条左右,到自动化获取AI资讯2000-1万条以上)。这样大大减少了人们把时间浪费在刷手机、刷情报内容、刷无关的资讯内容上。提升了人们的工作效率、娱乐效率,节省下来的时间可以更好的学习、娱乐、工作。
agent自动化助理是一个强大的可编程机器人。可以实现机器人底盘的控制、手机甚至是电脑等算力设备的控制。通过简单的几行poplang编程实现喵星人资讯的获取,展现了agent自动化的强大的效率,大大提升了人们的生活水平和管理效率。
为了实现3D轻应用通过dtns-api编程控制agent安卓手机代理。我们使用了dtns-api: /rtphone/robot/do实现操作action的同步——通过adb的shell命令参数指令配合dtns-api:/rtphone/robot/ui/dump拿到UI对应的json,精准地实现目标按钮、文本内容的获取,从而实现了对手机自动获取AI资讯的功能。通过$.g_2d_filter_uijson自动取得资讯内容的所在位置、收藏按钮的位置,实现自动化点击AI资讯内容(每次1条)、并且在详情页面实现收藏!
第一步:打开头榜页面,找到3D纪念馆xverse轻应用
注:找到标题为“agent训练推荐算法推荐AI资讯(含视频)”的xverse轻应用。
第二步:点击右上角…进入头榜编辑器
注:因为每一个xverse轻应用均是以xverse.json的方式进行源码级应用的分享的。故每一个社区用户均可通过编辑xverse轻应用源码来实现DIY和定制。
第三步:点击正面的“编辑xverse轻应用源码”,进入3D场馆编辑器
注:点击3D场景中间的avatar玩家3D组件对象,在右侧的属性面板中找到脚本-编辑。
第四步:编辑“玩家”的avatar的3D组件的poplang代码
注:首先使用dtns-api:/rtphone/robot/do实现了传递adb的shell参数指令。通过/rtphone/robot/ui/dump实现当前app的UI界面元素的获取。以便进行AI行业资讯内容的过滤(使用$.g_2d_filter_uijson实现精准的内容过滤)。然后使用自定义的clickinto函数实现资讯内容的点击(前面通过uijson的filter过滤函数获得了资讯内容的所在位置坐标,以便触发自动点击事件),然后进入详情页面,进一点点击收藏再通过keyevent 4实现返回首页。持续进行,即可代替人工实现精准的AI资讯获取并保存到云文件夹里的强大agent机器人代理。
focus收藏函数以及clickinto函数定义如下:
注:我们看到使用$$.replaceAll实现了字符串的替换功能,从而将bounds例如[140,220],[335,224]等的坐标字符串转化为可使用adb传参的坐标。
第五步:点击顶部菜单“文件”推送头榜(作品),将此3D纪念馆以xverse轻应用方式分享给其他用户
第六步:将新的头榜标题设置为“agent训练推荐算法推荐AI资讯(含视频)”,点击右上角确认完成头榜发布
注:标题为xmsg,不能误删除“”双引号,否则会发布失败——仅修改xmsg属性的文字内容即可。
第七步:找到刚发布的xverse轻应用头榜,点击进入3D场景浏览器
注:轻轻一点击,即可进入体验刚发布好的xverse-3D轻应用(智体应用),我们相当于可以无限地分享和裂变这个开源的3D轻应用(智体应用)。这样大家便可以按自己的需求,轻松的修改和定制这些动画的源码模板了。可以形成自己的故事、自己的动画、自己的3D场馆、自己的3D互动剧情等等。随心所欲地发挥,所以智体世界、智体OS也相当于【元宇宙】【开放世界】!
第八步:进入3D轻应用后,即运行了“agent训练推荐算法推荐AI资讯(含视频)”的poplang智体代码
注:如上图先输入云文件夹ID(从智体IB输入cd进入云文件夹,点击编辑-信息可获得文件夹ID:例如obj_folder*的ID)
注:通过该agent机器人代理,成功提炼了相应的AI资讯内容(关支持自动化收藏)。
通过上8步,我们成功完成了通过3D轻应用中实现了popalng通过dtns-api实现了安卓手机打开资讯app自动获取AI资讯(含视频)并自动收藏——强化训练重点推荐AI内容。从而使用poplang简单4、5条指令,即可完成一个自动获取喵星人资讯功能的手机agent代理——服务消费者、企业客户轻松获取目标类别的资讯,从而提升行业情报、消费品类资讯的能力、大大减少了获取资讯所浪费的时间,提升了获取资讯或情报的高效过滤能力。从而帮助人们改进情报资讯获取的能力和时间效率,以便节省更多的时间用于其它更需要它的地方。
由上述案例看到:3D轻应用也从简单的3D场景的构建演变成了支持智能手机或物联网设备、智能硬件或任意的智能算力设备控制的利器。从虚拟场景构建跨越到真实世界的联动,大大提升了poplang智体应用的场景应用范围,使得简单、可靠、快速、共享、开源等的能力,赋予每一个喜欢提升生活品质、改进生产效率、促进管理效率的消费者或客户。
我们也看到了poplang智体编程语言的强大能量,一两行简单的指令,即可完成复杂的3D互动的交互效果、音效效果的开发。并且通过xverse-json源文件(3D轻应用)的方式进行社区分享,使得开源开放、公开透明的3D场馆的设计,能被大家更多的学习和继承,达到互动学习、互动成长的目的。这也是智体OS、智体互动式教育-学习的目标。
注:dtns.network德塔世界(开源的智体世界引擎)是在github和gitee上开源的项目!
附录(poplang智体代码——实现poplang的训练资讯APP重点推荐AI资讯内容的agent代理功能)
set yps **{"action":"shell am force-stop com.ss.android.article.news"}
/rtphone/robot/do yps
pop.sleep 500
set yps **{"action":"shell am start -n com.ss.android.article.news/.activity.MainActivity"}
/rtphone/robot/do yps
set i 0
set one 1
set end 200000
#收藏
pop.func.define focus
/rtphone/robot/ui/dump
= dret $ret
object.get dret.ui uijson
set attr content-desc
set val 收藏
$.g_2d_filter_uijson uijson attr val
= result $ret
clickinto
pop.func.end
#模拟点击,以便关注
pop.func.define clickinto
set xi 0
array.get result xi airesult
object.get airesult.bounds bs
#ib3.tips bs
set rstr [
set dobj **{"dstr":" "}
object.get dobj.dstr dstr
$$.replaceAll bs rstr dstr
= bs $ret
set rstr ]
$$.replaceAll bs rstr dstr
= bs $ret
set rstr ,
$$.replaceAll bs rstr dstr
= bs $ret
set clickstr **"shell input tap "
+ clickstr bs clickstr
set yps **{"action":""}
object.set yps.action clickstr
/rtphone/robot/do yps
pop.func.end
#模拟点击,以便关注
pop.func.define clickintoBig
clickinto
pop.sleep 2000
focus
pop.sleep 1300
set yps **{"action":"shell input swipe 300 750 300 500 300"}
/rtphone/robot/do yps
pop.sleep 800
set yps **{"action":"shell input keyevent 4"}
/rtphone/robot/do yps
pop.func.end
#轮询得到结果(猫咪)
pop.func.define loop
pop.sleep 5000
set yps **{"action":"shell input tap 120 200"}
/rtphone/robot/do yps
pop.sleep 3000
set yps **{"action":"shell input swipe 300 750 300 500 300"}
/rtphone/robot/do yps
#不再滑动
/rtphone/robot/ui/dump
= dret $ret
object.get dret.ui uijson
set attr content-desc
set attr
set val AI
$.g_2d_filter_uijson uijson attr val
= result $ret
$.JSON.stringify result
= v $ret
ib3.toast v
ib3.json.save v
= filename $ret
#ib3.tips filename
set fps {}
object.set fps.folder_id folder
object.set fps.file_id filename
/clouddisk/folder/file/add fps
set xi 0
array.get result xi airesult
object.get airesult.text text
set tmptext AI工具
== tmptext text istoolflag
#ib3.tips text
pop.ifelse istoolflag donothing clickintoBig
+ i one i
<= i end flag
pop.func.end
set input_tips 请输入文件夹的ID
$.prompt input_tips
= folder $ret
#ib3.tips folder
<= i end flag
pop.while flag loop
poplang的训练资讯APP重点推荐AI资讯内容的agent机器人代码到此结束。