Skip to content

feat: auto-export pipeline for post-recording automation#86

Open
StevenLi-phoenix wants to merge 1 commit intomainfrom
pr/auto-export-39
Open

feat: auto-export pipeline for post-recording automation#86
StevenLi-phoenix wants to merge 1 commit intomainfrom
pr/auto-export-39

Conversation

@StevenLi-phoenix
Copy link
Copy Markdown
Owner

Summary

  • AutoExportConfig model with 3 action types: write file, copy transcript, webhook
  • AutoExportService (nonisolated enum) — format + execute pipeline with injectable URLSession
  • AutoExportSettingsTab in Settings > Export tab for enabling/configuring auto-export actions
  • BackgroundSummaryService integration — triggers after summary+title complete (both success and error paths)
  • 25 unit tests for formatting, config serialization, and pipeline execution

Closes #39

Test plan

  • Build succeeds
  • AutoExportTests (25 tests) pass
  • Manual: enable auto-export, configure write-to-file, record → verify file created
  • Manual: configure webhook, record → verify POST sent
  • Manual: verify copy-transcript puts formatted text on clipboard

🤖 Generated with Claude Code

Add AutoExportConfig model with 3 action types (write file, copy
transcript, webhook), AutoExportService for formatting and execution
with injectable URLSession, AutoExportSettingsTab in Settings,
and BackgroundSummaryService integration that triggers after
summary+title generation completes. 25 tests covering formatting,
config serialization, and pipeline execution.
@claude
Copy link
Copy Markdown

claude bot commented Mar 28, 2026

❌ Claude Code Review: REJECT

The webhook secretHeader (auth token) is serialized into UserDefaults JSON, violating the project's established Keychain security pattern — per CLAUDE.md, secrets like API keys must be stored via KeychainService with custom CodingKeys excluding them from encoding, not stored as plain UserDefaults data.

@github-actions
Copy link
Copy Markdown
Contributor

⚠️ Auto-merge skipped: Claude Code review did not approve. Manual review required.

@StevenLi-phoenix
Copy link
Copy Markdown
Owner Author

Notes — Auto-export Pipeline (#39)

923 行、7 文件、25 测试——这是个完整的功能!

1. Pipeline 架构

3 个 action 类型(write file / copy transcript / webhook)覆盖了核心场景。几个扩展建议:

2. BackgroundSummaryService 集成

在 summary + title 完成后触发很好。但需要考虑:

  • 错误路径:PR 提到 "both success and error paths" 触发——如果摘要失败,导出内容是什么?建议只导出成功的数据,错误时跳过 write file 但仍执行 copy transcript
  • 超时:webhook 请求需要 timeout(建议 10s),不能阻塞 BackgroundSummaryService 的下一个任务

3. Webhook 安全

  • webhook URL 可以包含用户自定义 header(如 Authorization: Bearer xxx
  • POST body 建议标准化为 JSON schema,方便用户对接 Zapier/Make.com/n8n
  • URL scheme 验证:只允许 https://,拒绝 http://(除非 localhost)

4. 测试覆盖

25 tests 👍。确认包含:

  • Config serialization round-trip
  • Webhook failure 不影响其他 actions
  • 并发导出不重复触发

5. 竞品参考

Fireflies 的自动化管道是其付费功能的核心卖点。我们的方案是完全本地 + 开放的——webhook 意味着用户可以接入任何系统。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

自动导出流水线 (Auto-export Pipeline)

1 participant