【AI插件框架】

介绍

  • 无门槛开发插件, ai直接帮忙写代码
  • 其实就是ai生成一个函数,点击确定后就可以直接使用了 (不用重启)
  • 只实现按钮版
    • 主菜单按钮 (可以多组)
    • 左下角按钮 (自己硬加的UI)
    • 右键点击节点的各种菜单按钮
    • 右键点击资源的各种菜单按钮
  • AI生成情况: 其他还行,就是插件部分的api,不是很友好, 所以我添加了一个文件, 可以自己添加 api说明(不建议推荐太多, 不过插件部分也没有太多api, 我填写一些自己实现的, 可以自行修改)
  • 插件收费的, 但也可以当作交流贴, 感觉这个思路方向真的挺好的, 可以参考一下自己也实现一个
  • 插件其实还可以扩展很多, 代码我不加密, 方便扩展(特别是机器人部分, 它不仅仅生成按钮菜单, 也可以自己实现生成其他内容)
    b站教程视频
    商店地址

首次安装

image.png

  1. 点击 扩展 -> 首次初始化
  2. 设置apikey
  • 点击 基础 -> apikey获取 跳转到网站,注册账号生成apikey (注册送15元)
  • 点击 基础 -> apikey获取 填写apikey

如何用AI生成按钮

顶部菜单操作

左下角操作

层级管理器: 右键点击节点

其他添加

  • 层次管理器: 右键点击根节点
  • 层次管理器: 右键点击创建按钮(也是右键点击背景板)
  • 资源管理器: 右键点击资源
  • 资源管理器: 右键点击根节点
  • 资源管理器: 右键点击背景板

面板介绍

  • :open_file_folder::查看/编辑所有按钮的文件

    • 每个文件 = 一个按钮
    • 可以直接删除文件来删除按钮
    • 手动改了文件后,点 基础 -> 更新插件 来生效
  • :gear::打开当前AI设置的文件

    • 可以修改 提示词。
      • 不同位置的函数有不同的参数,例如:右键点击节点,这个就有一个参数node:Node, 而顶层的菜单按钮函数没有参数。 细化提示词可以增加准确度
    • 这三个节点其实也是在这个文件夹里设置的, 在buttons 数组里
  • :arrows_counterclockwise::清空聊天记录

附加功能

image.png

  • api扩展 打开一个文本文件,在其中可以添加自定义封装的API代码。网上的AI在涉及CCC插件部分的API时,往往不够准确(而项目中的API还可以)。因此,如果出现问题,可以手动将这部分API代码写入文本文件,以提高AI的准确性。(我已封装了部分常用的)
  • 快捷键 打开一个文本文件,里面可以添加快捷键
  • 是否检测按键检测: 切换状态,如果是开启,那每次都会打印按下的键名 (是为了上面快捷键设置用的)
  • 更新插件: 如果手动修改文件,需要更新插件才可以生效
  • 自动刷新代码: 也是一个开关,开启后,修改完代码,浏览器就会重启(不需要点击一下ccc编辑器才可以刷新了)

细节补充说明

  • 修改节点树的内容 (例如:节点名,文本,颜色,节点组件上的属性),一般节点不会直接更新的,内容是改了. 这时候可以在函数最后执行下面的代码(大部分都可以成功刷新)
    director["刷新"]();

官方正常使用以下语句修改属性(我只是觉得太繁琐,没必要,如果不能及时刷新,可以试试这些方法替换)

const options = {
            uuid: cc.director.getScene().children[0].uuid,
            path: "active",
            dump: {
                value: true,
            },
        };
Editor.Message.request("scene", "set-property", options);
  • 用AI生成函数, 最好在生成的函数里面修改文件名(这也是按钮名), 否则你觉得按钮名不合适时,手动修改需要修改 (文件名和文件 这两个地方)
  • “pageup”, “pagedown” 这两个按钮可以切换面板输入的历史记录
  • 现在用的是kimi的api, 其实还有一份poe的api, 如果需要的话可以联系我,我帮你修改. poe的api需要订阅才可以用, 但里面有大部分最新的通用模型,token是按条数算的(对于每次输入比较多,就是不断使用历史记录的, 可能比较适合), 其他按token来算, 所以不建议追问太多, 历史记录都是token
  • 这个插件,只是最基础的用法,可以自己补充,例如用ai生成不同的界面 (这个我放弃了, 用得不多,而且官方弹窗出来太慢了,要等几秒)
  • 由于现在所有代码我都放在项目里, 所以不能直接用普通方法导入nodejs库, 需要用以下函数(会自动安装库的,不用手动用命令行安装)
