啊准备准备。这就不是很对啊。这就不对啊。怎么能这样呢?他说我生辰,我让他给我写不行,我凭什么不能让他给我写? 那我都自己写,我都手搓。手搓跟我有什么关系,你还让他帮你写?我老玩家破房子。哈哈哈。老大破房子。当徐简在花四十多分钟手改的时候,我只需要让花一个段文字让他改就行。哈哈哈。 不行,我要发抖音怎么办怎么办?你太坏了,这种人我真破防了。破啥防,我改了四十分钟啊。四十五分钟。其实才改四十五分钟而已。你还能继续改,我真服了。我刚改好,我真准备打印去了,真的。
粉丝132获赞1.0万

今天我们来讲讲大名鼎鼎的 codex, 相信大家都已经听说过这个软件了,这是 open nai 的 核心产品,对标 osarpic 的 cloud code。 codex 能做的事情非常多,它不仅能够帮你编辑代码、排查 bug、 执行测试,还能管理 gate、 操作浏览器,甚至能直接控制电脑完成各种任务,非常强大。不过功能越多,越容易让人抓不住重点,所以这期视频我会带大家系统性地过一遍。 codex 最核心的功能,帮大家建立起一套完整的使用思路。 整个视频一共分为三个部分,第一部分是基础篇,主要带大家快速上手 codex, 并讲解一些核心配置和使用过程中容易踩坑的地方。 第二部分是进阶篇,重点介绍版本控制、绘画管理,以及如何更高效的组织和推进开发任务。第三部分是扩展篇,我们会看看如何通过 plugin、 skill、 automation 和 mobile 等功能进一步扩展 codex 的 能力边界。 所有的功能点和对应的时间戳我都打到目录上了,大家可以按需跳转。好话不多说,我们现在开始。 首先我们要做的是把 codex 安装到电脑上面,我们可以打开这个页面,点击这里面的下载按钮,就可以下载 codex 了。下载好了之后,我们来打开它。安装过程呢,跟其他的普通软件一样,比如我用的是 micros, 那 直接把 codex 拖入到 applications 文件夹里面就可以完成安装了。 安装好了之后,我们来打开 codex。 打开 codex 之后呢,它首先会提示我们登录,它一共给了我们两个选项。 第一个呢是使用叉 gbt 账号登录,这需要你订阅叉 gbt 的 套餐。叉 gbt 呢,它提供了多种套餐,其中最常用的是我屏幕上面显示的这几个,主要是包括免费版 go 套餐、 plus 套餐和 pro 套餐。 你看屏幕上面的这几个套餐,从左到右价格越来越高,当然整体能用的 codax 额度也是越来越大的。 从目前来看,免费版和购套餐的 codax 额度应该差不多,但到了 plus 套餐,额度就会有着明显的上升, pro 套餐自然就更多了。 值得一提的是,即使你用的是免费版,系统也会给你一定的 codex 额度,只不过这个额度少的可怜,只能勉强够你施个水。所以如果你想真正上手体验一下它的能力,我建议你先订阅 plus 这个 plan, 它是二十美元一个月,可用量呢比较适中。 除了订阅套餐之外, openni 还提供了另外一个选项来使用 codex, 那 就是直接接入 api, 对 应的就是这里的 signing another way, 点击之后,它会提示你输入 openian 的 api key。 一 般来说,用 api 没有订阅套餐划算,而且呢,获取这个 api key 的 门槛也有点高,一般需要一张海外的信用卡,所以我建议大家还是订阅套餐来使用 codex。 具体的登录过程呢,我这里就不显示了,大家可以在这里选择适合自己的方式登录。登录好了之后,大家首先看到的就会是这样的一个界面, codex 首先会询问我们是干什么工作的,这里大家就按照实际情况来选就可以了。然后 codex 会提示把 cloud code 和 cloud co work 相关的配置都导到 codex 这里,我们先跳过,然后 codex 提示我们要不要试用 codex 手机版,我们点击这个 set up later, 待会儿呢,我会给大家演示这个功能,所以现在先不着急,现在呢,我们就算是正式的来到了 codex 操作界面,可以开始使用它了,我们来随便跟它打个招呼,看看能否正常使用, 可以看出 codex 已经可以正常使用了。下面我带大家做一个代办软件,并且在做这个代办软件的过程中为大家讲解 codex 的 各个功能点。首先我们要新建一个目录来存放我们的软件代码,让我们打开访答,在这里创建一个新的文件夹,就叫做马克笔记吧。 然后回到 codex 这里,点击 work in the project, 再点击 use an existing folder, 在弹出的对话框里面选择我们刚刚创建好的文件夹,然后再点击 open, 然后呢,你就会发现 codex 把项目目录改成马克笔记了, 这就代表 codex 后面会把代码放到这个文件夹里面。此时我们准备工作就已经是做完了,可以开始提需求了,比如说我们的需求就是使用 html 写一个笔记软件,软件界面分为左右两部分,左边是笔记列表,右边是笔记的内容, 最后我们提醒他注意做好测试,然后回车提交,这个时候呢, codex 就 会开始工作了,可以看出他在疯狂的给我们写代码,当然实际使用是没这么快的,因为为了节省大家时间,这里我做了加速,后面的问答流程呢,也都做了不同程度的加速处理,这个呢,大家知道就好了。 好, codex 暂停了,他提出他想要构建一个本地服务器来验证 html 笔记的效果。这里呢有三个选项,第一个选项是 yes, 这个呢很好理解,其实就是把这个本地服务器启动开就可以了,不过以后如果 codex 提出类似的请求,我们还得再授权一次。 第二个选项呢,是代表我们不仅同意,而且对于这种启动本地服务器的代码,以后呢也就直接执行就好了,不需要再经过我们授权了。第三个选项可以理解为不同意,它其实不是一个按钮,而是一个输入框, 我们点一下就能看出来了。在这里我们可以告诉 codex 自己希望的处理方式,比如只让它检查代码,不要启动本地服务器之类的。当然,如果你不同意,而且你懒得告诉 codex 原因的话,也可以直接点击这里面的 skip 按钮啊,这算是 codex 做了弱化的第四选项了。 好,所有的可选项我们都说完了,在这个地方我们就选择第一项 yes 就 好了。然后呢, codex 就 询问我们能不能访问这个新创建的本地服务器,这个地方呢,我们也同意, 呃,现在 codex 已经彻底完成它的工作了,可以看出这里面最重要的文件呢,就是这个 index html, 我 们可以点击来预览它的效果。 这个呢就是 codex 写的笔记软件了,看起来中规中矩,各种基本功能呢,在这里面都能找到。当然有些人可能觉得这个预览区太小了,想要放大一点,这当然是可以做到的,让我们来点击这个按钮, 这样左边的区域就被收起来了,可预览的空间就更大了,不过下面的这块区域看着也是有点碍事,能不能隐藏它呢?其实也是可以的,我们可以点击这里面的三个点, 然后选择其中的 hide composer 就 好了,你看这样呢就好多了。那假如说这个时候呢,你看着界面里面的这两条笔记,觉得非常碍事,你想把它们去掉, 呃,这个呢,其实也是很简单的,我们就继续追问就好了。既然要追问,我们就必须要把左侧栏再次显示出来,这个呢其实很简单,我们再点一下这个按钮,左侧栏就显示出来了。 然后呢,我们就可以在输入框里面输入我们的问题,把左上角的两条笔记去掉,这个呢肯定是可以的。 呃,不过我这里想给大家演示另外一个方法,另外一个更加准确,更加方便的方法,我们可以点击这个图标,它叫做 annotation, 然后我们就可以直接选中两条笔记这个区域,选中后,输入我们对这个区域的修改意见,很简单,我们的意见就是两个字,去掉, 然后我们提交请求。好,可以看出请求已经成功提交上去了,可以看到他一共是发了两块内容,一个呢是对应的截图,另外一个呢就是我们具体的要求了。 接到了这个请求之后, codex 就 开始工作了,他应该呢就会把这块区域给去掉,让我们稍微等待一下。 好, codex 已经完成了,我们再次打开这个阅览区,看一下效果, 可以看出之前的这块区域呢,确实是没有了, codex 已经帮我们解决问题了,看起来 entity 这个功能还是非常方便的, 那这个时候我们可以再随便点点这个笔记软件,看看有没有其他我们需要修复的问题。这里好像确实有个 bug, 我 点击这个加号按钮的时候,下面呢是要增加一个新的笔记的,但实际上点了之后并没有任何的 bug 呀。让我们跟 codex 说一下这个问题, 我们需要告诉 codex, 点击添加按钮之后,笔记列表区域没有任何的反应。呃,请排查下原因,我确定之后再进行修改 好。 codex 已经排查完了,按照我们的要求,他没有直接去改代码,而是先给出了诊断结果。他猜测呢,这个问题大概率是因为当前页面的 local storage, 也就是本地存储被禁用了。 没错,就是这个原因。说白了,就是 codex 的 右侧预览区有一些安全限制,导致某些功能无法正常使用。如果我们到独立的浏览器里面用一用,问题立马就消失了,不信我们试一试。 你看这个时候再点击添加按钮是不是就完全正常了?既然用户是在真实的浏览器里用我们的软件,而不是在 codex 的 预览区里用,那这根本就不算是个问题,自然也不需要修。 我不知道这算是 codex 的 一个 bug 还是一个 feature, 我 相信 openai 是 把它当成 feature 来做的,不过实际用下来确实有点像 bug。 如果你做的也是外部应用,那一定要额外留意这一点,别被预览区给骗了。既然弄清楚了原因,为了避免再受限制,我们后续就在独立的浏览器页面里面进行测试了。 到这里,这个最基本的笔记软件就算是成功跑通了。现在我想回头聊聊刚才遇到的一个细节,就是 codex 提出的那个请求。 呃,有些同学可能会想,如果我把任务交给 codex 之后去忙别的了,没注意到他在等我授权,那 codex 岂不会一直卡在那里等我回来一看啥也没干,白白浪费了大量时间。 那这有没有办法让他自己做决定,别总是来问我呢,毕竟谁也不想一直盯着他干活,那也太累了吧。没错,一直盯着看呢,确实是非常的麻烦。其实 codex 早就替我们想到了解决办法,就在输入框的下面,大家看这里面呢,一共是有三个全线选项。 第一种就是我们刚才用的 default permissions, 在 这种模式下,如果 codex 需要修改项目目录之外的文件,或者是需要执行一些带有安全风险的命令,它就会老老实实地弹出提醒,只有当你点头同意了,它才会继续接着往下干。 这种模式的优点呢是绝对安全,一切尽在掌握,但缺点也非常明显,就是根本离不开人,你得随时给他授权。 第二种呢是 auto review, 也就是自动审查。这个模式呢很聪明,它引入了一个专门负责安全审查的 agent, 当 codex 准备执行操作的时候,这个 agent 会首先替你把关,安全的直接放行,危险的直接拒绝,只有在极少数连 agent 也拿不定主意的情况下,才会弹窗让你来做决定。 第三种呢是 full access, 顾名思义,这个呢就是放飞自我模式,全部自动同意, codex 想干嘛就干嘛,完全不需要你插手。 这个模式确实是最省心的,但也伴随着风险,万一它误删了什么重要数据,你是拦也拦不住的。虽然 gpt 模型总体上还是非常靠谱的,基本上不太会乱来,但是作为一个负责任的 up 主,我还是要提醒大家,这个模式呢,没有任何的安全,交易开启前一定要三思啊。 所以综合看下来,在这三个模式里面, auto review 是 在效率和安全之间平衡的最好的。为了避免后面频繁弹窗,要我们点同意,接下来的演示呢,我们就统一的切换到 auto review 模式。 既然聊到了这里的权限配置,我们不妨顺便看一下输入框旁边还有哪一些配置。首先大家留意这里面显示的五点五 medium, 这代表我们当前使用的是 gbt 五点五模型,思考深度呢为 medium, 也就是中等。 我们点开它可以看到思考深度呢是可以自由调节的,分为 low、 medium high 和 extra high 四个级别。思考深度越高, codex 花费的时间也就越长,消耗的 token 呢也就越多,但通常给出来的代码质量也会更好一些。 除了调整思考深度,我们还可以在这里面切换模型下来。列表里面除了 gpt 五点五,还有 gpt 五点四等等一系列的模型,大家可以根据具体的任务难度来灵活选择。 最后啊,这里面还能设置模型的输出速度,目前是 standard, 也就是标准的速度。旁边呢还有一个 fast 选项,开启 fast 模式之后生成的速度呢会提升到原来的一点五倍,不过代价呢是 token 的 消耗量也会相应的增加,具体增加多少取决于你用的模型, 比如说在 gbt 五点五这个模型下开启 fast 模式的话, toc 的 消耗量就直接是标准模式的两倍了啊。如果你财大气粗, toc 管用,那你完全可以开启这个快速模式,这样 codex 干活就更快了。 输入框的配置我们就先研究到这里,现在我们的第一版笔记软件已经跑通了,实现了最基本的功能,不过为了防止后面新加功能的时候把代码搞乱,我们最好先用 get 把当前的版本保存一下,这样的话就算是后面出了什么叉子,也能够随时回滚到这个可用版本。心里有个底, 在 codex 里面调用终端非常的方便,我们不需要去点什么菜单,直接按下快捷键, command 加 j, 大家看右侧的终端面板就直接弹出来了。在这里面我们依次输入几条常规的 get 命令, 首先是要执行 get in it, 点把当前的项目目录出示,化为一个 get 仓库。然后呢我们要执行的是 get id, 点把相关的文件呢都添加到暂存区里面。最后呢再执行 get commit 提交我们的第一次修改 好这三步敲完之后,我们的代码就有了一个安全的备份版本,接下来我们就可以放心大胆地继续迭代我们的产品了。 终端用完之后,为了不挡着视线,我们只需要再次按下同样的快捷键, command 加 j 就 能够把它直接关掉。你看用快捷键来开关终端,双手完全不需要离开键盘,整个过程呢非常的丝滑,也是非常的方便。 那现在我们用 codex 做了一个基本可用的笔记软件,而且还用 get 提交了这个可用版本,下面呢,我们就来继续迭代这个笔记软件,让它变得更强大,更美观。 假设这个时候你看了看这个笔记软件,觉得它的色彩设计不是很好,这里面有很多的绿色元素,你不太喜欢绿色,你想试试蓝色怎么样?那这个时候该怎么处理呢?很简单,你就直接在这里面追问就好了,比如我们可以这么提要求, 不过我们先不发送这个请求了吧。啊?为什么呢?你仔细看看啊,我们上一个消息里面还让 codex 排查问题来着, 但说实话,这其实并不是一个问题,只是 codex 的 浏览区有些限制而已。如果我们继续追问的话,这个排查过程不仅会占用模型的上下文,而且可能还会对 codex 后续执行产生一些影响, 他没准会继续尝试修复这个问题,把原来没有问题的页面修出问题来。虽然这种情况发生的概率应该也不会很大,但是能规避的话就尽量规避吧,毕竟这个消息其实一点用也没有。 所以我们该怎么办呢?有一个办法,那就是直接修改上一个消息就可以了,你看这里面有一个编辑按钮,我们点一下就可以直接修改这个消息了,我们来试试 提交。你看原来的请求被替换成了我们的这个,这样的话,原来排查问题的那个消息呢,就消失了,既然消失了,它就不会再占用模型的上下文了,也不会对 codex 后续执行产生任何影响, 所以很多情况下,这个功能还是很实用的。不过要注意的是, codex 只支持编辑最后一条消息,至于更靠前的那消息,它实际上是不支持我们编辑的。 前面的那些消息呢,都是没有编辑按钮的,如果你要编辑更靠近的消息,可以考虑使用 fork 功能来间接实现这个功能。我们后面会讲到,暂时你不必过于关心好。 codex 已经完成任务了,我们来看看效果。 呃,还可以吧。下面呢,我们把这一部分的改动也加入到 get 里面。之前我们是用命令行来操作 get, 这种操作方式准确通用,不过其实 codex 也内置了一些 get 操作的功能来供我们使用。比如我们可以先点击这个图标, 这里面呢就有一个叫做 environments 的 区域,它呢就跟 get 的 使用密切相关。我们可以点击这里面的 changes 按钮,然后再在这个选择框里面选择 on stage 的 选项。这里显示的就是所有还没有提交到暂存区的代码了, 这基本上也就是 codex 刚才所做的改动。如果你觉得哪一行有问题,可以点击旁边的加号,输入你的要求。输入完要求之后,你可以点击这里面的 comment 按钮,让 codex 做出相应的改动。不过这里我们就不做任何修改了, codex 的 任务已经完成的很好了,所以我们取消这个注示, 直接使用 git commit 提交这次改动。那具体该怎么做呢?很简单,直接点击这里面的 commit 按钮,输入 commit 的 message 就 可以了。我们的 commit message 就是 将整体色调改为蓝色,然后呢,再点击 continue, 此时 codex 就 会提交当前所有没有提交的改动了。 好,执行成功了,我们来验证下。先按一下 command 加 j 来到终端,然后再执行 git log, 查询 git 的 commit 记录。 你看,我们的 commit 确实是生效了,确认好了之后,我们按 q 退出 get log, 然后呢,再按 command 加 j 来隐藏终端,到这里,这个需求就算是彻底完成了。那假设这个时候你感觉蓝色这个主题也不怎么好看了,越看越不顺眼,要不再换一个吧。 没问题,我们直接提交需求,将整体色调改为紫色。改完之后呢,再做一次 get commit。 对, 这次我们不自己操作 get 了,有点麻烦,直接让 codex 操作得了。提交之后, codex 就 开始干活了,我们稍微等待一下, 改好了,我们来看看最后的效果。不错,确实改成紫色了,不过怎么说呢,啊,你觉得还是不顺眼啊,你在想,算了,我要不还是改成一开始的那个绿色吧。那这当然是可以的, 照例啊,你可以直接在输入框里面输入,你的要求就是改回来的紫色。这个呢,肯定是行的,只不过这样的话,模型还得再跑一遍,有点浪费 token, 所以 我们就不用这个方法了。 其实我们原来就是绿色,所以用 get 把代码回滚到绿色的那个版本就可以了。只不过这种做法其实也是有点缺陷的, 代码确实是回滚了,但绘画内容还是停留在紫色这里。如果我们希望在当前这个绘画继续问的话, codex 可能会以为目前所用的色调是紫色,从而对后续的任务执行效果产生负面影响。 那我们能不能把绘画和代码同时回滚呢?我们就想回滚到改蓝色之前的那个版本,也就是这个版本,如果有回滚功能的话,那应该是在这个消息旁边有一些相对应的标识吧,我们找找。 哎,还真的有一个图标有点像,不过它不叫回滚,它叫做 fork。 fork 的 意思就是基于当前的这个绘画,再复制一个新的出来,这个新绘画就只到目前所选的这个消息为止,后面的消息全都不保留, 这个呢就非常符合我们的要求了,我们其实就希望绘画到当前的这个消息为止,那既然绘画变了,代码是不是也会自动回滚呢?没准也是可以的,我们来试试。 我们首先点击这个 fork 图标,这里弹出两个选项供我们选择,一个是 fork into local, 另外一个呢是 fork into new work tree。 这两个选项的最大区别在于新绘画的代码存放地址不同。 第一个选项会继续使用当前目录作为新绘画代码存放地址,第二个选项会创建一个新的目录来存放心绘画的代码。你可能现在听的还是有点懵啊,没关系,我来演示一下你就知道了。在演示之前,我们先把左侧栏打开,这样你就会看得更清楚一些。 好,左侧栏打开了,我们来重新点击一下这个 fork 图标,然后选择第一项 fork into local。 可以看出 codex 确实给我们创建了一个新的绘画,并且还在这里标识好了,这个绘画呢,就是从别的绘画那里复制出来的。下面我们来看看代码是否也会滚了, 这个很简单,我们不必看代码,我们直接看最终的效果就行了。让我们来看看页面的颜色有没有改变,可以看出页面的颜色仍然是紫色,所以呢,代码根本就没有回滚。没错,这呢就是 fork into local 这个选项的特点,它只会处理绘画内容,根本就不会对代码做任何修改。 不过还好,我们使用了 git, 我 们可以用 git 来回滚代码。我们先按快捷键 command j, 打开终端,然后执行命令 git log 确定我们想把代码回滚到哪个 commit 上,应该就是这个了。然后呢,我们复制这个 commit 的 哈希值, 最后执行这个命令。这样呢,就可以把代码回滚到绘画对应的那个版本了。让我们回到浏览器这里刷新一下页面, 没错,确实是一开始的绿色版本了,当然绿的也不是很明显啊,只有那么几个模块是绿的。我对这个色调的表述呢,稍微有点问题,但无论怎么样,肯定是回滚成功了,相信大家都能看得出来,这个呢就是 fork into local 了,我们配合着 git, 才能把绘画和代码都回滚到之前的那个状态。 那刚才还有一个选项叫做 fork into new work tree, 那 个选项是用来干什么的呢?我们不妨来试试。让我们回到之前的绘画里, 点击这个 fork 图标,然后再选择 fork into new work tree。 注意看, codex 依然给我们创建了一个新的绘画,而且跟 fork into local 很 像。这个新的绘画呢,也标识出来了,它就是从别的绘画里面复制过来的。 一切看起来似乎都跟那个 fork into local 差不多啊,那到底什么发生变化了呢?答案就是我们当前的这个绘画所对应的项目目录发生了变化,不信我们来打开终端,输入 pwd, 这个命令就是用来显示当前位置的,可以看出我们的当前位置呢,就是这个了,我一开始 fork 出来的那个绘画可不是在这个目录里面操作的,不信的话,我们回到一开始 fork 出来的那个绘画里,同样打开终端, 运行下 pwd, 你 看它俩的项目目录地址是不同的,我把这两个地址打在屏幕上,这样大家就可以看得更清楚一些。 这个呢,就是 fork into new worktree 的 一个特性,它会给 fork 出来的新绘画创建一个对应的新目录,这样新老绘画所处理的代码不是一份,彼此之间互不影响,非常适合在两个绘画分别处理两个不同的功能点,最后做完了再合并到一起就好了。那为什么叫做 worktree 呢? 是因为它是使用 gitworktree 来实现的,这个呢,是 git 的 一个特性。这个要展开讲的话呢,又得讲好几分钟。我们本期是来讲 codex 的, 不是来讲 git 的, 所以呢, gitworktree 在 此就跳过了,感兴趣的同学可以自己查下。 另外值得一提的是, fork into new worktree 同样不会回滚代码,它只是把当前项目目录里面的所有代码复制到一个新的目录里,仅此而已。 好,这个就是 fork 的 两种形式了。总结一下,这两个选项都会复制绘画到所选消息为止,也都不会帮你回滚代码, 它们唯一的区别仅仅是代码的位置, local 呢,是继续沿用原目录,而 new work tree 呢,则是开辟了一个全新的隔离目录。主要呢,就是这个区别了。所以呢,无论是哪一种 fork 形式,都不会更改代码。实际上 codex 在 界面里面也有显示, 我们可以回到一开始的那个绘画。然后呢,再点击一下这里面的 fork 图标。注意到这段话了吗? 其实它想表达的意思就是 fork 只负责对话,不回归代码。对,它说的有点绕,但其实就是这个意思。 好, fork 功能我们终于讲完了,我们目前只需要第一个 fork into local 的 这个绘画,另外一个 fork into work tree 我 们暂时不需要。那我们能把这个绘画删掉吗?能, 不过准确来说啊,我们可以把这个绘画规章,规章和删除稍微还是有些区别的,你可以把规章理解为暂时隐藏起来了,而删除呢,那就是删完就没了。我们来试一下, 我们直接点击绘画旁边的这个图标,然后再点击 confirm, 这个绘画就被规范了。你看这个绘画是不是没了。但跟删除不同的是,我们还可以找回这个绘画。 我们先按 command 加逗号,打开设置面板,再点击里面的 archives chats, 在 这里我们就可以看到所有被规章的绘画了。我们可以解除对应绘画的规章状态,也可以彻底删除对应的绘画。所以你看,删除和规章还是稍稍有些区别的。 那规章这个功能我们就讲到这里,从之前的操作过程中我们可以看出, get 真的 还是挺重要的。那既然这么重要,我们能不能让 codex 每次写完代码的时候都能自动提交一次 get commit 呢,这样的话就不用麻烦我们每次都操作一遍了。 这当然是可以的,其中一个方法就是我们可以直接在输入框里面告诉 codex, 每次完成代码修改之后,都需要提交一次 get commit, 然后提交这个请求就行了。这样在后续的操作里面, codex 肯定就会按照我们所说的,每写完一次代码都提交一次 get commit。 不 过这个方法有个很大的缺陷,那就是它只会在当前的绘画中生效,如果我们创建出一个新绘画的话,那 codex 就 会彻底忘掉这个事情, 所以我们需要一个能够跨绘画的解决方案,即使是在一个新绘画里, codex 也能帮我们做 get commit 这个事情,这能做到吗?当然是可以的,这个呢就是 agent 点 m d 这个文件发挥作用的地方了。 agent 点 m d 简单来说呢,就是一个放在项目根目录里面的配置文件,每当 codex 开始一个新绘画的时候,它都会自动读取这个文件,把里面内容当成对自己的指令来执行, 所以我们只需要在这个文件里面写上这个 git commit 的 要求,那无论我们开多少个新会话, codex 都会记住这件事情的。我们先把原来的这个请求删掉,我们不需要它了,然后我们点击这里使用 vs code 打开这个项目目录, 在根目录下创建一个新的文件,就叫做 agent 后台,然后在这个文件里面写,每次完成代码修改后,都需要提交一次 git commit, 这样 agent dmd 就 创建好了,让我们把 vs code 关掉,现在让我们来验证一下 agent dmd 是 否真的会生效。我们首先创建一个新的绘画, 然后提交需求,往左下角增加一个主题切换选项,支持用户在浅色模式和深色模式之间切换。回车提交,让 codex 开始工作。 好, codex 已经完成了,我们来看看效果。 你看,左下角确实是出现了一个主题切换按钮,我们点击对应的主题,就可以在浅色和深色两种模式之间切换,看起来非常完美。那我们现在最关心的是, codex 有 没有帮我们做 get commit 操作呢?我们按一下 command 加 g, 打开终端执行 get log 来看看。 你看,这里面确实是多了一个新的 commit message 呢,就是 codex 自己写的,这说明 agent 点 m d 确实生效了。即使是在一个全新的绘画里面, codex 也遵从了我们的要求,在完成了代码修改之后,自动提交了一次 git commit。 这个呢就是 agent d m d 的 基本用法了,当然他能做的事情远不止这一件,比如你可以在里面规定代码风格、命名规范、技术占要求,甚至是你的项目背景介绍等等。 codex 每次启动新会话的时候都会去读取这些文件,这样他对你的项目就会有非常好的理解,给出的结果呢也会更加准确。 可以说, agents dmd 写得越好, codex 就 会用起来越顺手。不过需要注意的是, codex 只会提交当前需求所对应的代码改动。我们一开始创建的 agents dmd 不 属于当前需求的范畴,所以呢,刚才 codex 并没有把它提交为一个 git commit, 我 们点击这个 changes, 再选择 on stage, 就 可以发现 agents d m d 的 内容呢?还没有提交上去。没事儿,我们这就提交。我们先来点一下这个 commit 按钮,然后在里面输入对应的 commit message, 再点击 continue, 这样这个改动就会被提交到 get 上面了。好,一切顺利,让我们新开一个绘画,继续迭代这个笔记软件。 现在这个软件本质上就是一个 html 文件,只能在浏览器里打开,不够方便。我们想把它改造成一个真正的桌面客户端,让用户可以直接双击图标打开,就像打开 vs code codex 一 样。 那要做桌面客户端的话, electron 是 非常主流的一个选择,我们可以顺便呢也引入 react 和 type script, 把项目结构整理一下,方便后续继续迭代。那我们就直接把需求发给 codex, 把这个网页应用改成桌面客户端,进入站使用 electron 加上 react, 再加上 type script。 注意做好测试,确保所有的核心功能运转正常 啊。不过要注意这可是一个大工程,所以呢,我们最好先让 codex 做一个规划,我们确认规划没有问题之后,再让它动工。为了实现这一点,我们可以点击这里面的加号,然后选择 plan mode, 这样 codex 就 进入了计划模式,从这个图标也可以看出这一点。 在这个模式下, codex 会先做计划,再写代码,让我们来提交试试。可以看出 codex 开始工作了,让我们稍微等待一会。 好,他现在要问我们几个问题,我们来做一下选择。首先是数据要放在哪里,我们就放到文件里面吧, 然后交付到可开发运行的程度就可以了。这之后呢, codex 就 会继续开始干活了。好,可以看出 codex 开始给我们写这个计划了, 我们再稍微等待一会,它还在这个转写的过程中。 好,写完了,我们来看一下,这个计划本身还是比较完善的。呃,包括各种测试方案呐,架构设计啊,都是写的比较详细的。然后 codex 问我们是不是要按照这个计划去实现代码。 呃,他一共是给了我们两个选项,第一个选项呢就是直接同意啊,开始实现这个计划就好了。第二个选项呢是如果你对这个计划不满意的话,你可以提出你的要求,在这个文本框里面告诉 codex 应该如何做修改,然后 codex 会根据这个修改呢,再出一份新的计划。 呃,这里面呢,我们就不对计划再做一些其他修改了,我们就直接同意好了,让 codex 就 按照这个计划给我们来写代码。 好,现在 codex 开始干活了,我们需要稍微等待一下,在等待的过程中呢,我们可以跟 codex 随便去聊点东西,我们可以在输入框 side 打开 side chat 啊,在这里面呢,我们就可以随便问 codex 点别的问题,这些问题呢不会去影响左侧 codex 的 任务执行。比如说我们可以问一下,你觉得这个笔记软件还需要什么基本功能呢?提交 好 codex 呢,给了我们一些可行的方案。你看在 side chat 的 过程中, codex 左侧的任务执行一点也没有被干扰到。对,这个呢就是 side chat 的 一个非常重要的特点了,它就是允许用户在 codex 执行任务的过程中问一些比较轻量级的问题, codex 在 回答这些轻量级问题的过程中不会影响到左侧主任务的执行。那这个就是 sign chat 这个功能的特性了。这个呢,我们就先讲到这里,这个架构改造的工作量还是挺大的, codex 依然没有完成,让我们再耐心等待一会儿。 好,看起来 codex 已经完成任务了,它提示我们使用 npm runtime 这个命令就可以启动这个 electron 应用啊,让我们来试一下。首先按 command 加 j 打开终端,然后执行命令 npm runtime 回车, 这样的话这个 electron 应用就启动开了,不过看起来好像是有点问题,基本上是一个白屏的状态。呃,我们打开控制台看一下有没有什么报错 啊,确实有报错,这个呢,我们需要让 codex 帮我们来修一下啊,让我们来回到 codex 这里, 先把这个进程关掉,然后呢再把终端关掉,然后我们提出我们的诉求,启动后白屏控制台报错了。看来你之前的测试不够彻底啊,请你修复并确保在修复之后测试好再交付给我。 codex 说,我说的对,哼。呃,让我们等 codex 把这个错误修复之后再试一次。 呃,看起来 codex 已经修复好了,我们来看一下它修复后的效果是怎么样的。呃,同样,我们打开终端,然后执行这个命令 啊,这次呢,看起来没问题了,添加笔记呢也是可以的,我们呢也可以在这里面随便输入的标题内容都可以啊,主题切换也是没有问题的。 那看起来已经很完美了,各项功能都运转正常。让我们再回到 codex 这边。 呃,我们先按一下 ctrl 加 c, 关掉这个进程,然后呢,再把终端收起。好,那改成了 electron 架构,我们就继续来提新的需求。我们的新需求是为这个笔记应用增加 markdown 支持,具体来说,需要在编辑器右上角提供两个模式切换按钮。 那假设这个时候我想换行,怎么做呢?直接按回车肯定是不行的,按回车就提交了,正确的做法是按 shift 加回车。你看这样呢,就可以回车了。我们继续输入任务内容, 首先是编辑模式,显示所有文本内容,并对其中的 markdown 语法进行高亮显示。然后还有一个是预览模式,它用于显示 markdown 的 渲染结果。现在再回车。 好,可以看到 codex 开始工作了,在它工作的间隙,我们再创建一个新的绘画,让它再处理另外一个关系不大的任务。 我们的新任务就是给这个笔记项目生成一个 logo, svg 格式。可以看出这两个绘画都在工作中了。假设这个时候你突然想到了我们的笔记软件有深浅两种模式,这个 logo 需要在任意一个模式下都清晰可见。我们最好提醒一下 codex, 以免它忘了, 好让我们发送请求。不过这个请求似乎没有发出去,它似乎卡在这里了。没错,在默认情况下,只有当上一个请求完成后, codex 才会继续处理下一个请求。 不过到那个时候就有点晚了吧,毕竟 logo 都生成好了。我们能不能现在就把这个信息发送给 codex, 让它在生成 logo 前就注意到这一点呢? 没问题,注意到这里的 steer 按钮了吗?点一下,我们的请求就会立即发送给 codex, 这样我们的目标就达到了。那 codex 现在还在运行中,我们稍稍等待一会儿。 好,可以看出 logo 已经生成完毕了。我们切回到原来的那个绘画,看看它的进度怎么样了,它还在运行中,所以我们可能还需要再稍微等那么一会儿。 好,这两个任务呢都完成了,我们来直接打开软件,看看最终效果。首先是要打开终端,然后呢,我们运行 n p m start, 打开这个 electron 应用。呃,看起来好像是有点问题啊。 logo 没有被成功地加载起来, 那我们需要跟 codex 说一下这个事情,让我们先关掉这个 electron 应用。 然后呢,我们关掉这个 electron 进程,先看看这个 logo 在 不在 啊?这个 logo 确实是在 public 文件夹里面的,那应该不是文件不存在导致的。那是不是这个 svg 文件的格式有问题呢?我们来到访达来验证一下。 打开这个 public 文件夹,看来这个 svg 文件的格式也是没有问题的,毕竟访达都正常渲染出来了。 那大概率是 electron 加载这个 svg 文件的方法有问题。让我们来让 codex 修一下。首先按 command 加 g, 我 们唤起这个绘画列表,然后选择生成 logo 的 那个绘画, 然后在这里面我们输入具体的问题, logo 没有显示出来。提交好,提交之后呢, codex 就 开始给我们排查原因了,我们再稍微等一会儿。 修复完毕,我们再次启动这个软件看看效果。 首先打开终端,运行 npm start 好, 这次看起来 logo 是 成功的显示出来了,我们还可以随便点一点其他的功能,看看整体是否运转正常。 那 markdown 呢?我们可以随便输入几个 markdown 的 关键词,看一看它的高亮显示是否正常。看起来似乎并没有什么太大问题,各种格式呢,都可以非常正常地显示出来, 可以看出预览也是没有问题的。那这次需求就到这里了,我们再次回到 codex 这里,继续迭代它。 前面我们讲的呢,都是 codex 的 基本能力,下面我们来讲讲 plugging。 你 可以把 plugging 想象成一个 codex 的 外挂,它会给 codex 相应的能力,帮助 codex 去做更多的事情。这么说呢,可能比较抽象,我们可以来实战一下。呃,我们首先可以打开侧边栏, 然后点击里面的 plugins, 在 这里我们就能够看到所有可用的 plugin 了,其中有能控制电脑的,有用于操作 chromed, 还有用于编辑 excel 的 啊,还有一些是用来制作 ppt 的。 如果 plugin 的 旁边打了勾,那代表这个 plugin 已经被安装好了。如果 plugin 没有安装的话,旁边会是一个加号,我们点击这个加号就可以正常安装了。我们来随便点几个 plug in, 看看它内部到底有什么。 比如我们可以点一下这个叫做 gmail 的 plug in, 可以 看到这个 plug in 内部有三个组成部分,其中一个是 app, 两个是 skill。 这个 app 呢,是用来把 codex 和 gmail 连接起来的, 它里面提供了很多的工具,当然 codex 没有叫它是工具, codex 叫它是 action, 但其实本质上啊,这里面就是一个一个的工具,跟 mcp 的 工具呢差不多。 比如 apply labels to emails 就是 用来给邮件打标签的 archive emails 就是 用来归档邮件的。这个 app 一 共是提供了二十四个这样的工具,除了 app 之外,这个 plugin 还提供了两个 skill, 呃,你基本上是可以把 skill 当成是给大模型看的一个说明文档, 比如说是这个 gmail skill, 它就写明了怎么总结邮件内容,怎么赚,写回复,以及什么时候该调用哪一些工具啊等等。 而这个叫做 inbox treeash 的 skill 呢,则是告诉大模型如何给邮件归类的,比如说哪一些邮件比较紧急,哪一些邮件需要回复等等。如果你对 skill 比较感兴趣,可以看一下我的这个视频,把 skill 的 使用方法和运行原理一次讲明白。 gmail 的 这个 app 所包含的内容呢,就只有这三个了,我们如果选择安装 gmail 这个插件,那其实就是选择安装了这三个组件。等到用户想要 codex 操作 gmail 的 时候, gpt 模型便会找到这三个组件,并用它们提供的能力和说明来完成。用户的要求 大致就是这个样子的。我们来看一个具体的例子,比如说是 presentations, 这个 plugging 呢,是用来写 ppt 的, 它只有一个组件,那就是这个叫做 presentations 的 skill。 这个 skill 详细说明了该怎么做才能做出一个高质量的 ppt。 下面呢,我们就尝试用这个叫做 presentations 的 plugging 来完成我们的需求,让我们来新建一个绘画,然后输入我们的要求,给这个笔记软件做一个 ppt, 介绍它的产品设计和技术架构。 提交之后, codex 就 会找到我们前面所说的那个叫做 presentations 的 plug in, 并使用那个 plug in 提供的能力来做 ppt。 当然,如果你担心 codex 找不到这个 plug in, 或者说是找错了的话,你可以明确要求 codex 使用这个叫做 presentations 的 plug in, 这只需要在任务的最前面输入一个 at 符号,然后敲入 presentations 回车,这样 codex 就 一定会使用 presentations 这个 plug in 来做 ppt 了。 不过不加也没关系, codex 会自动找到这个 plug in 的, 所以呢,我们暂时就把它给去掉吧。好,提交,可以看出 codex 开始工作了,我们稍微等待一会儿, codex 写好了,我们打开看看。 中规中矩吧,其中其实还有不少可以改进的地方,不过这已经是一个不错的起点了,我们可以在这个基础上做一些其他的改进。 这个叫做 presentations 的 plug in 并不能算上经验。下面呢,我给大家介绍 open ai 所提供的两个用来镇店的 plug in, 一个呢是叫做 computer use, 用来控制电脑。另一个呢是叫做 chrome, 用来操作 chrome 浏览器啊,我们先来试一试 chrome 这个插件, 让我们来到这个插件管理的地方,然后呢,点击 chrome 旁边的这个加号来安装这个插件, 点击 install 好, 安装好了。然后呢, codex 提示我们需要在 chrome 上面也安装对应的扩展也行。好,那我们就按照它的指示来安装这个扩展。 那一切准备就绪之后,我们就来尝试用用这个 chrome 插件,我们可以直接点击旁边的这个按钮,这样的话, codex 就 可以给我们出实化一个使用当前插件的这么一个请求。呃,我们可以把后面的这个部分给去掉,换成我们具体的请求, 那就是打开 product hunt 首页,然后再找出今天最热门的三个新发布的产品,总结它们各自的特点,并附上对应的访问链接好提交。 呃,为了让大家看得更清楚,让我来把 codex 缩小一点,把 chrome 浏览器放出来,这样的话呢,大家就可以更清楚地看到 codex 到底是如何干活的了。 可以看到 codex 创建了一个标签组,这个标签组呢,专门用于解决我们的问题,然后它在这个标签组里面访问了 product hunt 的 首页,今天最热门的三个新发布的产品就在这里了,相信 codex 也看到了。 可以看到,现在 codex 开始打开另外一个标签页了,这个呢,看起来是第一个产品 brew 的 一个相关网站,然后呢,它又打开了一个。 呃,接下来呢,我们就不管了, codex 估计还会查看更多的网页,我们就在这里稍微等待一会,相信他等会就可以查询全部的产品页面,然后给我们一个比较有效的反馈,让我们稍微等待一下。 好, codex 给我们总结了,这个呢,基本上也就是我们想要的结果了,这个呢,就是 chrome 这个插件的相关使用方法了,让我们把这个 codex 再次最大化。 然后下面呢,我们就来看一看 computer use 这个插件的使用方法,它是用来操作电脑的,同样,我们点击这个加号,然后进行安装, 安装成功,让我们来使用一下。跟 chrome 的 使用方法类似,我们也可以点击 computer use 旁边的这个小图标,这样直接就能开启一个相关的 computer use 绘画。我们先把后面这段文本删掉,因为它跟我们真实的请求没有什么关系。 然后呢,我们再稍微改一下这个请求所对应的目录,我们现在呢是放在马克笔记这个地方,但实际上我们要打的这个请求呢,跟这个项目其实没什么太大关系,所以呢,我们就选择 don't work in the project, 也就是说,这就是我们随便提出来的一个请求,不会去绑定某个具体的项目目录。之后,我们就可以正式输入自己的请求了,那就是请打开我电脑自带的日历应用,帮我新建一个五月二十八日十点的日程标题,叫做讨论马克笔记的后续设计。 没错,就是这样,我们让 codex 操作一下日历这个应用,然后同之前一样,我们把 codex 缩小,把日历这个软件漏出来。这样呢,大家就可以更清楚地看到 codex 是 怎么操作我们这个日历软件的。 好, codex 首先询问我们能不能使用日历这个应用,我们同意, 可以看出 codex 开始行动了,这个呢就是 codex 的 鼠标,它跟我们所使用的鼠标呢,根本是两套,彼此之间互不影响啊。然后 codex 呢就开始操作这个鼠标,去完成我们的需求, 它还需要我们确认一下是不是真的要创建这个日程,这个有点啰嗦,那当然是确认了,我们给它回复一下, 好,看起来 codex 已经完成了我们的要求了,我们来看一下, 看起来这个日程的标题和时间段都是满足我们要求的,那就没问题了,我们再把 codex 最大化。 这个呢,基本上就是 computer use 这个插件的使用方法了。值得一提的是, codex 使用独立的虚拟鼠标,与你的鼠标互不干扰。刚才把日历软件提到前台只是为了掩饰,实际上你完全可以让它在后台默默干活,自己该干嘛干嘛,上网看视频都可以,完全不会耽误。 好, computer use 讲完了,我们接下来就来看看 skill 是 如何使用的。想要浏览 skill, 我 们就必须要先打开 plugins, 然后再点击这里面的 skills, 就 可以看到可用的 skill 列表了。 其实我们之前用 plugin 的 时候已经间接的用过 skill 了,因为无论是 presentations, computer use 还是 chrome, 这几个 plugin 的 核心组建呢,都是 skill, 你 在这个 skill 标签下面都能找到。 当我们安装对应的 plugging 的 时候呢,我们都会把相关的 skill 一 块儿安装好,所以我们在这里都能找到这些 skill。 不 过有一个王牌级的 skill 是 单独列在 skill 这个标签下面的,它并没有一个对应的 plugging。 这个 skill 呢,就是 mhgen, 它是用来生成图片的, 相信大家对 g p t 的 生图能力早有耳闻,不仅美观,而且非常的真实。下面呢,我们就来使用这个 skill 来创建一个图片。我们在马克笔记这个项目下新建一个绘画,然后输入我们的要求,给这个笔记软件生成一个宣传海报图片,注意要使用我给你的真实的软件截图。 然后呢,我们需要给 codex 相应的软件截图,我们先按 command 加 j 打开终端, 然后执行 npm start 命令来打开我们的笔记软件, 然后我们回到 codex 这里,点击加号,再找到其中的 attach electron 这个选项,这里面的 electron 其实就是我们的马克笔记软件了, 我们的这个笔记软件就是用 electron 做的,所以呢,在 codex 里面看来,这个笔记软件就叫做 electron, 我 们来直接点击这个选项,点击之后呢, codex 询问我们是否要启用这个功能,我们点击 enable, 然后我们的马克笔记截图就到了聊天框里面了,这样 codex 在 做海报的时候就可以根据真实的软件截图来做了,是不是很方便呢?点一下按钮就可以把截图放进来了, 不过这个还不是最方便的, codex 还提供了一个快捷键,按一下就能够把截图传过来。我来给大家演示一下,我们之前给 codex 的是浅色模式的截图,我现在在给 codex 传一张深色模式的,我们回到马克笔记这里,调到深色模式, 然后重点来了,左右 command 键同时按下,这样深色模式的马克笔记截图也传给 codex 了,这个确实更加方便了吧。好,现在 codex 有 了浅色和深色两种模式的截图,我们可以让它开始做海报了。提交, 首先我们可以注意到 codex 会使用 image 这个我们之前提到的技能来做这张宣传海报,然后我们就再等等,看它能画出什么样子来。 画完了,我觉得还行吧,确实是基于我们的截图来做的,不知道你觉得怎么样呢? 除了使用 codex 给我们安装的 skill 外,我们也可以创建自己的 skill。 让我们按 command 加 n 新建一个绘画,然后输入我们的任务,写一个代码审核 skill, 专门给当前的项目使用。这个 skill 应该包含如下的规则。好,我们提交 可以看到这个 skill 已经做好了,它的名字就叫做 marknotes code review。 下面让我们按一下 command 加 n 新建一个绘画,试试这个 skill 的 效果。首先我们 at 这个 skill, 然后提出我们的请求,检查当前项目的代码是否有问题。好,可以了, 结果出来了,还可以,我们还可以让 codex 根据审查的结果来修改代码。这里呢,我就不再继续演示了, 我们的笔记软件每天都在迭代,每天都有代码更新,所以我们最好能每天定时检查一下代码,看看有没有什么问题。这种场景就很适合起一个定时任务来处理。 codex 也提供了这样的功能,让我们来点击这里面的三个点, 再点击 add automation。 呃,也就是添加一个定时任务。这里呢是定时任务的标题, codex 已经帮我们填好了。这里呢,填写发起定时任务的时候,我们需要发给 codex 的 要求,我们的要求呢就是检查当前项目的代码是否有问题。 然后下面呢是执行环境,一共是有三个选项,分别是 local, worktree 和 chat。 local 呢是在某个项目目录里面运行这个定时任务 worktree 是 基于某个项目目录创建一个新的 worktree, 这个定时任务就在这个新的 worktree 里面运行。 worktree 的 概念我们之前讲过,它是 get 的 一个概念,如果你还是一知半解的话,可以先不管,我们这里不用这个选项。 chat 呢是执行环境,不跟任何项目目录绑定,我们之前用 chrome plugin 搜索网络的时候,实际上是用过 chat 环境的, 这里最适合我们的是 local, 毕竟我们的定时任务就是要扫描马克笔记的项目代码,所以一定是要跟某个项目目录绑定起来的。让我们选择 local, 然后在这里面选择马克笔记,然后这边呢是运行频率,我们选择 daily, 具体的时间呢,我们就维持在九点钟,意思就是我们这个定时任务在每天九点钟的时候启动, 下面呢我们选择模型 g b t 五点五,推理强度呢,我们就维持目前的 medium 就 好了。然后我们点击 save, 再打开左边栏, 我们就可以看到 automations, 这里面多了一个一。点击之后就可以发现我们创建的定时任务了,它会每天十点开始运行,每次运行的时候都会创建一个新的绘画,我们可以点击这个按钮试运行这个定时任务, 可以看到一个绘画创建出来了,就是用来运行这个定时任务的,我们来打开看一下, 好,可以看到这个定时任务已经完成了,后面每天跑的也都是这个样子了,那这个就是定时任务了。最后我想给大家讲讲 codex 的 一个特别有用的功能,那就是 codex mobile, 具体来说就是我们可以在手机上操纵 codex 来给我们完成任务,让我们来点击这里面的 codex mobile, 再点击 allow 允许手机操纵这台电脑, 然后再点击弹,点击完弹了之后, codex 应该会给你显示出一个二维码来。 呃,如果你像我这样没有显示出二维码的话,可以点击这里的手机图标,这样二维码就出来了。随后我们需要打开手机摄像头扫描这个二维码。然后呢,我们就会被引导到叉 g b t 的 codex 页面。在这里我们就能向电脑端的 codex 发送指令了, 比如我们想让它操作一下日历。你还记不记得我们之前在日历上创建了一个日程标题,就叫做讨论马克笔记的后续设计。现在我们在手机上再发送一个指令,让它把这个日程去掉,我们点击聊天。 然后呢,我们再点击这里,呃,在里面找出 computer use 这个选项。 随后呢,我们需要输入我们的请求,我们的请求就是把日历中五月二十八号呃,讨论马克笔记的日程删掉, 写完之后先不要忙着提交,你看,我们现在在马克笔记这个项目目录下,但我们的请求其实跟这个项目的代码没什么关系,我们就想操作一下日历软件,所以我们需要再点一下这个设置按钮,然后选择不使用项目。好,这样呢就万事俱备了。我们提交请求, codex 首先询问我们是否同意使用 calendar 这个软件,我们批准。然后 codex 再次询问我们是否要真的删除掉这个日程,我们确认, 随后 codex 就 开始操纵电脑了,我来给大家看看电脑上是个什么样子,你看日历上面多了一个鼠标,它正在操纵电脑删除这个日程。 好,删除成功了。这样呢,我们就做到了用手机来操纵电脑了,是不是很方便呢? 这样大家在外面也可以使用 codex 来做各种各样的事情了。好到这里本期视频就结束了,我是马克,用最通俗的语言讲最硬核的技术,我们下期再见。拜拜。

