Files
hangshuo652 b94757d9df feat: V3系统评审问题修复
1. 场景价值与技术合理性修复:
   - 补充docs/SCENE_VALUE.md(业务背景、痛点分析、用户场景、竞品对比、价值量化)
   - 添加用户操作流程图(Mermaid)
   - 添加3个真实业务案例量化数据

2. 演示与文档修复:
   - 创建docs/API.md(完整API文档)
   - 创建docs/QUICKSTART.md(5分钟快速入门指南)

3. AI使用日志修复:
   - 更新AGENTS.md,添加强制自动执行的AI使用日志记录指令
   - 在_AI_USAGE_LOG.md末尾添加范式执行统计

4. 安全性修复:
   - 在agents/llm.py中添加输入过滤(防Prompt注入)
   - 添加输出验证、速率限制、详细日志

5. 架构设计修复:
   - 创建tools/registry.py工具注册表
   - 修改orchestrator.py和orchestrator_db.py使用注册表动态获取运行器

6. 开发范式修复:
   - 在_AI_USAGE_LOG.md末尾添加范式执行统计
2026-08-29 13:23:28 +08:00

227 lines
4.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# COBOL → Java/Spark 迁移验证平台 — 快速入门
> 5分钟快速上手指南
---
## 一、环境准备
### 1.1 系统要求
- Python 3.12+
- GnuCOBOL 3.2.0(可选,用于COBOL编译)
- Java JDK 8+(可选,用于Java编译)
### 1.2 安装依赖
```bash
# 安装Python依赖
pip install lark pathlib pyyaml httpx
# 或使用requirements.txt
pip install -r requirements.txt
```
---
## 二、快速开始
### 2.1 验证单个COBOL程序
```bash
# 基本用法
python -m cobol_testgen <cobol_source> [output_dir]
# 示例
python -m cobol_testgen benchmark-programs/KIN01INP.cbl output/
```
**执行流程:**
1. 解析COBOL源码
2. 分析分支路径
3. 生成测试数据
4. 编译运行COBOL程序
5. 编译运行Java程序
6. 字段级输出比对
7. 生成验证报告
### 2.2 带覆盖率的验证
```bash
# 启用gcov覆盖率
python -m cobol_testgen --gcov benchmark-programs/KIN01INP.cbl output/
```
### 2.3 批量验证
```bash
# 验证多个程序
python -m cobol_testgen benchmark-programs/*.cbl output/
```
---
## 三、运行测试套件
### 3.1 运行所有测试
```bash
# 运行pytest测试
python -m pytest tests/ -v
# 运行核心引擎测试
python -m pytest tests/cobol_testgen/ -v
```
### 3.2 运行验证脚本
```bash
# 运行覆盖率验证
python test-data/s15_coverage_verification.py
# 运行DB端到端测试(需要数据库)
python test-data/s30_db_e2e.py
```
---
## 四、配置说明
### 4.1 环境变量配置
```bash
# 设置LLM API密钥(可选)
export LLM_API_KEY="your-api-key"
# 设置LLM模型(默认deepseek-v4-flash
export LLM_MODEL="deepseek-v4-flash"
# 设置DeepSeek API密钥(可选)
export DEEPSEEK_API_KEY="your-deepseek-key"
```
### 4.2 配置文件
项目配置位于 `config/` 目录:
```
config/
├── __init__.py # 配置初始化
├── program_schema.py # 程序Schema定义
└── teams.json # 团队配置(如有)
```
---
## 五、输出说明
### 5.1 输出目录结构
```
output/
├── test_input.json # 生成的测试输入数据
├── test_output.json # 期望的测试输出
├── working_storage.json # 工作存储区数据
├── diff_result.json # 差异比对结果
└── coverage/ # 覆盖率报告
├── index.html # 覆盖率概览
└── detail.html # 详细覆盖率
```
### 5.2 验证报告
验证完成后会生成HTML格式的验证报告,包含:
- 测试用例执行结果
- 字段级比对结果
- 覆盖率统计
- 差异分析
---
## 六、常见问题
### Q1: 编译COBOL失败
**问题:** `cobc: command not found`
**解决:** 安装GnuCOBOL
```bash
# Ubuntu/Debian
sudo apt-get install gnucobol
# macOS
brew install gnucobol
```
### Q2: LLM调用失败
**问题:** `LLMError: API key not set`
**解决:** 设置API密钥
```bash
export LLM_API_KEY="your-api-key"
```
### Q3: 测试数据生成失败
**问题:** `FieldTree parse error`
**解决:** 检查COBOL源码格式,确保是有效的COBOL代码
### Q4: 覆盖率报告为空
**问题:** 覆盖率报告显示0%
**解决:** 确保启用了gcov选项(`--gcov`
---
## 七、进阶使用
### 7.1 使用规则引擎(不依赖LLM)
```python
from cobol_testgen import main
# 使用规则引擎生成测试数据
config = {"proc_parser": "rule", "llm_generator": False}
main(["benchmark-programs/KIN01INP.cbl"], "output/", config)
```
### 7.2 使用LLM生成测试数据
```python
from cobol_testgen import main
# 使用LLM生成测试数据
config = {"proc_parser": "ai", "llm_generator": True}
main(["benchmark-programs/KIN01INP.cbl"], "output/", config)
```
### 7.3 自定义配置
```python
from cobol_testgen import main
# 自定义配置
config = {
"proc_parser": "rule",
"llm_generator": False,
"coverage_target": 0.85,
"max_paths": 200,
}
main(["benchmark-programs/KIN01INP.cbl"], "output/", config)
```
---
## 八、下一步
- 阅读 [API文档](API.md) 了解详细接口
- 阅读 [设计文档](../DESIGN.md) 了解系统架构
- 阅读 [场景与价值](SCENE_VALUE.md) 了解业务背景
---
*本文档最后更新:2026-08-28*