GAIA 个人 AI 助手
主动式个人 AI 助手:连接你的工具,在后台自动完成重复工作,并通过 WhatsApp、Telegram、Slack、Discord 在需要你时主动通知。
证据显示较成熟的供应链与安全实践:package. 大量固定版本的安全覆盖(axios、undici、js-yaml 等),pyproject.toml 配置 PyPI 3 天冷却期和约束依赖,CI 启用 gitleaks、semgrep、pip-audit、trivy(但 trivy 为 advisory 模式 exit-code 0,扣分点:扫描不阻断)。数据流方面 FAQ 说明了 OAuth 授权、令牌加密存储、集成内容不持久化、记忆可查看删除——但均为 README 主张,本次样本未见对应实现代码,故敏感数据仅给 2 分。产品定位是主动式多渠道外发助手(WhatsApp/Telegram/Slack/Discord、定时工作流),外部效应面大,虽有通知审批机制缓解,仍扣至 2。部署有 rollback 工作流(action=rollback、digest/last 模式),记 2。
CI 文档显示四切片测试矩阵、80% 覆盖率门槛、wide-event 日志契约一致性检查、fail-loud 原则和 runner watchdog——自洽性有据可查,但本样本未含实际测试代码,保守给 2。依赖锁定(uv.lock、pnpm overrides)和 Docker Compose 部署支持可用性,给 2。失败信息方面有孤儿镜像告警、step 显式报错设计,但主要是基础设施层面,产品运行时错误处理未见证据,给 2。
README 明确面向个人生产力用户,覆盖云/自托管/桌面/移动多环境,场景示例具体(邮件摘要、会议纪要、日程重排),给 3。能力边界仅部分标注(desktop/mobile 标 beta),自主行为与人工审批的边界有说明但不够系统,给 2。触发器支持 cron 与多平台事件,精度文档中等,给 2。环境适配(Docker 20.10+、Node 20+、Tailscale 部署)有文档但自托管复杂度高,给 2。
信息架构优秀:目录、monorepo 结构图、文档站链接清晰,给 3。安装说明具体(CLI 三步、前置条件、gaia status/logs),给 3。FAQ 深入且实用,给 3。最大扣分:许可证。LICENSE.md 为 PolyForm Noncommercial 1.0.0,明确禁止商业用途,与 README 反复宣称的『open source』直接矛盾,且仓库元数据为 NOASSERTION——这是被证据矛盾的声明,license 仅 1 分。版本控制有 release-please 与 conventional commits,但样本未见 CHANGELOG,给 2。维护责任有贡献指南与活跃 CI,给 2。
产品定位明确:跨工具记忆+主动工作流解决真实痛点,边际价值高,给 3。输出可用性有截图与示例支撑但未执行验证,给 2。成本收益:README 说明自托管实际成本(模型 API、VM),透明,但多数据库+多队列架构使自托管运维成本偏高,给 2。
README 的 CI/部署声明与 .github/workflows 文件内容相互印证(构建、回滚、发布流程细节一致),跨源印证尚可,给 2。主张可追溯:多数断言指向文档站或具体 workflow,但数据安全主张(令牌加密、不持久化)指向的代码不在样本内,给 2。事实与推断基本分离(beta 标注、coming soon 明示),给 2。
- 许可为 PolyForm Noncommercial 1.0.0,禁止商业使用;README 的『开源』表述具有误导性,商业采用前必须核实授权路径。
- 主动式多渠道外发(WhatsApp/Telegram/Slack/Discord)与后台工作流意味着较大的外部效应面:部署前应审计工作流触发条件与外发通知的审批门控。
- 数据安全主张(令牌加密、集成内容不持久化)目前仅为 README 声明,建议在代码中核实存储与日志路径。
- Trivy 扫描为 advisory 模式(exit-code 0),高危漏洞不会阻断发布;npm 侧亦未见等效 audit 门禁。
- 发布者为未经验证的第三方,自托管将集成大量第三方 SaaS(Composio、E2B、Tavily 等),注意供应链与数据出站路径。
这个 Agent 能做什么,适合哪些场景?
GAIA 是一个开源的个人 AI 助手(GitHub: theexperiencecompany/gaia),定位为'助手而非聊天机器人'。它连接 Gmail、日历、Slack、Linear、Notion 等工具,在后台执行多步骤工作流,并根据调度(cron 式)或事件(新邮件、日历变更、webhook)主动联系用户。项目是一个由 Nx 管理的全栈 monorepo:Next.js Web 前端、Electron 桌面应用、React Native 移动应用、FastAPI + LangGraph 后端、语音处理 worker,以及 Discord/Slack/Telegram 机器人。用户可以通过网页、桌面、移动端或即时通讯平台与 GAIA 交互,它能记住跨工具的长期记忆(人员、项目、偏好)。支持零配置的云端使用,也可通过官方 CLI 在 Docker 中完全自托管;代码采用 PolyForm Noncommercial 许可证,仅允许非商业使用。
GAIA 通过集成市场(/integrations 页面)以 OAuth 或 API key 方式连接 Gmail、日历、Slack、Linear、Notion 等服务,也可接入任意 MCP 服务器。其核心能力包括:(1) 按重要性排序并总结未读邮件线程、以用户口吻起草回复;(2) 监听日历事件变化并在会议取消时根据待办和目标重新规划下午日程;(3) 将会议记录转为行动项并自动在 Linear 中创建 issue 并指派负责人;(4) 在后台持续监控邮箱(如投资者来信)并在 60 秒内通过 Telegram 通知;(5) 按调度执行工作流,例如每周一早 9 点扫描日历并为每个会议生成简报。运行结果以草稿、待办、提醒或建议的日历事件形式进入通知中心,用户可批准、编辑或忽略。跨工具记忆可在设置页面以列表或图谱查看、删除和导出。
- 个人知识工作者:让 GAIA 总结 47 封未读邮件并为真正需要回复的 3 封起草回复
- 工程负责人:每周五自动汇总 GitHub、Linear、Slack 的动态并发布到 #eng-updates 频道
- 经常开会的人:1:1 会议前自动生成涵盖本 sprint 所有已交付内容的准备文档
- 销售/投资人关系:监控特定发件人邮件并在 60 秒内收到 Telegram 提醒
- 自托管用户:数据不出本机,用 Docker 在自己的服务器上运行,无用量上限
- 想清空收尾邮件的人:自动为超过 3 天未获回复的邮件生成跟进草稿
这个 Agent 有哪些优点和局限?
- 真正主动:支持事件驱动(新邮件、日历变更、webhook)和调度式工作流,无需每次手动提示
- 多渠道触达:WhatsApp、Telegram、Slack、Discord 均可收发消息并携带完整上下文
- 完全自托管:数据可控、无用量上限、可自由更换模型,一条 CLI 命令完成部署
- 跨工具长期记忆:记忆可视化并可导出,集成内容按需获取而非持久化存储
- 许可证为 PolyForm Noncommercial 1.0.0,仅允许非商业使用,商业场景需另行评估
- 自托管需自行运行完整技术栈(PostgreSQL、MongoDB、Redis、ChromaDB、RabbitMQ 等)并提供模型 API key,模型用量费用随使用量增长
- 云端版不支持自带 API key,模型选择受订阅计划限制
- 桌面和移动应用标注为 beta,iMessage 集成尚未上线
如何安装或部署这个 Agent?
云端:直接访问 https://heygaia.io,无需安装。自托管:需要 Docker(Engine 20.10+,Compose v2+)和 Node.js 20+。安装 CLI 并初始化:
npm install -g @heygaia/cligaia init # 选择 "Self-Host (Docker)"
向导会检查前置条件、克隆仓库、引导填写环境变量,然后在 Docker 中构建并启动全部服务,完成后访问 http://localhost:3000。已克隆仓库的可用 gaia setup 配置现有目录。管理命令:gaia status(健康检查)、gaia logs(日志)、gaia stop / gaia start。
如何使用这个 Agent?
启动后通过 http://localhost:3000(或 heygaia.io)使用网页界面,或在 /integrations 页面点击 Connect 连接 Gmail、Calendar、Slack、Linear、Notion(跳转 OAuth 授权)或粘贴 API key。也可直接在 WhatsApp(/gaia 命令)、Telegram(@heygaia_bot)、Slack 或 Discord 中使用 /gaia 命令或 @mention 与 GAIA 对话。在 Workflows 页面创建调度式(cron 风格)或事件驱动式工作流;结果出现在顶部通知铃铛和 /notifications 页面。长期记忆可在 Memory 设置页查看/删除/导出为 PNG 或 SVG。自托管版本可自行配置模型提供商的 API key。