最近这两天,我一直在测试完全免费开源,可以本地部署的 ai 编程工具。这次我同时部署了两款目前非常好用的开源 ai 编程代理工具 open code 和 codex, 并且分别给它们接入聊免费开源的大模型接口。 open code 搭配的是 deepsea v 四 codex, 接入的是 agnes 二点零 flash。 两款都是本地部署,永久免费,无限次使用,不用联网付费,没有次数限制,不会泄露自己的项目文件,非常适合学生学习使用。 我这几天完整对比体验了一遍,它们两个能力测重点完全不一样,各有各的强项,我把真实体验全过程分享出来。首先先说 open code, open code 给我的最大感受就是人机交互非常顺滑,非常适合新手迭代项目 改错优化细节。它有一个特别好的特点,每次做完一部分功能,它会主动告诉你哪里有缺陷,哪里不稳定,哪里需要优化, 并且可以在原有代码基础上局部修改,局部迭代,不会每次全部重写,不会打乱我已经做好的结构。我这次用 open code 完整丛林开发了一个专属情侣记录网站,网站的初衷很简单,就是我和女朋友日常记录生活用,可以记录想去的地方, 想做的事,想吃的美食,发生的趣事,互相送的礼物,相当于我们两个人的专属云端日记本。但刚开始做的时候问题非常多,全是新手常见 bug, 本地数据无法上传,云端存储文字写入之后出现乱码,数据不同步, 自己写的内容只有自己能看见,无法双向同步。如果是普通网页, ai 复制粘贴代码, 我大概率直接放弃或者看不懂报错。但我全程在 open code 里一步一步和 deep c 对 话排错,一点点排查后端存储问题,编码格式问题、数据读写逻辑、本地存储同步逻辑,最后完整修复了云端存储 文字乱码、数据同步所有问题。把这个情侣网站彻底做稳定,可以长期正常使用。所以总结 open code 的 优势, 交互温柔,擅长改错,迭代优化,适合丛林做完整项目,慢慢打磨细节。接下来是 codex, codex 和 open 扣带完全是两种风格,它最大的特点就是执行力极强,落地速度极快,权限更高, 全区操控能力更强。如果说 open code 是 耐心陪你慢慢打磨项目的老师,那 codex 就是 你给一句需求,直接帮你全套做完的全能工程师。我专门为了对比测试,用 codex 做了两个完整小游戏项目, 一个是 c s 风格枪战游戏,一个是经典俄罗斯方块。我全程只说了一句简单需求,按照标准 c s 游戏模板,帮我做一个完整枪战游戏逻辑, 人物移动射击逻辑,碰撞判定完整页面结构,最终成品。直接点击 html 文件就能打开运行,不需要配置环境, 不需要复杂部署,整体完成度、完整性完全达标。除了做游戏,我还测试了它的办公文档能力。我用 codex 对 接本地 d o c x 文件,自定义报告模板,我提前设置好了指定字体、 指定字号、固定行间距、固定段落格式、固定封面格式,它全部可以精准识别,严格按照我的格式约束自动生成整篇报告。这一点比普通网页 ai 强太多了,普通 ai 你 需要复制、粘贴、调格式,改错重排, 非常浪费时间。而本地部署的 codex 可以 直接读取本地文件,修改本地文件,保存到本地,一步到位。 而且 codex 可以 开放完整电脑权限,能够直接操作我整个项目文件夹搭建前端搭建终端搭建后端配置文件,写代码、改代码,生成整套项目结构, 对编程小白极度友好。最后我总结一下我这几天真实完整的使用感受。以 open code 加 deepsix 和做创新项目,个人网站需要反复改错,迭代优化,精细打磨。 特点,交互好,会主动指出不足,支持局部修改,排错能力强,适合学习成长。 two codex plus ignis two point zero flash, 适合快速落地,做成品、做游戏、做报告、做模板,全套工程搭建特点,执行力强、效率高、权限高,全职操作,成品完整度极高。对于我们学生来说,这种本地开源免费 ai 真的 太重要了,不用充值, 不限次数,不用上传代码,不会泄露作业和项目,可以无限练手,无限学习,不管你是想学前端、做网站、做小游戏、写报告、做模板、自学编程、做课程设计,这两套免费 ai 工具完全足够学生所有使用场景。

新手小白使用 ai ide 啊,不要听别人说什么,你要装什么 cloud code 啊,也不要听别人说什么你装一个 code x 没有意义,你装的明白吧你,你就算装明白了, 模型你装的明白吗? codex 这个模型你是不是还要走中转?你走中转到底是不是满血版本也不好说,我跟你说,你就装一个,最简单的,装个 open code, 把这边模型直接加上,选好 api 密钥一填结束啊。你不要搞什么 cloud code codex 这种啊,虽然是实力确实是很强大,但是呢,使用门槛确实也很高,你就干 open code, 哪怕没有模型也不要紧,这里有很多免费模型,你先随便点一个,你看着喜欢的先用用试试看,如果免费模型好使了,你再去买它的 codeplay。 关注我,获取更多 ai 软硬件资讯。

做代码审查最烦的是什么?没错,就是漏审和指错行号。我之前也一直被这个问题困扰,直到发现了阿里开源的这个工具。阿里巴巴今年六月推出的 opencode review, 专门解决大模型审查挂一漏万和乱点鸳鸯谱这两个硬伤。 它采用确定性管道加 l l m agent 的 混合架构,已经在阿里内部被两万多开发者使用,采用率超过百分之三十。主页有更多开源项目解读,点个关注不迷路,今天带你看看这个框架到底有什么本事。 为什么现有的 ai 代码审查工具总是翻车?问题出在架构上,市面上的工区分两派,一派是通用 agent, 比如 cloud code, 靠 prompt 调教 审查二十个文件的 pr, 他 可能只看了五个,剩下十五个下次再说。另一派是规则引擎,靠正则匹配只能找已知模式,碰到逻辑漏洞和业务逻辑错误就瞎了。更要命的是,行号指错是 ai 审查被吐槽最多的点,结果发现代码早就被改过了,报告白看。 opencode review 能做到百分百覆盖率,核心靠的是确定性管道加 l l m agent 的 混合架构。它不是让大模型自己决定要不要看这个文件,而是在流程层面强制 agent 的 便利所有变更文件。 这意味着什么?不管你的 pr 设计多少个文件,系统都会一个不落地的检查过去一百万以上的代码缺陷已经被减出,覆盖率从玄学变成了可量化的指标,而不是依赖模型的随机发挥。 它能做到行号零错位,核心靠的是内置的精确评论、定位机制和反思较验系统出报告前会验证引用是否仍然有效,直接把这个坑填了。性能方面, 智能内存压缩加动态并发处理同样的审查任务,消耗更少的 token。 官方数据显示, token 成本只有同类工具的五分之一。换成实际场景,原来一个月省代码花五百美元,现在可能一百美元出头。而且 aacrbench 得分百分之二十六点一, 而通用 cloud code 加 skills 方案只有百分之六点四,差距整整四倍。说了这么多,不如直接看它的最佳使用知识。第一个推荐是搭配 c i c d 流程,在 mr 创建时自动触发审查,把明显低级错误在人工审查前过滤掉。第二个是作为代码审查的第一道关卡, ai 处理模式化问题、 人工处理业务逻辑问题各司其职,它不能替你做决定,能告诉你这段代码可能有控制增风险,但不会直接帮你修,所以要把它当成超级严格的评审员,而不是能直接提交 mr 的 ai。 适用场景方面,中大型团队每天有大量 mr 要处理,对审查覆盖率有要求,想控制 ai 审查成本的企业用它收益最明显。 最后说点实话,文档质量一般, github r e a d m e 偏简略,没有中文文档。阿里内部用得多,但外部社区贡献的规则和插件还很少。 审查大仓库时,第一次启动比较慢,因为要做文件扫描和上下文构建。如果你的团队一天也就几个 mr 人工评选绰绰有余。折腾这套工具的收益确实不大,但如果每天被代码审查折磨的死去活来,审查质量参差不齐, opencode review 解决的都是真实痛点, benchmark 数据也站得住脚,值得认真研究一下它的架构思路。

