最初在即刻看到这个项目时,我觉得非常有趣,联系了原作者进行探讨。我希望通过分享这个项目,与大家一起探索使用 Claude 3.5 构建复杂项目的能力,逐步将项目从简单到复杂地搭建,就像搭积木一样。
即使是完全的小白用户也可以轻松上手,无需搭建开发环境,只需一个浏览器即可。我还特意录制了视频,帮助大家快速入门,若有疑问欢迎留言讨论。
项目概述
MacAlverse 是一个开源的 macOS 风格桌面环境,完全由 AI 生成的复杂代码构建。这个流程特别适合不会写代码的用户,通过与 Claude 3.5 的互动,用户可以一步步完成从简单组件到复杂功能的搭建。基于这个项目,我还补充了使用 MarsCode 搭建开发环境的内容,小白用户无需自己搭建开发环境即可快速上手开发。详情请查看视频或文章,让你用 AI 成为开发大神。
项目特点
- 组件化架构:项目采用组件化架构,将各个功能模块抽象为独立组件,灵活地构建整个桌面环境。
- AI 辅助开发:通过与 Claude 3.5 的多轮对话,用户可以轻松生成所需的功能代码,免去手写 React 代码的烦恼。
- 高扩展性:基于该架构,用户可以嵌入任何功能,只需将 AI 生成的代码放置到指定位置即可。
使用步骤
- 获取代码:将项目的 README 复制到 Claude 3.5 中,说明你想要实现的功能。
- 生成功能代码:输入具体需求,如“实现一个雷霆战机游戏功能”,Claude 3.5 会自动生成相应的代码。
- 粘贴代码:将 AI 返回的代码粘贴到项目目录的指定文件夹下。
- 运行项目:在本地运行项目,即可看到新增的功能。
构建过程回顾
以下是 MacAlverse 项目作者与 Claude 3.5 合作的过程和思路,非常值得借鉴,特别是在需要构建复杂程序时。
- 初始开发:作者通过 Claude 3.5 生成初步功能代码,所有功能集中在一个文件中。
- 功能拆分:功能完善后,Claude 3.5 协助作者将代码拆分到不同文件夹中,抽象出各个组件和文件夹结构。
- 组件抽象:将 macOS 的各个组件抽象出来,如
<Desktop>
下挂载<MenuBar>
、<Dock>
和<Window>
组件。 - 配置载入:将
<Window>
和<Dock>
的数据从appConfig.js
载入。 - 新增功能:将新功能作为一个新的
<Window>
组件载入。
上述过程均通过与 Claude 的沟通得出,你无需自己编写代码。
示例操作
假设你想在 MacAlverse 中嵌入一个贪吃蛇游戏功能,可以按以下步骤操作:
- 输入需求:在 Claude 3.5 中输入“实现一个贪吃蛇游戏功能”。
- 获取代码:Claude 3.5 返回生成的游戏代码。
- 粘贴代码:将代码粘贴到项目的指定文件夹中,如
src/components/SnakeGame.js
。 - 配置载入:在
appConfig.js
中添加新组件的配置项。 - 运行项目:启动项目,即可在桌面环境中看到并运行贪吃蛇游戏。
通过以上方法,用户可以利用 AI 的强大能力,轻松构建复杂的桌面应用,享受编程的乐趣与成就感。
额外提示
如果你想调试和测试这个代码,但又不会搭建开发环境,该怎么办呢?我这里有一个方法,不用搭建任何开发环境就可以与 Claude 3.5 一起编写代码,构建复杂程序。
注册 MarsCode
我最近体验了一下 MarsCode,觉得特别好用,推荐给大家。它支持主流的编程语言,并且提供了非常方便的 Web 端 IDE,新手建议直接使用 Web 端的 IDE。
新建项目并导入 GitHub
使用 Claude 3.5 创建新功能模块
-
复制项目的 README 内容:
GitHub – ssochi/MacAIverse: MacAIverse 是一个完全由 AI 生成代码构建的开源 macOS 风格桌面环境。我们鼓励贡献者利用 AI 工具编写大部分代码,以确保项目的一致性和创新性。欢迎大家加入我们,扩展这个 AI 增强的虚拟生态系统,添加新应用和功能。
-
打开 Claude 3.5 并启用插件。
- 粘贴 README 内容并输入需求,例如编写一个贪吃蛇游戏。
- 复制生成的代码到 MarsCode 中。
最后,运行代码即可。如果需要安装依赖库,Claude 3.5 会给出安装命令。
安装依赖库命令
npm install
运行项目命令
npm run start
至此,你就可以在这个平台上扩展自己的 macOS 系统和功能了。作者也非常欢迎大家给他提 PR,如果有有趣的想法,可以一起贡献功能。再次感谢作者!
如果大家有什么好玩的 AI 和工作流程的想法,欢迎随时讨论。
希望这篇文章能帮助大家在 AI 和构建产品的路上提供一份微薄之力。如果觉得有用,欢迎点赞、转发和支持!
后记
根据上述项目的思路,我们可以拓展一下,用相应的方法构建不同语言的代码,比如 Python、Go 等都是可以的。
构建复杂的程序也可以借鉴这种思路,在这个场景下,能够创建比较好玩的程序。