修复架构和代码规范违规问题: 架构修复: - 创建internal目录(内部模块,禁止外部import) - 恢复ARCHITECTURE.md文档 - 移除未定义的utils目录 - 清理临时测试目录 代码规范修复(严格遵循核心哲学): - 移除所有try-except,让错误立即暴露 - 移除所有防护编程(不返回bool/错误字符串) - 简化为MVP版本(每个命令组只保留核心功能) - 移除所有美化输出,使用简单print 功能实现: - 实现generate命令(只保留task子命令) - 实现assemble命令(只保留tables子命令) - 修复bidmaster/__init__.py导出 - 添加缺失的TableGenerator类 文件精简: - generate.py: 262行 → 66行 - assemble.py: 293行 → 64行 - 移除所有延迟导入和内部import 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
3.9 KiB
3.9 KiB
BidMaster-CLI 架构文档
系统架构概览
BidMaster-CLI 采用分层架构设计,确保模块间的清晰边界和单向依赖。
┌─────────────────────────────────────┐
│ CLI Layer (Interface) │ ← 用户交互层
├─────────────────────────────────────┤
│ Agent Layer (Orchestration) │ ← 业务编排层
├─────────────────────────────────────┤
│ Tools Layer (Infrastructure) │ ← 基础设施层
└─────────────────────────────────────┘
层级职责
CLI Layer (命令行接口层)
- 职责: 处理用户输入,展示输出结果
- 模块:
src/bidmaster/cli/ - 依赖: 可调用 Agent Layer 和 Tools Layer
- 关键组件:
main.py: CLI入口和命令注册kb.py: 知识库管理命令project.py: 项目管理命令generate.py: 内容生成命令assemble.py: 合规组装命令
Agent Layer (业务编排层)
- 职责: 实现核心业务逻辑,编排工具调用
- 模块:
src/bidmaster/agents/ - 依赖: 仅可调用 Tools Layer
- 关键组件:
analysis.py: 分析Agent - 解析招标文件generation.py: 生成Agent - 内容生成assembly.py: 组装Agent - 表格生成graph.py: LangGraph工作流编排
Tools Layer (基础设施层)
- 职责: 提供原子化的工具函数
- 模块:
src/bidmaster/tools/ - 依赖: 不依赖其他层
- 关键组件:
parser.py: 文档解析工具rag.py: RAG检索工具word.py: Word文档处理table.py: 表格生成工具
辅助模块
Config (配置管理)
- 路径:
src/bidmaster/config/ - 职责: 统一管理配置
- 文件:
settings.py
Models (数据模型)
- 路径:
src/bidmaster/models/ - 职责: 定义数据结构
- 文件:
project.py,task.py
Internal (内部实现)
- 路径:
src/bidmaster/internal/ - 职责: 内部实现细节,禁止外部引用
- 说明: 存放不对外暴露的内部功能
依赖规则
- 单向依赖: 上层可以调用下层,禁止逆向引用
- 跨层调用: CLI可以直接调用Tools,无需经过Agent
- 内部模块: internal目录内容仅供内部使用
- 统一导出: 通过
__init__.py管理模块导出
数据流
用户输入 → CLI Layer → Agent Layer → Tools Layer
↓ ↓ ↓
命令解析 业务编排 工具执行
↓ ↓ ↓
展示结果 ← 返回结果 ← 返回数据
核心工作流
1. 项目创建流程 (project new)
CLI(project.py)
→ Analysis Agent
→ Parser Tool (解析招标文件)
→ Word Tool (生成模板)
→ 保存项目文件
2. 内容生成流程 (generate)
CLI(generate.py)
→ Generation Agent
→ RAG Tool (检索知识库)
→ LLM调用
→ 更新任务状态
3. 合规组装流程 (assemble)
CLI(assemble.py)
→ Assembly Agent
→ Table Tool (生成表格)
→ Word Tool (插入文档)
→ 生成最终文档
设计原则
- 高内聚低耦合: 每个模块职责单一
- 依赖倒置: 上层定义接口,下层实现
- 开闭原则: 对扩展开放,对修改关闭
- 最小知识原则: 模块只了解必要的依赖
扩展指南
新增功能时遵循以下步骤:
- 确定功能层级(CLI/Agent/Tool)
- 在对应目录创建模块
- 遵循现有命名规范
- 更新相应的
__init__.py - 添加单元测试
- 更新本文档
版本历史
- v0.1.0: 初始架构设计
- v0.2.0: 添加internal目录
- v0.3.0: 完善三层架构