iaun 1813add462 first commit 1 ay önce
..
lambdas 1813add462 first commit 1 ay önce
scripts 1813add462 first commit 1 ay önce
terraform 1813add462 first commit 1 ay önce
userscript 1813add462 first commit 1 ay önce
README.md 1813add462 first commit 1 ay önce

README.md

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 密钥等敏感配置

部署

# 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

管理用户

# 添加用户
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 <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 模型名称