hookehuyr

docs(parse): 清理审核文档并更新 parse-docs 脚本

主要变更:
- 清理 CHANGELOG.md (移除历史记录,保持精简)
- 移除旧的 pending 审核文件
- 删除 scripts/README.md
- 更新 parse-docs.js 脚本
- 更新 README.md 和 to-parse/README.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
......@@ -430,6 +430,8 @@ export default {
5. 认证失败会自动跳转到 `/pages/login/index`
6. **所有函数必须有 JSDoc 注释** - 详见 `~/.claude/rules/code-commenting.md`
7. 业务路由以 `src/app.config.js` 为准,计划类文档仅保留历史记录
8. 文档解析成功后原始文档会自动归档到 `docs/to-parse/archived/YYYY-MM-DD/`
9. 待审核文件按原始文档名分目录存放于 `docs/parse-audit/pending/<原始文档名>/`
## ✅ 优化建议
......
This diff is collapsed. Click to expand it.
# 产品配置审核 - 计划书模版2.docx
**解析时间**: 2026/2/14 23:58:54
**原始文件**: 计划书模版2.docx
**数据来源**: docs/to-parse/计划书模版2.docx
---
## 📋 产品基本信息
| 字段 | 提取值 | 需要确认 |
|------|--------|---------|
| 产品名称 | 计划书模版2 | ✅ 请核对产品名称 |
| 产品类型 | savings | ✅ 请确认产品类型 |
| 币种 | USD | ✅ 请确认币种 |
| form_sn | `savings-2-55bcffc2` | ✅ 请确认 form_sn 唯一性 |
| 缴费年期 | ["整付"] | ✅ 请确认缴费年期选项 |
| 年龄范围 | 0-75岁 | ✅ 请确认年龄范围 |
| 保险期间 | 终身 | ✅ 请确认保险期间 |
### 💰 储蓄类产品特有字段
| 字段 | 提取值 | 需要确认 |
|------|--------|---------|
| 提取方式 | ["指定提取金额","最高固定提取金额"] | ✅ 请确认提取方式 |
| 提取期 | ["1年","3年","5年","10年"] | ✅ 请确认提取期选项 |
---
## 🤖 智能字段提取报告
### 匹配统计
- ✅ 成功匹配: 3 字段
- ⚠️ 使用默认值: 4 字段
- ❌ 未匹配(需人工补充): 1 字段
### ✅ 已成功匹配的字段
- product_type
- payment_periods
- withdrawal_modes
### ⚠️ 使用默认值的字段
- **currency**: 未找到字段 "currency",使用默认值: "USD"
- **age_range**: 未找到字段 "age_range",使用默认值: {"min":0,"max":75}
- **insurance_period**: 未找到字段 "insurance_period",使用默认值: "终身"
- **product_name**: 未找到产品名称,使用文件名: "计划书模版2"
### ❌ 未匹配字段(需要人工补充)
#### product_name
- **原因**: 未找到匹配内容
- **建议值**:
- 从文档标题提取
- 从第一行提取
- 手动输入产品全称
---
## 🧾 配置预览
```javascript
{
"product_name": "计划书模版2",
"product_type": "savings",
"currency": "USD",
"form_sn": "savings-2-55bcffc2",
"payment_periods": [
"整付"
],
"age_range": {
"min": 0,
"max": 75
},
"insurance_period": "终身",
"is_savings": true,
"withdrawal_modes": [
"指定提取金额",
"最高固定提取金额"
],
"withdrawal_periods": [
"1年",
"3年",
"5年",
"10年"
]
}
```
---
## 📝 表单字段 (form_schema)
```javascript
{
"base_fields": [],
"withdrawal_fields": [],
"reset_map": {}
}
```
---
## 🔄 提交字段映射 (submit_mapping)
```javascript
{}
```
---
## 🧩 生成配置片段
```javascript
/**
* 计划书模版2
* @added 2026-02-14T15:58:54.707Z
* @source docs/to-parse/计划书模版2.docx
*/
'savings-2-55bcffc2': {
name: '计划书模版2',
component: 'SavingsTemplate',
category: 'savings',
config: {
currency: 'USD',
payment_periods: ["整付"],
age_range: { min: 0, max: 75 },
insurance_period: '终身',
withdrawal_plan: {
enabled: true,
currencies: ['HKD', 'USD', 'CNY'],
default_currency: 'USD',
withdrawal_modes: ["指定提取金额","最高固定提取金额"],
withdrawal_periods: ["1年","3年","5年","10年"]
},
form_schema: savingsFormSchema,
submit_mapping: savingsSubmitMapping
}
}
```
---
## ✅ 审核检查清单
### 基础信息
- [ ] 产品名称正确
- [ ] 产品类型正确(savings/critical-illness/life-insurance)
- [ ] 币种正确(USD/CNY/HKD/EUR)
- [ ] form_sn 唯一且符合命名规范
### 缴费与年龄
- [ ] 缴费年期选项完整且正确
- [ ] 年龄范围合理
- [ ] 保险期间正确
### 储蓄类特有(如适用)
- [ ] 提取方式正确
- [ ] 提取期选项完整
- [ ] 表单字段定义完整
- [ ] 提交字段映射正确
---
## 📋 审核后操作
### 确认无误
```bash
# 1. 移动到 approved 目录
mv docs/parse-audit/pending/2026-02-14-计划书模版2.md \
docs/parse-audit/approved/
# 2. 合并到正式配置
# 手动复制或使用工具合并到 src/config/plan-templates.js
# 3. 删除待审核文件(可选)
rm docs/parse-audit/pending/2026-02-14-计划书模版2.md
```
### 需要修改
1. 编辑本文件修正内容
2. 重新提交审核
### 放弃本次解析
```bash
rm docs/parse-audit/pending/2026-02-14-计划书模版2.md
```
---
## 审核状态
- [ ] 待审核
- [ ] 已通过
- [ ] 已拒绝
## 审核意见
```text
```
# 产品配置审核 - 计划书模版3.docx
**解析时间**: 2026/2/14 23:58:54
**原始文件**: 计划书模版3.docx
**数据来源**: docs/to-parse/计划书模版3.docx
---
## 📋 产品基本信息
| 字段 | 提取值 | 需要确认 |
| -------- | ---------------------- | ------------------------ |
| 产品名称 | 计划书模版3 | ✅ 请核对产品名称 |
| 产品类型 | savings | ✅ 请确认产品类型 |
| 币种 | USD | ✅ 请确认币种 |
| form_sn | `savings-3-8f4f27ad` | ✅ 请确认 form_sn 唯一性 |
| 缴费年期 | ["5年"] | ✅ 请确认缴费年期选项 |
| 年龄范围 | 0-75岁 | ✅ 请确认年龄范围 |
| 保险期间 | 终身 | ✅ 请确认保险期间 |
### 💰 储蓄类产品特有字段
| 字段 | 提取值 | 需要确认 |
| -------- | ------------------------------- | ------------------- |
| 提取方式 | ["年龄指定金额","最高固定金额"] | ✅ 请确认提取方式 |
| 提取期 | ["1年","3年","5年","10年"] | ✅ 请确认提取期选项 |
---
## 🤖 智能字段提取报告
### 匹配统计
- ✅ 成功匹配: 1 字段
- ⚠️ 使用默认值: 5 字段
- ❌ 未匹配(需人工补充): 1 字段
### ✅ 已成功匹配的字段
- payment_periods
### ⚠️ 使用默认值的字段
- **product_type**: 未找到字段 "product_type",使用默认值: "savings"
- **currency**: 未找到字段 "currency",使用默认值: "USD"
- **age_range**: 未找到字段 "age_range",使用默认值: {"min":0,"max":75}
- **insurance_period**: 未找到字段 "insurance_period",使用默认值: "终身"
- **product_name**: 未找到产品名称,使用文件名: "计划书模版3"
### ❌ 未匹配字段(需要人工补充)
#### product_name
- **原因**: 未找到匹配内容
- **建议值**:
- 从文档标题提取
- 从第一行提取
- 手动输入产品全称
---
## 🧾 配置预览
```javascript
{
"product_name": "计划书模版3",
"product_type": "savings",
"currency": "USD",
"form_sn": "savings-3-8f4f27ad",
"payment_periods": [
"5年"
],
"age_range": {
"min": 0,
"max": 75
},
"insurance_period": "终身",
"is_savings": true,
"withdrawal_modes": [
"年龄指定金额",
"最高固定金额"
],
"withdrawal_periods": [
"1年",
"3年",
"5年",
"10年"
]
}
```
---
## 📝 表单字段 (form_schema)
```javascript
{
"base_fields": [],
"withdrawal_fields": [],
"reset_map": {}
}
```
---
## 🔄 提交字段映射 (submit_mapping)
```javascript
{}
```
---
## 🧩 生成配置片段
```javascript
/**
* 计划书模版3
* @added 2026-02-14T15:58:54.729Z
* @source docs/to-parse/计划书模版3.docx
*/
'savings-3-8f4f27ad': {
name: '计划书模版3',
component: 'SavingsTemplate',
category: 'savings',
config: {
currency: 'USD',
payment_periods: ["5年"],
age_range: { min: 0, max: 75 },
insurance_period: '终身',
withdrawal_plan: {
enabled: true,
currencies: ['HKD', 'USD', 'CNY'],
default_currency: 'USD',
withdrawal_modes: ["年龄指定金额","最高固定金额"],
withdrawal_periods: ["1年","3年","5年","10年"]
},
form_schema: savingsFormSchema,
submit_mapping: savingsSubmitMapping
}
}
```
---
## ✅ 审核检查清单
### 基础信息
- [ ] 产品名称正确
- [ ] 产品类型正确(savings/critical-illness/life-insurance)
- [ ] 币种正确(USD/CNY/HKD/EUR)
- [ ] form_sn 唯一且符合命名规范
### 缴费与年龄
- [ ] 缴费年期选项完整且正确
- [ ] 年龄范围合理
- [ ] 保险期间正确
### 储蓄类特有(如适用)
- [ ] 提取方式正确
- [ ] 提取期选项完整
- [ ] 表单字段定义完整
- [ ] 提交字段映射正确
---
## 📋 审核后操作
### 确认无误
```bash
# 1. 移动到 approved 目录
mv docs/parse-audit/pending/2026-02-14-计划书模版3.md \
docs/parse-audit/approved/
# 2. 合并到正式配置
# 手动复制或使用工具合并到 src/config/plan-templates.js
# 3. 删除待审核文件(可选)
rm docs/parse-audit/pending/2026-02-14-计划书模版3.md
```
### 需要修改
1. 编辑本文件修正内容
2. 重新提交审核
### 放弃本次解析
```bash
rm docs/parse-audit/pending/2026-02-14-计划书模版3.md
```
---
## 审核状态
- [ ] 待审核
- [ ] 已通过
- [ ] 已拒绝
## 审核意见
```text
```
# 产品配置审核 - 计划书模版2.docx
**解析时间**: 2026/2/15 00:41:27
**解析时间**: 2026/2/15 10:20:30
**原始文件**: 计划书模版2.docx
**数据来源**: docs/to-parse/计划书模版2.docx
......@@ -116,7 +116,7 @@
```javascript
/**
* 宏摯傳承保障計劃 - 性別, 年齡, 出生年月日
* @added 2026-02-14T16:41:27.878Z
* @added 2026-02-15T02:20:30.982Z
* @source docs/to-parse/计划书模版2.docx
*/
'savings-product-ef3dd50b': {
......@@ -169,14 +169,14 @@
### 确认无误
```bash
# 1. 移动到 approved 目录
mv docs/parse-audit/pending/2026-02-14-计划书模版2-宏摯傳承保障計劃-性別-年齡-出生年月日.md \
mv docs/parse-audit/pending/计划书模版2/2026-02-15-计划书模版2-宏摯傳承保障計劃-性別-年齡-出生年月日.md \
docs/parse-audit/approved/
# 2. 合并到正式配置
# 手动复制或使用工具合并到 src/config/plan-templates.js
# 3. 删除待审核文件(可选)
rm docs/parse-audit/pending/2026-02-14-计划书模版2-宏摯傳承保障計劃-性別-年齡-出生年月日.md
rm docs/parse-audit/pending/计划书模版2/2026-02-15-计划书模版2-宏摯傳承保障計劃-性別-年齡-出生年月日.md
```
### 需要修改
......@@ -185,7 +185,7 @@ rm docs/parse-audit/pending/2026-02-14-计划书模版2-宏摯傳承保障計劃
### 放弃本次解析
```bash
rm docs/parse-audit/pending/2026-02-14-计划书模版2-宏摯傳承保障計劃-性別-年齡-出生年月日.md
rm docs/parse-audit/pending/计划书模版2/2026-02-15-计划书模版2-宏摯傳承保障計劃-性別-年齡-出生年月日.md
```
---
......
# 产品配置审核 - 计划书模版2.docx
**解析时间**: 2026/2/15 00:41:27
**解析时间**: 2026/2/15 10:20:30
**原始文件**: 计划书模版2.docx
**数据来源**: docs/to-parse/计划书模版2.docx
......@@ -114,7 +114,7 @@
```javascript
/**
* 宏摯家傳承保險計劃- 性別, 年齡, 出生年月日
* @added 2026-02-14T16:41:27.893Z
* @added 2026-02-15T02:20:30.997Z
* @source docs/to-parse/计划书模版2.docx
*/
'savings-product-aaaa60f8': {
......@@ -167,14 +167,14 @@
### 确认无误
```bash
# 1. 移动到 approved 目录
mv docs/parse-audit/pending/2026-02-14-计划书模版2-宏摯家傳承保險計劃-性別-年齡-出生年月日.md \
mv docs/parse-audit/pending/计划书模版2/2026-02-15-计划书模版2-宏摯家傳承保險計劃-性別-年齡-出生年月日.md \
docs/parse-audit/approved/
# 2. 合并到正式配置
# 手动复制或使用工具合并到 src/config/plan-templates.js
# 3. 删除待审核文件(可选)
rm docs/parse-audit/pending/2026-02-14-计划书模版2-宏摯家傳承保險計劃-性別-年齡-出生年月日.md
rm docs/parse-audit/pending/计划书模版2/2026-02-15-计划书模版2-宏摯家傳承保險計劃-性別-年齡-出生年月日.md
```
### 需要修改
......@@ -183,7 +183,7 @@ rm docs/parse-audit/pending/2026-02-14-计划书模版2-宏摯家傳承保險計
### 放弃本次解析
```bash
rm docs/parse-audit/pending/2026-02-14-计划书模版2-宏摯家傳承保險計劃-性別-年齡-出生年月日.md
rm docs/parse-audit/pending/计划书模版2/2026-02-15-计划书模版2-宏摯家傳承保險計劃-性別-年齡-出生年月日.md
```
---
......
# 产品配置审核 - 计划书模版2.docx
**解析时间**: 2026/2/15 00:41:27
**解析时间**: 2026/2/15 10:20:30
**原始文件**: 计划书模版2.docx
**数据来源**: docs/to-parse/计划书模版2.docx
......@@ -114,7 +114,7 @@
```javascript
/**
* 宏浚傳承保障計劃
* @added 2026-02-14T16:41:27.893Z
* @added 2026-02-15T02:20:30.997Z
* @source docs/to-parse/计划书模版2.docx
*/
'savings-product-d1581522': {
......@@ -167,14 +167,14 @@
### 确认无误
```bash
# 1. 移动到 approved 目录
mv docs/parse-audit/pending/2026-02-14-计划书模版2-宏浚傳承保障計劃.md \
mv docs/parse-audit/pending/计划书模版2/2026-02-15-计划书模版2-宏浚傳承保障計劃.md \
docs/parse-audit/approved/
# 2. 合并到正式配置
# 手动复制或使用工具合并到 src/config/plan-templates.js
# 3. 删除待审核文件(可选)
rm docs/parse-audit/pending/2026-02-14-计划书模版2-宏浚傳承保障計劃.md
rm docs/parse-audit/pending/计划书模版2/2026-02-15-计划书模版2-宏浚傳承保障計劃.md
```
### 需要修改
......@@ -183,7 +183,7 @@ rm docs/parse-audit/pending/2026-02-14-计划书模版2-宏浚傳承保障計劃
### 放弃本次解析
```bash
rm docs/parse-audit/pending/2026-02-14-计划书模版2-宏浚傳承保障計劃.md
rm docs/parse-audit/pending/计划书模版2/2026-02-15-计划书模版2-宏浚傳承保障計劃.md
```
---
......
# 产品配置审核 - 计划书模版2.docx
**解析时间**: 2026/2/15 00:41:27
**解析时间**: 2026/2/15 10:20:30
**原始文件**: 计划书模版2.docx
**数据来源**: docs/to-parse/计划书模版2.docx
......@@ -115,7 +115,7 @@
```javascript
/**
* 赤霞珠終身壽險計劃2基本人壽保障選項
* @added 2026-02-14T16:41:27.893Z
* @added 2026-02-15T02:20:30.997Z
* @source docs/to-parse/计划书模版2.docx
*/
'savings-2-031c1237': {
......@@ -168,14 +168,14 @@
### 确认无误
```bash
# 1. 移动到 approved 目录
mv docs/parse-audit/pending/2026-02-14-计划书模版2-赤霞珠終身壽險計劃2基本人壽保障選項.md \
mv docs/parse-audit/pending/计划书模版2/2026-02-15-计划书模版2-赤霞珠終身壽險計劃2基本人壽保障選項.md \
docs/parse-audit/approved/
# 2. 合并到正式配置
# 手动复制或使用工具合并到 src/config/plan-templates.js
# 3. 删除待审核文件(可选)
rm docs/parse-audit/pending/2026-02-14-计划书模版2-赤霞珠終身壽險計劃2基本人壽保障選項.md
rm docs/parse-audit/pending/计划书模版2/2026-02-15-计划书模版2-赤霞珠終身壽險計劃2基本人壽保障選項.md
```
### 需要修改
......@@ -184,7 +184,7 @@ rm docs/parse-audit/pending/2026-02-14-计划书模版2-赤霞珠終身壽險計
### 放弃本次解析
```bash
rm docs/parse-audit/pending/2026-02-14-计划书模版2-赤霞珠終身壽險計劃2基本人壽保障選項.md
rm docs/parse-audit/pending/计划书模版2/2026-02-15-计划书模版2-赤霞珠終身壽險計劃2基本人壽保障選項.md
```
---
......
This diff is collapsed. Click to expand it.
......@@ -34,10 +34,16 @@ pnpm run parse:docs:file -- --file="产品说明书.pdf" --write-config
### 3. 查看结果
解析成功后会生成待审核文件,位置如下:
解析成功后会生成待审核文件,位置如下(按原始文档名分目录)
```
docs/parse-audit/pending/
docs/parse-audit/pending/<原始文档名>/
```
解析成功后原始文档会自动归档到:
```
docs/to-parse/archived/YYYY-MM-DD/
```
审核通过后再手动合并到 `src/config/plan-templates.js`,或使用 `--write-config` 明确写入。
......@@ -103,3 +109,4 @@ docs/parsed-backup/parse-audit.jsonl
1. **文档命名**:建议使用有意义的文件名,方便识别产品
2. **手动审核**:生成后请检查配置是否正确
3. **版本控制**:生成的配置会自动备份
4. **二次解析**:需要重新解析时,将归档文件移回 `docs/to-parse/`
......
# 文档解析工具使用指南
## 功能概述
文档解析工具用于将保险产品文档(PDF、DOCX)自动解析为计划书配置,支持智能识别产品类型、币种、缴费年期等信息。
## 快速开始
### 1. 查看待处理文档
```bash
npm run parse:docs:list
```
### 2. 查看配置状态
```bash
npm run parse:docs:status
```
输出示例:
```
🔧 文档解析服务配置状态:
──────────────────────────────────────────────────
📄 markitdown: ❌ 未配置
🤖 AI 服务: ❌ 未配置
──────────────────────────────────────────────────
💡 配置提示:
1. 使用 markitdown: 安装 Python 并运行 "pip install markitdown"
2. 配置 AI 服务: 设置环境变量(.env 文件)
```
### 3. 解析所有文档
```bash
npm run parse:docs
```
### 4. 解析单个文档
```bash
npm run parse:docs:file="产品说明书.pdf"
```
## 配置 AI 服务(可选)
如需启用智能解析功能,请配置以下环境变量:
### 方法 1: 使用 .env 文件
```bash
# 复制示例配置
cp scripts/.env.example scripts/.env
# 编辑 .env 文件,填写 API Key
vim scripts/.env
```
### 方法 2: 使用环境变量
```bash
export AI_SERVICE_TYPE=openai
export OPENAI_API_KEY=sk-your-key-here
npm run parse:docs
```
## 支持的 AI 服务
| 服务 | 说明 | 环境变量 |
|------|------|---------|
| OpenAI | GPT-4/GPT-3.5 | `OPENAI_API_KEY` |
| Anthropic | Claude 3 Sonnet | `ANTHROPIC_API_KEY` |
| OpenRouter | 聚合服务 | `OPENROUTER_API_KEY` |
## 解析流程
1. **文档转换**:将 PDF/DOCX 转换为可读文本
2. **AI 解析**:从文本中提取结构化配置(产品类型、币种、年期等)
3. **生成代码**:生成 `plan-templates.js` 配置代码
4. **更新配置**:自动更新到配置文件
## 当前状态
-**基础功能**:支持 PDF、DOCX 文本提取
-**启发式推断**:根据文件名和内容推断产品类型和币种
-**AI 解析**:待集成 AI 服务(需要配置 API Key)
## 文档位置
待解析文档放在:`docs/to-parse/` 文件夹
支持格式:`.pdf`, `.docx`, `.doc`, `.txt`, `.md`
......@@ -36,6 +36,7 @@ import { splitByProducts, findProductTitles, generateSplitReport } from './produ
// ========== 配置区 ==========
const DOCS_DIR = path.resolve(process.cwd(), 'docs/to-parse')
const DOCS_ARCHIVE_DIR = path.resolve(process.cwd(), 'docs/to-parse/archived')
const CONFIG_FILE = path.resolve(process.cwd(), 'src/config/plan-templates.js')
const BACKUP_DIR = path.resolve(process.cwd(), 'docs/parsed-backup')
......@@ -91,6 +92,29 @@ function getFileMeta(filePath, extraMeta = {}) {
}
}
function buildArchiveFilePath(fileName) {
const date = new Date().toISOString().split('T')[0]
const archiveDir = path.join(DOCS_ARCHIVE_DIR, date)
ensureDir(archiveDir)
let targetPath = path.join(archiveDir, fileName)
if (fs.existsSync(targetPath)) {
const ext = path.extname(fileName)
const baseName = path.basename(fileName, ext)
targetPath = path.join(archiveDir, `${baseName}-${Date.now()}${ext}`)
}
return targetPath
}
function archiveParsedFile(filePath) {
if (!fs.existsSync(filePath)) {
return null
}
ensureDir(DOCS_ARCHIVE_DIR)
const archivePath = buildArchiveFilePath(path.basename(filePath))
fs.renameSync(filePath, archivePath)
return archivePath
}
function buildExtractResult(filePath, text, warnings = [], extraMeta = {}) {
return {
text,
......@@ -750,6 +774,14 @@ async function parseSingleFile(filePath) {
})
}
const shouldArchive = results.length > 0 && results.every(r => r.success)
if (shouldArchive) {
const archivedPath = archiveParsedFile(filePath)
if (archivedPath) {
console.log("📦 已归档原始文档: " + archivedPath)
}
}
// 单产品时返回单个结果对象(保持向后兼容)
// 多产品时返回数组
if (configs.length === 1) {
......@@ -786,6 +818,8 @@ async function generateAuditFile(fileName, config, code, productIndex = 0, total
const date = new Date().toISOString().split('T')[0]
const baseFileName = fileName.replace(/\.[^/.]+$/, '')
const pendingDir = path.join(AUDIT_PENDING_DIR, baseFileName)
ensureDir(pendingDir)
// 多产品文档时,为每个产品生成独立文件
let auditFileName
......@@ -799,7 +833,7 @@ async function generateAuditFile(fileName, config, code, productIndex = 0, total
} else {
auditFileName = `${date}-${baseFileName}.md`
}
const auditFilePath = path.join(AUDIT_PENDING_DIR, auditFileName)
const auditFilePath = path.join(pendingDir, auditFileName)
const formSn = generateFormSn(config)
const formSchemaPreview = config.form_schema ? JSON.stringify(config.form_schema, null, 2) : '// 请手动补充'
const submitMappingPreview = config.submit_mapping ? JSON.stringify(config.submit_mapping, null, 2) : '// 请手动补充'
......@@ -945,14 +979,14 @@ ${code.trim()}
### 确认无误
\`\`\`bash
# 1. 移动到 approved 目录
mv docs/parse-audit/pending/${auditFileName} \\
mv docs/parse-audit/pending/${baseFileName}/${auditFileName} \\
docs/parse-audit/approved/
# 2. 合并到正式配置
# 手动复制或使用工具合并到 src/config/plan-templates.js
# 3. 删除待审核文件(可选)
rm docs/parse-audit/pending/${auditFileName}
rm docs/parse-audit/pending/${baseFileName}/${auditFileName}
\`\`\`
### 需要修改
......@@ -961,7 +995,7 @@ rm docs/parse-audit/pending/${auditFileName}
### 放弃本次解析
\`\`\`bash
rm docs/parse-audit/pending/${auditFileName}
rm docs/parse-audit/pending/${baseFileName}/${auditFileName}
\`\`\`
---
......@@ -1302,6 +1336,7 @@ export function buildParseSummary(results, duration_ms) {
}
})
summary.total = summary.total_products
return summary
}
......