Commit Graph

10 Commits

Author SHA1 Message Date
e028e4fa96 feat: add context-aware toc automation 2025-11-18 17:54:44 +08:00
52733d68c2 feat: 在标题生成Agent中增加AI审核交互节点
1. 新增ApplyReviewSuggestionsNode节点
   - 展示AI审查建议给用户
   - 支持用户选择要应用的建议
   - 支持交互/静默/程序化三种模式

2. 新增AdjustChaptersNode节点
   - 根据用户选择的AI建议调整章节结构
   - 完全基于AI的智能调整,无硬编码逻辑
   - 安全的错误处理和回退机制

3. 更新工作流架构
   - 新流程: ReviewStructure → ApplyReviewSuggestions → AdjustChapters → FinalizeChapters
   - 专业的单一职责原则,每个节点功能明确
   - 完善的状态传递和错误处理

4. 修复AnalysisAgent集成问题
   - 保留TocAgent的完整审查结果
   - 正确使用调整后的章节结构
   - 修复interaction_handler传递问题

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-29 15:08:41 +08:00
c96c3696ca fix: 修复技术目录生成Agent中的NoneType错误
- 修复safe_execute方法中的None返回值处理
- 增强所有NodeStateManager方法的None状态处理
- 确保状态管理方法始终返回有效的字典对象
- 增加错误情况下的降级处理和日志记录

修复了重构过程中引入的'NoneType' object does not support item assignment错误

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-29 11:25:35 +08:00
b5b727a61d refactor: 消除技术目录生成Agent中的重复代码
- 统一条件判断函数,移除analysis.py中的重复别名
- 创建BaseAgentFactory基类,抽取共同的工厂方法
- AnalysisAgent和TocAgent继承工厂基类,移除重复代码
- 增强BaseNode状态更新功能,添加进度和警告辅助方法

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-29 11:05:52 +08:00
692e54ecdd refactor: 重构目录生成Agent,消除重复代码并统一接口
主要优化:
- 统一表格文本提取功能:将重复的_extract_table_text函数合并到parser.py
- 创建通用工作流条件判断:新增workflow_utils.py提供统一的should_continue函数
- 统一LLM调用接口:所有LLM调用统一使用LLMHelper.call_llm_with_retry
- 统一JSON解析逻辑:使用LLMHelper.parse_ai_json_response统一处理AI响应
- 清理冗余导入:移除不再使用的json模块导入

效果:
- 减少约120行重复代码
- 提高代码一致性和可维护性
- 简化调试和问题定位
- 符合DRY原则

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-29 10:52:52 +08:00
fb3e704bef refactor: 架构优化 - 移除重复代码并统一工具类模式
重大架构改进:
1. 移除重复的TocGeneratorAgent实现(585行),保留模块化的TocAgent
2. 修复LLMService模块级强制初始化问题,采用标准单例模式
3. 统一所有工具类的使用模式,提高架构一致性

具体更改:
- 删除 src/bidmaster/agents/toc_generator.py(完全重复实现)
- 移除 llm.py 中的模块级实例化(llm_service = LLMService())
- 更新 tools/__init__.py 导出LLMService类而非实例
- 更新使用方改为LLMService()调用(generate_sub_chapters.py, review_structure.py)
- 清理agents/__init__.py和analysis.py中的旧版本引用

收益:
- 减少约600行重复代码
- 解决模块导入时的配置加载错误
- 实现惰性加载,配置只在使用时加载
- 提高代码可维护性和架构一致性

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-29 09:59:45 +08:00
c74ae0b418 fix: 修复CLI导入问题并简化交互流程
主要修改:
- 修复CLI模块导入:添加__main__.py和正确的包配置
- 修复InteractionHandler调用错误:使用__call__而非.interact()
- 删除重复交互:AnalysisAgent和TocAgent都询问生成模式
- 简化生成方式:删除模板选项,只保留AI生成
- 消除代码重复:BidParser专注解析,TocAgent负责生成

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-28 20:21:10 +08:00
2ff96ea544 refactor: 将目录生成功能抽取为独立的TocGeneratorAgent
- 创建独立的TocGeneratorAgent,专门负责目录生成
- 从AnalysisAgent中移除700+行冗余代码
- 添加统一的LLM服务层,避免重复创建客户端实例
- 修复所有违反PROJECT_SPEC.md规范的代码:
  - 移除防御编程(copy()方法)
  - 实现立即失败原则(异常直接抛出)
  - 统一常量定义(CATEGORY_NAMES)
  - 规范import语句位置
  - 修复私有方法调用问题
- 保持向后兼容性,不改变原有接口

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-27 10:12:44 +08:00
a01fa47a00 fix: 修复章节编号错乱问题并优化子标题生成
## 主要修复
- 修复子标题编号与父章节编号不匹配的问题
- 从Agent层移除编号处理逻辑,改为在Word生成时动态计算编号
- 优化编号识别算法,支持多级编号格式(1.、1.1、1.1.1等)

## 技术改进
- 在WordProcessor中实现动态章节编号功能
- 使用正则表达式准确提取编号和内容
- 简化Agent工作流,专注于内容生成而非格式化
- 添加original_index字段到ScoringCriteria模型

## 工作流优化
- 调整LangGraph节点执行顺序:生成章节→映射→生成子标题→AI审核→最终确定
- 章节顺序严格遵循招标文件评分表原始顺序
- 职责分离:Agent专注内容,Word处理器专注格式

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-26 09:52:38 +08:00
47fc26f3f0 feat: 初始化BidMaster-CLI项目
- 实现三层架构(CLI/Agent/Tools)
- 完成招标文件解析器(支持Excel/CSV/Word)
- 实现AI智能表格识别和分类
- 支持商务/技术评分项智能分离
- 实现RAG知识库管理
- 完成专业目录结构生成
- 修复编码规范违规问题

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-25 13:50:13 +08:00