# SharePoint Stream Transcribe Service 自动下载 SharePoint Stream 视频音频 → Amazon Transcribe 转录 → LLM 总结 → 邮件发送。 ## 架构 ``` 用户 (Tampermonkey) │ ├─ POST /submit (cURL + cookies + API Key) │ ▼ API Gateway ──► Lambda (submit) │ 验证 API Key, 存任务到 DynamoDB │ 启动 Step Functions ▼ Step Functions │ ├─ 1. Lambda (download) ── 下载音频 → S3 ├─ 2. Lambda (transcribe) ── 提交 Transcribe 任务 ├─ 3. Wait + Lambda (check) ── 轮询 Transcribe 状态 ├─ 4. Lambda (summarize) ── 调用 LLM 总结 └─ 5. Lambda (notify) ── SMTP 发送邮件 DynamoDB (users) ── API Key + Email + 配置 DynamoDB (jobs) ── 任务状态追踪 S3 (media) ── 音频文件 + 转录结果 SSM Parameters ── SMTP/LLM 密钥等敏感配置 ``` ## 部署 ```bash # 1. 进入项目目录 cd sp-transcribe-service # 2. 打包 Lambda 函数 bash scripts/build_lambdas.sh # 3. 配置 Terraform cp terraform/terraform.tfvars.example terraform/terraform.tfvars # 编辑 terraform/terraform.tfvars 填入 SMTP/LLM 配置 # 4. 部署 cd terraform terraform init terraform apply ``` ## 管理用户 ```bash # 添加用户 python scripts/manage_users.py add --email user@example.com --name "User Name" # 列出用户 python scripts/manage_users.py list # 删除用户 python scripts/manage_users.py delete --api-key ``` ## Tampermonkey 插件 安装 `userscript/sp-stream-helper.user.js`,在设置面板填入 API Endpoint 和 API Key。 ## 配置 通过 Terraform variables 或 SSM Parameter Store 配置: | 配置项 | 说明 | |--------|------| | `smtp_host` | SMTP 服务器地址 | | `smtp_port` | SMTP 端口 (587) | | `smtp_user` | SMTP 用户名 | | `smtp_pass` | SMTP 密码 | | `smtp_from` | 发件人地址 | | `llm_api_url` | OpenAI 兼容 LLM API 地址 | | `llm_api_key` | LLM API Key | | `llm_model` | 模型名称 |