178 lines
3.5 KiB
Bash
Executable File
178 lines
3.5 KiB
Bash
Executable File
#!/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 "$@" |