猫窝私语 — Makumo's Blog

玛酷猫的温馨小窝,记录生活点点滴滴。

@玛酷猫3 周前

03/9
00:50
AI

从零开始用AI搓网站(二)

无数次历史都证明,重启能解决一切问题,如果不行,那么就再重启一次。重启以后编译器问题解决了,终于能快乐的输入hello world了。

下一步就是开个github仓库,这样有兴趣的养虾人可以自行去上面看看iFlow是如何一步一步编写代码的。由于自己本来就有github,直接新建一个叫cpp_practice_website的仓库,可以在activity里面看到每次提交内容。由于很久前配置过github密钥,将仓库地址喂给iFlow,第一次push意料之中的失败了。给出的提示是访问被拒绝,那大概就是密钥的问题。翻了下用户的.ssh/目录下,才发现之前配置过config文件,里面针对不同的host使用不同的密钥。重新将使用正确的host的github地址交给iFlow,再次push依旧报错。检查了下github后台管理的公钥列表居然是空的,估计可能时代太久远了,密钥更换了格式/或者单纯过期了。先解决密钥问题,用命令生成一对密钥

# xxx随便写,就是个备注,最后面是文件名,和其他区分,单独起了个名字
ssh-keygen -t rsa -b 4096 -C "xxx" -f id_rsa_alittlesir

然后将公钥上传到github后台,终端用命令测试下

ssh -T git@github.com

正常情况会得到github的欢迎词,Hi xxx! You’ve successfully authenticated, but GitHub does not provide shell access.
着我这却显示:“Error connecting to agent: No such file or directory”,查了下,是说open-ssh服务没开,用命令启动open-ssh,提示:无法启动ssh-agent服务,错误:1058,查了下系统设置,服务里面居然没有open-ssh。在设置->系统->可选功能->添加可选功能里面,显示open-ssh服务已经安装。估计是这个服务坏掉了,老办法,卸载重新安装,安装完了后测试了下,没有问题。可以正常的提交。
之前在处理编译器的时候iFlow尝试各种方案,其中有种就是把绝对路径写入代码里面,这显然是不安全的,让iFlow检查所有的文件,查看是否存在盘符的情况。

接下来的功能就是添加参考答案,直接对iFlow说:新增结构存参考答案,在前段新增查看参考答案的功能。
iFlow直接在题目的json结构里面,添加了参考答案,并且在前段添加了显示参考答案和将参考答案填入编辑器的功能。分分钟就出来了,效果看着还不错。

今天刚看到58大神沈剑的公众号提到“龙虾”的安全性问题,于是仿照文章的说法,也给iFlow加上了一些简单的规则,也添加了备份的规则。同时iFlow自身也有一定的判断,中高风险的操作也会在界面询问是否执行。iFlow对规则理解有些偏差,当我让它添加某一个规则,就比如修改.md文件的时候自动备份,它总是写出一个程序代码来实现,需要反复和他说这是你的角色规则,不需要额外的代码编写,他才会把这个写入自己的AGENTS.md文件中。

之前创建基础结构的时候自带了3个题目,我便问它这3个题目是你的知识库还是即兴生成的,它居然忘了,说是我或者其他开发者创建的,我和它说这个文件夹下面所有文件都是它创造的,我没有任何参与,它才承认,蛮有意思,然后我就让它在创建50道题目,嘿嘿

——two thousand years later——

经过漫长的时间,终于完成,还给了一个清单

接着就是经典的json格式问题,又让它修了半天。
由于数字数位问题,习题编号不连贯,我让它将所有数字数位全部改成4位,它也理解我的意思,但是在执行命令的时候出现严重的问题,

问题很严重!很多文件的 JSON 格式都被破坏了。这是因为 PowerShell 的替换操作有问题。让我检查一个损坏的文件
我看到了问题!description 字段中的中文被破坏了。这是因为 PowerShell 的文件操作可能使用了错误的编码。让我使用 Node.js来修复所有文件。我需要从 git 恢复这些文件:
问题已经提交到 git 了。我需要重置到之前的状态:
糟糕!文件已经损坏并被提交了。我需要删除所有损坏的文件,然后重新创建。让我先删除 problems 目录:

感觉这个问题让iFlow一步一步崩坏了。我及时按esc取消了iFlow的进一步操作,由于已经从git回滚,problems下面包含没问题的1-50题目,和有问题的0001-0050题目,AI这块貌似不会处理了,准备一起干掉重新生成题目,那又要“two thousand years later”了。只能有人强制介入指挥它来行动,删除0001-0050这些有问题的题目,剩下的1-50题目检查JSON问题,都检查完后,做一个submit,免得再操作失误,回滚又要修正这50个题目里面的几个json问题。紧接着我询问你有没有其他方式更换4位数字。它在一顿尝试使用shell、脚本、node、python得到各种报错后,和我说PowerShell就是垃圾,太复杂了。咱还是不要动文件了,直接改前端显示页面吧。

随后又修改前端代码解决顺序问题。由于题目增加,页面左侧题目变长,我询问该如何处理,它给出了一些列处理办法。

小孩子才做选择,当然是全都要了。这次修改倒是挺快,完成后页面像这样。

终于有点像样了。今天就折腾到这吧,顺便查了下token用量,好家伙,一晚上直接干掉3千万。所以说养虾有风险,入行需谨慎。

项目地址:https://github.com/makumo/cpp_practice_website/ 有兴趣的可以去围观

从零开始用AI搓网站(二)

@玛酷猫3 周前

03/7
23:11
AI

