#!/bin/bash # 文档生成脚本 # 自动生成项目文档 set -euo pipefail # 颜色定义 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' # No Color # 日志函数 log_info() { echo -e "${BLUE}[INFO]${NC} $1" } log_success() { echo -e "${GREEN}[SUCCESS]${NC} $1" } log_warning() { echo -e "${YELLOW}[WARNING]${NC} $1" } log_error() { echo -e "${RED}[ERROR]${NC} $1" } # 生成脚本文档 generate_script_docs() { log_info "生成脚本文档..." local doc_file="docs/SCRIPTS.md" mkdir -p "$(dirname "$doc_file")" cat > "$doc_file" << 'EOF' # 脚本文档 本文档自动生成,包含项目中所有脚本的说明。 ## 脚本列表 EOF # 遍历脚本目录 find scripts/ -name "*.sh" -type f | sort | while read -r script; do echo "### $script" >> "$doc_file" echo "" >> "$doc_file" # 提取脚本描述(从注释中) local description description=$(head -n 10 "$script" | grep "^#" | grep -v "^#!/" | head -n 3 | sed 's/^# *//' || echo "无描述") echo "**描述**: $description" >> "$doc_file" echo "" >> "$doc_file" # 检查是否有使用说明 if grep -q "Usage:" "$script" || grep -q "用法:" "$script"; then echo "**用法**: 请查看脚本内部说明" >> "$doc_file" fi echo "" >> "$doc_file" done log_success "脚本文档已生成: $doc_file" } # 生成 API 文档 generate_api_docs() { log_info "生成 API 文档..." local doc_file="docs/API.md" cat > "$doc_file" << 'EOF' # API 文档 ## MCP 服务器 API ### Qdrant MCP 服务器 - **端口**: 3000 - **协议**: HTTP/JSON-RPC - **功能**: 向量搜索和文档管理 ### 主要端点 - `/search` - 搜索文档 - `/add` - 添加文档 - `/delete` - 删除文档 更多详细信息请参考各 MCP 服务器的源码。 EOF log_success "API 文档已生成: $doc_file" } # 生成部署文档 generate_deployment_docs() { log_info "生成部署文档..." local doc_file="docs/DEPLOYMENT.md" cat > "$doc_file" << 'EOF' # 部署文档 ## 快速开始 1. 环境设置 ```bash make setup ``` 2. 初始化服务 ```bash ./scripts/setup/init/init-vault-dev.sh ./scripts/deployment/consul/deploy-consul-cluster-kv.sh ``` 3. 启动 MCP 服务器 ```bash ./scripts/mcp/tools/start-mcp-server.sh ``` ## 详细部署步骤 请参考各组件的具体部署脚本和配置文件。 EOF log_success "部署文档已生成: $doc_file" } # 更新主 README update_main_readme() { log_info "更新主 README..." # 备份原 README if [ -f "README.md" ]; then cp "README.md" "README.md.backup" fi # 在 README 中添加脚本整理信息 cat >> "README.md" << 'EOF' ## 脚本整理 项目脚本已重新整理,按功能分类存放在 `scripts/` 目录中: - `scripts/setup/` - 环境设置和初始化 - `scripts/deployment/` - 部署相关脚本 - `scripts/testing/` - 测试脚本 - `scripts/utilities/` - 工具脚本 - `scripts/mcp/` - MCP 服务器相关 - `scripts/ci-cd/` - CI/CD 相关 详细信息请查看 [脚本索引](scripts/SCRIPT_INDEX.md)。 EOF log_success "主 README 已更新" } # 主函数 main() { log_info "开始生成文档..." generate_script_docs generate_api_docs generate_deployment_docs update_main_readme log_success "文档生成完成!" } # 执行主函数 main "$@"