您的位置:首页 > 房产 > 建筑 > 800 行开源代码编程助手,命令行版的 Claude Artifacts

800 行开源代码编程助手,命令行版的 Claude Artifacts

2024/10/6 2:28:30 来源:https://blog.csdn.net/lrb0677/article/details/141831499  浏览:    关键词:800 行开源代码编程助手,命令行版的 Claude Artifacts

相信大家都听说过 Claude Artifacts ,而且在前几天,Anthropic 向 Free、Pro 和 Team 计划中的所有 Claude.ai 用户提供 Artifacts。现在,在 iOS 和 Android 应用程序上就可以创建和查看 Artifacts。

不过目前注册 Claude 账号比较困难,需要国外的手机收验证码,而且如果频繁切换 IP 还容易被封号。

但是!今天说的重点不是它,而是另外一个开源的项目,仅有不够 800 行的代码就能够实现一个本地的简易编程助手!

omni-engineer

项目仓库地址:https://github.com/Doriandarko/omni-engineer

如果不能打开仓库地址,或者下载很慢的同学,可以关注下方的公众号,回复关键字 【men123】获取对应的仓库代码

 主函数,一共745行,800行不到,就实现了一个编程助手的功能。

项目主要通过 OpenRouter 作为模型的代理,不需要额外写每个模型的实现,所以这部分也缩减了不少的代码量。

我们还需要配置对应的 API KEY (将 .env.example 重命名为 .env )

而且这个项目提供的是一种命令行的交互方式,通过简单的指令来编写代码,并自动保存到文件中,而且还可以通过后续对其进行修改。

写一个俄罗斯方块的游戏

接下来,演示一下如果让这个小助手来写一个经典游戏。

我们需要先在命令行中,运行 main.py 脚本。

python main.py

然后通过指令创建我们的游戏脚本 game.py (如果想用 html 方式编写,可以创建 game.html ,其他的语言类同)

接着会问你是否需要开始编辑这个文件,而且说出你的需求:写一个俄罗斯方块游戏。

然后代码就会通过 prompt 提示词跟模型进行交互,并且将返回的代码写入到 game.py 文件中。

因为可能会引入一些其他的依赖包,所以需要安装一下,这里使用了 pygame。

最后我们就可以运行一下这个游戏脚本。

如果代码运行报错,或者后续希望增加功能,可以通过 /edit 指令对这个文件进行修改。

重写了一下这个项目

这个项目短小精悍,主要依赖模型的能力还有 prompt 提示词的引导来完成。但是这个项目在国内使用不太方便,所以笔者这边做了些调整,让它支持 openai、gemini 和 ollama,也可以再此基础上去添加其他的模型。

仓库地址:https://github.com/lrbmike/omni-engineer.git

如果不能打开仓库地址,或者下载很慢的同学,可以关注下方的公众号,回复关键字 【men666】获取对应的仓库代码

 增加了不同的模型,主要实现对话 API 的对接。

模型帮助类,主要实现了 main.py 里面相同的方法 get_llm_streaming_response 

在 main.py 脚本中

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com