1+ # SDK 仓库配置
2+ SDK_REPO := https://github.com/Serverless-Devs/agentrun-sdk-python.git
3+ SDK_DIR := sdk/python
4+ SDK_BRANCH := main
5+
6+ # 阿里云 OSS 配置 (通过环境变量或 .env 文件配置)
7+ OSS_BUCKET ?= $(AGENTRUN_DOCS_OSS_BUCKET )
8+ OSS_ENDPOINT ?= $(AGENTRUN_DOCS_OSS_ENDPOINT )
9+
10+
11+ .PHONY : help
12+ help : # # 显示帮助文件
13+ @awk ' BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {sub("\\\\n",sprintf("\n%22c"," "), $$2);printf "\033[36m%-40s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST )
14+
15+
16+
17+ .PHONY : install-js
18+ install-js :
19+ npm i
20+
21+ .PHONY : install-py
22+ install-py :
23+
24+ .PHONY : install
25+ install : install-py install-js # # 安装所有依赖
26+
27+
28+
29+ .PHONY : sync-sdk
30+ sync-sdk : # # 拉取/更新 SDK 源码
31+ @echo " 🔄 同步 Python SDK 源码..."
32+ @if [ -d " $( SDK_DIR) " ]; then \
33+ echo " 更新已有仓库..." ; \
34+ cd $(SDK_DIR ) && git fetch origin && git reset --hard origin/$(SDK_BRANCH ) ; \
35+ else \
36+ echo " 克隆仓库..." ; \
37+ mkdir -p sdk; \
38+ git clone --depth 1 --branch $(SDK_BRANCH ) $(SDK_REPO ) $(SDK_DIR ) ; \
39+ fi
40+ @echo " ✅ SDK 同步完成"
41+
42+
43+ .PHONY : gen
44+ gen : sync-sdk # # 从 SDK 源码生成 API 文档(自定义脚本)
45+ @echo " 📚 生成 API 文档(自定义脚本)..."
46+ @if [ ! -d " $( SDK_DIR) " ]; then \
47+ echo " ❌ SDK 目录不存在,请先运行 make sync-sdk" ; \
48+ exit 1; \
49+ fi
50+ python3 scripts/generate_api_docs.py --sdk-path $(SDK_DIR )
51+ @echo " ✅ API 文档生成完成"
52+
53+ .PHONY : dev
54+ dev : # # 启动开发服务器
55+ @echo " 🚀 启动开发服务器..."
56+ npm run start
57+
58+ .PHONY : build
59+ build : # # 构建静态文档
60+ @echo " 🔨 构建静态文档..."
61+ npm run build
62+ @echo " ✅ 构建完成,输出目录: build/"
63+
64+ .PHONY : deploy
65+ deploy : build # # 部署到阿里云 OSS
66+ @echo " 🚀 部署到阿里云 OSS..."
67+ @if [ -z " $( OSS_BUCKET) " ]; then \
68+ echo " ❌ 错误: 未配置 OSS_BUCKET" ; \
69+ echo " 请设置环境变量 AGENTRUN_DOCS_OSS_BUCKET 或复制 .env.example 为 .env" ; \
70+ exit 1; \
71+ fi
72+ @if [ -z " $( OSS_ENDPOINT) " ]; then \
73+ echo " ❌ 错误: 未配置 OSS_ENDPOINT" ; \
74+ echo " 请设置环境变量 AGENTRUN_DOCS_OSS_ENDPOINT 或复制 .env.example 为 .env" ; \
75+ exit 1; \
76+ fi
77+ @command -v ossutil > /dev/null 2>&1 || { \
78+ echo " ❌ 错误: ossutil 未安装" ; \
79+ echo " 请参考: https://help.aliyun.com/document_detail/120075.html" ; \
80+ exit 1; \
81+ }
82+ ossutil cp -r build/ oss://$(OSS_BUCKET ) / --endpoint $(OSS_ENDPOINT ) -f
83+ @echo " ✅ 部署完成"
84+
85+ .PHONY : clean
86+ clean : # # 清理构建文件
87+ @echo " 🧹 清理构建文件..."
88+ @rm -rf build
89+ @rm -rf .docusaurus
90+ @rm -rf node_modules
91+ @rm -rf sdk
92+ @echo " ✅ 清理完成"
0 commit comments