Collar
Collar的意思是指collaborate,结尾的"r",表示合作者,这个系统的目的是利用大模型辅助整个一个软件项目的需求分析,设计,开发和测试,以及部署。目前Collar只实现了辅助代码开发的一部分功能。
安装
在已经有了Python和Java的运行环境的前提下,简单的执行:
pip intall collar
如何使用
第一步,在源代码中,方法定义的Java Doc文档中加入动作标签[-DES,-CODE,-DOC,-MOD,-QA,-UNT,-RUN],目前实现了-DEC,-CODE,-DOC.
-DES:生成详细设计。
-CODE:生成代码实现。
-DOC:生成Doc。
-MOD:根据相关的信息,进行当前方法的修改,修改信息请放在注释文档中用<-info>引用起来。
-QA:请大模型进行代码审查,提出修改建议,然后配合-MOD来修改。
-UNT:生成单元测试。
-RUN:执行单元测试,并根据测试结果,提出修改建议。
第二步,通过简单的执行一个命令行,来完成模型调用,代码或者文档的修改:
collar [源代码文件名|某一个目录|]
#如果没有参数,那么就是当前目录,然后遍历目录下所有的源文件,处理源文件中加了动作标签的方法。
功能特点
Collar通过调用大模型来实现代码的自动生成,主要是解决了以下几个问题:
1.采集一个函数方法相关的信息,传入给大模型,让大模型能够基于项目的代码库,来进行代码生成,相对于通用的代码完成工具,这种方式可以让生成的代码贴近实际情况。
2.大模型生成代码后,Collar可以把生成的代码自动更新到源文件中,实现了自动化。
3.与大模型交互的提示词和返回的结果日志保存在~/llm_log文件夹下面。
4.根据项目的架构特点,提供了的特殊的定制代码生成模式,比如对于mybatisplus开发的Mapper类,也可以自动生成sql模板的xml定义。
最佳实践
1.当开发一个新的方法时,先写好方法的定义部分,然后在方法上部加入JavaDoc,请注意这个注释跟你的方法体之间不能有空行:
2.执行Collar <file_nmae>,Collar会生成对于这个方法的详细设计,包括具体的步骤,检查和更正后在注释上加上动作标签-CODE:
3.再次执行collar <file_name>,collar就会在这个方法体内更新生成的代码
命令说明
collar --help
Usage: python script.py [--option] [target]')
Options:
--force: 强制对于模块,类,方法不完整的部分,进行补全。比如一个函数,如果没有Doc,则自动生成Doc,不论是否设置了Action
targe:
可以是一个目录,Collar会处理目录下(包括子目录)的所有文件
可以是一个文件,Collar会处理这个文件
可以是文件名:方法名:动作要求
Action:
-DES:当前是一个最初的情况,下一步是生成设计文档
-CRE:生成代码实现。
-MOD:根据提供的信息,进行代码的修改和优化,信息放在当前方法的文档中,用<info></info>引用起来
-DOC:根据目前的文档和代码实现,按照模板来生成文档。
-QA:根据文档和当前的代码,进行质量检查,并给出改进建议
-TEST:对当前的方法,生成测试用例
-RUN:执行测试
配置修改
要修改的配置主要是~/collar.cfg文件中
OPENAI_BASE_URL=https:
OPENAI_API_KEY=<可以自行到siliconflow注册用户,并生成自己的API KEY>
OPENAI_MODEL_NAME=deepseek-ai/DeepSeek-V2.5
Collar的规划