安全、用户隔离的语义邮件搜索,通过 iGPT API 实现。混合语义+关键词检索,覆盖用户在 Gmail、Outlook 或 IMAP 整个邮箱历史。
iGPT 电子邮件搜索是一项面向实际任务的技能,主要用于搜索用户的电子邮件, 不仅仅是关键词;Hybrid 语义 + 关键词检索, 贯穿其整个收件箱历史;
使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
按语义(含义)而非仅关键词搜索用户的邮件。在用户完整的收件箱历史中,执行混合式语义 + 关键词检索。
该技能调用 iGPT 的 recall/search 接口,从用户已连接的邮箱中查找相关邮件及会话线程。其搜索引擎具备以下能力:
本技能仅执行检索操作:定位并返回原始邮件内容,不对其进行推理、摘要或结构化数据提取。如需上述高级分析能力,请使用配套技能 igpt-email-ask —— 该技能调用 iGPT 的 Context Engine,提供分析、摘要和结构化提取功能。
若你需要的是摘要性或综合性的回答、结构化数据提取(例如任务、决策、联系人)、情感分析、跨多个会话线程的推理,或需深度理解而非简单定位的问题答案——请使用 igpt-email-ask,而非 search。
经验法则:若提示(prompt)是一个问题,使用 ask;若提示是一个查找请求,使用 search。
connectors/authorize 完成 OAuth 授权,搜索才能返回结果igptai 包pip install igptai
将你的 API 密钥设为环境变量:
export IGPT_API_KEY="your-api-key-here"
from igptai import IGPT import os igpt = IGPT(api_key=os.environ["IGPT_API_KEY"], user="user_123") results = igpt.recall.search(query="board meeting notes") print(results)
返回与查询匹配的相关邮件及会话线程列表,按相关性降序排列。
将结果限定在特定时间窗口内:
results = igpt.recall.search(
query="budget allocation",
date_from="2026-01-01",
date_to="2026-01-31"
)
print(results)
results = igpt.recall.search(
query="partnership proposals",
max_results=10
)
print(results)
语义引擎可理解参与者上下文:
results = igpt.recall.search(
query="emails from Sarah about the product launch",
date_from="2026-01-01"
)
print(results)
典型模式:先搜索以了解现有内容,再发起分析请求:
# 步骤 1:查找相关会话线程
results = igpt.recall.search(
query="Acme Corp contract negotiation",
max_results=20
)
print(f"Found {len(results)} relevant threads")
# 步骤 2:请求结构化分析
analysis = igpt.recall.ask(
input="Summarize the current status of the Acme Corp contract negotiation. What are the open issues and who owns them?",
output_format="json"
)
print(analysis)
| 参数 | 类型 | 是否必需 | 说明 |
|---|---|---|---|
| query | string | 是 | 搜索查询语句。支持自然语言(语义)和精确术语(关键词)。 |
| user | string | 是(或在构造函数中设置) | 唯一用户标识符,用于将查询作用域限定于该用户的已连接数据。 |
| date_from | string | 否 | 起始日期筛选,格式为 YYYY-MM-DD。 |
| date_to | string | 否 | 结束日期筛选,格式为 YYYY-MM-DD。 |
| max_results | integer | 否 | 最多返回的结果数量。 |
SDK 采用“无异常抛出”(no-throw)模式:错误以返回值形式呈现,而非抛出异常:
results = igpt.recall.search(query="Q4 planning")
if isinstance(results, dict) and results.get("error"):
error = results["error"]
if error == "auth":
print("Check your API key")
elif error == "params":
print("Check your request parameters")
elif error == "network_error":
print("Network issue, retry")
else:
for result in results:
print(result)
该技能仅与以下端点通信:
https://api.igpt.ai/v1/recall/search —— 搜索接口https://api.igpt.ai/v1/connectors/authorize —— 仅在初始数据源连接配置阶段调用不访问任何其他外部端点,亦不向任何第三方服务发送数据。igptai PyPI 包源码位于 https://github.com/igptai/igptai-python。
IGPT_API_KEY 进行身份认证。不涉及 Shell 访问、文件系统访问或系统命令执行。user 标识符。用户 A 无法访问用户 B 的邮件数据。该隔离机制在索引层与执行层原生实现,而非依赖后置过滤。IGPT_API_KEY 环境变量之外创建任何持久化配置。完整安全模型详见:https://docs.igpt.ai/docs/security/model。
| 基础邮件/Gmail 搜索 | iGPT 邮件搜索 |
|---|---|
| 仅支持关键词匹配 | 语义 + 关键词混合检索 |
| 易遗漏使用不同措辞但内容相关的邮件 | 理解语义,可发现概念上相关的邮件 |
| 受限于 Gmail 的搜索运算符 | 支持自然语言查询 |
| 厂商锁定(仅 Gmail 或仅 Outlook) | 可跨所有已连接的邮件服务商统一搜索 |
| 历史数据常受限制(如 Nylas:仅 90 天) | 索引全部邮件历史 |
| 返回原始 MIME 数据 | 返回清洗后、结构化的结果 |
以下均为有效的自然语言查询:
"board meeting notes" —— 即使邮件正文中未出现该确切短语,也能查找到关于董事会会议的邮件"emails about the product launch timeline" —— 对主题具备语义理解能力"anything from legal about compliance" —— 可识别部门(legal)与主题(compliance)上下文"invoices from Q4 2025" —— 同时结合主题与隐含的时间上下文"conversations where deadlines were mentioned" —— 支持概念级检索| 技能 | 功能 | 适用场景 |
|---|---|---|
| igpt-email-ask | 推理、摘要、结构化数据提取、情感分析 | 当你需要答案,而不仅是检索结果时 |
| igpt-email-search(本技能) | 混合语义 + 关键词检索 | 当你需要定位并获取邮件内容时 |
两个技能共用同一 IGPT_API_KEY 和已连接的数据源。建议同时安装二者,以构建完整的「搜索 → 分析」工作流。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.3万人学习
共49课时 | 82.7万人学习