Skip to content

zzy-git/update_file_use_ai

 
 

Repository files navigation

AI辅助编程系统

项目简介

update_file_use_ai 是一个基于AI技术的文件处理工具,专门用于批量处理和更新代码文件。它利用AI模型来分析、修改和生成代码,适用于代码审查、bug修复、测试用例生成和文档编写等多种场景。该系统提供了灵活的配置选项、详细的日志记录和直观的进度跟踪功能,使得大规模代码处理任务变得更加高效和可控。

开发说明

本项目全程由AI辅助编程工具Cursor开发完成。Cursor是一款强大的AI编程助手,能够帮助开发者更高效地编写代码、解决问题和学习新技术。

主要功能

  1. AI辅助代码处理

    • 利用AI模型智能分析和修改代码
    • 支持多种编程语言(如Java、Python、JavaScript、C++等)
    • 提供多种处理模式:测试用例生成、代码审查、bug修复、文档生成
  2. 批量文件处理

    • 递归处理指定目录及其子目录中的所有匹配文件
    • 支持按文件类型筛选处理对象
  3. 灵活的配置系统

    • 通过命令行参数和配置文件自定义处理��为
    • 支持设置AI模型参数、API密钥等重要信息
  4. 详细的日志记录

    • 配置和初始化日志系统
    • 支持自定义日志级别、格式和输出位置
    • 便于跟踪应用程序的运行状态和调试
  5. 可视化进度跟踪

    • 生成实时更新的进度条
    • 显示处理进度和预估完成时间
  6. 错误处理和重试机制

    • 实现最大重试次数和超时设置
    • 确保在网络不稳定等情况下的稳定运行

安装要求

依赖库

本项目依赖以下Python库:

  • logging:Python内置日志库
  • tqdm:用于创建进度条
  • argparse:用于解析命令行参数
  • yaml:用于解析YAML配置文件

安装步骤

  1. 克隆项目仓库:

    git clone https://github.com/zons-zhaozhy/update_file_use_ai.git
    cd update_file_use_ai
  2. 安装依赖:

    pip install -r requirements.txt

使用说明

// ... (保留原有的使用说明部分) ...

测试

本项目使用Python的unittest模块进行单元测试。测试文件为test_update_file_use_ai.py

运行测试

要运行测试,请在项目根目录执行以下命令:

python -m unittest test_update_file_use_ai.py

配置选项

可以通过修改config.yaml文件来自定义程序的行为:

  • MAX_RETRIES:最大重试次数
  • TIMEOUT:请求超时时间(秒)
  • BATCH_SIZE:批处理大小
  • API_KEY:AI服务API密钥
  • MODEL_NAME:使用的AI模型名称

贡献指南

我们热烈欢迎其他开源开发者为本项目做出贡献!无论是提出新的想法、报告问题还是提交代码,您的参与都将帮助我们不断改进这个AI辅助编程系统。如果您有兴趣参与,请遵循以下步骤:

  1. Fork 本仓库
  2. 创建您的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交您的更改 (git commit -m 'Add some AmazingFeature')
  4. 将您的更改推送到分支 (git push origin feature/AmazingFeature)
  5. 开启一个Pull Request

我们期待看到您的创意和贡献!

文件结构

项目包含以下主要文件:

  • main.py: 主程序入口
  • utils.py: 通用工具函数
  • result_processors.py: 结果处理器
  • api_client.py: API客户端
  • config.yaml: 配置文件
  • file_handlers.py: 文件处理器
  • test_update_file_use_ai.py: 单元测试文件

配置

请参考 config.yaml 文件进行配置。您可以在此文件中设置AI模型参数、API密钥等重要信息。

贡献

我们欢迎各种形式的贡献,包括但不限于报告问题、提交改进建议和代码贡献。请参考贡献指南部分了解详细流程。

许可证

本项目采用 MIT 许可证。详情请查阅 LICENSE 文件。

联系方式

如有任何问题或建议,请通过以下方式联系我们:

致谢

感谢所有为这个项目做出贡献的开发者和用户。您的支持是我们不断改进的动力。

Prompt 提示词指南

为了获得最佳的AI处理结果,针对不同的大模型平台,我们建议使用以下prompt提示词策略:

DeepSeek

  1. 明确指令: 在指令开始时使用明确的动作词,如"生成"、"分析"、"总结"等。
  2. 上下文提供: 简要说明任务背景和期望输出。
  3. 格式指定: 明确指定所需的输出格式。

示例:

生成单元测试: 请为以下Java类生成单元测试用例。该类实现了一个简单的计算器功能。请确保测试覆盖所有公共方法,并包括正常情况和边界条件测试。输出格式应为标准的JUnit测试类。

[在此插入Java类代码]

ChatGPT

  1. 角色设定: 为AI设定一个特定的角色,如"经验丰富的软件工程师"。
  2. 步骤分解: 将复杂任务分解为多个步骤。
  3. 示例提供: 如果可能,提供一个期望输出的简短示例。

示例:

你是一位经验丰富的软件工程师,专门从事代码审查工作。请审查以下Python代码并提供改进建议。请按照以下步骤进行:
1. 检查代码风格和PEP 8规范遵守情况
2. 评估代码的可读性和可维护性
3. 识别潜在的性能问题
4. 提出具体的改进建议

[在此插入Python代码]

请以列表形式提供你的发现和建议。

Claude

  1. 详细背景: 提供更多关于项目和任务的背景信息。
  2. 明确约束: 清楚地说明任何限制或特殊要求。
  3. 交互式引导: 鼓励AI提出问题以澄清任何不明确的点。

示例:

我们正在开发一个大型电子商务平台,需要为用户认证模块生成API文档。以下是负责用户登录和注册的JavaScript代码。请生成详细的API文档,包括每个函数的用途、参数、返回值和可能的错误情况。文档应遵循OpenAPI (Swagger) 规范。如果你对代码有任何不清楚的地方,请随时提问。

[在此插入JavaScript代码]

通过使用这些针对性的prompt策略,您可以更好地引导AI模型,获得更精确和有用的输出结果。

About

AI辅助处理文件的工具

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%