粉丝2.3万获赞5.9万

在 windows 上安装 openclaw 主要有两种方式,一种是通过 wsl, 二、安装 linux 子系统,另一种是直接在 windows 原生环境安装。虽然 openclaw 官方文档更推荐在 wsl 子系统下安装, 但考虑到我们日常的文件和软件基本都在 windows 主系统上,让运行在子系统里的 openclaw 去操作,它们会存在不少限制,部分操作甚至完全无法实现,因此目前实际使用中还是以原生环境为主。从我自己的实测体验来看, openclaw 在 windows 上直接运行是完全可行的。 若选择直接在 windows 原生环境安装,官方又提供了三种途径,一、 loggs 包管理器安装。 open clone 基于 load gs 开发,可直接通过 npm、 pmpm 等 load gs 生态的包管理器完成安装。二、原码翻译安装 包管理器安装使用的是域翻译包,开发者也可通过 get 拉取原码自行翻译构建并安装。三、官方脚本一键安装。 前两种方式都需要手动配置 note g s get 并满足版本要求,而官方自动化脚本会自动检测环境补全,依赖升级版本,全程无需手动干预。 脚本默认采用 npm 包管理器安装,同时支持通过参数指定使用原码编研安装。那我们这里采用哪种途径呢? 首先,原码安装就算了,毕竟多出了下载原码和翻译的步骤。然后,官方自动化脚本的方式虽然很方便,但这里也不推荐,原因如下,一、 不见得可以一键成功。比如脚本安装 load g s 是 通过 winget 这个工具包,如果你的系统没有 winget 就 会失败,而且默认的执行方式失败会闪退,你很难有机会看到具体的错误信息,这会增加你对安装失败的恐惧。 二、自己不能做主如果我们的环境中没有 loggs 和 git, 脚本会帮我们安装,便利的同时我们失去了控制权,我们无法决定安装的位置,也无法决定安装的版本。 比如脚本帮我们安装的 git 是 绿色版的,没有记错的话,安装好以后环境变量没有配置,也就说日后我是无法在任意目录使用 git 命令的。三、不利于学习依赖脚本。我们甚至不知道 opencloud 安装需要 loggs 以及 git, 同时脚本会在 opencloud 安装完成后自动执行相关命令,进入配置向导,自动部署安装 get 外服务。 如果不看脚本的内容,这些细节我们都不知道。我相信很多人跟我一样,更希望每一步都清洗可控,能够自己动手敲命令完成这些配置,而不是一件交给脚本。因此,这里推荐大家使用第一种方式,通过 load gs 包管理器安装 load gs 常用的包管理器有 npm 和 pmp 两种, ipm 是 官方默认自带的, pem 虽性能更强,但需要额外安装。为了方便起见,我们直接使用自带的 ipm 来完成安装。 openclock 是 load gs 生态的程序,首先需要下载安装 load gs, 截至目前,官方推荐版本二十四,至少二十二点一四加。 我们通过这个链接直接去官网下载安装程序,在官网的下载页面确认这些默认项没问题后,点击这里下载安装程序。安装程序下载好之后,双击运行一路 next, 需要的话,这里可以改一下安装位置,最后有个让你勾选的地方,也不用管,可以不勾选这里点试 later, 等待一会就安装好了。安装好之后,可以打开一个终端窗口验证一下,输入 load 杠杠 version, 回车运行,能够输出版本号,证明 load g s 安装成功。注意,这里一定要在 load g s 安装完成后重新打开终端窗口才行。 note g s 安装好后,按理说可以安装 openclaw 了,但在这之前还需要安装一下 git, 因为 openclaw 安装的过程中有一些依赖的安装需要用到 git。 打开这个链接,直接去官网下载安装程序,来到下载页面后,点击这里下载安装程序,下载好之后双击运行这里选择是 需要的话,这里可以改一下安装位置。如果平时不常用 get 维护代码,只是为了安装 open clone 才安装 get 的 话,可以一路 next later, 等待一会就安装好了。这里可以把默认这个勾选去除,不打开版本更新说明,有兴趣你也可以打开看看,然后点击 finish, 安装好之后在 cmd 中运行 git 杠杠 version, 验证一下,能够输出版本号,证明安装成功。同样需要注意的是,一定要先打开一个终端窗口, git 命令才会生效。 接下来就是安装 openclo 了,这里 powershell 和 cmd 都可以,如果是通过官方脚本安装,是必须用 powershell, 因为那个脚本是基于 powershell 的 语法编写的。而我们这里用任意一款 word 终端工具都是可以的。只是要注意的是, powershell 默认的安全策略会阻止运行, 这时候我们通过这条命令修改一下设置即可,如果用 cmd 就 不会有这样的问题。然后不管大家用哪款终端工具,都建议大家用管理员身份运行,因为在后边安装 getaway 后台服务的时候是需要管理员权限的。接下来我们详细讲解一下安装命令, 这是官方提供的安装命令,但它在执行过程中不会输出任何日制。由于安装本身耗时较长,如果全程没有任何提示,我们很难判断进度,心里会很没底。因此建议在命令末尾加上杠杠 verbos 参数,像这样 杠杠 verbos 的 作用就是显示详细日制杠记指全局安装,作用是把包安装到整个系统都能用的位置, 而不是只安装在当前项目文件夹里。 openclaw at latest 指的是安装最新稳定版,你也可以替换成 openclaw at beta 安装最新预览版,甚至还可以像这样指定具体的版本。安装前,你可以先通过这条命令查看 openclaw 包的相关信息。 比如从这里就能看到当前 latest 对 应的版本是二零二六点三点二四以及 beta 版本所指向的具体版本号。 如果想安装历史版本,你可以通过这条命令查看 openclock 所有可安装的版本。接下来我们开始安装,我这里使用的是 c m d 命令。行,记得要以管理员身份运行。 先用这条命令查看一下当前镜像源,默认是官方的地址。官方镜像源速度较慢,我们通过这条命令换成国内的镜像安装会更快。我们再来查看一下当前使用的镜像源,可以看到已经修改成功了,我们正式执行安装命令。 可以看到加了杠杠 verbos 的 安装命令是有详细日制输出的,我们耐心等待一会儿 later, 等待一会儿后, openclaw 的 安装就完成了。安装成功后,可以通过 openclaw 杠杠 version 验证一下, 可以输出版本号,表明安装成功。另外一种验证方式是通过 i n p m 执行这条命令,查看一下全区有没有安装 openclaw。 安装完成后,我们一起来看一下 openclaw 的 安装目录,这对后续卸载以及理解它的内置技能与插件机制都非常关键。这里是 npm 的 默认全军安装根目录,在 windows 中,它的完整路径为这个 openclaw 命令正是安装在这个根目录下。 我们进入 node modules 目录,里面的 openclaw 文件夹就是 openclaw 真正的安装根目录,它的内置技能插件全在这个文件夹里。我们打开它看一下 scales 目录存放的是 openclaw 的 内置技能,打开后就能看到它自带的全部技能列表。回到 openclaw 文件夹,依次打开 dest extensions, 这里存放的就是 openclaw 的 内置插件。 这里整理了几个常见报错,不过在最新版本中,这些问题已经很少出现,我们简单快速过一遍就好。一个经常出现的错误是这个幺二八错误, 还有一个较常见的错误是这个三二二幺二二五四七七。 接下来我们来看配置部分,从整体上可以分为两大类,也可以理解为两个阶段, on booting 和 reconfigure later, 也就是首次配置和后续重新配置。 openclaw 安装完成后,首次配置必须使用 openclaw on boot 杠杠 insert demon 这条命令, 因为此时工作目录,也就是用户目录下的点 openclaw 文件夹尚未创建,也不存在任何配置文件。这条命令除了引导我们完成配置流程,还会自动帮我们创建工作目录等必要的环境。 后续如果需要修改或新增配置,就不必再使用首次配置的命令了,通常可以直接执行 openclaw configure 或者手动编辑配置文件来完成调整。我们来看这条首次配置的命令, 它的作用是,一、引导我们进行一些配置。二、建立必要的工作目录和文件。主要就是用户目录下的点 openclaw 文件夹,以及文件夹下的 openclaw 点 json 配置文件和一些像 workspace engines 等文件夹。三、将 getaway 安装成后台服务, 这就是命令后边杠杠 install 杠 demon 的 作用。经过我的测试,在 windows 中加不加杠杠 install 杠 demon 效果都是一样的,不加也会帮你将 getaway 安装成后台服务。安装成后台服务就可以实现类似开机自启的功能, 这一块在 windows 中是通过 scheduled task 实现的, linux 中是通过 system d 实现的, mac 中是通过 launch d 实现的。 注意,这条命令最好在以管理员身份运行的终端中执行,因为将 getaway 安装成后台服务是需要管理员权限的。接下来我们进入首次配置的实操演示,在开始前先提醒大家不用紧张,这个过程完全不用担心出错,任何步骤出错都可以重新来过。 视频后面会专门教大家如何重置重来运行命令。在安全提醒这里选择 yes。 回车 设置模式这里选择 quickstart, 该模式的配置项更少,无需手动设置。 workspace 目录、 getaway 端口号等均沿用默认配置。反之选择 menu 的 话,除了 quickstart 的 设置项之外,像是 workspace 目录、 getaway 的 端口号这些都会让我们设置 模型厂商这里我们先选择这个千问 over, 因为它是免费的,同时页面授权的方式不需要我们上来就去其他平台管理。 iprkey 非常适合 openclaw, 新手体验阶段, 等我们确认 openclaw 顺利安装好之后,再去挑选合适的大模型都是可以的。当然这里的免费是有使用频率限制的,不过用来验证 openclaw 的 安装足够了。回车之后,引导程序自动打开浏览器,跳转至千万 chat 的 授权页,让我们登录授权,先回到终端看一下, 此时终端中显示等待授权中。来到授权页,先登录, 登录后点击确认即可完成授权,完成授权后,这个页面就可以关掉了。回到中单命令行,流程来到了下一步。 接下来是选择默认大模型千问 over。 这个模型厂商提供了两个模型,这里是让我们选择一个默认的模型,那我们这里就保持默认。选择第一项, keep current 聊天渠道这里我们选择跳过后边再配置都是可以的。搜索提供商环节同样选择跳过,这类配置均需在对应平台生成 a p r k, 且大多为国外服务上,并非本次安装必须。后边我们再来构建搜索能力 scales, 这里可以选择 yes 表示现在配置技能。在这些技能列表中,我们暂时只勾选这个 kol hub, 提交后会帮我们安装 koluhab 命令, koluhab 是 后期用来安装技能要用的命令,这里要注意选中之后还要按空格键确认,左边显示加号才表示选中了,再按空格键即可取消。 关于这里再说一个细节,这个地方不是在安装技能,而是在为 openclaw 内置的技能安装必要的依赖。 拿我们配置的 klohab 来说,它本身已经在内置技能里了,这个技能是用来教 ai 通过 klohab 命令安装技能的, 但是默认 klohab 命令本身没有安装。我们这里勾选 klohab 表示我们现在为这个 klohab 技能安装缺失的依赖,也就是 klohab 命令。因为我们后期正好会用到 klohab 命令,所以索性就在这里安装了, 不在这里安装也行,后期通过 npm 原子到杠 g 可龙哈布也是可以安装的。回车之后,让我们选择通过哪个包管理器安装可龙哈布,我们选择默认的 npm 包管理器, 之后就自动安装可龙哈布了,本质上就是在执行 npm 原子到杠 g 可龙哈布。 konghub 安装好以后,接下来的几个 key 可以 都选择 low 这些国外的 i p r key 本身我们也没有,后期有需要的话都可以通过技能使用国内对应的服务。再然后这个 hux 的 启动我们也选择跳过 之后引导程序会自动安装 getaway 后台服务自动在新窗口启动 getaway 这个新窗口不要关闭,关闭的话 getaway 也就关闭了, 这个时候如果弹出防火墙的安全警报,我们点允许访问。 最后引导程序会自动用浏览器打开 opencloud 控制页面。到这里,首次配置也就是 on booty 流程就全部完成了。 回到终端这边,我们现在有两个窗口同时打开着,一个专门用于运行 gety 后台服务,这个窗口不能关闭,一旦关闭, gety 服务也会随之停止。 另一个是我们刚刚用来执行命令的终端,可以看到引导程序已经退出,并且提示 onboarding complete 表示配置完成。 这里提醒大家一点,有时并不会自动跳转到 opencloll 控制页面,而是会多出一个选择步骤。如果遇到这种情况,直接选择第二个选项,引导程序就会自动用浏览器打开 opencloll 控制页面。关于这一步,我们再来看看其他选项。 第一个选项指的是在 t u i 中使用 open call, t u i 指的是基于终端的界面视频,后边会教大家用命令进入这个界面。 第三个选项 do this letter, 顾名思义就是完成 onboarding 后不自动打开外部 u i, 也不启动 t u i, 不 过之后随时可以通过命令手动打开。首次配置完成后, 我们先来测试一下能否正常对话,我们发送你好,发现是能够收到回复的。然后我们来看一下工作目录有没有创建成功。我们来到用户目录下,可以看到工作目录已经创建成功, 这个目录在 openclaw 刚创建好时是不存在的,是在 onboarding 首次配置的过程中才创建的。我们再来看一下 kolonhaub 命令有没有被安装。 kolonhaub 杠大 v 可以 输出版本号,表明安装成功。之前我们提到 getaway 被安装为后台服务, 而在 windows 系统里, openclaw 的 后台服务是通过任务计划程序 scheduled task 实现的。我们可以用这条命令查看一下,能看到对应的任务已经成功创建。 如果在 onboarding 配置过程中某一步操作失误,不用担心,随时可以重置。再来第一步,如果还在引导流程里,按 ctrl 加 c 退出引导, 然后执行 opencloll on install, 基本上就能回到 onboarding 之前的状态,也就是 opencloll 刚装好的状态。如果在配置过程中 clonehub 的 命令被安装了,可以再加上这条卸载 clonehub 的 命令,然后你再重新执行 onboarding 的 命令。 再来教大家几个常用命令,这条命令可以随时打开外部 u i, 这条命令可以随时进入 t u i。 这组命令用来操作 getaway 后台服务,只有在 getaway 被安装成后台服务的前提下才有用。 这组命令用来在前台启动 get 外,这种方式是在当前终端窗口中启动 get 外,当前终端窗口如果关闭, get 外也就关闭了。这条命令可以查看 get 外的运行状态。在首次配置过程中, get 外已自动被安装成后台服务, 你也可以通过这组命令手动安装或卸载。值得注意的是, getaway 后台服务卸载之后, openclog getaway start, stop, restart 就 不能用了。最后教大家一个随时查看 openclog 命令的方法,就是使用杠杠 help 参数, 例如 openclaw 杠杠 help 可以 查看 openclaw 后边可以跟哪些操作。 openclaw get away 杠杠 help 可以 查看 openclaw get away 后边可以跟哪些操作? openclaw channels 杠杠 help 可以 查看 openclaw channels 后边可以跟哪些操作。

