讲师中心 微信公众号
AI工具推荐 视频效率加速

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

星杰酱_6208

星杰酱_6208

发布时间:2026-06-19 17:58:58

|

487人浏览过

|

来源于php中文网

原创

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)。

热门AI工具

更多
切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

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

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

516

2026.06.16

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

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

497

2026.06.16

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

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

116

2026.06.16

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

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

570

2026.06.16

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

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

180

2026.09.23

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

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

80

2026.09.23

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

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

80

2026.09.23

Conan创建软件包配方指南
Conan创建软件包配方指南

本专题介绍通过conanfile.py创建软件包的方法,讲解包名、版本、依赖和构建设置等基础信息,以及source、build、package、package_info等常用方法的作用及编写思路。

60

2026.09.22

Conan二进制包配置指南
Conan二进制包配置指南

本专题介绍Conan根据操作系统、编译器、架构和构建类型生成二进制包的方法,讲解Profile、Settings、Options及Package ID的作用,帮助管理不同平台和编译环境下的包版本。

60

2026.09.22

热门下载

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

精品课程

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

共0课时 | 0人学习

Buffalo框架官方文档
Buffalo框架官方文档

共0课时 | 0人学习

Conan 参考手册
Conan 参考手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn