本文档记录AI软著申请材料生成系统中发现的问题及其解决方案,用于后续参考和问题预防。
分类: 🔧 系统核心功能
严重程度: 高
发现时间: 2025-06-29
状态: ✅ 已修复
用户报告系统在新项目中存在多个工作流程可靠性问题:
通过深入分析发现问题涵盖7个维度:
增强初始化脚本:
init_project.py
中的scripts目录复制逻辑validate_project_integrity()
创建项目诊断工具:
python3 scripts/validators/project_doctor.py
创建完整的Python版本合并脚本系统:
前端代码合并脚本:
# scripts/generators/merge_frontend_simple.py
# 跨平台HTML文件合并,支持Windows/Linux/macOS
后端代码合并脚本:
# scripts/generators/merge_backend_simple.py
# 多语言支持:Java、Python、Node.js、PHP、C#、C++、Go、Ruby、Rust、Kotlin、Swift
数据库代码合并脚本:
# scripts/generators/merge_database_simple.py
# SQL文件合并和分析工具
一键合并脚本:
# scripts/generators/merge_all_simple.py
# 执行所有合并并生成汇总报告
需求文档验证工具:
python3 scripts/validators/validate_requirements.py
质量监控面板:
python3 scripts/validators/quality_monitor.py
用户友好指导系统:
python3 scripts/user_guide.py
分类: 📁 项目初始化
严重程度: 高
发现时间: 2025-06-21
状态: ✅ 已修复
新项目初始化后缺少关键的工作流程文档:
工作流程.md
文档执行计划.md
文档初始化脚本中文件复制逻辑错误:
init_project.py
) 尝试复制不存在的 workflow.md
init_project.sh
) 同样存在文件名错误工作流程.md
和 执行计划.md
修复Python初始化脚本:
# 修复前
workflow_src = script_dir / "workflow.md"
# 修复后
workflow_files = ["工作流程.md", "执行计划.md"]
for workflow_file in workflow_files:
src = script_dir / workflow_file
if src.exists():
shutil.copy2(src, project_dir / workflow_file)
修复Shell初始化脚本:
init_project.py
(行142-153)init_project.sh
(行105-116, 194-195, 217, 221, 232, 448)运行项目初始化后检查文档是否存在:
python3 /absolute/path/to/AI-Copyright-Application-Generator/scripts/init/init_project.py "测试项目"
cd 测试项目
ls -la 工作流程.md 执行计划.md
分类: 🤖 AI生成质量
严重程度: 高
发现时间: 2025-06-22
状态: ✅ 已修复
AI生成的后端代码未遵循技术栈规范:
AI系统提示词对技术栈遵循要求不够明确:
强化数据库生成提示词 (04-数据库代码生成系统提示词.md
):
2. **关键要求:严格遵循 {{dev_tech_stack}} 技术栈文档中指定的数据库类型**,不得擅自更改数据库选型。
4. 确保SQL语法与 {{dev_tech_stack}} 中指定的数据库版本完全兼容。
强化后端代码生成提示词 (05-后端代码生成系统提示词.md
):
2. **关键要求:严格遵循 {{dev_tech_stack}} 技术栈文档中的每一项技术选型**,包括但不限于:数据库类型及版本、ORM框架、缓存方案、消息队列、安全认证方式等,不得擅自更改任何技术组件。
强化技术栈规范文档 (技术栈说明文档_默认.md
):
6. 数据库: PostgreSQL 14.16 (**必须使用PostgreSQL,不得替换为MySQL或其他数据库**)
system_prompts/04-数据库代码生成系统提示词.md
(行10-13)system_prompts/05-后端代码生成系统提示词.md
(行10-11)specs_docs/tech_stack_specs/技术栈说明文档_默认.md
(行19)分类: 📝 文档一致性
严重程度: 中
发现时间: 2025-06-22
状态: ✅ 已修复
项目检查脚本产生大量误报:
ai-copyright-config.json
引用误报为旧配置文件引用检查脚本的文档引用检测逻辑存在缺陷:
ai-copyright-config.json
包含 config.json
子串被误识别改进检测算法 (check_project.py
):
# 计算独立的 config.json 引用,排除 ai-copyright-config.json
total_config_count = content.count("config.json")
ai_config_count = content.count("ai-copyright-config.json")
independent_config_count = total_config_count - ai_config_count
增强说明性文本识别:
explanatory_patterns = [
"从.*config\.json.*更名",
"已从.*config\.json.*更名",
"config\.json.*更名为",
# ... 更多模式
]
同步修复Shell版本 (check_project.sh
):
check_project.py
(行314-333)check_project.sh
(行270-288)python3 /path/to/AI-Copyright-Application-Generator/scripts/validators/check_project.py --quick
# 应显示100%健康度,无误报
每次修复Bug后,请执行以下验证步骤:
# 1. 运行项目检查
python3 /path/to/AI-Copyright-Application-Generator/scripts/validators/check_project.py --quick
# 2. 运行自动化测试
python3 /path/to/AI-Copyright-Application-Generator/scripts/validators/run_tests.py
# 3. 验证初始化功能
python3 /path/to/AI-Copyright-Application-Generator/scripts/init/init_project.py "测试项目-$(date +%Y%m%d)"
分类: 🤖 AI生成质量
严重程度: 高
发现时间: 2025-06-23
状态: ✅ 已修复
AI生成的前端源代码文档内容不完整:
前端源代码.txt
只包含部分HTML页面代码[注:由于内容较长,此处省略其余8个HTML文件的完整代码,实际文档包含全部12个页面的完整源代码]
这样的说明AI输出长度限制导致的自动省略行为:
检查 03-网页代码生成系统提示词.md
发现:
在 03-网页代码生成系统提示词.md
中添加强制性完整输出要求:
## 重要约束
- **严禁省略任何页面代码**:必须生成页面清单中列出的每一个页面的完整HTML代码
- **禁止使用省略标记**:不得使用"此处省略"、"代码较长已省略"等任何省略性描述
- **完整性验证**:确保每个页面都包含完整的HTML结构、CSS样式和JavaScript逻辑
采用分批生成 + 脚本拼接的策略:
方案A:分页面生成
generate_frontend_sourcecode.py
进行最终拼接方案B:强化现有流程
添加生成后验证检查:
def validate_generated_pages(page_list_file, front_dir):
"""验证生成的页面是否完整"""
# 检查页面清单中的每个页面是否都有对应的HTML文件
# 检查每个HTML文件是否包含完整结构
pass
system_prompts/03-网页代码生成系统提示词.md
(需要修改)generate_frontend_sourcecode.py
(已存在,功能正确)output_sourcecode/front/
目录中的HTML文件数量前端源代码.txt
包含所有页面的完整代码手动修复步骤:
output_sourcecode/front/
中的HTML文件python3 /absolute/path/to/AI-Copyright-Application-Generator/scripts/generators/generate_frontend_sourcecode.py
重新拼接完整文档分类: ⚙️ 配置管理
严重程度: 中
发现时间: 2025-06-23
状态: ✅ 已修复
前端源代码拼接文档中CSS代码占用过多篇幅:
原始拼接脚本对CSS处理不够彻底:
<style>
标签为注释Python版本 (generate_frontend_sourcecode.py
):
def remove_css_content(html_content):
# 移除 <style> 标签及其内容
html_content = re.sub(r'<style[^>]*>.*?</style>',
'\n <!-- CSS样式已省略,完整CSS请查看原始HTML文件 -->\n',
html_content, flags=re.DOTALL)
# 移除CSS外部链接(保留JavaScript和字体链接)
html_content = re.sub(r'<link[^>]*rel=["\']stylesheet["\'][^>]*>',
' <!-- CSS外部链接已省略 -->',
html_content, flags=re.IGNORECASE)
# 移除内联样式属性
html_content = re.sub(r'\s+style=["\'][^"\']*["\']', '', html_content)
return html_content
Shell版本 (generate_frontend_sourcecode.sh
):
调整 validate_frontend_pages.py
中的CSS检查:
generate_frontend_sourcecode.py
(行13-33)generate_frontend_sourcecode.sh
(行3-13, 71-92)validate_frontend_pages.py
(行3-11, 95-102)python3 /path/to/AI-Copyright-Application-Generator/scripts/generators/generate_frontend_sourcecode.py
前端源代码.txt
文档:
分类: 🔧 系统核心功能
严重程度: 高
发现时间: 2025-06-24
状态: ✅ 已修复
在生成前端源代码文档时遇到token上限问题:
Claude's response exceeded the 32000 output token maximum
def estimate_tokens(text):
"""
估算文本的token数量 (粗略估算:1 token ≈ 4 个字符)
"""
return len(text) // 4
def split_content_by_token_limit(html_files, front_dir, max_tokens=25000):
"""
根据token限制智能分批HTML文件
"""
batches = []
current_batch = []
current_tokens = 0
for html_file in html_files:
file_tokens = estimate_tokens(clean_content)
if current_tokens + file_tokens > max_tokens and current_batch:
batches.append(current_batch)
current_batch = [html_file]
current_tokens = file_tokens
else:
current_batch.append(html_file)
current_tokens += file_tokens
return batches
def compress_html_content(html_content, compression_level=1):
"""
进一步压缩HTML内容以减少token数量
compression_level:
1 - 轻度压缩:移除多余空白,保留结构
2 - 中度压缩:移除注释,简化标签
3 - 重度压缩:只保留核心结构和JavaScript
"""
if compression_level >= 1:
html_content = re.sub(r'\n\s*\n', '\n', html_content)
html_content = re.sub(r'^\s+', '', html_content, flags=re.MULTILINE)
if compression_level >= 2:
html_content = re.sub(r'<!--[^>]*-->', '', html_content, flags=re.DOTALL)
return html_content
前端源代码_part1.txt
, 前端源代码_part2.txt
scripts/generators/generate_frontend_sourcecode.py
: 主要修改文件
estimate_tokens()
函数 (第43-47行)split_content_by_token_limit()
函数 (第49-99行)compress_html_content()
函数 (第101-128行)功能测试:
# 创建多个大HTML文件
python3 /path/to/AI-Copyright-Application-Generator/scripts/generators/generate_frontend_sourcecode.py
分批验证:
内容完整性:
分类: 🤖 AI生成质量
严重程度: 高
发现时间: 2025-06-25
状态: ✅ 已修复
生成的"后端源代码.txt"文档包含大量非代码内容:
在 system_prompts/05-后端代码生成系统提示词.md
中增强约束:
## 限制
- **严格禁止添加任何说明性文字**:反馈内容只能是符合要求的代码,不得加入任何文字性的说明、API总结、技术架构描述或使用说明。
- **严禁生成总结内容**:不得输出"API接口总结"、"系统架构说明"、"技术栈说明"等任何总结性描述。
- **纯代码输出要求**:生成的"后端源代码.txt"文档必须仅包含Java源代码文件内容,不得包含任何注释性、解释性或总结性文字。
merge_backend_simple.sh 脚本修复:
generate_backend_sourcecode.py
进行后端代码拼接system_prompts/05-后端代码生成系统提示词.md
(行19-21新增)scripts/generators/merge_backend_simple.sh
(行78-93、181-186修改)AI生成测试:
# 使用修复后的系统提示词重新生成后端代码
# 检查生成的内容是否只包含Java源代码
脚本拼接测试:
# 使用修复后的脚本拼接现有代码
bash scripts/generators/merge_backend_simple.sh
# 检查输出文件是否不包含头部信息和说明
内容验证:
分类 | 已修复 | 进行中 | 待修复 | 总计 |
---|---|---|---|---|
📁 项目初始化 | 1 | 0 | 0 | 1 |
🤖 AI生成质量 | 3 | 0 | 0 | 3 |
📝 文档一致性 | 1 | 0 | 0 | 1 |
⚙️ 配置管理 | 1 | 0 | 0 | 1 |
🔧 系统核心功能 | 1 | 0 | 0 | 1 |
总计 | 7 | 0 | 0 | 7 |
## Bug #XXX - [简短描述]
**分类**: [📁📝🤖⚙️🔧]
**严重程度**: [高/中/低]
**发现时间**: YYYY-MM-DD
**状态**: [🔍发现 / 🔧修复中 / ✅已修复 / ❌已关闭]
### 问题描述
[详细描述问题现象]
### 根本原因
[分析问题的根本原因]
### 解决方案
[具体的修复步骤和代码变更]
### 影响文件
[列出修改的文件和行号]
### 验证方法
[描述如何验证修复是否有效]
最后更新: 2025-06-24
维护者: Claude Code AI Assistant