如果你还只是把代码复制给 ai 聊天,那效率其实只提升了一半。真正高频的开发动作是读仓库,列计划,改代码,然后再验证。 今天这个项目叫 opencode, 它的官方定位很简单,开源 ai 编程 agent, 重点不是在做一个聊天窗口,而是把 agent 放进终端开发流程。它很值得看的一个设计是内置 build 和 plan 两种 agent, plan 是 和先读项目,分析问题, build 才进入真正改代码的阶段。 它的使用路径更像一个开发搭子,先读项目,再列计划,然后改代码,最后跑验证,这样比纯聊天更贴近真实开发阶段。 最小上手可以先用 homebrew 安装,也可以用 npm 全局安装,进入你的项目目录,运行 open code, 先让他读一个真实仓库,再观察计划和修改是否靠谱。他更适合重度开发者和技术团队,尤其是已经习惯终端的人。 如果你完全不碰命令行,只想点按钮生成代码,那他不是最轻的选择。你想看我用 open code 改一个真实项目吗?评论区打 open code, 先收藏,也可以转发给正在写代码的朋友关注,临近未来,下一期直接实测!

二十万行的史诗代码摆在你面前,第一步该从哪开始呢? github 上有一个六万多星的项目专门解决这个问题,它叫 understand anything。 简单说啊,就是它把复杂的代码库变成一张啊,可以点可以搜,可以问的知识图谱。这两天我刚好拿 pad 这个项目试了一下,确实有点东西,使用方式非常简单,安装好以后,直接在 open code 或者是 code code 里输入说杠 understand 杠杠 language z h。 这时候它就会分步骤开始规划分析代码结构,最后生成一份中文的代码知识图谱。紧接着再输入 杠 understand dashboard, 开启一个中文格式化的 dashboard。 这样啊,就能看到整个界面。左边不是普通的文件数,它是把 pi momo 这个项目拆成了几层,包括啊,终端的用户界面层、 code agent、 c l i 层、模式层、核心层、工具层、测试层 等等。右边还有一条学习路径,从项目总览到 c l i 入口、绘画核心等等,一步一步的带你看。 这时候我才意识到,它真正有用的地方不是把代码画的很炫,而是把我该从哪里看变成了一个明确的阅读顺序, 哪里是入口,哪里是核心循环,哪里是工具调用,哪里是测试,兜底都安排的明明白白的。所以程序员最怕的不是代码复杂,而是迷路。这个工具真正卖的其实是一张代码的地图。