还没有安装 openclock 或者不会安装的小伙伴们,我建议你们安装一下 tree 啊,这种 a 诊断可以使用 ai 在 本地执行命令行操作,你完全不用懂代码就可以让 ai 帮你完成一大堆的专业配置。今天我来演示一下啊, 打开 tree, 在 对话框中直接把这句话复制给 ai, 这是 openclock 的 官方文档,请帮我根据该文档指引在本地安装 openclock。 好的,我也会把这句话复制在评论区,各位可以在评论区取一下,然后就一路下一步或者允许翠来执行命令操作就可以了。好,用不了多久 ai 就 会显示安装完成,他会在本地起一个外部服务。我们复制这个网址,在浏览器中打开, 我叉无法访问,应该是服务没有启动啊,让 ai 启动服务好,重新打开浏览器。 ok 了,但是出错了,提示未授权,丢失 token, 我 们把这个错误直接复制给 ai, ok 啊, ai 重新给了一个带 token 的 链接,我们复制链接,再次打开浏览器。 好了,这次正常了,跟 ai 说你好,又提示错了是吧?这是没有提供 api k, 它默认的是 osrbic 的 模型啊,那我们不用它默认的,我们用国内的 deepsafe 模型,或者你选择你喜欢的模型也可以啊, 让 ai 直接对接 deepsafe 模型,把 api k 发给 ai, ai 让我选择网关,我们选择本地机器,然后他让他又让我选择模型,直接打断他,告诉他不要再让我选择模型了,直接帮我接入 deepstack, ai 开始一顿操作。 好,等 ai 操作完以后啊,再打开刚刚的网址。 ok, 这次龙虾已经可以跟我对话了,说明模型已经接受成功了。龙虾现在要跟我认识一下,让我给他取名,那我就跟他说,你就叫大龙虾, 我希望你专业干练,然后给我推荐几个签名 emoji。 关于我呢,请叫我老板,我在中国市区。 ok, 发给龙虾基础配置就激活了,现在就可以正式的养虾了,是不是很简单,还没有养虾的小伙伴赶紧收藏养起来吧!

朋友们,你敢相信吗?一个 openclock 的 安装居然需要五百块钱,而且即便如此还是排起了长队,这小龙虾现在到底是有多火啊, 不过今天来了一个直接掀桌的,它就是质朴昨天新鲜出炉的 autoclock。 这个 autoclock 的 本质呢,就是帮你把 openclock 的 一系列安装啊,配置的流程全部帮你封装好了,所以你只需要下载安装一下啊,就跟你在电脑上安装其他的软件一样,没有任何区别。 接下来我就想问,还有谁用不上 oppo 卡的吗?今天我们就来好好的看一下,这个智普的 autoplan 使用起来到底是有多么简单方便。首先安装就真的跟你在电脑上安装其他的软件一样,你只需要到这个官方的下载页面点一下下载按钮, 然后呢双击开始安装就好了。像我这边是 mac 的 话,我只需要把这个图标拖到这个文件夹里面, ok, 就 安装好了。好,打开这个 autoplan 啊,这边 有一个登录页面,我们用手机号登录一下,那进来以后呢,就可以看到这样的一个界面啊,这个就是你跟 opencloud 的 对话的界面,而且在这边它还自动的帮你对接好了。智普专门为 opencloud 定制的一个大模型,叫做 pony alpha two, 新用户登录是会赠送一些免费的积分的,所以你立刻就可以开始使用了,完全不需要你在乌漆嘛黑的密令行里面去配置什么模型啊,输入什么 key 啊等等之类的,甚至还不需要做任何的充值啊,免费直接上手。好,我们跟他打声招呼啊,你好, 可以看到它这边有回复。好,当然如果你想用别的模型的话,在这边也是可以配置的。在这个设置页面这里的 models and api, 这里可以配置你想要的任何模型啊,像国内的 deepsea, mini max, kimia 等等,这些都是支持的。然后如果你想要接入 open ai, 这些模型也是可以的,选择这里的 custom, 然后只要符合 open ai 或者是 entropin 协议的模型,你 都可以使用。这一点我觉得还是必须要给字谱点个赞的啊,虽然说这个 autoplay 是 字谱开发的,但是呢,他也没有强制你必须用字谱的模型,哈哈,好,接下来我们来演示一下让他来对接飞书,那方法是只需要点这里的按钮就好了。 ok, 我 们点一下,然后可以看到他自己在走一系列的接入飞书的流程。 大家看,我的手是没有动的啊,是他自己在做这一系列的操作,直到最后的审核环节啊,这个审核环节我们还是得自己来做, 审核完了以后呢,我们就可以立刻开始来使用了。好,我们给他发个消息,好,可以看到他正确的回复了,然后让他给我们创建一个飞速文档,可以看到他也顺利的完成了这个自动对接。飞速的功能,我觉得真的是太小白友好了。 而且更强大的是他这边还自带了一系列的 skills 啊,覆盖了内容创作、办公代码和营销金融等等高频场景。 在这里可以看到啊,将近有一百个 skills, 所有这些 skills 要么是可以直接使用,要么是你只需要点一下这里的添加按钮,就可以自动的帮你安装配置,好像这里的 obsidian skill, 你 添加好了以后呢,就可以用来搜索和管理你的 obsidian 笔记了,你根本不需要做自己去配置啊,安装啊等等这些麻烦的事情。 当然网上几乎所有的其他的 skill, 这个 autoscale 嘛,对吧?像这个公众号文章搜索的 skill, 我们直接扔给他,然后跟他说帮我安装一下这个 skill。 ok, 很 快它就安装好了,然后我们就可以用它来全网搜索公众号文章了。还有一个非常大的亮点是 openclaw, 它自带了一个改进版的 browser agent, 相对于 openclaw 自带的那个浏览器,它能够稳定地完成多步骤跨页面的浏览器执行操作,来实现长链路的自动化任务。 ok, 以上就是我对 openclaw, 它本质上就是 openclaw, 所以 你在网上看到的所有其他的 openclaw 的 玩法 在 autoclave 里面也都是可行的。只不过是说它把 openclaw 的 上手难度彻底降到了零啊,所以特别适合那些没有技术背景的朋友,或者是不想自己折腾各种麻烦的问题的。 所以如果你之前一直听说 openclaw 怎么怎么样,但是呢,自己搞不起来啊,非常推荐去试一下这个 autoclave。 好, 那我们这个视频就到这里,觉得有用可以点赞关注一下,我是川哥,我们下期见,拜拜!

