Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

代码分析器插件 (Code Analyzer)

一个基于 AstrBot 的智能代码分析插件,通过 LLM 大语言模型为你提供专业的代码分析服务。

✨ 功能特性

  • 🔍 全面的代码分析

    • 自动识别编程语言
    • 分析代码功能和用途
    • 计算时间复杂度和空间复杂度
    • 检测潜在错误和安全隐患
    • 提供具体的改进建议
  • 🤖 智能LLM集成

    • 使用 AstrBot 配置的 LLM 模型
    • 支持自定义 LLM 提供商
    • 自动选择最佳模型进行分析
  • 👤 人格化回复

    • 支持启用/禁用人格化回复
    • 根据设定的人格生成友好自然的回复
    • 让代码分析过程更有趣
  • 📝 灵活的命令格式

    • 支持 /代码分析 <代码>
    • 支持 代码分析 <代码>
    • 简单易用的交互方式

📦 安装

  1. 将插件文件夹放入 AstrBot 的 data/plugins/ 目录
  2. 重启 AstrBot 或重载插件
  3. 插件会自动加载并可用

🚀 使用方法

基本用法

在 QQ 聊天中发送以下格式的消息:

/代码分析 def hello():
    print("Hello, World!")

或者:

代码分析 for i in range(10):
    print(i)

示例

Python 代码分析:

/代码分析 def fibonacci(n):
    if n <= 1:
        return n
    return fibonacci(n-1) + fibonacci(n-2)

JavaScript 代码分析:

代码分析 const arr = [1, 2, 3, 4, 5];
const sum = arr.reduce((acc, val) => acc + val, 0);
console.log(sum);

SQL 代码分析:

/代码分析 SELECT * FROM users WHERE id = '$user_input';

⚙️ 配置说明

插件配置文件:_conf_schema.json

配置项

配置项 类型 默认值 说明
llm_provider string - 指定使用的 LLM 提供商(可选)
enable_personality bool true 是否启用人格化回复

配置示例

在 AstrBot 的插件配置界面中:

  1. llm_provider:选择你想使用的 LLM 提供商(留空则使用默认)
  2. enable_personality
    • true:启用人格化回复,使用设定的人格进行回复
    • false:使用标准格式回复

📊 分析内容

插件会对代码进行以下几个方面的分析:

1. 编程语言识别

自动识别代码使用的编程语言(Python、JavaScript、Java、C++ 等)

2. 代码功能说明

解释代码的主要功能、作用和实现逻辑

3. 时间复杂度

使用 Big O 表示法分析算法的时间复杂度

  • 例如:O(1)、O(n)、O(n²)、O(log n) 等

4. 空间复杂度

使用 Big O 表示法分析算法的空间复杂度

  • 包括变量、数据结构占用的内存空间

5. 潜在错误

检测代码中可能存在的:

  • 语法错误
  • 逻辑错误
  • 运行时错误
  • 安全隐患(如 SQL 注入、XSS 等)
  • 性能问题

6. 改进建议

提供具体的优化建议:

  • 代码重构建议
  • 性能优化方案
  • 最佳实践推荐
  • 代码风格改进

🎯 使用场景

  • 📚 学习编程:理解代码逻辑和算法复杂度
  • 🐛 代码审查:快速发现代码中的问题
  • 🚀 性能优化:获取优化建议提升代码效率
  • 🔒 安全检测:发现潜在的安全漏洞
  • 💡 技术交流:在群聊中讨论代码问题

📝 注意事项

  • 代码内容需要在命令后直接提供
  • 对于较长的代码,建议分段分析
  • LLM 的分析结果供参考,建议结合实际情况判断
  • 请确保 AstrBot 已正确配置 LLM 提供商

🔧 技术栈

  • Python 3.7+
  • AstrBot API
  • LLM(大语言模型)

📄 开发者信息

  • 插件名称:code_analyzer
  • 作者:GCHkongcheng
  • 版本:1.0.0
  • 描述:一个用于分析代码的插件

🤝 贡献

欢迎提交 Issue 和 Pull Request!

📚 相关链接

📜 许可证

本项目采用开源许可证,具体请查看 LICENSE 文件。


享受代码分析的乐趣吧! 🎉

About

astrbot代码分析插件

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

Generated from Soulter/helloworld