终点配好十个 c l i, 让 agent 搜找读写作都更快。 agent 会频繁调用系统命令工具,装对他就更快,看懂仓库也少走弯路。 r g 替代 grab 搜代码,例子只搜 text script 里的 te do 命中行救是下一步线索。 s d 替代 find, 找文件查 config 相关的 ts 文件入口路径会迅速收敛。 j q 处理 j s o n 提取 hook 里的 file path 比手动切字浮串稳定。 bat 是 带高量的 cat, 看代码时打开行号函数和错误位置更清楚。 gh 把 dathub 放进终端查 p r 键 eq 看 ci 都可以直接命令完成。 fcf 做模糊选择。 rg 结果太多时接 fcf, 边输入边缩小范围。 ezz 是 现代 ls 目录图标、树形和 dat 状态一眼扫清。 zac 是 智能 cd, 输入几个关键词就能跳回常用项目或笔记。 delta 增强 diif 行号高量和左右对比,让审查更清。 y q 处理 y m l docker compose 和 k 八 s 配置都能精准查询。 最后用 max 一 次装齐,先装五个核心工具,再补五个效率工具。

你安装好了之后,你该如何去配置你的 open code? 当你安装好之后,你看到了基本上就是这样一个画面,这个是我已经用的 open code, 所以 它在旁边会有很多不同的绘画,但是这些你不用管,你安装的时候是完全全新的,你在这边也不会有任何的绘画。 有些人问我说这个 open code 它到底有没有这种电脑的配置要求对电脑的性能要求其实是不高的,因为它本身是一个 i d e, 是 一个操作界面,并不是说整个模型都运行在你的电脑上,所以 只要你的电脑能正常开机,然后能进桌面,基本上就能用了,哪怕你没有桌面,实际上也是可以用的。如果大家感兴趣的话,我可以教大家如何配置在浏览器上可以使用的 offencode, 那 么这个就是你的新的操作窗口。 如果你有了不同的模型的 api, 就是 你买了一些 cooling plan, talking plan, 或者单纯用随用随充的那种计费方式,这些都不要紧,你在这里选这里有一个模型的配置,点开这个模型, 在这里有一个加号,点击就可以开始配置了,然后开始找到你需要配置的各种各样的供应商。比如说你这里用的是这个阿里巴巴的 cooling plan, 那 么你就选这个 cooling plan, 它的所有的这个 url 就是 你的链接,它是全部配置好的,所以你只要考虑你的 api 密钥是什么样子的就可以。 那么 api 密钥到底从哪里获取,我相信就不用我再过多赘述了吧,有需要的话,那下次我再来出一个关于如何去配置 api 密钥的教程,那么现在你就拥有了各种各样不同的模型,你就可以跟它愉快的开始聊天了。 那如果你说我没有去买一些 clothing plan, 没有购买任何的 a p i, 那 是不是我就用不了我的 open code 呢?其实也不是的, 同样是在这个画面下面,你把往上拉有一个 open code them, 这里就是 open code 提供的一些免费的模型,你们都可以去试一试,每一个模型都可以去试一试,因为每一个模型都会有自己不同的擅长的地方。你比如说这个大名鼎鼎的 deepsea v 四 flash, 它擅长的地方就是一个文本推理模型,但是呢,下面的小米的 miimo v 两点五 free, 我们挪到上面,你就会发现它是一个多模态模型,它支持文本以外,它还支持图像、音频和视频,所以不同的模型都会有自己不同的风格和不同的优势。这些都是非常好的模型, 它们在 opencode 上面有一定的轮换周期,但是 opencode 会保证你在所有的情况下至少有两到三个模型是可以选择的。那么你用完了之后,配置好了,就可以继续开始使用了。关注我,获取更多 ai 软硬件资讯。