在你的需求前添加这么一套指令, ai 就 会自动生成需求说明、设计方案、开发计划等文档,你可以逐一审核,确认服务之后才进入开发。 仅此这么一个动作,开发质量就会显著的提升。这种先确认规格文档再开发的操作叫做 sdd, 规格驱动的开发。这些指令来自现在 webcoding 领域很火的 openstack 框架。 web 锚定其实很有门槛,它要求你能够精准地提出需求,需求提的不好,模型就容易做偏,这对个人的逻辑能力和表达能力有很高的要求。为了让 ai 能够高质量的产出,人们引入了很多软件工程的开发方法论,什么 s d d t d d b d d, 还有 d d d, 我也不是专业的程序员,一下子遇到这么多滴滴也是晕头转向的。但其实不复杂,常见的有 sdd 和 tdd。 sdd 是 在入口处约束,要求在开发之前提供清晰的需求描述,不是泛泛的描述要做什么,而是要细知道每一个功能的规格,所以叫做规格驱动的开发。 tdd 是 在出口处管控,要求开发成果通过严格的测试,所以叫测试驱动的开发。当然,这些方法不是对立的,可以结合,像我经常就把 openstack 和 superpower 结合起来用。在这些方法的指导下,社区也衍生出了很多框架, 真的是每隔一段时间就出一个,完全看不过来。但本质上,这些框架都是通过提示词注入的方式,让 ai 严格按照上述方法论进行开发。 openstack 是 比较灵活的一个,那我们今天就重点介绍这个 openstack 有 三个特点,首先是规格文档写的好,仅需一条指令就能够将你的需求按照为什么做、做什么、怎么做的结构化方式裁剪成多个文档。 其次是灵活度比较高,如果你不喜欢他的规格文档,也可以设计自己的文档体系, openstack 帮你管理。 最后是文档管理的好,它的文档管理分成两条路线,一个是通过智能的增删改重命名来维护当前的最新文档, 一个是保留历史所有的变更轨迹。接下来我会介绍三个方面。首先介绍使用方法,主要是这四条指令,其实操作没什么好讲的,太简单了,我们主要介绍一下规格文档的特点, 其次是介绍一下项目的原理。最后介绍如何使用 openstack 搭建自己的文档体系。 首先我们安装一下 openstack, 把这个提示时发送给 cloud code, 它会自动帮你安装。安装完成之后,你可以执行这个命令啊,如果弹出版本,它就代表安装成功了。 openstack 既可以用于现有项目,也可以用于新项目。这里我们创建一个新项目, 在项目的根目录下执行这个命令,进行初步化。接下来选择你使用的工具,基本上主流的 ai 编程工具 openstack 都支持,这里我们选择 cloud code, 都确定之后,它会在你的项目文件下自动安装。 openstack 的 初步化文件包括 command 文件、 skill 文件和一个 openstack 文件夹。 这个 openstack 文件夹用于存储后续开发过程中产生的相关规格文档,我们一会再说。有了 command 文件和 skill 文件,这样我们就可以执行 openstack 的 相关命令了。 openstack 有 两种模式, call 模式是只包含四个核心命令, cursor 模式包含全部的十一个命令,你可以通过这两个命令进行模式的切换。其实以前默认就十一条,可能后来觉得十一条命令太复杂了,所以简化成四条,一般来说,这四条命令也的确就够了。 接下来我们使用 openstack 创建一个 ai 聊天助手,我们会依次执行这四个命令,分别用于讨论需求、创建规格文档、执行开发和归档。首先使用 excel 命令来探索需求, 其实这步不是必须的,如果你可以直接把需求写的很完整,可以直接进入文档生成的环节。但是我强烈建议你使用这个命令,真的非常爽。 来看一下,我直接简单说,帮我做一个 ai 对 话机器人,实现基本功能。我输入问题, ai 给出答复,然后把这个指令发送给 ai。 ai 先问了三个问题,要使用什么前端界面,使用什么类型的模型,用什么结构进行开发? 我答复说要微博页面加国产模型加清亮后端的方案。他根据我的回答,先初步给出设计方案,然后又问了几个问题,要用哪个国产模型,要不要对话历史,要不要流失输出。 所以你看,你不用要求自己一开始就想得很清楚,有个大致的想法就行,剩下的交给 ai 去细化。很多拖延症患者总是卡在想这个环节,觉得想不清楚就不敢动手。使用这个命令,你就可以把自己的思考外包给 ai。 可以 帮助你思考的指令很多,比如说 superpower 有 个 brainstorm, 但我最喜欢的还是 is pro 这个指令,它的提问更全面,而且格式化的表达也更直观。和它对话的时候,我经常有这么一个感觉,这个问题问的好,我咋就没想到呢? 总之多人回答之后, ai 觉得想清楚了,会提醒你可以开始创建文档了。那接下来我们执行 proposition 命令, ai 首先会为这次开发任务创建一个文件夹,然后在这个文件夹下创建相关文档。最后的结果长这样, 要创建什么文档,按照什么顺序创建,每个文档要写什么内容,这些都是事先配置好的。这整个创建过程我们一会再说,先看一下结果。这里有三个文档,一个文件夹,分别表示为什么要做这个事,要怎么做, 要做什么,以及详细的工作计划。 proposal 表示为什么要做,里面会框架性的介绍,需求的背景,需要新增的功能等等。其中这里描述的功能点会被进一步细化, ai 会针对每个功能点详细的写一份规格说明,放在 spec 文件夹下,你看这个文档详细的说明如何调用模型的接口,包括调用什么模型, 如何设置参数,如何处理返回的数据。这些需求其实你在提交给开发的时候也是必须要写的,但是写起来很繁琐,它直接帮你一步到位。想清楚了 在表述上它使用当什么情况则什么情况的句式, ai 最喜欢这种结构化的表达,显得非常的清晰。然后看一下 design 文档, design 文档表示怎么做, 主要是提供相关的基数选型,比如说前端用什么框架,后端用什么框架,模型怎么调用等等。 task 文档则是按照上述的要求详细列出整个开发计划。 这个文档的主要作用是追踪开发进展,在开发的过程中,每完成一项任务,就会在对应的任务前面打上一个叉叉。据说一份好的文档是要把开发者变成无形的执行机器,不要让他们思考,拿到文档就能干活。 我觉得这份规格文档基本上是做到这个要求了,很多讲 sdd 的 文章会花很多时间去讲,优秀的规格文档会更直观。这里有个技巧,可以让文档更符合你的实际需要。 openstack 在 这里提供了一个配置文件,你可以写入全局要求和对每个文档的个性化要求。比如在这个配置文件中的 context, 你 可以写入项目背景、技术选型、文档风格和使用的语言等等。 ai 在 转载所有文档的时候都会参考这段 context。 此外,你还可以进一步地按照这个格式针对每个文档提出个性化要求。比如这里要求 proposal 文件控制在五百个字母以内。写完文档之后,你可以调整修改,直到完全符合你的需要。都确认之后,接下来就可以进行开发了。我们执行 apply 命令, ai 会获取它是可里面的任务计划,获取相关的需求文件、规格文档等等,然后逐步的开始执行。这个开发好完成了,大概跑了七分钟, ai 自己完成了测试,还截了图,我们来看看效果。我们来问一下你是谁? 正常答复说明功能可用。再来讲个冷笑话,我们看看好不好笑。 嗯,一般吧。好,如果我们验证功能没问题,那么这次任务就完成了。接下来我们要进行归档,我们执行阿卡夫命令,也开始归档。 注意看,这是归档前的文件夹,这是归档后的文件夹。这次归档他做了两件事情,一个是在劝阻目录下,把当前任务对应的整个文件夹直接剪切到阿卡夫文件夹中,并且在文件夹名字前加上日期。 这部其实很好理解,我们日常做文件归档也经常这样,把做完的事情扔到另外一个文件夹里面去。另外一个操作是将里面的 specs 文件夹单独的归档到外面的 specs 文件夹中。这里就复杂一点了。 做这个归档时大致有三个操作,第一,如果是新功能,那就将整个文件夹复制过去就行,比如说这次这三个就都是新功能,那就完整复制过去。第二,如果是已有功能新增场景, 既然是已有功能,就意味着原来外面的这个 spec 文件夹已经有关于这个功能的描述了,那么在合并的时候,就要将新增的这个场景直接补充到原来的文档里面,这是新增。第三,如果是已有功能修改场景, 那就不能直接把新功能补充在原来的功能描述后面,而是要直接对原来功能的场景去进行修改,形成一段最新的描述。再总结一下这三个操作,分别是新增文档, 在已有的文档中新增段落,修改已有文档中的段落。这样做的目的是,当以后你要查找整个系统的最新功能时,你只要查找这个文档就行了。是不是有点晕了?没关系,头晕是正常的,不影响应用。晕了就记住一点。 archiv 文件夹中无脑保存每一次文档,而 spec 文件夹中要将历史文档和新增的文档去进行比较,进行增删,改, 一个保留历史的修改轨迹,一个保存当前的最新状态。好,这样我们就使用 openspec 完成了这次功能的开发。或许如果你有新的需求,要新增新的功能,继续走这套流程就可以了。接下来我们简单介绍一下。 openspec 只是一堆 skill 或者 command 的 文件, 后来才发现 skill 只是维护基本的工作流程,根本就没有记录要写什么文档,更没记录文档要怎么写。 openstack 另外提供了一套 c l i 指令给模型执行, 模型执行对应了 c l i 指令之后,后台程序会从各个配置文件中组合出相关的信息,动态的生成文档的章节要求。我们前面介绍的 config 文件就是其中一个配置文件,但这不是最重要的, 最重要的是一个叫做 schema 点样的配置文件。这个 schema 文件的核心结构如下,这里的 artifacts 决定了需要生成哪些文件,每个 id 对 应一个文件,每个文件也有自己的配置项,尤其是这几项。 temporary 表示文档的模板,这些模板默认存在和 skimmer 同级的 template 文件夹中,你可以按照自己的需求去修改这些文档的模板。 instruction 是 关于如何转载这个文档的指令,只有模板还不够,还要有配套的指导, ai 才能写得好。 requirements 是 说明这个文档的依赖文档,这个很重要,通常我们写文档是有顺序的,比如说你要先写完需求文档才能写设计方案,那后端程序就会去解析 requirements 字段,得到所有文档的拷写字段 模型在生成下一个文档时,会先去读取上一个文档,默认的配置下文档的书写流程是这样的,先写需求文档,然后同步写设计方案和功能规格,最后写开发计划。了解完这些配置,再了解工作原理,就很轻松了。我们以 propose 命令为例,介绍一下整个流程。 执行这个命令之后,本质上是将一段提示词发送给模型,模型按照提示词的要求开展工作。首先 ai 会执行这个命令,创建一个文件夹,这个 name 是 ai 根据当前的需求自行命名的。接下来 ai 执行这个命令, 后端程序会解析 skimming 文件,然后返回一个 json 给 ai, ai 就 由此知道要构建出哪些文档,以及用什么顺序来构建。 接下来根据他要构建的下一个文档, ai 执行这个命令,后端程序会解析 scanmail 文档 config, 配置文件、文档模板等相关的文件,再返回一个 jason。 有 了这个 jason 树主模型,就知道他在创建下个文档时,要先读什么依赖文档, 使用什么模板,有什么注意事项。然后他开始写,完成这个文档之后,按照文档的顺序继续执行这个命令, 获取新的文档转载要求,继续创建下一个文档。这个过程不断重复,直到所有的文档都创建完毕。在这个过程中, skill 只负责工作流程,不和任何规格文档绑定 c l i 命令负责动态的生成文档转载要求。配置文件才是最终定义文档的地方,这意味着只要修改配置文件,我们就可以灵活定义自己的文档体系。那么就来到我们今天做一个话题, 如何创建自己的文档体系。大部分人可能没有这个需求,因为官方的文档已经很难打了,我们简单说一下就好。首先执行这个命令会将默认的 schema 项目的 openspec 目录下,接下来你就可以以默认的 schema 为模板进行修改,得到你自己的模板。 首先修改 skimmer 配置文件,你可以删掉某些文档或者新增某些文档,然后设置每个文档的模板和创建命令。具体的修改项我们就不说了,我把配置项的含义完整的列出来,大家如果有需要可以看在修改。 修改完 skimmer 配置文件,其实是修改 templar 下面的模板,按照这个格式确认章节的标题和填写要点。修改完这两项之后,我们可以把 openstack 下面的 config 文件中默认的 skimmer 改为我们当前新的 skimmer, 这样就行了。 操作很简单,难的是你要考虑清楚你的文档体系是长什么样的。这里要注意的是,使用不同的文档体系可能会丧失 openspec 的 一些亮点功能,比如如果你把 spec 删掉了,那么模型就不会输出功能。规格文档在归档的时候,自然也就没有办法将新增功能和历史功能进行整合 好。关于 openstack 我 们就介绍到这里。最后再说一下 s d d s d d 的 有效期已经是被冲锋衣验证了,本质上,它是要求你先对齐需求再进行开发,不要以为只会消耗你更多的 token 和时间。 相比需求不明确造成的来回折腾,这其实是很划算的。我认为 s d d 不 会随着模型升级而消失,因为模型会变聪明,但它永远不会读心术。 另外再说一点,即便你懒得看这些文档,我也建议你让 ai 先写出规格文档再去开发。你不看, ai 会看。在真实世界里,你接触到的开发基本上是不看文档的,在数字世界里, ai 可听话的多了。好,我们今天就到这里,如果觉得不错,请一见三年,下次见。

