各种你都要集成
那你就把它打包成一个插件啊
那些接下来我们就来给他讲一下
怎么样去
自己去开发一个企业级的这么一个插件啊
就这个插件应该怎么来开发呢
那开发完之后
这个怎么来分发是吧
发不到应用市场上面去啊
那这个里面的话
我们首先可以去创建一个插件啊
那创建插件的话
我们可以直接使用这个
Pagging Correct技能啊
比如这个里面
我看一下
比如说我现在在这个里面建一个文件夹
建一个文件夹叫做Pagis
然后在Pagis里面我切换这个目
我切换到这个Pagis目
里面去
cd到这个Pagis
然后在这个里面执行Codex
然后切换到这个管理员模式
就是bypass模式
然后我们这里面
你看他有一个这个叫做parking creator
是吧
我们要用这个技能
at
pagin
wb
这里面应该可以直接at
at
你看
就有这个是吧
在
pagin目录
创建一个
叫做什么呢
会议助手
我们等一下会把一个会议
这个有一个meeting的会议的这个scale
把它封轮到一个插件里面去
所以我现在让他创建一个会议的一个助手
插件
就我现在使用系统的这个
内置的packing correct
让他去创建一个插件
让大家知道
这个插件的一个结构
应该是怎么样的
你看现在就是他开始去写了
我们等一下可以去关注一下
这个packings目录下面
他会生成哪一些文件
是吧
现在是没有的
我们现在等他写完
你看他会给你命名一下
叫meeting assistant
然后他会
他是放到默认的这个paggins里面
我们其实想让他放到第一盘的那个目楼里面去
他默认帮我放到那个当前用户目楼里面去
就在用户的那个目楼下面
你看这个插件开发好了
他是放到当前用户的这个paggins里面去
其实我想让它调整一下
比如说我现在我想调整一下这个目录啊
我想让它放到Codex的这个
Paginx里面啊
比如说请将
这个插件移动到
就我刚刚让他生成的时候
应该去指令一个目录
我默认写pagin
他会放到当前用户的这个pagin
里面去啊
我们现在让他移动一下
但是你看他放到那里的话
其实他会帮我们装好啊
那这个scale
他会默认帮我们装好的
嗯
这个目录下面吗
所以他会把一个叫做插件的应用市场的一个这么一个配置也放到下面来
方便我们做一个指定啊
我们看一下他最终移动的一个路口
因为这个里面你自己开发的一个插件的话
他会有一个Marketplace的一个JSON
就是这个应用市场啊
就插件市场这么一些个配置
因为我们这个插件开发完之后
你得把它注册到当前的Codex环境里面去
不然它是没法用的
你看现在已经移过来了
是吧
看一下Codex
Codex目录里面
这个有一个
Pagins
packing 下面你看这个meeting scale
meeting assistant 是不是来了
然后我们再看一下他的一个配置
你看这是插件的一个配置
这是我们刚刚开包好的
什么会议住所之类的东西
这个就是我们基本的一个packing
然后这个packing的结构
大家可以看一下
你看这个scale
这个scale里面什么会议啊
行动计划呀
是吧
这个就是他帮我们生成的一个规范
包括一个scribe的
这个是没有的
然后assistant
这个就是整个的我们的一个规范
他都帮我们写好了
所以通过这个packing correct技能的话
这个其实就可以帮助我们去创建一个这个packing
把基本的规范给我们弄好
然后还帮我们去生成了一个叫做packing.json的一个配置文件
在这个里面相当于我们会给拍给一个描述
名称版本描这个作者是吧
然后他的skill目录在哪里
你看他当前用户下面创建了一个skills目录
包括他的一个interface
一些对外展示的一些信息
这个是会议助手
然后主要是用来整理会议议程纪要的一些内容的
然后我们看一下这个packing
他生产完之后的话
他要去做一个什么的涉及
刚刚这个默认的话
在我们这个目录下面
应该是创建了一个
有一个配置文件的
刚刚看这个提示
pagins.agents
下面你看有个marketplace
这个是应用市场
就是相当于我们现在本地
现在有一个packing是吧
那这个packing
比如说这个agents
他到时候要去加载是吧
加载这个packing的时候的话
我们就是通过这个配置文件去加载的
你看
就通过这种方式
就是一个加载的
所以我们现在你直接进入到这里面
你可以去问啊
比如说
我们看直接输入这个packing
能不能查得出来
我们还有当前安装的一些packing
你看这个会议助手是不是在这里
是吧
这是会议助手
这是我们自己装的啊
这个是Codex local的
本地的这么一个packing
是吧
但是他现在还没装啊
所以看不到
装的话
他其实就是把这个插件
配置到
看一下是配置到这个里面
packing
packing的话
其实就是在这个config.tom里面去配置
我们现在这里去看
他是没有这个会议助手的是吧
我们等一下去搜一下
看他会不会出现在这里面
现在是没有的
是meeting
你看现在是没有meeting的是吧
没有
那我现在给他安装一下
你看装上去了
装上去之后我们再来看一下
你看大家是不是进去了
所以所谓的安装插件的话
就是在这个config.tom文件里面
给他加一行配置
这个就叫安装插件
是非常简单
那这个就是启用
禁用的话就是force
就完了
非常简单
然后大家在这个里面
你可以去at
但他这里面还没刷新啊
我们在这个里面
你要新开一个对话
新开一个对话
这里应该可以的
at
会议
你看
这就有了
然后我们可以给一个会议内容
让他总结一下
我们找一段这个内容
给它这个里面
那总结一下
你看这是一个事项是吧
会主题关键讨论初步结论
这不就是咱们刚刚那个scale里面
写的一些点吗
是吧
虽然它是用这个英文写的啊
应该在这个里面
这个reading scale
大致我们应该可以看得出来啊
应该会议目标
关键结论的行动项
后续沟通草稿
是不是
这个我们想要的一个内容是吧
主题目标关键结论
就是一个势力格式
大概就是这个样子
是吧
所以这个就是我们自己开发的一个packing
这个packing主要就是用来去
总结这个会议的内容的啊
这就是最简单的一个packing啊
所以大家可以用这种方式创建一个
企业级专属的一个packing
然后在这个里面有一个区别啊
就是我们刚刚你看他生成了一个目录是吧
就是我们整个仓库级别的话会有一个packing
就是我们这个用户下面啊
我给他对比一下
就在当前这个用户下面啊
当前用户下面有一个.codex
.codex下面是有一个.agents
找一下
.agents这个里面还没有啊
这个是仓库级别
paggis catch
这个没有啊
这个仓库级别现在没有
但是我们个人级别的啊
这个
这个叫插件市场的一个配置
就会出现在我们这个里面啊
就是他一般是在当前的agents
目录的paggis下面
有一个marketplace.json
这个主要是用来干嘛的呢
就是我们自己的
这个可以叫做插件市场清单啊
就是我们公司内部
你自己开发了一些插件
是吧
那这个插件你总得管理啊
管理的规范是什么呢
就这个啊
这个是插件市场的一个名称
然后这个对外显示的一个名称
然后这个是插件的列表
然后下面有各种的什么
各种各样的插件
是吧
都能看得到
所以这个其实逻辑上的话
就是大家自己你可以去
开发各种的插件
把它集成进来
所以我们可以构建自己的一个插件的一个列表
它是分仓库级的
仓库级的话就是所有的当前使用Codex绘画的
当前用户下的
共享一个仓库级的这么一个Marketplace
如果你仅仅是针对这个某个项目
你要做一些插件的话
你就做这个个人级
或者叫项目级别
那我们就是在当前的这个
登录绘画里面
就这个工作目录下面
建一个.agents
然后建一个pagans
再配一个mugplace.json
就可以了
这个是个人级的这么一个情况
那使用的时候
我们也可以在这个pagans下面
就是为每个插件添加一条记录
把这个目录指定一下就可以了
你像这个
我们其实就指定了一个pass
是吧
在这个.pagans下面
.pagans下面
然后这个里面
它就有一个这个
meeting assistant
这个就是我们
要配一个相对的一个路径啊
就当前根部下面去配一下
所以我们不需要
为每个插件单独去维护一份叫marketplace
每一个marketplace可以完全在测试阶段
只需要暴露一个插件就可以了
之后的话可以拓展成一个
更加完整的一个清选路
所以在这个里面的话
我们其实啊
就相当于大家在这个页面
你看到的这个插件市场一样是吧
我们其实自己可以做一个这样的插件市场去做管理
这个系统给我们内置的
就是在这个
这个里面啊
打开
这个插件的话其实就是
他内置的一些
就这个就是他的一个插件市场
我们自己也可以搭建出来这么一个插件市场啊
好那插件市场的话
其实我们自己还可以去做一个什么呢
叫做配置跟安装
因为有很多第三方
人家也去有这个Marked Place
就是我每个提供方
我都有不同的这个插件
所以大家可以去装不同的插件
比如说像这个
这个规范就是HONOR加RIPPLE
比如说GitHub下面的这个Paggings
或者其他平台这个Paggings
大家可以自己去加啊
比如说我们选择这个
你就可以直接命令行的方式去装
你看这个里面
你看他就是可以把它加进来啊
但是他会去看啊
如果这个地址不存在的话
他也是找不到的
所以我们得输入一个正确的一个地址啊
那比如说我们看一下
现在已经装好的这个marketplace有哪些
这当前用户下面的
我们现在都是用的本地的
没有用什么gethub这个地址的
这个packing啊
现在都是我们有我们自己搭建的是吧
然后还有这个系统内置的啊
就这几个
这个是我们自己搭建的吧
这是我们刚刚自己加的
然后上面的话就是系统自带的
Codex
它安装的时候
我装了一些插件之后
它会帮我们生成一些这样的一个
Multiplace
就插件目录的这么一个配置
然后我们还可以针对这个
Marketplace去做一个update
是吧
就是有一些第三方人家的这个插件市场更新了
那我们得做一个update
是吧
所以这里面你可以执行这个命令
给他做一个升级啊
然后啊
大家你也可以手动的去创建这么一个插件啊
就是这个东西的话
不一定说你就得用这个系统的
就是按他的一个规范啊
就是你可以自己去创建啊
在不同的目录里面去加载就可以了
也不一定说一定要放到某个目录里面
只是说放到那个目录里面
加载会方便一些
没有去单独还有设置目录
你可以啊
最好删删到规方官方规范栏
但是大家也可以去自定义的去创建啊
然后去整理目录就可以了
你看这个就我们首先去创建一个插件目录啊
叫做.codexpagin
然后再把pagin.json里面放进去
这个就是一个插件的一个基本结构
我们刚刚创建的一个插件的话
也是这么一个结果
就是在这个里面
Pagging
Pagging点Json里面应该怎么写呢
应该就是要写什么名称啊
版本啊描述啊
包括scale啊
是吧
它都要写进来
这是它整个的一个逻辑啊
包括我们的一些应用服务
其实也可以集成进来
所以大家可以通过这种创建目录的方式
去加这个插件也是OK的
也比较方便
那把这个插件加入到某个插件市场清单之后
我们其实也可以用这个Pag and Create
再去做一个自动生成
就这个插件你只是做一个这个配置
你还可以通过Pag and Create
然后再去生成一些更加细节的一些内容
就是你可以先填一个插件的名称
然后用这个去自动生成给你写一个模板
那之后的话
你就可以根据实际情况
再加一些mcp的配置
然后包括一些应用集成
或者是插件市场的一些
原数据是吧
你都可以把它整合进去
包括我们还可以去手动
去安装一些本地的一些插件
比如说一些这个
整个的一些
插件市场的一些
这个清单是吧
你可以放到这个目录里面去
放里面去
并且的话把插件目录放到
这个packing下面
然后做一个加载
就这里是教大家手动的一个方式啊
就是我们可以把packing放到这个里面去
但是其实我也不太建议大家自己去手动创建啊
你直接全程用AI对话的方式
让他帮你去创建配置就可以了
你压根都不用关心这个插件装到哪里去了
因为你只关心这个插件有没有被正常安装能不能用
这些东西的话
大家只需要知道就可以了啊
你看这个local repo是不是咱们刚刚创建的那个packing
包括他的一些什么sauce啊是吧
整个我们是不是都带大家去走了一遍啊
然后最后完装完之后
如果没有加载的话
你可以去重启一下这个codex
看一下他就做加载的一些情况啊
然后这个marketplace
文件决定的是插件从哪里加载
所以上面这个目录的话只是一个事例
并不是固定要求啊
codex 会把 source.path 解析为
相对于这个marketplace 根目录的一个路径
而不是相对于 .agents
pagets 的一个目录
所以修改本地插件之后
我们要去同步啊
更新marketplace 指向的一个插件目录
并且的话我们要去重启这个codex
让本地安装这个副本的话
能够加载新文件
所以的话我们创建了这个插件之后
把它添加到codex 之后的话
大家也可以去共享啊
就是你可以在CodexAPP里面
因为我现在没有登录那个账号啊
没有登录账号的话
所以是没法共享的
其实这个很简单啊
就用APP里面打开这个packing
然后你创建之后
你把它发布一下就可以了
共享添加工作区成员
然后让别的成员下载到你这个插件
然后去用
所以这个逻辑其实很简单啊
就是你现在有个插件
你要去用它是吧
别人也要去用
那你就可以把它分享出来
相当于你也自己做一个应用商店
让别人去用你这个插件
也比较好用
是吧
然后包括工作区管理员
可以在这个Cloud Manager Requirements里面
加入PaginShield.inforce
可以去禁用
就是我不想把我这个插件
给它分享出去的话
你可以把它禁用掉
加一个配置去管控它
然后是插件市场的这个原数据
这个的话就是我们刚刚讲到的这个
MarketPace的一个JSON啊
这个就是相当于
你现在有一个应用商店了是吧
那这个商店里面的话
其实你怎么样去配置
当前下面的一些这个packing是吧
那这个其实都是OK的
你可以自由的去配置
那在这个里面的话
其实我们整个一个逻辑啊
这里面就会比较清晰啊
就大家你直接去
把这个Marketplace
这里面给他做一些细节化的一些配置
就可以了
包括他的一个Pagin
这个里面是可以配多个的
这个就相当于是一个插件市场
你可以配Pagin1
Pagin2
Pagin3
各种各样的Pagin
你看这里
它是一个宿主
这个是一个Pagin
那接下来可能有很多
是吧
我们都可以去装
所以这个整个配置文件的话
是一个叫插件市场的原数据
大家可以自由的去装
各种各样的一些插件啊
把它配上去
只要这个插件能正常加散
就可以了啊
所以最上层的这个名字
就是整个插件市场的一个名字啊
大家其实你最终发布插件的话
你相当于是你把你自己的一个
插件市场的话做了一个发布啊
相当于别人下载插件
是在你的这个名字的基础上
去做的一个下载
所以我们本地的话
其实就相当于在管理一个
插件的一个市场
然后下面有很多插件
包括他的一些配置文件
加载目录啊
这个都是由我们自己统一去管控的
所以Marketplace决定的是Codex
从哪里加载插件
即使你的插件并不在上述适例目录里面
但是本地的这个sauce path
也可以去指向别的位置
就是这个path里面
你可以指别的路径也可以
就不一定要说在这个路径里面
是吧
可以去指定其他路径
所以我们可以通过这些参数去调整
那么这个里面
如果Codex无法解析某个Marketplace条目的话
它就会跳过这个插件
而不是导致整个这个插件的这个加载出问题
比如说你有一个插件有问题
它就直接跳过了
大家不能说那其他这个packing也不能加载是吧
然后是Codex如何使用的这个插件市场
这个插件Marketplace是Codex可以读取并安装的一个Json目录
Codex的话其实它可以从以下位置读取到Marketplace文件
其实我们刚刚给大家讲的这个
首先是官方内置的一个叫插件的目录
然后是仓务级别的一个Marketplace
这个我们
你想我们刚刚配置的是仓库级别的
就在当前这个项目下面
去配的一个Marketplace
但是那个用户级的话
你也可以在这个agency
这个里面去配
这都是一样的
关键就是看
你是要在整个项目里面去共享
还是说就是仓库级别的
仅针对某个目录去分享就可以了
那么只要有插件啊
通过这个Marketplace暴露出来
Codex就可以安装它
所以Codex会把这个插件
安装到这个目录里面去啊
那么对于本地插件的话
这个里面我们这个Version的话
它其实就是Local
Codex运行的时候
它会读取这份缓存数据
而不是直接从Marketplace里面
这个条目里面去声明运行
所以这个是需要注意一下
那么每个插件都可以独立的启用或者经用
我们刚给大家看了一个状态
就这些插件我们可以单独给它停掉的
在这个里面我们可以把它关闭掉
你看在这个里面开关状态在这个里面
然后是打包与分发插件
那每个插件
它是必须要在这个pagins.json里面
去提供清单文件的
除此之外的话
它可以包含一些scale目录
用于生命周期的hawks
然后包括一些这个连接系的
app.json
因为插件它是既支持这个scale
又支持mcp
还支持这个应用加载
所以它有不同的配置文件
大家都可以去配
所以一个插件的目录结构的话
应该是这样的
首先的话是插件清单文件
这是必备的啊
整个插件
它的一个大概的一个情况
介绍是吧
包括一些细节的配置在这个里面
然后scale就是我当前这个packing
它带有的scale有哪些
hooks生命周期管理
app.json
比如说我要连接jh
kithub的那个应用是吧
或连接figma
这个就是app.json需要配置的
然后.mcp.json的话
就是我们mcp的server
包括一些这个
assistant 图标
一些资源相关的
所以这个.codex pegging里面
它只应该放一些pegging的json
scale hoax assistant
这些东西就可以了
那这个里面的话
就这个啊
这个目录只放pegging的json
然后这个scale那个的话
就都放在插件的各目就可以了
那么已发布的插件
通常会使用比这个
最小脚手架
视力更完整的这个manifest
那么manifest主要是
承担三项指质
首先是去标识插件本身
然后是指向他打包的一些
scale应用mcp服务员或者hoax
然后提供安装界面
所需的描述图标
法务链接等一些原数据
然后下面就是一个manifest的
一个视力啊
就是刚刚那个写的差不多
但这个都会给大家详细一些
让大家知道这个manifest
应该怎么来写啊
比如说你的插件
名称描述作者
是吧
然后主页
report仓库
包括一些license啊
你看这个是写的比较细了
所以这个
codex pegging的这个
pegging.json是必须的一个路口文件啊
其他形态字弹都是可写的
但是正式发布的这个插件来说
这些字弹通常都会用到
那这个manifest是什么呢
manifest就是
顶层字段可以用来去定义包的一些原数据
比如说我们要把插件包
把包的这个组件
用来去标示一下
是吧
有些是让来标示插件的
有些是提供发布者与发现相关的一些原数据
有些是指向于
相对插件跟move的一些组织路口
就这些组件路口等等
然后包括一些这个
原数据的一些
展示是吧
比如说显示的名称描述啊等等的啊
这个就是在manifest里面
做的非常详细的一个定义吧
大家如果说你需要用到某个字段的话
你可以去参考这些啊
然后poor它的一个路径规则
这个就是让这个manifest
一些路径都保持了相对于插件跟目录
并使用这个来开头
然后这个里面啊
就是我们涉及到一些logo资源
截头相关的一些内容的话
你要放到这个assist下面
Scales应该就指向一些scale的一些目楼
一些技能
App应该指向fb.json
然后mcp server就要指向mcp.json
还有包括hawks等等
然后已经启用了这个scale的话
可以在这个技能mcp server和应用之外
同时包含生命周期的这么一个hawks
然后如果插件把Hawks放到这个文件下面的话
那你就不需要在Codex Pack里面去加这个东西了
因为Codex会自动默然去剪达这个配置文件
所以大家需要根据实际情况去写一些配置的话
你要知道它的一个优先级
然后完了之后的话
你可以去用这个
把插件加入到官方的这个PackingDirector的
这个里面可以去做分享
那大家可以去看一下
登录一下那个账号
登录一下这个账号的话
你可以去看一下这个功能
我们后面就可以去发布
官方的一个公共插件了
就这个能力的话
这个后面可以用
就是我们可以把它做一个分发
去做使用
OK