嗯,大家好, cloud code 很 强啊,但强归强,没必要让什么都让他干, 看日历用 cloud, 找文件用 cloud code, 然后写说明也用 cloud code, 这个不是好的用法,因为 cloud code 贵嘛,那么把 cloud code 花出了冤枉钱,真正的用法应该是杂活便宜模型,先干硬仗,再让 cloud code 上。但是很多 朋友就说哈,这个不是,我不想这么干啊,但是这样子切换太麻烦了。嗯,我这边呢,有一个方法啊,可以分享给大家,是用 open code 去调用 cloud code, 大家可以看一下我的这一个界面,这是一个那个 cloud code open code 的 这样的一个界面,然后我发送了一个 prompt 啊,做一个僵尸主题闯关游戏。然后可以看得到这一个是直接是 deep sleep v 四啊, flash 直接执行的 啊,没有太多的那个其他的就就直接就执行就结束了,然后这个执行呢,是花了 六分多钟。好,然后这个呢是用 open code 啊,去调用 clock code 去执行的。 可以看到到,我还是在那个 open code 的 这一个呃, harness 里面没有去换其他的那个 agent 啊,在这个里面发送的提示词,然后由它呃去调用这一个呃 cc 完成的。 可以看得到啊,这一刻整个过程很长,实际这一个整个的运行时间花了三十一分钟啊,当然也还有点 bug, 就是 可能一开始就用 c c 在 做规划,所以说到后面花的整个的制作起来,整个的时间内容就相当的多啊,相比于那个直接这,这是那个 deepsea 微四直接做的,就只花了那个六分钟,后来修了个 bug, 用了八秒, 呃,总共来讲也就是十几分钟吧,后面又又改了一点,花了点时间。好,这是这个游戏的一个展示, 这个呢是就是用那个 deepsea 微四直接做的啊,看起来还行。 然后这个呢是用 cc 做的呃,可以看得出来两者的审美都不咋地,不过这里 cc 他 是把物理的碰撞做进去了,可以看他跳的时候是会被挡板遮住,而 dc 可直接做的呢,他是直接上去了。其实 这个也不是想想那个给大家打什么广告啊,主要来讲就是说这两个之间他是有这么一个差距的。 呃,但这里不是想做一个评测,这里是想说我们能够在呃 open code 里面去调用我们的这一个呃 cloud code, 直接在 open code 里面去做就行了啊,这样做的好处呢,就是我平时都用 open code, 然后去干各种各样的杂事,当需要攻坚的克兰的时候,那么这个时候就要使用那个 cloud code 去执行, 那么这是配置那个 cloud code 的 在 harness, 在 其他的那个 harness 里面去使用的这样一个过程。这里配置的是那个 open code。 配置很简单啊,直接安装这个 m c p, 就 这个管理管理软件啊,安装这个 m c p 的 管理软件就能够达到这个效果。呃,可能你自己要需要先提前把 c c 装上 好,然后在这里测试能够正常运行之后,这就可以直接运行了。但限阶段这个好像只支持二分扣的啊,也就是说,呃,只能用二分扣的去掉 c c。 好, 这就是安装完成了。