咱们来聊聊 openstack, 一个能让你的 ai 编程助手更听话的框架。 ai 助手是好用,但你是不是也觉得他有时候给的结果挺随性的?这就导致了咱给的指令很模糊,最后出来的东西也总差那么点意思。 但你想过没,要是能在 ai 写代码之前就跟它先对好需求呢?这就是 openspec 登场的时候了,一个专门为 ai 设计的轻量级框架,它的核心理念其实特简单,就是先沟通再动手。 简单说就是人和 ai 先把需求定好,这样每次修改都有据可查,井井有条。所以你看整个流程就四步,提想法,对需求写代码再验证。 好。那它跟别的方法比起来到底好在哪呢?从这个对比就能看出来, open speck 的 优势就是轻量,而且没什么硬伤。比如说跟 speck kid 比,它就轻便灵活多了,迭代起来特别自由。而且啊,它不像 kira 那 样把你绑死在某个 ide 或者 ai 模型上。 这玩意儿有多火?看看 github, 已经超过两万五千行了,关键是它的兼容性还特别强,支持二十多种不同的 ai 工具, 想试试吗?上手其实超级简单,第一步就用这个 npm 命令全局安装一下,然后呢,进到你的项目文件夹里,问行出使花命令搞定。现在你就能直接给你的 ai 助手提需求了。 哦对了,给你两个小建议,用强一点的模型,然后记得清空上下文。怎么样?准备好让你的 ai 写作变得既清晰又高效了吗?

如果你现在还在纠结 opencloud 到底是装 windows 还是 mac mini, 这条视频直接给你答案。先说一下我的真实经验,我今天尝试用 windows 安装龙虾,花了四个小时才搞定权限问题、环境配置、 load 版本,是一路报错一路调整。我是程序员出身,尚且如此,如果说你是新手, 你真的会被劝退。所以结论很简单,想稳定省时间一次搞定的,直接选 mac mini 就 ok 了。想省钱,手上还有 windows 电脑, 你还想折腾的再选 windows。 但是我要强调一下,咱们要选 windows, 加上 wsl 二,这个不懂 wsl 的 可以去百度搜一下。为什么推荐 macmini 啊,是真的省心,一行命令直接跑起来,不用折腾环境,不用修各种奇怪的报酬, 半个小时部署完成,新手都可以搞定。关键是 mac mini 功耗低,几乎没有噪音,七乘二十四个小时开着当服务器,完全没有压力。再看 windows, 坑是真的多,权限依赖、版本、杀毒、软件干扰,每一步都可能卡住你。所以我推荐 mac mini, 咱们点赞收藏,下期手把手教你 mac mini 怎么装 open cloud。

大家好,我是大树,今天彻底讲透规范驱动开发 openstack 到底怎么落地。不管是个人开发还是团队写作,这套方案直接照搬就能用,解决 ai 编程 多人写作里的所有痛点。有没有发现,现在不管是传统写代码,还是用 ai 辅助开发,都绕不开几个糟心事,需求聊完就忘上下文,全丢在聊天记录里。 i 写代码全靠自由发挥,动不动出现幻觉,写出来的逻辑和需求完全不符。团队写作时,每个人开发风格不一样,代码越写越乱,后期维护代码根本看不懂当初为什么这么设计, 改一行代码炸出一堆 bug。 说白了,不是我们能力不行,也不是 ai 不 够聪明,而是没有一套统一的规范,把需求设计代码牢牢绑定。开发全凭经验,写作全靠沟通,出错全靠补救。而 openstack 规范驱动开发就是专门解决这个问题的, 它不是新的编程工具,而是一套可落地、可执行的开发流程,让开发从无序变有序,从随意变规范。先搞懂核心概念, 落地才不跑偏。 openstack 是 一款轻量化开发框架,专门针对 ai 编程助手和团队协助设计, 核心理念就是变更记代码,先定规范再写代码,先对其意图再执行开发。规范驱动开发和传统开发完全相反,传统开发是需求直接编码测试修复,而 openstack 主导的规范驱动开发是需求 制定规范验证、规范代码实现和规校验,规章沉淀,每一步都有章可循,每一个开发变更都有完整的文档记录,彻底杜绝需求歧义、 ai 幻觉、代码混乱的问题。 简单来说, openspec 就是 给开发力规矩,让人和 ai、 人和人之间先达成百分百的需求共识,再动手写代码,从源头把控开发质量。落地的核心 就是吃透这六步标准工作流,不管是小 bug 修复,还是新功能开发,全程通用,形成完整的开发闭环。第一步,探索需求。接到开发任务后,先不着急写代码,用 open spec exporter 命令梳理业务背景,开发目标潜在风险,明确要不要做,做了有什么价值。发散思考, 暂不锁定细节。第二步,创建变更,执行 openspecnew 命令,在项目里生成专属的变更文件夹,自动创建提案、规范设计任务四大核心文档模板,把每一次开发变更都变成独立可追溯的单元。第三步,编辑规范。这是整个流程的核心, 和 ai 团队成员一起完善规范文档,明确定义需求细节、 b p i 规则、数据模型、边界条件,把所有模糊的需求变成白纸黑字、无歧义的执行标准。第四步,代码实施,确认规范无误后,执行 open spec apply 命令, ai 或开发人员严格按照规范编辑代码,只做规范里原序的修改,杜绝随意改动超范围开发,保证代码和规范完全一致。第五步,核规验证。用 openspec verify 命令自动校验代码是否完全符合规范,检查功能完整性、安全性、逻辑一致性, 不合格就打回重新修改,直到完全达标。第六步,规章沉淀,开发验收完成后,执行 open spec, 而 kef 命令,把本次开发的所有文档、代码、测试报告、全部规章和代码仓库一起管理,变成项目的可附用知识点, 方便后期维护和新人上手。光有流程不够,直接上实操,零基础也能快速搭建 opensback 环境,开始规范开发。首先是环境准备,先确认本地 nojs 版本大于等于二、零点一、九点零,然后通过 npm 命令全权安装 opensback, 安装完成后,进入自己的项目目录,执行初步化命令,适配 code body 等 ai 编程工具,再启动扩展命令,整个环境搭建五分钟就能搞定。日常开发分两种路径,小 bug 修复,简单改动, 走快速路径,一键生成规范文档,快速实施验证新增功能。复杂开发,走完整流程,一步步完善提案,规范设计文档。严格遵循六步工作流,所有规范文档和代码一起提交到 get 代码审时,先看规范,再看代码,彻底解决代码审看不懂、 需求对不上的问题。个人用熟之后,想在团队规模化落地,按照这个节奏来,三周就能成型。第一周,团队成员先在个人项目练手,熟悉工具和流程,形成操作习惯。第二周,挑选真实的小型需求, 走完整规范流程,积累第一批规范文档。第三周,把 open spec 规范纳入代码评选环节,无规范不开发、不合规、不合并。等流程稳定后, 把 openspec 规范文档作为新人入职培训资料,快速让新人了解项目规则。同时建立规范审核机制,定期优化规范内容,让规范驱动开发成为团队的固定开发模式。最后做个总结,推行 openspec 规范驱动开发,本质不是增加开发流程, 而是减少无效沟通,降低开发风险,沉淀团队资产。它终结了 ai 编程的上下文丢失幻觉问题,消除了团队合作的需求歧义,让代码质量可控、开发过程可追溯,长期下来,既能提升开发效率,又能降低维护成本。不管是个人开发者提升开发规范性, 还是团队打造高效协助模式,都是当下最优的解决方案。如果你还在被无序开发、低效协助困扰,立刻上手 opensback, 把规范驱动开发真正落地,让开发变得更高效、更可靠。

