Files
MailUI4Agents/.gitignore
JianFeeeee fc33087982 feat: homeagent-mail-bridge —— TrueAgent 接入 AgentMail(MVP)
## 架构

TrueAgent 是单一常驻 agent 事件循环,没有 per-conversation session。
插件像 QQ 插件一样:所有邮件注入同一个事件循环,靠中断消息文本传递 context。
不做 platform_sessions 上报(无 sessions 可映射)。

## 工具

- read_inbox: 收件箱查询(渲染发件人/主题/正文/抄送/附件)
- send_mail: 三维地址发信(支持 reply_to)
- output_send__homeagent 输出通道(agent 可主动发信)

## 自动回信

InjectInputSync(阻塞)等待 agent 处理完毕 → 自动把 FinalText
发回给发件人(reply_to 指向原邮件)。agent 不需要记得调 send_mail。

试过 StageAfterOutput hook,但 before_output 看不到 ToolCalls
(read_inbox 调用在 turn 中间就被清掉了),导致自动回信不触发。
InjectInputSync 更可靠:TrueAgent 保证不重入。

## 基础设施

- 心跳 25 秒
- SSE 长连 + 自动重连(3 秒退避)
- 注册时自动注册密钥(AGENTMAIL_AGENT_KEY 环境变量)
- systemd drop-in 注入 AgentMail 环境变量

## 构建

plugindev build → dist/homeagent_linux_amd64.hmap
安装到 /home/newqqagent/plugins/homeagent-mail-bridge/
homeagent.service drop-in: /etc/systemd/system/homeagent.service.d/agentmail.conf

## 端到端验证

admin → homeagent@/tmp/homeagent.new(自动回信验证)
→ homeagent 读取邮件 + 自动回信「收到确认」→ 25 秒往返完成
2026-09-03 12:57:43 +08:00

62 lines
1.9 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ---- 依赖与构建产物 ----
#
# 前端只在**构建期**用到 npm`npm run build` 出的 dist/ 被 cp 进
# gateway/internal/static/static/ 再由 go:embed 编进二进制。
# 部署机上没有 node产物就是「一个二进制 + 一个 .db 文件」。
# 因此这三样都不进版本库:装依赖与构建都能从 package-lock.json 复现。
web/node_modules/
web/dist/
plugins/*/node_modules/
# dsh-mail-bridge 是 TypeScript 写的dist/ 是 tsc 的产物。
# 与 web/dist 同一个理由:装依赖与构建都能从 package-lock.json 复现,
# 产物不进版本库。注意它**必须在装插件前构建**package.json 的
# main 指向 dist/index.jsdeploy/install.sh 负责这一步。
plugins/*/dist/
# go:embed 的输入目录 = web/dist 的副本,同属构建产物。
#
# 但目录本身要留下go:embed 要求它存在才能编译,否则新克隆连
# `go test ./...` 都跑不起来 —— 只改后端的人不该被迫先装 node。
# 因此忽略构建产物,只保留 placeholder.html见该文件内注释
# 之所以不叫 index.html是因为那正是 Vite 产物的名字,会被反复覆盖)。
gateway/internal/static/static/*
!gateway/internal/static/static/placeholder.html
# Go 构建产物
gateway/agentmail-gateway
gateway/gw
*.test
# ---- 运行态数据 ----
#
# SQLite 库与附件目录:生产在 /opt/agentmail/data
# 本地调试可能落在仓库里,绝不能提交(含真实邮件与凭证哈希)。
*.db
*.db-shm
*.db-wal
data/
attachments/
# ---- 凭证 ----
#
# 管理员密码、Agent 密钥、opencode server password 都在 env 文件里。
.env
*.env
# ---- Agent 工具的运行态目录 ----
#
# 这些是 pi / omo 在仓库里落的会话与后台任务状态,属于本机运行痕迹,
# 不是项目的一部分。
.pi/
.omo/
.pi-glla/
.codegraph
# ---- 编辑器与系统 ----
.DS_Store
*.swp
.idea/
.vscode/
plugins/homeagent-mail-bridge/build/