同学们好,我是你们的张老师,我们今天讲一下我们的 yolo skill 的 啊,用到的一个开源工具哎,也就也就是说我们的 open code, 它呢是一个开源的 ai 驱动编程的 agent, 专注于终端和这个桌面开发体验呢。那这个地方啊,它是由 neo vim 用户以及 tommy 的 shop 创建者创建啊,这个呢,作为一个开源,它其实是想顶替 cloud code, 所以说啊,它作为一个开源工具,我们在此选择的是它,那这个地方啊,啊,我也给你们去梳理了一下我们的 open code 啊,它的深度分析的报告,也就是说它定位啊,它其实啊,它的核心主张就是一个 ai 驱动的开发工具 啊,这个呢,就是一些关键的数据,包括它的一些下载量还是很多的呀,二零二五年啊,六月起步,其实到现在差不多也快一年了,这个下载总量真的是啊,太多太多了。同学们如果感兴趣的可以通过这个 git github 去 git github 去关注一下 open code, 它的架构设计呢,我们可以看一下它的架构设计啊, 第一啊,如果说你是一个 terminal 的 这个终端的一个呃使用者,所以说就可以去用它的 tui 了。第二,如果说你要是一个 desktop 都有可适化的,那第三,它还是有一个 web 的 browser, 所以 说这个客户端呢,看你喜欢用哪种方式就用哪种方式,然后它呢,会通过 itp 或者是 web socket 的 进行一个 open cloud core 的 agent 连接 啊,最终啊,到达他的服务层,也就是用到了一个 l s p 的 server 以及 l i m 以及 tour 这些工具。 那么可以看一下它的模块组织里边包括十八个核心包,这里边老师啊,就不给你们去过多的去讲解了,如果说你们感兴趣的话可以去要一下这篇文章,那么哎,有了这个 open code, 我 们就打开一下这个 open code 啊,我们打开一下 open code, 也就是我们看到的这个 open code, 也是我们在终端通过一句话去命令去拿到,去给这个大模型 啊,说,对吧?也通过我们的 skill 技能去得到我们的一个最终的一个模型,并且会自动去掉我们的摄像头去进行预测。 那么下面呢?我们安装,那这个安装呢?老师啊,已经啊已经放到这个群里边了啊,如果说感兴趣的话也可以去添加一下 这个,那么这个呢就是我们的这个 open cloud open code, open code, 但是呢它作为一个前端的工具,它最终还是依靠于大模型,它的大模型对于哪些呢?我们可以看一下这里边有个设置, 设置里边有通用啊,你可以去调整你的相应的这个字体,如果说你要用英文呢?也可以啊 啊,英文包括它最终的一个形态,也就说我们需要去用到我们的哪些呢?同学们,也就是我们需要用到我们的啊提供商,这里边你可以去连接,连接谁呢?你的 open ai 或者是老师用的这个 deepsea, 那有同学可能老师这个 deepsea 怎么去注册以及哎,怎么去申请它的密钥呢?啊?这个如果说同学们不理解的话,就是可以去网上去查一下呀, deepsea 你 需要通过开发者然后创建它的 api 秘钥,在这里边老师就不跟他们去过多的去讲解了啊,所以说这个呢,就是你的秘钥添加,你这里边可以去连接你的 deepsea, 老师现在是用的 deepsea v 四的模型, 有很多这种 osmotic 的, 还有这个,呃, google 的, 还有等等啊,这个看你们选择什么。 然后呢,这里边它有一些免费的,所以说免费的啊,老师啊,就用了一下这个 v 四 plus free, 对 吧?把这些都打开,它有一些免费的额度,所以说大家通可以啊,去用一些免费的额度。那这边呢,我们就可以通过像啊传统的这种 工具一样啊,左边呢就是一个一个绘画你的各种绘画啊,这个呢就是老师用 open code 做的第一个也就是 scale, 我 就通过这种绘画的方式来进行的。然后这个中间呢就是你给他去对话的一个,嗯, 一个方式,这里边有 build 构建,也就是说这个里边 build 构建的话,它会根据你给它对应的这个内容,它会自动的去 呃,赋于我们去编程啊,或者说编码啊,以及我们去创建文件呐,去收集啊,那它就是用 build 啊 plan 的 话就是一个计划,这个计划呢就是它可以给你一些建议。 那么这里面呢,它你可以去选择 deepsea v 四 flash 这种 flash 模型,以及等等啊,你可以去用最顶级的,比如说 deepsea v 四 pro, 对 吧?那这个都可以去用啊, 然后这里边还有它的默认值,你可以去选择一个默认就行了,不需要去调它的中等还是高还是最大的。 那这个呢?这个同学这个是从这个地方去拿到的,也就是说你可以去通过这个加减的这种方式,这个呢就是代码的一个审核,你可以通过这种方式去看一下它添加了一个 get 的 一个版本 啊,我们为什么在这里边去强调呢?是因为啊, ai 不 论你在写代码的时候,希望你们再去 做某一个版本已经差不多,或者是你觉得这个版本还可以,你就需要把你的这个版本去提交一下,要不然后期越来越多,越来越多的这种情况, ai 会把你这个打乱,你到时候再去恢复的话就很难了,所以说这个是版本的控制。 那么最后呢就是它的所有的这个文件,我们可以去看一下更改的哪些文件,以及所有的文件,这里边所有的文件老师啊之前也给大家去讲了,然后这个我们着重放在下一节课去讲我们的 skill 怎么去创建呢?我们这节课呢就讲一下我们的 open code 它里边的这个工具怎么去使用的啊?所以说你就可以通过这种对话的形式让它去给我们去做一下,我们得出来我们这个结果,也就是依据我们现在 ai agent 这个大模型的能力, 对吧?你也可以通过 open claw 啊这种小龙虾的方式啊,都行,都是可以的,它的底层还是依赖于这个各模型的调用。 所以说老师这节课就给你们去讲了一下,我们的 open code 作为一个开源工具还是很不错的,同学们如果感兴趣的话可以呃聊一下,或者说可以去玩一下。好吧,我们这节课呢就先讲到这,我们下节课再见。

嗯,接受别人写的工程,或者自己几个月前写的项目,经常不知道从哪里开始看。嗯,我以前也是硬翻。嗯,凭借经验去拆结构,今天分享一下我现在怎么用 v s code 和 open code 插件去做这件事。我现在拿到项目,先会让 ai 去过一遍结构,这是一个甲醛检测仪的部件,用的是 stm 三二 l 幺五幺的芯片,带 fritz ai 几秒钟就能输出分层图,包括它的应用层、驱动层、系统层。每个目录是干什么的很清楚,有经验的人去翻目录能猜个大概,但如果是新人或者是工程比较乱的话,这东西能省很多时间 再让他看。代码质量扫出了很多问题,最严重的一个是某个变量没有数值就全错了。我回头看那行代码确实是 flow 的, sdd 定义了, 定义完后直接连加,没有复出值。这种问题你读代码很难发现,因为大脑会默认它是对的。还有一个呢,是队列创建,是 size off, 写错了消息的数据字段一直在被截断,分析完以后让它产生。这个学习文档是用 html 格式的浏览器,可以直接打开 导航架构、曲线列表,改进思路都在一页里,以后回看这个项目,打开这个 html 就 能回忆起来,也能直接去拿去当 ppt 素材。 这就是我现在的流程,不是 ai 多厉害,是他帮我把这个搞清楚。一个工程这件事能从半天压缩到十分钟,后面我也会用这种工具去做新项目的开发,陆续给大家分享。

如果你现在是一个闲不下来的高考生,你现在迫切的想知道你接下来该做什么才能不落后别人啊。当然,我觉得并并不会有多少人这么想,但是如果你真的很好学,我不会去推荐你去学车,学高等数学, 学各种大学课程,或者是学英语什么的,各种各样的东西。我只会推荐你干一件事,去学 webcoder, 任何 webcoder, 甚至腾讯的 work buddy 都可以任何 webcoding 软件去学,去下载一个,然后去注册一个账号,然后去用一个免费账户去做任何你想去做的东西。一个马里奥,一个俄罗斯方块,一个日记软件,甚至一个微信都可以去学这个东西。 webcoding 才是真正会让你和别人拉开差距的东西。

那么 oppo 扣的是如何开始使用的呢?其实是这个样子的, oppo 的是一个基于文件夹来工作的, a i d e。 什么叫基于文件夹来进行工作的呢?就是说你的项目是放置在各种各样的文件夹里面的, 比如说我这里有一个文件夹叫开发文件夹,我点开之后你会发现我的开发文件夹里面有各种各样不同的项目。那么如果说你现在想要一个单独的项目去进行我们的编辑工作,这个时候你就在 open code 这里点击加号 打开项目,然后你去选一个合适的项目,比如说这个 animal town, 然后你点击打开,这个时候你就会发现你的 animal town 就 变成了你的开发文件下面的一个列表, 这个时候你就可以点击对话框,然后选一个你喜欢的模型,进行一些愉快的 web coding 了。那么本次的教程就到此为止,希望大家在 open code 里面有一个良好的 web coding 的 编程体验。关注我,获取更多 ai 软硬件资讯。

给大家推荐一个免费的 ai a 键的工具, open code, 它是开源的,如果你想接触 ai, 用上 ai 工具,这个连大模型都是免费的,而且还是 deepsea v 四 flash 版本,我深度用了一天,说实话百分之九十八的人都完全够用了。 我电脑上 cloud code code、 小 龙虾、爱马仕 agent 都装了,现在网上都在推 cloud code code code, 但模型不可能免费。 如果你不是程序员,相信我, open code 的 日常完全足够,各种 skill 都支持。我今天用它几分钟就开发了一个简单的供应链系统的 demo, 来测试一下它的效果。 ui 我 都没怎么调,效果已经非常不错。最重要的就是一分钱不花就能学会用 ai。 在这个入门门槛相对比较高的这种各种的 ai 工具的情况下来说,它太友好了,你只用花你的时间去研究下,如果你把 open code 研究好了,你再花钱去用 cloud code code 等等各种的 ai 工具, 在这个时代能节约一点是一点对不对?再说一遍,最主要的是免费,体验上完全足够,而且完全能满足你的日常使用。