从零开始用AI搓网站(一)

书接上回,装好iFlow CLI后,本地新建了一个aiprojecct文件夹,打开终端,进入该文件夹。运行

iFlow
#会打开浏览器跳转到心流平台登录认证
/init

iFlow将自动分析文件夹现有的文件目录(虽然是个空的),并生成AGENTS.md文件,并将一些基本环境信息写入其中。最有意思的是它根据文件名,“猜测这可能是一个计划用于AI相关开发的Node.js项目”。(新建文件夹的时候建到Node_project文件夹下了)随后给出了建议步骤。

初始化完成给,我给了它一个简单的需求:这是一个网站项目,网站用途是练习C++语言,网站会显示一些题目,用户需要在指定区域用C++编写需要的程序,提交后,网站会根据输入输出结果判断用户编写程序是否正确。
iFlow分析完这个简单的需求,梳理功能,项目结构建议,开发步骤,并给出两个技术栈方案。

我再次询问:建议采用哪种语言编写
iFlow给出了它的建议和理由,并询问时候开始搭建

回答当然是开始搭建
紧接着就是iFlow的亿顿操作猛如虎

感觉这不是一会半会能结束了,就去干别的了。

——two thousand years later——

等我再回看来得时候,iFlow已经干完了,并给出了下一步操作

那当然是安装依赖并启动了
又是亿顿操作,然后和我说已经完成了,并给出了测试地址,同时还生成个3道测试题目,第一道题目还是最经典的“Hello World – 输出 “Hello, World!””
当我满怀期望的打开测试页面,等待我的是一片空白。。。。反馈给iFlow,iFlow先是发现缺少某个依赖,加上后再让我重试,刷新页面后依旧空白,再次检查后才发现缺少bundle.js的引用,再次让我刷新,这回不是空白了,出现了标题,但是练习题不显示,继续反馈给iFlow,iFlow在代码中添加了很多console.log日志输出排查,最终发现习题的json格式错误,修正后,页面显示终于正常了。并且给出了hello world习题的答案给我测试。

看到页面刷出来的时候,“amazing!”脱口而出,右边填写给出的答案,现实却是比较残酷的,测试结果直接是错误。
再次提交给iFlow,iFlow多次排查错误后,找到原因,没有C++的编译器,被给出了解决办法

然后最坑的地方到了,MinGW-w64官网下载速度慢的令人发指,于是用planB,使用MSYS2,这个现在倒是还能接受,安装完后,按照提示安装mingw

pacman -S mingw-w64-x86_64-gcc

安装也完成,也把bin添加到系统PATH环境变量
然后再终端测试c++,各种提示没有该命令,估计要重启电脑试试。
重启倒是不急,继续安排iFlow工作,生成项目文档、API文档、开发指南文档,随后创建git控制。由于要重启电脑,让iFlow将目前的对话内容保存起来,形成文档,方便以后查阅。
都处理完了,接下来就准备重启,看看如何解决C++编译器的问题了。

从零开始用AI搓网站(一)

@玛酷猫3 周前

03/6
23:56
AI

从零开始用AI搓网站(零)

最近龙虾(OpenClaw)横空出世,火到全网,大家都在纷纷养虾,分享养虾经验。网上甚至还出现上门安装业务,居然收费高达500,理解不能。作为一个不甘落后、海鲜过敏的程序员大叔,也投入到折腾龙虾的汪洋大海中,一番扑腾,一身鱼腥。事实证明,龙虾好弄,养起来很难。
OpenClaw官网很简洁,安装命令只有一条,本体+依赖+环境统统一步到位

# Works everywhere. Installs everything. You're welcome. 🦞
iwr -useb https://openclaw.ai/install.ps1 | iex

在powershell里面直接输入运行就能完成安装,但是也仅仅是安装,光配置就能难倒一大群人。首先是纯命令行的模式,让习惯使用UI配置的人直接麻瓜了,其次OpenClaw虽然是开源免费的,但是它需要一个大模型的API KEY,而大模型基本都是收费的,实际用下来token消耗相当的感人。所以如果只是尝鲜,建议还是再等等,以现在的发展趋势,过几个月各方面会更成熟,token的价格也会更便宜些。

正准备洗洗鱼腥,在岸边看别人养虾的时候,发现了阿里的iFlow CLI,主打一个包含各大模型,关键是token免费。这不弄只养养太对不起他的免费的价格了,养“虾”最好的方式莫过于找个项目实际操作了,于是乎就有了这个系列。之前朋友提起过他家孩子想学编程,需要一套检测学习成果的系统,当时想想开发起来蛮复杂的。正好可以用iFlow CLI从0开始搓一个C++学习网站,边搓边学习AI的调教。原则上自己不参与任何代码的编写,只提要求和看结果,其他完全交给AI。

说干就干,首先是安装,iFlow CLI需要Node22版本以上,控制台里面看了下环境,电脑居然有Node,也不知道啥时候装的,查了下版本,9.0,也是个古董版本。卸载了,从官网找到最新的版本,下载,安装。按建议安装了微软的终端Windows Terminal用来替代自带的PowerShell,安装好后打开终端,输入

npm install -g @iflow-ai/iflow-cli@latest
#测试安装成功与否
iflow --version

安装完后就可以干活了,具体工作就放在下一期。
PS:贴下今天的成果,网站一共创建了20个文件,共9652行代码。使用默认glm-4.7大模型,token使用量到了夸张的14,722,468,要是按照行情,每百万7块钱,一张毛爷爷没了。

从零开始用AI搓网站(零)