今天啊,我跟大家分享一下 openstack 和 superpose 两个工具的融合的使用。首先我们来看一看,你是不是觉得 ai 写代码不太可供,就像拆盲盒一样,第一次生成代码总是有问题, 要反复跟 ai 沟通好几遍才能达到你想要的一个效果, 那么哈尼斯工程化就是你的救命稻草,而 s d d 就是 业类成熟成问的实践之一,大厂们都在用我之前的视频也有过介绍 s d d 的 常用的一些工具, 之前我有介绍过 spec kit, 还有 open spec, superpowers and lin spec 这种轻量级的。 那么网上有不少对这些工具的介绍的文章啊,我认为啊,大部分都是偏理论的,那么你看完之后啊,在实际的项目中依然可能不知道怎么选择,该怎么用, 那么今天我就用实际的项目跟大家做一个分享,怎么把 openstack 跟 superpose 两者结合起来。 我为什么介绍这两个工具啊?是因为我最近啊,我发现 openspec 跟 superpowers 两个配合起来是一个非常不错的一个组合。 openspec 它擅长于需求的这个定义与功能的一个定义, 通过这种描述这种结构化的项目需求,可以明确迭代目标和边界,同时把这个迭代完成之后,还可以通过文档与文档进行同步,让团队协助, 就不再是硬啃代码。而 superpose 他 比较擅长高质量的执行,就像一个高级的开发工程师,质量非常有保障, 它可以制定详细的这个开发执行计划,而且开发完成代码之后,还可以实现这种自动化的代码的测试与质量的保障。接下来我先跟大家介绍一个我自己用 web coding 做的一个小项目,叫做审批参谋, 这个项目呢,我把它定义为是一个一个初阶版的这个智能体的 demo 啊,用户群体是需要经常审批文件的管理者核心痛点就是 经常审批同一个文件或者同类型的文件,每次都要从头 阅读到尾,看这个文件有没有被改过,或者是条款跟之前的有什么出入啊,每次都要从头开始读,如果一篇文章或者一个文档有 好几十页,那么这个是非常耗时耗力的。我通过这个智能体结合大模型, 可以通过智能判定啊,自动判定是否已审批过这个同意个文件啊,如果审批过就直接同意。 那么第二个是可以差异的分析,如果是同类型的文件已经批过了,可以根据你的审批历史,自动的找到类似的文件的差异点,然后提示我们重点关注不同之处,并且结合大模型给出一些省略的意见。 最后啊,我想通过这个智能体记录这个每个用户的这个审评历史,还有我们平时的这个反馈,通过保持这种记忆,完善用户的画像,实现这个智智能体的自动化。 那目前这个项目还存在一些问题啊,这个项目的问题一是因为当时我是想快速的跑这个 demo, 就是 没有考虑这个存储,就是采用最简单的方式,就是本地的嵌入式的数据库 sqlite 三啊, 但采用这种数据库存在一个问题,就是因为它是本地就一个文件啊,容易进行误操作,删除之后数据就丢失了啊,而且它不利于后期的这个扩展和升级。那么第二是网络请求使用的是 这个 x i o s 啊,是没有得到封装的,这个是 ai 自动使用的这个这个内裤啊, 这问题是不便于对请求的拦截,比如或者是,嗯,服务器返回之后做一些拦截啊,比如超市的一些处理啊,都不便于进行统一的一个处理。 那么针对以上的这两个问题啊,我想通过这个 opensbag 和 superpowers 的 结合来对这个项目做一个小小的重构啊。 重构的两个方向是,第一是我们把数据库改成 my circle 啊,这个 my circle 先在我本地跑啊,然后那个 host 是 吧?然后第二是把这个 x i o s 这个原声的这个呃,请求的库改成封装成一个工具类啊, request js 啊,这样呢,便于后期的做圈权,做这个响应的统一处理,还有做一些重试重复的请求后期的一个升升级啊,比如我更想更换浏览器原生的这种飞起这种请求库都是可以的,不影响我的业务的代码的改造。 好,下面我通过项目的实践跟大家做一个呃,这种重构, 先介绍一下这个步骤啊啊,这个项目的一个整体的一个流程啊啊,如果要使用 openstack 呢,你首先要安装相应的插件,之后 对项目进行初步化啊啊,第二就是把重构的这个需求输入给 openstack 这个插件来来进行 嗯,需求的一个定义,那么第四第三是执行计划,这从执行计划开始的话,我们就会利用到这个 superpowers 的, 那么第四我们把这个计划啊执行好,嗯,编辑之后啊,就通过这个 exact plan 这个执行这个计划, 当然这一步的话也可以不用显示的调用,在前面一步 right bands 的 时候,它会提示你是否要开始执行,也是可以进行演示的这种调用的。 那么第五就是我们把这个代码实现之后,我们测试之后也没问题,之后我们就可以通过又回到 opensback 执行这个,那把相关的文档进行同步更改来通啊,进行归到。 那么最后啊,这些都没问题之后,我们可以把这个代码提交到我们的代码仓库,完成了本次的一个迭代的一个闭环。好,流程 大概就是这样,我先给你介绍完毕之后,我们就看一看通过代码层面是怎么实现的。首先启动 ctrl, 嗯,回到刚才那个介绍的这种流程啊,初步化项目,因为我之前已经初步化这个项目了,所以这部分省略了。然后我们进入第二步定语需求啊, o p s x 这个前缀的命令开始啊,就是调用的是 openstack 的 项目的 skill propose, 我 们把我们的需求描述输入给 cloud code, 为了节约时间,我这提前把这个已经敲好了,直接复制过去, 可以看到 openstack 它识别到了,我是要创建一个新的变更, 刚才我们敲了一个 propose, 把我们的需求输输给他,是吧?输给他,现在他进行了一些分析啊,创建了一个这个 propose 的 md 文件 提示,我是不是要创建啊?我这里写 yes, 因为我这里是做演示啊,所以把数据库账号,密码都写到这个 md 文件里面去了啊,正常情况下或者是深实际的工作中,大家不要这样干哦, 这会存在一个账号的一个泄露,然后现在它又提示我是否创建这个 design md 设计文档,是吧?我们选 yes。

今天我们给大家介绍一个在 windows 下配置 open code obsidian 插件的一个问题,在 windows 安装下,它经常会报这样一个错,叫 不能找到 open code, 它让你重新去检查你的安装这样的一个问题。那这个问题后来我查了一下,它到底是什么原因造成的呢?我们可以看一下那个 open code obsidian 的 开源项目,这个项目里面它其实是支持 windows 的, 那么它支持 windows, 它必须要让我们装的是 open code 的 c l i 的 这样一个工具,那 c l i 的 工具它不是桌面端, 它不是桌面端,它是这样的一个工具,要不你装的是这个叫 n p m, 或者你装的是这个叫。我们一般 windows 建议安装的是这个叫 burn burn 的 这样的一个命令,那我们一起来看看它是怎么来装的。首先要装一个 burn, 再要装一个 obsidian c l i 的 这样一个命令,你要装这两个,那基本上就可以了。 好,那我们给大家来介绍一下。首先在 windows 上你要安装的是 node js 的 这样一个,那你可以到 node js 的 官网去下载 node js, 你 可以去下载一下,我们给大家看一下 node js, 你 可以下载 node js download 的 这个位置,你去下载 windows 版本的,你把它下载,下载下来之后你安装一下就好了。 安装完了之后,你要到 windows 的 这个命令行里面去,你可以安到提示符,通过这个 windows 加 r, 然后打 c m d, 然后到这样的一个命令行的环境里面,你去把这两个命令确认一下你是否安装成功了,比如说像我这个就已经安装成功了。好, 那么安装成功之后,再要安装这个通过 n p m 来安装泵打这样一个命令,打完之后你可以再去验证一下你是不是安装成功,这个也安装成功了。 安装成功之后,最后你再打这个爱的杠 g, 这个是全局安装欧邦扣的的这个 ai, 这个就是相当于装了这个欧邦扣的这样一个命令。行,如果它安装成功,你是可以看得到的,那如果这几条命令打出来都是对,说明你的安装就已经成功了,它等于是这样。好在 windows 里面它还有一个比较 不太好的一个地方,你要去找到这个 open code 的 点 c m d 的 这样的一个目录,你可以输这个 where where open code 的 点 c m d, 它会告诉你,你在这样的一个目录环境下,你把这个样的整个一个目录复制下来,黏贴到哪里就黏贴到这个环境里面来, 黏贴到这个 open code 的 这个要执行的这样一个 pass 里面来,你要把整个一个东西全放在这个里面来就可以了,你就 open code 的 杠这个 obsidian 的 这样一个插件就安装成功了。

