一个基于 AstrBot 的智能代码分析插件,通过 LLM 大语言模型为你提供专业的代码分析服务。
-
🔍 全面的代码分析
- 自动识别编程语言
- 分析代码功能和用途
- 计算时间复杂度和空间复杂度
- 检测潜在错误和安全隐患
- 提供具体的改进建议
-
🤖 智能LLM集成
- 使用 AstrBot 配置的 LLM 模型
- 支持自定义 LLM 提供商
- 自动选择最佳模型进行分析
-
👤 人格化回复
- 支持启用/禁用人格化回复
- 根据设定的人格生成友好自然的回复
- 让代码分析过程更有趣
-
📝 灵活的命令格式
- 支持
/代码分析 <代码> - 支持
代码分析 <代码> - 简单易用的交互方式
- 支持
- 将插件文件夹放入 AstrBot 的
data/plugins/目录 - 重启 AstrBot 或重载插件
- 插件会自动加载并可用
在 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 的插件配置界面中:
- llm_provider:选择你想使用的 LLM 提供商(留空则使用默认)
- enable_personality:
true:启用人格化回复,使用设定的人格进行回复false:使用标准格式回复
插件会对代码进行以下几个方面的分析:
自动识别代码使用的编程语言(Python、JavaScript、Java、C++ 等)
解释代码的主要功能、作用和实现逻辑
使用 Big O 表示法分析算法的时间复杂度
- 例如:O(1)、O(n)、O(n²)、O(log n) 等
使用 Big O 表示法分析算法的空间复杂度
- 包括变量、数据结构占用的内存空间
检测代码中可能存在的:
- 语法错误
- 逻辑错误
- 运行时错误
- 安全隐患(如 SQL 注入、XSS 等)
- 性能问题
提供具体的优化建议:
- 代码重构建议
- 性能优化方案
- 最佳实践推荐
- 代码风格改进
- 📚 学习编程:理解代码逻辑和算法复杂度
- 🐛 代码审查:快速发现代码中的问题
- 🚀 性能优化:获取优化建议提升代码效率
- 🔒 安全检测:发现潜在的安全漏洞
- 💡 技术交流:在群聊中讨论代码问题
- 代码内容需要在命令后直接提供
- 对于较长的代码,建议分段分析
- LLM 的分析结果供参考,建议结合实际情况判断
- 请确保 AstrBot 已正确配置 LLM 提供商
- Python 3.7+
- AstrBot API
- LLM(大语言模型)
- 插件名称:code_analyzer
- 作者:GCHkongcheng
- 版本:1.0.0
- 描述:一个用于分析代码的插件
欢迎提交 Issue 和 Pull Request!
本项目采用开源许可证,具体请查看 LICENSE 文件。
享受代码分析的乐趣吧! 🎉