Go to file
sladro 81e4947b99 refactor: 全面修复Word填充Agent代码规范问题
## 核心改进

### 1. 移除静默降级,快速失败 (interact_user.py)
- 删除无交互处理器时返回默认值的静默逻辑
- 改为立即抛出异常暴露配置缺失问题
- 符合"暴露问题、快速失败"原则

### 2. 统一配置源 (word.py + settings.py)
- 删除FormatConstants类,消除配置冗余
- Word格式参数统一从settings读取
- 新增Word格式配置项到settings.py
- 实现单一数据源原则

### 3. 统一RAGTool实例化 (init_config.py)
- 在InitConfigNode统一创建RAGTool实例
- generate_content.py和interact_user.py改为验证式获取
- 消除重复实例化逻辑
- 修复single_chapter_agent.py状态传递丢失rag_tool问题

### 4. 拆分复杂方法 (word.py)
- fill_placeholder拆分为6个原子操作:
  * _parse_chapter_number_from_placeholder
  * _find_heading_by_chapter_id
  * _get_chapter_level_from_heading
  * _parse_markdown_to_paragraphs
  * _insert_parsed_paragraphs
  * 保存文档
- 符合"小步快跑"原则

### 5. 优化配置继承 (init_config.py + generate_content.py)
- 新增_expand_config_inheritance预展开继承链
- _get_chapter_config从O(n)降为O(1)查找
- 移除运行时while循环向上查找

### 6. 统一异常处理策略
- 所有错误立即抛出,移除静默返回默认值
- interact_user.py: 获取知识库失败抛出异常
- generate_content.py: RAGTool未初始化抛出异常

### 7. 修复状态传递问题 (single_chapter_agent.py)
- 使用{**state, ...}继承所有字段
- 避免硬编码字典遗漏rag_tool和expanded_configs
- 确保初始化数据正确传递

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-02 08:25:15 +08:00
111 feat: 实现Word文档标题格式自动调整功能 2025-09-30 15:39:39 +08:00
111 - 副本 feat: 实现标书内容填写完整流程并修复关键bug 2025-10-01 16:53:44 +08:00
config feat: 初始化BidMaster-CLI项目 2025-09-25 13:50:13 +08:00
data refactor: 按照PROJECT_SPEC.md规范重构代码 2025-09-26 20:02:59 +08:00
doc feat: 实现完整三级标题生成功能 2025-09-25 14:33:30 +08:00
src/bidmaster refactor: 全面修复Word填充Agent代码规范问题 2025-10-02 08:25:15 +08:00
templates feat: 初始化BidMaster-CLI项目 2025-09-25 13:50:13 +08:00
tests feat: 初始化BidMaster-CLI项目 2025-09-25 13:50:13 +08:00
.env.example feat: 初始化BidMaster-CLI项目 2025-09-25 13:50:13 +08:00
.gitignore feat: 实现完整三级标题生成功能 2025-09-25 14:33:30 +08:00
.pre-commit-config.yaml feat: 初始化BidMaster-CLI项目 2025-09-25 13:50:13 +08:00
.python-version feat: 初始化BidMaster-CLI项目 2025-09-25 13:50:13 +08:00
ARCHITECTURE.md refactor: 按照PROJECT_SPEC.md规范重构代码 2025-09-26 20:02:59 +08:00
CLAUDE.md feat: 初始化BidMaster-CLI项目 2025-09-25 13:50:13 +08:00
main.py refactor: 按照PROJECT_SPEC.md规范重构代码 2025-09-26 20:02:59 +08:00
PROJECT_SPEC.md refactor: 按照PROJECT_SPEC.md规范重构代码 2025-09-26 20:02:59 +08:00
pyproject.toml fix: 修复CLI导入问题并简化交互流程 2025-09-28 20:21:10 +08:00
uv.lock fix: 修复CLI导入问题并简化交互流程 2025-09-28 20:21:10 +08:00