我们完成了 openstack 的 安装和部署化之后,就可以使用 openstack 了。那在 console 里面使用 openstack, 那 有两种方式,一种方式是我语言自然语言输入的这种方式,也就说我如果有新增什么什么功能或者规章,什么什么内容,呃,或者执行什么什么,那这种方式的话,它会自动地去识别出来这个意图,然后去调用 openstack 相应的命令。而 openstack 相应的命令是斜杠, 它提供了三三个,那第一个是 openspec proposal, 也就是说我如果要新增需求的时候,先调用这一个,然后后面写你的自然语言的相关内容,比如说我要增加什么内容,然后呢?还有的话是, 呃, apply, 那 这个的话就是我去执行相关的,呃,那个,呃提案,也就是 proposal 输入输入之后的生成的相应的需求的文档。呃,最后一个是规档,那我们这边去试试验一下。 呃,首先是斜杠换换齐我这么一个命令,呃,然后具体后面是增加我的需求需求的内容,那我们要看一下具体我们要增加什么内容啊?那我们打开我们的微信小程序这边的内容。呃,我记得之前有一个需求其实没有完成,那我们首先是选择 开始记分。呃,记忆笔这里我记得有一个需求,就是说这里如果说是我是输完, 嗯,那我最后输完第三个之后,第四个希望它能自动的计算出来,而不需要人工的输入。那我们就以这一个需求为例,进行 openstack 的 使用。 那我们整个的记分方式其实可以是三个人,也可以四个人、五个人、六个人,所以说是当输入倒数, 当提案通过之后呢?我们看一下生成的文件,之前也说过它是 openstack, 是 双文件夹的方式,一个是当前已经规范好的文档在这里,然后第二个是修改的,或者说我新增的需求, 那我们看一下这一个,它会自动帮我们创建需求的一个文件夹,里面会有相应的一个内容。我们看一下我们的需求的内容,呃, 非常非常的详细啊,那如果说确认之后,如果没有问题,那我们直接就可以去运运行它还是斜杠,然后选择 apply 就是 执行。然后呢把我们这一个的文件文件夹的一个名称弄进来,然后让它去执行。 ok, 它已经编码已经完成,我们看一下实际的效果,呃,进,继续,继续积分, 呃,确实它已经计算好了,也就最后一个分数是出来了,但是我这个输赢的这个状态还未有改变,那我也让 ai 编程工具帮我们去修改它。 ok, 我 们看一下修改之后的效果, 确实已经完成了。实际上这一个问题,如果我们在,嗯提交我们提案之后,我们去好好的去看一下我们的需求文档,如果发现这一个需求它没有增加,我们把它增加上去,那执行的效果会更好。 所以说我们原来是 webcoding 这种方式,现在基于 sdd 之后,需要把很多的思考的过程或者呃理解的过程放在了我们的文档的查看上。最后当你完成了这么一个需求的开发之后,最后一步就是归党,那么归党的也比较简单,一样的操作, 斜杠,然后归党命令,然后把这个需求需求的文件夹的名称放进来执行。 ok, 归档之后,我们看一下实际的文件情况。首先我整个的劝拒下 已经是在归档这个文件目录下了,然后会有一个 spec 这样的一个文件。呃,然后呢,还有一个已经确认过我 spec 的, ok, 那 这也是新建了一个新的文件,然后生成了一个新的一个文件呃的内容。 它后续如果说我增加了新的需求,在券局里面会新增一个需求文件夹,然后呢,如果我们选用了规档,它会合并到我们的这一个 spec 的 markdown 文件里面,那至此呢,一个需求使用 sdd 这种规范驱动编程这样的方式已经完成。 我们使用的是 open spec 杠 c n, 也就是 open spec 的 中文平替版。嗯,它因为 open spec 是 开源的嘛,那所以,嗯,网上牛逼的人把它进行了一个汉化,那对于中文的使用者来说是非常的友好,但是,嗯,毕竟会有一个时间差。 我看了一下 openspec 的 官网的内容,它实际上对于有些变化。呃,像斜杠命令这样的呃内容,它已经做了一些变更。呃,而且新版它也加了加入了 scares 这样的能力。呃,如果有兴趣的小本本可以直接使用 openspec 这一个。呃,未汉化的版本。

上一个视频啊,我讲了一部分,这个 csd 黄金组合,通过 openspec 和 superpower 来实现一个既有项目的重构的工作。 本来打算一个视频把它讲完的,后来发现这个视频太长了,所以还是分成了两部分。今天讲的是下篇啊, 那么接着上篇的内容来讲啊,但是我今天发现下篇的视频还是有点长,有十九分钟啊,所以建议大家点赞加收藏下来慢慢看。 我想能把这个视频看完的人已经超过了百分之九十九的人,我相信你一定前途无量。 好,那我们进入正题。好,我们可以看到 ai, 他 问我们是否要创建一个任务的 md 文件,这里我们选 yes, 可以, 他 可以看到他已经开始工作了,我们创建了相应的一些嗯文档,然后提示我们这里是不是要好进行 调用。这个开始实施,我们这里不选这个 openspec 的 apply, 这个实施我们通过 superpowers 的。 呃,相关那些命令啊,就是 write plans 这个这个命令来 进行这个代码的编辑的相关的一些工作啊。这里提示词我们写了,就是让它阅读一下,对文件夹里的所有的文档,了解其所有的功能, 那么它就开始调用 superpose 的 这个插件,开始进行相应的一些编辑文件了啊, 然后这里它提示我们是采用什么样的一个方式来执行啊?这里我们一般都是选通过子代理的这种形式,这也是它进行推荐的一个模式,这种效率会是最高的,速度也是最快的。 然后他就开始执行这些相应的任务了。我们可以看到这里有十几个任务啊,一共十几个任务,然后有一定的任务是挂起的,现在已经是完成了一个了,是吧?然后他会陆陆续续的完成这些任务, 在这个任务的执行过程中会进行一些提示,让我们进行确认操作啊,我们一般选默认的操作就可以了,默认他第一个都选的是 yes, ta da da da。 现在全部的任务已经执行完毕了,并且他跟我提交了九个 commits。 那 我们去软件上检查一下到底 正不正常,刷新一下。 这个貌似有点问题啊,一直在加载中, 果然报错了。这个超时,我们去后台看看有没有报错 啊。这个 model 没找到啊,应该是依赖包没有。那么让 ai 帮我们处理一下这个问题,把这个错误复制给 ai, 就 复制到这里这里, 然后先告诉他 接口报错请求报错后台报错的日期, 日期为 看他能不能帮我们把这个问题修复好 啊。他要执行这个安装依赖包的命令啊,让我确认一下,我选择 yes。 嗯,这个问题比较明显了,就是说之前他安装是在全机环境的,但是我们的运行是在这个 python 虚拟环境运行的,虚拟环境也安装相应的包,我们选择默认就行。 如果我们不想每次都点确认的话,这里我们可以选择第二个选项,就不要再问我了,我们试一下, ai 回复我们说已经修复了。 那我们试一下浏览器上重新刷新试试 哦,书记是家的下来了,但是这里前阵还报错哦。 同样的去 告诉维安,让他帮我们修复这个 bug。 嗯,我们告诉 a 的 时候,为了让他尽快的去把问题解决的话,我们一般把问题提的更精准一点,比如说刚才提的是什么页面报什么错。 嗯,我们可以这样说,设置页面加载的时候,前端报错。为 大家注意一下,就是 ai 帮我们写完代码之后啊,第一遍一般都会有问题的啊, 不可能第一把就成功了,除非这个模型特别牛逼啊。 这个错误是因为转换数据库导致的啊,这个数据格式的问题,让他帮我们修复吧, 他在修改代码的时候,你看有些报错误的情况,但是他一般都是能够自行解决的, 最后他又告诉我们物理已经修复了,再试一试, 再试一试,点个刷新。哎,这次没有报错了,点一下保存,看能不能保存呢,哎,保存也可以了,这里之前的 ck nine 的 朱书记也迁移过来了,非常好看看历史, 哎,历史出问题了,历史这个是报五百错误,五百错误,看是 这个接口是吧?那我们告诉他这个接口报五百错误。复制链接 历史页面接口请求报五百错误, 看一下我们后台日期有没有报错了,那我们把这个报错日期也照样粘贴给它吧。 后台报错日记, 我们把后台日记告诉他的时候,他可以决定他找问题的时间,嗯,这很快他就给我们修复了这个问题, 我们再来刷新看看页面啊,又可以了,这个效率还是很高啊。这个 ai 啊, 然后最后一个功能,我们试试这个审批能不能审批吧,这个你选,另外选新选一个文件,帮我省阅一下这个文件啊, 正确的解析到这个文件了,说是第一次审批这个合同,然后这文件他也是把它打了个标, 认为是一个咨询服务合同文件类型咨询服务合同, 因为这个是在请求大模型啊,大模型的话可能在加载的话可能会慢一点,现在正常的输出这个结果了, 那么这个重构的这个工作,所有的功能我们都试了一遍,都是正常的。好吧,我想看一下代码 之前我们看的这个叫它封装成 request 的 这个工具包啊,还是装好了 request, 那我们看一下 request 这个文件, request 点开 啊,这里你看有些全集的这个设置,我们都可以在这个文件里面设置,比如超时时间啊, face u r 啊,是吧?然后这个请求的拦截 头肯,比如说你后面我们要加登录的话,在这里都可以加响应的,拦截的话,我们比如说在 啊重试啊,这些都可以在这里做。这样的话有个好处,就是我们如果是想在所有的请求都加一个 load 效果,或者是要加登录认证,或者加重试,都可以在这个 request 里面加就可以了啊, 然后我们其他的页面的相关的,呃,逻辑都不用变啊,这样就做到了一个统一的处理, 非常好。 然后这个功能我们已经验证过没有问题了,那该怎么办呢?我们就可以通过 openstack 的 一个规档的命令, o p s x r k o 啊,就是这个规档就说明我们这个迭代已经完成 这个 archibald 的 操作,它主要是目的是什么?就是把我们原来在这个清机子 opens 这个 openstack 这个目录下面清机子 的这个文件夹,把它移到 archibald 这个这文件夹下面啊,这样其他同事的话都是可以 在这个 ip 五里面看到当时的迭代的设计的思路啊,然后目的啊,以及设详细的设计都可以看得到。 同时 ai 也可以通过读这些文件了解我们整个的项目的一个业务逻辑啊,设计的一个架构区啊,代码的一些相关的一些逻辑都可以在这个里面看到。 刚才我们说了一个啊,开我命令是吧?开我命令的话,这里的话 它让我们选这个 data specs, excel for initial request and statistical storage both new capability this one see them to main specs before a cow 啊,它提示我们要先要同步啊,就是把相关那些更改同步, 那我们就按照它的默认选项选推荐,我们立刻同步,那么你同步一下,回车 我们可以看到它这里把这个变更分解成了两个,一个是五啊,买 circle 的是一个变更,然后这个中装 这个 request 的 这个 gs, 这个空间内两个变更啊,好,这个 ikeo complete, 那 么回到这个工程里面看一看,嗯,全部都放到这个里面里面来了 啊, 然后 spec 这里面只保留了一个规范 spec 文件, 那么这相关的文档更新呢?我们也一并提交到我们的 demo 仓库啊,这样其他人也可以看得到。当然我们也可以在中单里面直接用 get 的 to meet 命令,嗯,也可以让 ai 帮我们提交, 提交相关代码文档, 嗯,他就调用给它的命令帮我们提交。然后之前我们不是修复了几个 bug 吗?他也一块帮我们提交了。 好,已经提交了, 那到这里我们通过 openstack 和 superpowers 两个工具的融合,实现了这个重构的一个工作 啊,再回顾一下啊,这个是出定需求执行这个写这个计划,然后执行这个计划,他就会让我们一步步的选择,最后我们规章提交,最后再提交代码。 那么最后我们做一个总结,首先我们这个是用 openstack 来来探索这个需求和功能啊,结构化的定义这个迭代目标。然后第二通过 superpose 来代码实现啊, 代码实现之后我们要去验证一个个功能,嗯,一个功能之后可能会存在一些 bug, 第一次可能一般都不会成功和验证功能。嗯,如果有问题的话,我们就 告诉他哪里有问题,并且把相关的报错的认知告诉他,以提高他们这个解决 bug 的 一个效率。 最后呢,通过 openstack 的 这个规章啊,把相关那些代码提交了,把那个文档也提交到我们的代码仓库。

