该项目开源在 GitHub,代码还有很多不完善的地方,非常欢迎指点和交流。
https://github.com/hu-led/CodeLibManager.git
有关管理器功能的更多详细说明请参见github仓库中的README.md文档
这是我在大一的第二份Vibe coding记录。这次的想法是做一个“可复用嵌入式代码库管理器”。在stm32的学习过程中,我积累了不少模块或功能的代码、如按键检测、OLED屏、各类传感器等。在后续的综合性项目中如果要用到这些模块的话,还需要手动到对应的工程里去复制代码文件。有时候这些工程存放位置不统一,找起来非常麻烦。于是我有了做一个“可复用代码库”的想法,存放所有有复用价值的模块代码。后来完成了第一个Vibe coding项目后,又意识到可以让AI来写一个库管理器。折腾了好几天,终于完成了这个管理器。
我设计的核心理念有两个:一是库管理器应该不依赖于平台。管理器可以管理stm32的模块代码,也能管理ch32、esp32等各种开发平台的模块代码;二是始终保持用户与AI agent具有同等权限、可使用同等功能。用户通过GUI、agent通过CLI,都可以相同逻辑的操作。这为agent管理代码库提供了便利。
我目前并不了解专业开发者使用的库管理器是什么样的,支持什么功能。该管理器的总体框架结构,所有的功能,均是我以嵌入式初学者的思维来构思的。可能存在诸多问题或缺陷,代码可能存在不完善的地方。非常欢迎大家的指点和交流,我将虚心听取大家的意见和建议。我也将在未来的学习中持续维护更新这个管理器。
核心功能
- 模块管理:导入、浏览、编辑、验证、删除可复用 C 代码模块(.c/.h),支持搜索、分类过滤、状态筛选
- 依赖解析:自动拓扑排序,检测循环依赖,构建依赖树,展示反向依赖
- 链复制:将一个模块及其全部传递依赖按拓扑顺序批量复制到工程,自动处理分组创建、文件复制/注册、Include 路径配置
- 多平台适配:Keil MDK-ARM(.uvprojx)和 MounRiver Studio 2(.cproject)自动检测与适配,可通过适配器接口自由扩展新平台
- 双接口:GUI(PySide6)供用户操作,CLI(JSON 输出)供 AI Agent 调用
- 库管理:支持多个代码库并存、切换,可对库做重命名、更新路径、管理分类/分组等操作
主窗口:

“编辑模块”窗口:

“依赖链复制”窗口:

项目心得
我认为这个项目会对我之后的嵌入式学习提供较大便利。我经历了一次完整的 发现需求-向AI提出需求-与AI讨论构思项目整体框架-AI编写代码-验证测试与反馈迭代 过程,并在这过程中总结了许多提高AI生产效率和减少不必要的token消耗的策略。
在社团课上,老师提出了一个观点:随着AI的高速发展,coding的人力成本和时间成本会不断下降。以后的部分软件会变成由AI“随用随写”的模式,而非长久以来的“预制菜”模式。虽然本项目的完成远没有到达这种模式,但我认为我已经在向这方面迈出探索性的第一步了。
posted on
浙公网安备 33010602011771号