简体中文
AI 智能体
Swanmail 可以调用本地 AI 智能体来增强邮件处理流程。AI 功能完全可选,只有配置了至少一个智能体后才会显示。
智能体能做什么
- 总结:把长邮件会话浓缩成几点摘要。
- 翻译:把邮件翻译成另一种语言。
- 分类与标签:自动给 incoming 邮件分类、打标签。
- 垃圾评分:标记疑似垃圾邮件。
工作原理
智能体是外部程序(Shell 命令或脚本),接收邮件内容并返回 JSON。Swanmail 通过智能体运行时调用它们,并将结果保存在 SQLite 中。
由于智能体是本地命令,你可以完全控制模型和数据。除非你配置的正是会调用第三方 API 的智能体,否则邮件内容不会发送到外部 API。
配置智能体
- 打开 设置 → AI 助手。
- 添加一个新智能体:
- 名称
- 提供商类型(
echo、claude、kimi、codex、pi或custom) - 命令和可选的参数模板
- 超时和并发限制
- 为一个或多个账号启用该智能体。
测试时可以使用内置的 echo 提供商,它无需调用外部模型即可返回简单响应。
智能体输出格式
智能体应返回符合预期 schema 的 JSON。具体字段取决于任务类型:
json
{
"category": "Travel",
"labels": ["Flight", "Booking"],
"spamScore": 0.1,
"summary": "Your flight is confirmed for tomorrow.",
"translation": "..."
}缺失的字段会被忽略。
LLM API 提供商
除了本地 CLI 智能体,Swanmail 还支持 OpenAI 兼容的 chat completions 端点以及原生的 Anthropic Messages API。这覆盖 OpenAI、Groq 等托管 API,以及 Ollama 等本地服务器。
配置 LLM API 智能体:
- 打开 设置 → LLM API。
- 选择 OpenAI 或 Anthropic,然后输入所选端点的 API URL。OpenAI 配置使用
${apiUrl}/chat/completions;Anthropic 配置使用${apiUrl}/messages。- OpenAI:
https://api.openai.com/v1 - Ollama:
http://localhost:11434/v1
- OpenAI:
- 输入 API key。在可用时,它会被 OS 钥匙串加密,且不会暴露给渲染进程。当前配置要求填写非空 key,本地端点也一样。
- 输入 模型名称,例如
gpt-4o或llama3.2。 - 如果 API URL 指向
localhost或私有 IP(本地 Ollama 必需),请开启允许私有/本地端点。
端点必须返回标准 OpenAI 响应格式:
json
{
"choices": [{ "message": { "content": "..." } }]
}所有现有智能体任务(分类、垃圾检查、总结、翻译、自定义过滤、测试)都支持该提供商。
CLI
你也可以在命令行测试智能体:
bash
pnpm cli agents test --id <agentId> --prompt "Your prompt here" --jsonCLI 还支持 agents list、agents add、agents remove、agents jobs、agents run-filter 和 agents set-account。CLI 智能体配置面向本地命令提供商;OpenAI 或 Anthropic API 智能体请在应用的 AI 智能体设置中配置。