哎,好的好的,大家好,我们今天手动来带大家从零到一部署在自己电脑上面部署一下最近火爆全网的这个 cloud bot 啊,现在已经改名叫 opencloud, 我 们从零开始,首先我们去 opencloud ai 这个官网,然后往下滑,它有一个 one liner 的 这个 quick start, 非常简单,你只要在复制这个代码,然后开一个命令行,然后把它黏贴进去, 它就会自动去安装这个 opencall, 它会去检测联盟装着 homebrew, nojs 和 git 啊,如果没有的话呢,它会帮你去安装,我这边已经有了,所以它自动开始在安装这个 opencall。 好 的,安装完毕,安装完毕的话,它会自动会进入这个 onboarding 的 这么一个流程啊,它也是非常人性化。首先让你先来先签个协议啊,说这个很 powerful, 但也很 risky 啊。我知道了, onboarding mode, 我 们选 quick start。 然后第一步呢,是我们要接一个模型啊,在后端的模型,它虽然就 open call, 它只是一个中间层吧,你后端的模型还是需要用自己的 a p i 的。 之前呢是我我尝试使用这个 cloud code 的 订阅,可以接入这个 open call, 但是前段时间 cloud code 把它给封了,所以现在就必须只能调用 a p i, 所以美国的模型 api 太贵了,所以我们这里选择支持一下国产。我们使用 kimi 的 模型啊, moonshot ai, 然后 kimi 最近也是浪潮了,自己的这个 kimi k two 呃,二点五的这么一个模型啊,能力上据说是跟 opps 四点五非常相像啊,也是很厉害,然后价格可能只有十分之一,所以我们来体验一下,所以我们这里选 moonshot ai, 月色暗面, 然后把我们之前复制好的一个 api key 给复制进去, create a api key, 然后我们选择一个模型,我们就选 kimi k 二点五。然后呢,我们在这里选的是 在第二步呢,是选这个 channel, 就是 call bot, 呃, open call, 它是可以让你用过用你的这个即时聊天软件,然后来调用它的啊,这里就会去配置一下这个即时聊天软件。我在这里选的是,呃, whatsapp, 然后我们来看一下 whatsapp 怎么 link 啊,它会给你二维码,然后我们要拿 whatsapp 扫一下二维码。 好,我们拿这个 whatsapp 刚刚扫了一下这上面的二维码,然后,呃,现在是可以去继续去设置一下详细的配置。 whatsapp, 它里面有一些 phone, 呃,这个是 phone setup 啊, separate phone just for open call。 我 选择用一个单独的电话号码在 whatsapp 里面,然后这里使用,选择 recommended power mode allow form。 说实话不是很知道是干嘛了。嗯,选择 default 好 了,然后下一步呢,是 configure 这个一些技能啊,这里我先不 configure, 但是我们看一下, 呃,这个 open call 它有哪些技能啊?这些技能本质上来说就是它到底能做哪些事情,你可以看它这里有非常多的集成的这个 integration, 就 你的密钥,密钥管理系统 word 是 可以用来发这个 twitter 的, 然后 bear nose 是 可以用来这个记笔记的一些东西,然后有非常非常多的这个,还有什么 g u g 这种 就是 gmail 啊什么的,非常非常多 open ai 啊什么的很多啊,我们这里今天先不配置了,然后回过头也可以再配置,到时候会问你一些问题,要不要这些 a p i key 有 多选? no no, 如果到时候需要的话呢,可以再单独回过头来配置 好。然后最后一步呢,是这个 hook 啊,自动的这个操作,然后它可以在某些特定的环境下面被触发,然后帮你操作。比如说它这里有一个 session memory 的 这个 hook, 就是说它可以在每个赛季结束的时候呢,自动把赛季的这个你们聊天对话记录呢,保存到他们的这个长期的这个 memory 当中。这里我觉得还是开一下比较好,因为 open call 它是自带这种长期 memory 的 功能的,然后如果每每每一次跟他对话,它会更新长期 memory 的 话,你会发现这个 open call 越用越聪明。 好,然后这些都是系统自带的,我就都开了,然后都开了,然后去设置 gateway, gateway 就是 说是呃呃,如如何去开这个?开个关口,然后让可以让这个你在 whatsapp 里面发送的消息被传递到这个电脑上的 open call 里面。这里我之前已经装过了,所以我们在这里的话就是 reinstall 一下。 好,我们这里的 git 已经装好了,我们现在有有有方法去 hack。 我 的 bug 就是 初设啊,初设的话我们可以推荐是走这个 t u i, 也就是它自己会开一个网页,然后这有一个链接好,然后可以尝试发个消息 啊,很可惜啊,消息没有发成功,我要来 debug 一下。哎,好的,刚刚发现是因为自己的那个 kimi 账号没有充钱啊,现在充了钱就变强了啊,我们现在已经可以 跟他对话了,然后我们在终端呢,可以输入这个 open opencloud dashboard, 然后呢我们来重新进进入这个网页的 ui 啊,然后这里呢我跟他说了个嗨,然后他现在会介绍一下自己可以干哪些事情啊?怎么怎么样,怎么怎么样都是英文啊,太,太烦了,我看他看中文那里边啊, 好,他现在等于说一开始的对话呢,他会让你去呃设置一下他的名字是什么,然后怎么称呼我,然后他是干嘛的?嗯,然后同时呢我们我来就展示一下这个我们这个 whatsapp 的 这个能力啊,就你看我们这边, 嗯,其实 whatsapp 上面是可以给大家直接发消息的,然后在这里的所有的信息呢,我们也都可以在 whatsapp 里面跟他呃聊天,然后他就只要你的这个网关是上线的,他就是可以呃去跑的。 那么今天视频就到这里呢,我们就简单的装一下 cloud bot, 未来的话我们也会在这里继续更新一下 cloud bot 到底能在呃能对我的工作流程带来多大的影响啊?期待可以创造更好的内容给大家,谢谢。

