各种你都要集成 那你就把它打包成一个插件啊 那些接下来我们就来给他讲一下 怎么样去 自己去开发一个企业级的这么一个插件啊 就这个插件应该怎么来开发呢 那开发完之后 这个怎么来分发是吧 发不到应用市场上面去啊 那这个里面的话 我们首先可以去创建一个插件啊 那创建插件的话 我们可以直接使用这个 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 这个是一个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