Skip to main content

A Tool to generate comments and code by AI LLM, support to generate code for java, python.the context is from your design document and the code from import modules

Project description

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,请注意这个注释跟你的方法体之间不能有空行:

      /**-DES
      这里简单的写一下,你的这个方法的功能目标
      */

2.执行Collar <file_nmae>,Collar会生成对于这个方法的详细设计,包括具体的步骤,检查和更正后在注释上加上动作标签-CODE:

    /**-CODE
     *
     * [功能说明]:  
     *
     * [设计思想]:  
     *
     * [实现步骤]:  
     * 1. 
     * 2. 
     */

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://api.siliconflow.cn/v1    
OPENAI_API_KEY=<可以自行到siliconflow注册用户并生成自己的API KEY>  
OPENAI_MODEL_NAME=deepseek-ai/DeepSeek-V2.5    

Collar的规划

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

collar-0.1.16.tar.gz (3.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

collar-0.1.16-py3-none-any.whl (3.5 MB view details)

Uploaded Python 3

File details

Details for the file collar-0.1.16.tar.gz.

File metadata

  • Download URL: collar-0.1.16.tar.gz
  • Upload date:
  • Size: 3.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for collar-0.1.16.tar.gz
Algorithm Hash digest
SHA256 129b7ed1d2be214ed2a44b122fb13ceb279f83205b7c625a5d32e57167768cc4
MD5 ee89e16bd5b2b00fb72754ff770cfbde
BLAKE2b-256 c4a4a75714b6324b85997df5fb8d0c524598747c4769a529e83a3b8ca9f19919

See more details on using hashes here.

File details

Details for the file collar-0.1.16-py3-none-any.whl.

File metadata

  • Download URL: collar-0.1.16-py3-none-any.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for collar-0.1.16-py3-none-any.whl
Algorithm Hash digest
SHA256 b46ad78467cfdfd2064a62fdf3ff18f29e040713120561ef90b87cc90132254c
MD5 9fffe679eab9de39164295048a6b3b6c
BLAKE2b-256 949c672db6c390096863f9799b6e30f2c821bf7dc7567af16283975b5213db3a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page