director["require"](库名, callback);//回调函数callback的参数就是对应的库

// 下面举例

director["require"]("fs", function (fs) {
     fs.writeFileSync(path.join(__dirname, "txt.txt"), "1");
});//回调函数callback的参数就是对应的库
  • 插件里用了很多中文, 主要是因为director是官方代码的对象,我怕重命名, 用中文就肯定不重名了. 而且代码在项目里, 我都是中文是插件,英文是项目
  • 插件代码不加密,可随意修改

AI框架补充

  • 如果要创建一个基于AI的代码框架,机器人的人设真的很重要,所以就要一个生成提示词的提示词, 我在其他地方抄了一份提示词,如下
# Character
你是一位提示词优化专家。你擅长根据用户的需求进行提示词优化。

## Skills
### Skill 1: 确定提示词语言和意图
- 理解用户提供的原始提示词的语言和意图。
- 根据用户的要求优化提示词。

### Skill 2: 提供优化提示词
- 生成格式化的优化提示词,帮助用户实现其目标。
- 确保提示词简洁且具有效率。

## Constraints
- 只回答与提示词创建或优化相关的问题。
- 只能使用用户提问时所使用的语言。
- 直接以优化后的提示词开始回答。

API价格(注册送15

模型 计费单位 价格
moonshot-v1-8k 1M tokens ¥12.00
moonshot-v1-32k 1M tokens ¥24.00
moonshot-v1-128k 1M tokens ¥60.00

暂时用moonshot-v1-8k,用必要更换其他,可自行修改,也可以联系我

插件商店地址

1赞

指点江山的帖子一群人,这么好的帖子这么冷清,顶顶顶

如果你真的买了,你会发现只用 AI 写不出一个完整的程序,就像你让AI输入console.log几乎百分百正确,但是你让它选中文件模拟点击,或者修改节点树颜色,你会发现写的都是垃圾代码,运行都不能运行

而低级的代码自己也可以写而且很快

插件部分很多都写不了, 只能写简单的, 例如nodejs部分的代码, 还有ccc本身的代码

这算是一个框架, 很多内容需要自己扩展
要准确, 就要慢慢积累的, 把它不识别的api写上去.

现在我AI框架的思路是: 每个板块是你自己实现的, ai只实现最末端的内容, 例如节点树颜色,你就要写一个关于它的系统, 然后最后是用一个对象来设置, 然后ai就是帮你实现这个对象的, 你要告诉它每个字段有什么用? 它能用什么api

ai的api我玩了一段时间了, 机器人的关键词, 可用api, 还有最后点击的按钮处理, 这些都需要自己调整 (我也只是粗鲁放上去而已, 具体的要根据自己的习惯处理,我的习惯有些奇怪,所以不加了)
还有里面没有的, 生成的代码检测(例如:本来按要求生成json的, 里面的某些字段有没有实现,如果没有就自动回复ai,让它修改 等), 还有输入处理 (我个人习惯, 有些机器人, 我会截取第一个行的内容作为文件名,剩下的内容才是询问ai的)

其实里面有一个地方我删了, 因为对于这个按钮方式没用. 我的关键词说了, 除了生成函数, 下面还要生成示例, 点击按钮除了生成对应的设置文件, 还会生成一个测试文件, 可以一键测试 (特别对于需要一些复杂的例子很好用)

AI框架就是一个养成, 如何变得越来越好用, 看你自己的. 它没大家想的神奇, 但它也比很多人想的还要好用. 至少对于我这种记忆力不太好的人来说, 真的很好用. 我也还在探索中

(ps: 老实说, ccc这边用ai 很多都要手动补ai, 有些蛋疼. 我vscode那套就是,一写一个准)

如果开发,我还是选择我的 QuickPlugin,目前支持所有官方插件的功能,有兴趣你可以尝试

挺好的, 看着就感觉很成熟. 但我自己肯定用自己的那套的, 例如
我把插件的代码尽量放在项目里, 这样我就不需要手动点刷新按钮, 编辑器自己刷新了.
我也可以直接使用项目里自己定义的类了, 代码提示也很完善.
还有触发事件这个, 我直接糅合在一起, 直接当一个update用(就是无论触发什么事件,都刷新一次, 包括修改代码, 还有一些官方没直接说的事件, 当然我优化过了)
最重要我还是很依赖ai, 特别插件部分, 而且对于我来说,它潜力还有很多. 可控的ai编程,我觉得很可行