如何通过 CodeGeex 自动识别代码中的硬编码字符并提取到配置文件

星杰酱_6208

星杰酱_6208

2026-06-19

487人浏览

原创

codegeex可自动提取python/java项目中硬编码字符串并生成配置文件:启动服务后,用含语言、路径、指令的提示词调用模型,解析json输出去重合并,按语言生成config.py或application.properties,再备份原文件并替换为配置引用。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如何通过 codegeex 自动识别代码中的硬编码字符并提取到配置文件

你需要让 CodeGeex 帮你从 Python 或 Java 项目中自动发现散落在代码各处的硬编码字符串(比如 API 地址、数据库密码、超时时间),并把它们统一提取到 config.yaml 或 application.properties 文件里,避免后续修改时漏改、错改或重复定义。

安装并启动本地 CodeGeex 模型

从 GitHub 克隆官方仓库:git clone https://github.com/THUDM/CodeGeeX.git → 进入目录 → 运行 pip install -e . 安装依赖 → 执行 python -m codegeex serve --port 8080 启动服务。

这一步必须完成,否则后续所有操作都无法调用模型。如果端口被占用,【务必换用 --port 8081 或其他未占端口】,否则请求会直接超时失败。

构造精准提示词触发硬编码识别

向 CodeGeex 发送 POST 请求,body 中的 prompt 必须包含三要素:语言类型、目标文件路径、明确指令。

方法一:用 curl 直接调用

curl -X POST http://localhost:8080/generate -H "Content-Type: application/json" -d '{"prompt": "Python 代码中识别硬编码字符串:分析 ./src/main.py,找出所有未赋值给常量、未从 os.environ 或 config.get() 获取的字符串字面量,特别是 URL、token、timeout、host、password 类关键词附近的值。只输出纯 JSON 列表,每项含 path、line_number、value、suggestion_key"}'

方法二:用 Python 脚本封装调用(推荐)

新建 extract_hardcoded.py,写入 requests 调用逻辑,设置 timeout=30;若返回空或报错,检查 model 是否仍在运行、端口是否连通;【不要跳过 status_code == 200 的判断】,否则可能把错误响应当有效结果写入配置。

解析模型输出并生成配置文件

第一步:接收响应中的 JSON 字符串,用 json.loads() 解析为 Python 列表。

Pandas 配置文件报告生成器
Pandas 配置文件报告生成器

使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。

下载

第二步:按 suggestion_key 去重合并——例如多个 "https://api.example.com/v1" 都建议映射为 API_BASE_URL,只保留第一个出现位置的值。

第三步:根据项目语言选择输出格式:

→ 若项目是 Python,生成 config.py,写入 API_BASE_URL = "https://api.example.com/v1" 等变量;

→ 若项目是 Java Spring Boot,生成 application.properties,写入 app.api.base-url=https://api.example.com/v1;

→ 注意:Java 的 key 必须用小写字母+短横线,不能含下划线或大写字母,否则 Spring 不识别。

替换原代码中的硬编码

第一步:读取原始文件内容,逐行扫描 line_number 匹配项。

第二步:对每个匹配行,用正则替换硬编码字符串为配置引用——Python 替换为 config.API_BASE_URL,Java 替换为 ${app.api.base-url}。

第三步:写回文件前先备份原文件为 main.py.bak;【替换前不备份,出错将无法还原】。

第四步:逐个验证替换后的代码能否正常 import config 并运行,尤其注意字符串拼接场景(如 "https://" + host + ":8080" 应整体替换为单个配置项,不能只替 host)。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

codegeex 配置文件

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
CodeGeeX下载安装教程合集
CodeGeeX下载安装教程合集

提供CodeGeeX最新版下载地址、历史版本下载、VS Code安装教程、JetBrains安装教程及常见安装问题解决方案。

2026.06.16

516

15

CodeGeeX代码生成教程合集
CodeGeeX代码生成教程合集

汇总CodeGeeX代码生成技巧、代码补全教程、单元测试生成、代码优化及实际开发案例。

2026.06.16

497

31

CodeGeeX大模型教程合集
CodeGeeX大模型教程合集

详细介绍CodeGeeX底层模型能力、多语言代码生成效果、模型架构及应用场景

2026.06.16

136

10

CodeGeeX VSCode插件教程大全
CodeGeeX VSCode插件教程大全

专注CodeGeeX VS Code插件的安装配置、功能使用、快捷键及开发实践。

2026.06.16

570

15

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

0

26

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

2026.09.29

0

15

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

2026.09.23

200

15

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

2026.09.23

120

15

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

2026.09.23

100

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CodeGeex使用手册
CodeGeex使用手册

共0课时 | 0人学习

Conan 参考手册
Conan 参考手册

共0课时 | 0人学习

Jupyter Notebook官方文档
Jupyter Notebook官方文档

共0课时 | 0人学习