bidmaster-cli/src/bidmaster/cli/main.py
sladro 5d319fd2a6 feat: 实现标书内容填写完整流程并修复关键bug
新增功能:
- 实现ContentWriterAgent内容填写协调器
- 实现SingleChapterAgent单章节处理流程
- 新增write命令组支持标书内容自动填写
- 支持深度优先遍历章节队列
- 实现每章节生成后立即保存到Word

核心修复:
1. 修复章节排序bug:改用数字排序避免 chapter_1_10 排在 chapter_1_2 前面
2. 修复占位符替换丢失格式:保留段落格式而非直接替换paragraph.text
3. 修复占位符缺失问题:添加降级策略,无占位符时自动在标题后插入
4. 实现Markdown到Word格式智能转换:
   - 根据章节层级自动映射样式
   - ## 标题 → 3级内容用加粗段落,2级内容用Heading 4
   - 有序列表 → 1)2)3)编号格式
   - 无序列表 → • 实心圆点
   - 自动应用正文格式:首行缩进、1.5倍行距、宋体12磅

技术改进:
- 使用python-docx底层XML API精确控制段落插入位置
- 实现增量保存避免内容丢失
- 添加详细的段落格式配置

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-01 16:53:44 +08:00

60 lines
1.6 KiB
Python

"""BidMaster CLI主入口
提供标书制作的完整命令行界面。
"""
import logging
import click
from .assemble import assemble
from .generate import generate
from .kb import kb
from .project import project
from .write import write
@click.group()
@click.version_option(version="0.1.0", prog_name="bidmaster")
def cli():
"""BidMaster - AI标书撰写助手
智能化标书制作工具,提供文档分析、内容生成、表格组装等功能。
"""
# 配置日志
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
# 添加子命令组
cli.add_command(kb, name="kb")
cli.add_command(project, name="project")
cli.add_command(generate, name="generate")
cli.add_command(write, name="write")
cli.add_command(assemble, name="assemble")
@cli.command()
def info():
"""显示系统信息"""
print("BidMaster CLI v0.1.0")
print("AI标书撰写助手")
print("\n可用命令:")
print(" kb - 知识库管理")
print(" project - 项目管理")
print(" new - 创建新标书项目")
print(" status - 查看项目状态")
print(" generate - 内容生成")
print(" task - 生成任务内容")
print(" write - 内容填写")
print(" start - 开始填写标书内容")
print(" chapter - 填写指定章节")
print(" assemble - 合规组装")
print(" tables - 生成表格")
print(" info - 显示系统信息")
if __name__ == "__main__":
cli()