Skip to content

Mailflow v0.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 17 Aug 16:37

Mailflow v0.1.0

首个可运行版本,把经典版 Outlook 的邮件事件可靠地转成 OpenCode 会话与 prompt,同时保留旧 win-console 的能力和迁移路径。

本次交付

  • 持久化 Mailflow Core:SQLite、规则匹配、幂等、重试、运行审计、审批和 SSE 状态流。
  • OpenCode 适配器:创建会话、异步提交 prompt,并在 prompt 中带稳定的 Mailflow 标记。
  • 标准 MCP stdio server:邮件读取、附件导出、回复草稿、运行查询和请求发送。
  • Outlook Classic Windows 连接器:可靠邮件交付、Outlook 原生读写、草稿同步与经审批发送。
  • 中文本地管理台:规则、运行、审批、手动触发与健康状态。
  • win-console 兼容层:旧工具别名、能力注册/心跳和 dry-run 优先的数据导入。

下载选择

  • email-workflow-0.1.0-outlook-classic-win-x64.zip:Windows 机器上的 Outlook Classic 连接器,可直接解压运行。
  • email-workflow-0.1.0-runtime.zip / .tar.gz:Core、MCP、管理台、完整文档与连接器源码。
  • aleygey-email-workflow-0.1.0.tgz:npm 格式的 Core/MCP 包。
  • SHA256SUMS:以上资产的 SHA-256 校验值。

Core 运行时要求 Node.js 24 或更高版本。Outlook 连接器面向 Windows x64 和经典版桌面 Outlook;它不依赖新 Outlook 的 Web Add-in 后台能力。

最短启动路径

  1. 在运行时目录执行 npm install --omit=dev,再运行 node dist/src/cli.js init --output .env,生成两个不同的长随机 token。
  2. **不要覆盖现有 OpenCode 配置。**把 examples/opencode-mailflow-complete.jsonagent.mailflow-emailmcp.mailflow 合并到现有 opencode.json/opencode.jsonc,同时保留已有 provider、model、agent、plugin 和其他 MCP;runtime zip 用户把 MCP command 改为本机 CLI 绝对路径。
  3. 在准备启动 OpenCode 的同一环境设置 MAILFLOW_MCP_TOKEN=<.env 中的 MAILFLOW_API_TOKEN>;不要使用 MAILFLOW_CONNECTOR_TOKEN,也不要把 token 写进 JSON。
  4. 启动 OpenCode:opencode serve --hostname 127.0.0.1 --port 4096
  5. 检查 .env 的 OpenCode 地址,再执行 node --env-file=.env dist/src/cli.js serve;发布运行禁止使用空 token 或相同 token。
  6. 打开 http://127.0.0.1:8798,创建规则并先用“测试匹配”验证。
  7. 解压 Windows 连接器,按包内 README 建立 connector.json 后启动。

安全默认值

  • Core 默认只监听 127.0.0.1,带正文的请求强制 JSON Content-Type;Core 到 OpenCode 只允许 loopback HTTP 或 HTTPS。
  • API/MCP token 与 connector token 强制同时存在且互不相同。
  • 默认 mailflow-email agent 每次 prompt 前都会重新验证:先有 catch-all * deny 边界,随后只允许 workspace read/glob/grep/list、覆盖任意目录层级的 *.env/*.env.* deny 和精确命名的只读 Mailflow MCP 工具;配置缺失或变宽时 fail closed。
  • 发送邮件必须经过显式审批;AI 回复先同步 Outlook 草稿才出现审批。审批中编辑会作废旧审批、执行 draft.update,同步后产生新审批并要求再次点击。
  • 发送前校验主题、To/Cc/Bcc、正文的规范化哈希,防止批准后发送已变化的旧稿/新稿。
  • 发送结果不确定时只做 5 次有界延迟核对;人工确认未发送后作废旧批准并要求全新审批,绝不盲目重发。
  • 旧数据导入默认仅生成 dry-run 报告。

MAILFLOW_ALLOW_UNAUTHENTICATED_LOOPBACK=1OPENCODE_ALLOW_INSECURE_REMOTE=1OPENCODE_REQUIRE_SAFE_AGENT=false 等 unsafe 选项仅用于隔离开发,不属于发布配置。

已知限制

  • 默认自动 agent 对配置的 workspace 和 Core token 可见邮件具有较宽的只读范围;v0.1.0 尚无每个 run 独立的 MCP capability。请使用专用最小权限 workspace、邮箱/文件夹和模型账号。
  • SQLite 会保存邮件正文与原始快照,当前没有自动数据保留期任务;目录 ACL、全盘加密、备份和停机归档/删除周期由部署方负责。
  • Outlook connector 是外部 COM 自动化程序,不是 trusted VSTO add-in;真实 Windows profile 下的 Trust Center、杀毒状态、组策略和 Object Model Guard 仍必须在目标机器 smoke test。

完整安装、回滚与故障排查见仓库 README.mddocs/operations.md