hello, 大家好,欢迎来到今天的深度解析。说实话,咱们现在用 ai 辅助写代码的方式,真的正在经历一场彻头彻尾的大洗牌。今天我们要来拆解一个非常有意思的东西,它叫 opensback, 这是一个轻量级框架,它给 ai 编码助手圈子带来了一个新概念,叫做规范驱动开发,也就是大家常说的 s、 d、 d。 咱们先来聊聊这个,大家肯定都遇到过这种情况,你让 ai 在 一个已经跑着的县城项目里加上一个新功能, 结果呢?得到的简直就是一场灾难对吧?一堆毫无逻辑更能跑不通的面条代码, 你想啊,让 ai 在 没有任何明确规范的前提下写代码,那就跟连图纸都没有直接让包工头盖楼一样,它只能靠猜。而在咱们程序员的世界里,猜测往往就意味着极高极高的风险。 所以为了搞定这个痛点,今天咱们的路线图非常明确。首先聊聊 ai 编码到底难在哪?然后看看 openspec 的 s、 t、 d 核心理念,接着咱们把它和其他工具做个横向对比,之后带大家跑一遍实战的五步工作流。 最后再分享几个进阶的成功小技巧,好的直接进入第一部分。 ai 编码的困境,特别是当你的需求全都只存在于长长的聊天记录里的时候,这其实是个超级大坑。 在没有规范的情况下,你丢给 ai 的 提示词往往是很模糊的,导致结果完全不可控,甚至他一生气把你现有的代码库结构都给你改废了。 你想,当你完全指望一个很长的聊天记录去管理一个从 e 到 n 的 迭代项目时, ai 是 非常容易断片丢失上下文的。这就是为什么平时让 ai 写个贪吃蛇小游戏感觉惊为天人,但一进到你们公司复杂的真实项目里,他就立马拉跨的原因。 这就引出了我们的第二部分,也就是 opensback 想要解决的核心, s、 d、 d 理念。 简单来说,就是怎么把你的想法和 ai 的 执行力完美对接起来。它的核心口号其实就这几个字,在构建之前达成一致。听起来是很简单的一句话对吧?但绝对是个真正的游戏规则改变者。 也就是说啊,不管你是人类开发者还是 ai 助手,在哪怕一行代码被敲下去之前,双方必须要对具体的规格说明和架构设计完全对齐。这种方法非常暴力且有效地掐断了 ai 的 瞎猜,给你带来真正的确定性。 那么放到现在的工具生态里来看, open spike 到底是个什么段位?咱们进入第三部分对比一下。 你看这张表就一目了然了。像 gitop 出的 wspiket, 东西是好,但是太厚重了,有革重严格的阶段限制,它其实更适合那种从零到一的全新项目。 阿玛索的 qo 呢,又把你死死锁在了他们家的 ide 和特定模型里,如果咱们什么都不用,那纯粹就是一团乱麻。 而 openspec 呢,它刚好踩在那个最舒服的平衡点上。它不仅清亮,专为从 e 到 n 的 项目设计。最觉得是它不挑工具,原生支持了包括 colode、 code、 cursor 甚至 codex 等等二十五种以上的 ai 助手。灵活性拉满理论听完了,咱们直接上硬菜。 第四部分,在现有项目里,这套五步工作流到底是怎么跑起来的?你看,就是整个流程的视觉路线图,他把添加新功能这件事拆解的非常结构化,提议、审核、实施、验证。最后一步是归档,咱们一步一步拆开看。 第一步提意,打个比方,你现在手头有个现成的 ios 番茄钟应用,你想加一个自定义专注时长的功能,这时候你就敲一个命令,叫做斜杠 ops x 冒号 propose, ai 马上就会去扫描你整个项目现在的代码,然后给你起草一份非常详细的计划。这份计划不仅有需求,还会找你澄清细节。比如 a, 你 这个自定义时长最大允许填多少?是一百八十分钟吗? 交互是用滑动条还是文本框?所有的东西都在这个阶段被揪出来,定义清楚, 然后进入第二步审核阶段。这时候啊, ai 已经把写好的 markdown 规范文件甩给你了,你就在自己平时用的 ide 里直接看。 这里最爽的一点就是,任何没有死板的限制,你可以自己上手去改这些文件,或者直接用大白话让 ai 去微调,直到你觉得这份施工蓝图完美无缺为止。这就是咱们刚才反反复复强调的,人类和 ai 在 规范上彻底对齐。 蓝图定好了,接下来就是见证奇迹的第三步实施,你只需要敲一行命令,斜杠 ox x 冒号 apply, 因为之前有了那份你亲自点头批准过的规范文档垫底, 现在 ai 终于可以安全按部就班地自动写代码了,他绝对不敢再去放飞自我了,而是像个老黄牛一样严格照着商议好的任路清单一行行写,这种零猜测的确定性真的太让人安心了。 代码写完了,第四步肯定就是验证了。回到咱们的番茄中,你要做的就是在你的开发环境里跑一下,看那个全新的自定义时长菜单出来了没有? 点一下开始,看看他到底有没有乖乖按照你设定的,比如四十五分钟开始倒计时,确认代码表现跟文档里写的一模一样就行了。 最后第五步,归党。这部简直就是强迫症的福音,当你运行归党命令的时候,他会把刚才完成的所有变更和归换自动合并到项目的主架构文档里。 这不仅留下了一份完美的审计追踪记录,还顺手把你的工作区打扫得干干净净,马上就能迎接您脑子里冒出的下一个绝妙点子,哪怕你们团队里每个人用的 ai 助手都不一样,整个协助也能保持得清清楚楚。 好的,最后,我们来看看第五部分,给想要马上动手试试的高端玩家准备了几个进阶避坑小技巧,帮你把 ssd 的 威力压榨到极致。 首先,基础建设要搞好,确保你的环境, note g s 版本在二点零一、九点零或者以上。 其次,模型千万别扣门,因为这种拆解需求的工作非常吃逻辑,官方强烈建议你换上具有强推理能力的顶配模型,比如 clod ops 四点五,或者是 gpt 五点二。最后,也是极其容易被忽略的一点,划重点了啊,注意你的上下文卫生。 在启动第三步,也就是施舍写代码之前,顺手清理一下之前的聊天窗口,给 ai 一个纯净的环境,它才不会被之前的废话绕匀。 好了,咱们今天的解析就到这里,既然先对其再动手,这种方式能够把曾经那种像开盲盒一样的 ai 写代码过程变成一种真正可预测的工程化体验。那么问题来了, 你今天终于敢把哪个之前连碰都不敢碰的高风险功能放心地甩给 ai 去帮你实现了呢? 别再让 ai 靠猜给你写 bug 了,赶紧把规范驱动开发用在你的复杂项目上试试看吧!感谢大家的收看,咱们下次深度解析,不见不散!

hi, 大家好,欢迎来到今天的深度解析。作为工程师,你肯定经历过那种让人抓狂的时刻,对吧?就是你给一个多阶段的 agent 随便丢了一句提示词,指望他能帮你搞定一个复杂的任务。结果呢?跑到一半,他的思路彻底断了,甚至开始在哪胡编乱造 api, 你盯着屏幕,根本不知道哪一步出了幺磨子。今天咱们就来彻底解决这个问题。我要给大家介绍一个结构化救星, o p c 框架,也就是一人公司框架。 我们会直接拿一个真实的 openstack 变更流开刀,掰开揉碎了,看看它到底是怎么从最初的输入,一步步稳稳当当走到最终校验门的。 好的,这是咱们今天的路线图,咱们会按时间顺序从底层的架构原则启动接入,一路讲到核心的变更流、执行状态交接,最后是退出验证。当然,最后还会给大家送上一份超级实用的调试指南。 ok, 咱们先从第一部分开始架构与运行原则。先来摸清 opc 的 仓库地图。 在让 agent 跑起来之前呢,咱们得先在脑子里建个地图。你想想,为什么面对随口说的一句提示词,多步骤的 agent 那 么容易翻车?其实原因很简单,如果没有极其严谨的协议约束,这种复杂的任务在多部流转中百分之百会丢掉他的思考链条。 这就引出了我们非常漂亮的一个解决方案, o p c harness, 也就是总控。如果你是第一次接触这个技能包,听好了,你可以把它想象成根目录下的超级交警, 他自己其实不干具体的活,不且代码,但他是一个绝对的掌控者,他强硬地把诚心路由分配、状态管理、主机能执行,还有收尾和回报死死地串联在一起。 接下来看这个对比。这一点特别关键,也是大家最容易搞混的。你得区分开什么是 protocol 协议,什么是 playbook 剧本儿。 左边 references 目录里的协议,那是法律,是死规矩,接口怎么定义就怎么来,没有任何商量的余地。而右边 playbooks 里的剧本呢?它是针对具体场景的最佳实践是告诉 agents 在 某种情况下推荐你怎么做的工作流。 明白了规矩,咱们进入第二部分,看看启动阶段, agent 是 怎么稳稳当当接下任辱,守住起跑线的。 整个流程的起点啊,永远是 o p c context intake, 也就是澄清门禁,它负责干嘛呢?就像安检一样,查查有没有什么致命的缺失信息,或者能不能用默认值对付过去。如果信息不够,对不起流程,直接卡住,绝对不下菜。 安检过了之后, o p c router 路由器才会接受来安排执行的优先性,最后输出一个执行计划。 这一部最最关键的产物,就是这个 root contract 路由合同。这是一份极其标准的协议,上面白纸黑字写清了用户的意图,你要干嘛,用什么主机,能遇到问题怎么降级?还有各种接口证据。 记住,除非这份合同完整生成并且验证通过,否则 agent 连一步都别向,往前走 好,起跑线守住了。第三部分,咱们直接进入执行阶段,来看一条 openspec 变更提示词的真实生命周期。 这里我要特别强调一条铁律,这可是严格基于 playbooks 和执行模型描述写下的。如果在你的输入里检测到了 u i 元素,比方说你丢了个 fake 码的连接进去,那么听着, 不管你的主任务有多十万火急,流程必须强制绕道,他必须先去跑 opc design context, 抓取设计上下文,这里头绝对没有任何即兴发挥的空间。 这样以来,整个 openspec 的 核心执行进度就非常清晰了。你看,先过澄清门禁,发现 figma 就 去读图。 这两步搞定后,系统才会真正唤醒并执行主要的 openstack 子技能。最后再老老实实按照交接协议把做好的东西递过去,这整个链部完全贴合咱们前面说的剧本描述,严丝合缝。 第四部分,技能跑完了,咱们聊聊怎么交接,怎么在流转中保持线索不断。 咱们都知道啊,主机能跑完,绝不等于万事大吉。如果在交接的时候把关键数据弄丢了,那之前都白干了。所以我们需要 o p c state, 这就是 agent 的 记忆中书, 它实际上就是个 state day jason 文件里面死死记录着咱们走到哪一步了,还有啥没确认,依赖像是啥,你可千万别去预测它的行为,它就是一份纯客观的用来防丢的记事本儿。 你看这张图,它相当于咱们 o p c 的 部门的导航。其实状态交接就是在这些职责分明的子技能模块之间传球。就拿咱们的 open speck 变换流来说,产品与变换模块处理完之后,下一个动作就是干净利落地把状态球传给构建与平射模块。 球传过去之后就进入了 post chain, 也就是后置链路。这可不是随便结束的,它是为你量身定制的收尾动作。比如 openspec 流程,它肯定会触发 o pcm review 这种门禁,干嘛用呢? 就是强制让产品经理视角的逻辑来复合一遍,确保你这产出物完全符合咱们一开始定下的剧本标准。 好了,第五部分,咱们终于来到了流程的尾声,退出校宴门,来看看怎么验证 agent 的 最终工作。 在这儿,系统绝不能轻飘飘甩下一句,我搞定了!就算完,任何 agent 都没法绕过这个 exit gate, 也就是退出校宴门。 在这里, opc reporter 必须得生成一份人能看懂的结构化报告,作为工程师,你就是拿着这份报告去跟一开始那份路由合同逐条兑现,这就是你验证 agent 到底有没有乖乖履行协议的终极武器。 那么万一出错了怎么办?这就是咱们第六部分的内容了,专为工程师准备的调试指南,教你怎么精准定位断掉的链条。 各位第一次接触这套机灵包的朋友,听我的,赶紧截个图,当你的 openstack 流程崩了,这就是你的排错圣经。一开始就跑偏去查路由合同的 intent, 意图跑到一半卡死。赶紧打开 state 点 json 看看是不是缺了依赖文件 做出来的东西。不对劲,去扒后置脸录,看看交付物是不是跟剧本冲突了。只要照着这张表上的关键属性去查,你绝对能把 agent 的 错精准揪出来。 这就引出了 o p c 框架最不可触碰的底线原则,简直太经典了,绝不伪造外部结果,如果紫技能缺失或状态损坏,应当优雅降级。 意思就是如果 a 阵发现自己少了个子技能或者状态文件坏了,他绝对绝对不会给你编造一个假的 api 响应来糊弄你。这种严格的降级策略从根本上保障了整个系统的可信度。 好了,咱们总结一下,今天咱们把 openstack 变更流从怎么接入怎么签合同一路扒到了最后的椒盐门,连怎么调试纠错都弄得清清楚楚,整个执行模型可以说极其严密, 但是在最后,我想留给大家一个非常现实的思考题, opc 确实能用这些冷冰冰的合同把 agent 管得服服帖帖,一点儿幻觉都不生。 但是你们的团贷准备好了吗?你们现有的组织流程真的能够接住并且在现实里落地这套如此严苛的运营合同吗?大家好好想想吧!今天的解析就到这里,咱们下次再见!