不知道大家有没有像我一样的,就是平时工作流的话会用到多个 agent, 比如说像我的话会用到 cloud code 和 open code, 但是它们两个之间互相不认识,对吧? 如果说你想让 open code 先做一个项目方案,写个草稿或者出个大纲,然后其中有一部分写代码的工作需要分配给 cloud code 的 来做,等他写完代码之后,你要做的就是总结一下, 复制,再粘贴给 open curl, 反过来也是一样,复制粘贴,复制粘贴,复制粘贴非常麻烦,而且很消耗 token, 你 的钱就这么没了。所以为了解决这个问题,我就去找了一些方法, 搜到的方案有很多,比如说搭一个 m c p server, 或者做一个 a 建特框架,或者建一个向量数据库, 但是感觉都非常麻烦,属于重型工程。可我一开始只是想解决一件事,就是让两个 ai 之间互相交接一下工作, 你为此去搞一个数据库,或者搭一个 m c p server, 实在是没太大必要,就像你买瓶可乐,结果先修了一条高速路一样。 后来我受到了 t k m d 的 启发,就只需要用一个 markdown 文件,像打日记一样,像做交接班记录一样,像你在公司上班一样,自己做了什么 ok, 写进去别人就知道你做了什么。所以类似这样,大家可以看一下, 一个 markdown 文件用固定的格式给不同的 a 阵 t 下固定的规则就完成了。让 ai 记住四件事,当前的状态改了什么?为什么这样改?还有哪些问题没解决? 下一个 ai 接手的时候,先读这些文件在干活。以前的话,你可能要传上签字的上下文,现在只需要告诉 ai 一 句话, 看一下希尔文件就行了。至于为什么叫希尔,是因为我给他的命名格式是希尔某某某点 m d。 这个时候可能有人会问,你,这个好像跟 agent files 差不多,但是怎么说呢, 其实还是不一样的, aj files 的 工作流是这样的,你提前在文件里写好规则,告诉 ai 这个项目要用什么技术,遵循什么规则,它胜在稳定,它厉害就厉害在稳定,不会每次任务都变。但我做的这个是 ai 写给 ai 的 工作,交接单 记录的是上一步做到了哪里,为什么要这么做?还有哪些坑需要补? agent files 向公司的章程,我这个像交接班记录,问题不同,解法也不同。然后我把这整个方案打包 放到 get 布上了,大家想要用的话可以直接拿去用,不过因为我是按自己的需求写的,目前只是配了 clodico 和 openclo 这两个,具体的演示文件我也放在 dmo 里了, 大家有需要可以去看一下,也欢迎大家改成自己的版本分享给别人。嗯,就这样,希望可以帮到大家。

一边如何在健身房,一边在手机上用这个 webmaster 进行 webc, 顶的就是这个 webmaster, 他 头部现在这一块占的空间太多了,就很中间这一块区域就变得很小,所以呢,我就让哎呀改一下上面,让他单位空间小一点。首先找到我们 webmaster 项目,点击这个加号创建这个 呃工作区,我这里打好提示词,让他优化好之后直接提交个 pr, 我 们这里直接发送。然后我们这个时候就不需要管他继续健身, 现在这个已经完成了这个项目,这里它会显示有个 p r 状态, ok, 然后我们直接点进它的 p r 链接,在我手机上它就直接会用 app 客户端去把这个 p r 打开。最重要的是在下面 我们可以看到我的这个路由 app, 它会在这里基于这个 p r 去自动的部署了一个网站,我们点进那个 web, 它立马会打开我们这个 web, 这个路由的网址 就是基于 pr 六二创建的,刚改的是工作区的页面,哎,可以看到它上面它上面这里就已经被收 收整成一行了。然后我们先回去看一下老的界面是什么样的,那么老的界面呢?它是可以看到它是在外面展开的,我们的新的 ai 改的新的界面,它就是已经是改成一行的了,我已经比较满意的状态下呢,我就可以直接打开这个页面点击 合并,那么这一项任务就算是完成了,那么合并之后略微他的这个部署,他就会自动把他给删掉了,他这里就已经显示已合并, 那么在这个软件里面就已经去同步了,那么这个时候我就会给他进行一个归档,归档的时候他就清理工作区目录,所以呢这就是整个的开发工作流,这一套整个流程在手机上就能搞定。

fab coding 突然就火了,我也突发奇想,想试试,但是打开抖音一搜,好家伙,各种排行,各种对比,各种推荐, 看了一圈更猛了。算了,不挑了,先下个试试。第一个选的是 code 八 d, 用起来真的很舒服,有免费积分额度,自动写文件,自动装软件,对小白来说门槛极低, 心里想,行就它了,但用着用着又想更智能一点。听说龙虾不错,下载倒是很方便,但是很多虾壳功能太多了,反而不知道怎么用。而且作为小白,最担心的是密码泄露。算了, 回头想想, code 八 d 这种自动化程度其实已经可以了,但人嘛,总想试试更火的。听说 codex 很 火,我也试试。去微软商店下了 codex, 打开一看,要登录要配 api 密钥,我一个小白哪来的 api 密钥,嫌麻烦直接放弃, 那就找个功能类似的看了看哈密斯,好像非常不错,还有长期记忆功能,当时就开始幻想自己的专属智能助手了,但是一看没有中文桌面版,折腾,为 i p u i 搞了半天,等到出了中文桌面版,发现很多本地模型不适配,上下文腰斩了, 对于小白来说太折腾了。最后试了 open code 的, 一用就觉得很舒服,界面极简,自带完全免费的大模型,直接就能用, 疯狂燃烧免费额度,再配合本地模型,做出来的界面比 code buddy 还让我满意。用着用着就被 open code 吸引了,直接买了购套餐,一个月五美元,相对非常划算。目前就定在这了,毕竟谁能拒绝白嫖呢?所以小白 vip coding 到底用什么软件?

大家好,我是一个专注于 webcoding 快 一年的独立开发者,从早期接触浏览器,到后面的 cloud code、 open code, 再到现在主力用 codex, 我 在这条路上踩过不少坑,也踩出了一些门道。所以今天想跟大家聊一聊,当 ai 工具已经足够强大时, 我们到底应该把精力花在哪里呢?很多朋友刚入坑 ai 编程的时候都跟我一样,看到一个新鲜的教程也想去学, 看见一个新的功能出现,又想去尝试,今天学习科学,明天听说克拉蔻的更强,就赶紧去换一个,总是觉得走在最前沿就能领先别人一步,我当时也是这么想的,结果呢,花了大半年,学了一堆的工具,最后发现真正能帮到自己的其实没有几个。 今天我把这一年的弯路和一些心得分享给大家,尤其是在追星阶段的朋友,希望能让你们少走一些弯路。 第一部分我踩过最大的坑,就是我刚接触 ai 时特别的兴奋,脑子里全是 ai 加持就能做出爆款的一些美好幻想。那段时间我几乎是闭门造车,一个人闷头干了大半年。其中最典型的就是 ai 短剧自动化的一个创作平台。当时短剧特别的火, 我就想做一个全自动的智能体平台,能一键生成短视频的一些脚本或者视频项目。做到百分之八十的时候,我发现 github 里面就是开源社区,已经有好几个做的更加成熟的 项目,同类型的项目,而且人家还是开源免费。更现实的问题是,你作为一个独立开发者,你还要面对营销引流, 你还有迭代维护、部署、运维这一堆的工作量,对于一个没有开发经验的人来说,我觉得是非常难跑通,就算跑通了, 那么你后续都会被这些所有的工作量给捆绑住。那第二部分就是我现在真正把 ai 用起来的方式啊, 也向大家分享一下。最近两个月我把所有的精力都是放在一个和线上电商有关的一个外国项目里面, 我几乎把这段话的那部分全都让 ai agent 来落地的,而不是为了去炫技,我这样去尝试就是为了重新回到一个正确的一个 方向。你们来下面分享几个我目前正在跑的一个自动化 agent。 那 第一个就是一个福气运为的 agent, 那 它是每天自动去检查我部署的一个外国项目的运行状态, 排查一些潜在的问题,确保这个服务器的稳定。那第二个就是上游供应商的管理 agent, 我 们项目接了有十到二十个供应商,那么每天登录到后台需要去查询这些供应商里面的一些余额,因为我们需要充值到这个供应商里面去, 然后去扣费,他在调用他的接口,我们去用那所以 agent 就 需要去查余额,还要查他每天的报价,根据这些成本波动的调整,自动去我们的项目的后台更新我们的价格, 我们对 b 端用户的价格,他也要去根据成本的波动他去更新。那以前人去做这个非常累的,因为几十个供应商,那我设计这个 ad 之后呢?他每天会定时去自动登录到供应商的后台,获取这个余额和实施的成本。 如果成本波动,他会根据我们设定的这个法子, ai 自动帮我们更新这个销售价格,然后把数据同步到我们供应商管理的表格里面,最后把这个结果推送到飞速的机器人里面,通知我们的同事或通知我。第三个 agent 就是 一个推广优化的 agent, 那 他负责是线上推广的,我会把我们几个推广平台的整个登陆方式做成搭建成一个自动化的工作流, 那个规则,还有平台的推广的一些经验数据,我会去为给这个 ai, 让他每天自动登录拉取最新数据,分析效果,对表现不好的关键词这些还有些出价自动去做优化,然后会给出每天的一份报告,推送到飞速给我们去看。第四个 agent 是 一个项目迭代自动发布上线的一个 agent, 因为我们在用 q 代码时去做开发维护迭代的时候,我们每次完成开发 部署上线,需要去走一个代码审查流程,做一些 cei 啊、 cd 啊,然后合并分支,再推送到云峰仓库去做 pr。 整个发布前的备份检查打包是非常繁琐的,那我会在我们这个 codex 里面做了一个自动化的发布的一个 skills, 我 通过这个 skills 直接告诉他把最新开发的内容发布上线,他就会根据我们的这样一个设计流程,在定时的时间里面去自动去发布上线。这样的话我们在凌晨不需要人去等到凌晨去发布这样一个 迭代的版本,定时定到凌晨,他就会凌晨的这个时间去自动帮你发布,然后发布之后他还会再做一轮检查,如果存在问题的话,他会呃飞书通知我们。最后一个就是运营总管 agent, 那 它的作用是代替我们去审查和管理下面这些子 agent, 相当于我们的 ai 附手, 他会汇总前面所有 agent 的 一些报告,审查他们的执行结果。对于不需要我们人工介入的一些问题,那他可以直接去做决策,他可以去下达任务,去给这些指 agent, 让他们去解决一些小的问题。只有需要人工介入的时候,他才 在报告里面推送到飞速里面给我们去了解,让我们人工去介入,那所以我们在做这些自动化工作流的时候,我们 必须要让 ai 把这个社交工具接入进去,那这样的话我们不仅可以在手机里面去接收这些任务报告和通知,我们还可以在手机里面去跟 ai 去交互,去沟通, 或者是下达一些任务指令。只要我们的电脑没有关机,它就可以在我们电脑里面去操作我们电脑,帮我们解决一些问题。那整个架构的搭建我都是通过 codex 加上 harvis 去搭建完成的,目前来说我觉得跑得非常丝滑, 然后我们会在真正的业务场景里面不断去优化,让它越来越顺畅。说了这么多,其实我想传递的一个核心观点就是,在 ai 能力已经足够强的今天,我们真正该做的不是去追逐最新的工具, 而是把 ai 落地到我们自己的业务场景里面去帮助我们提升我们的工作效率。不要今天学这个,明天学那个,真正能解决你实际问题的技能才值得深入投入,否则学的再多也只是工具收藏,而不是创造价值的人。 你现在正在用哪些 ai 工具解决实际问题呢?如果你在学习 ai 工具中遇到什么问题,欢迎在评论区去留言。如果你觉得今天内容对你有什么启发,点个关注收藏,我后续会分享更多 call 大 师实战案例和这段话的一些工作流搭建。谢谢大家,我们下期再见!